@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
24 lines (23 loc) • 1.69 kB
TypeScript
import { IDraggableEntity, IDraggingEntity, IDroppableEntity } from '../../external/types/entities';
/**
* Checks compatibility between two group sets.
* Used for selection area, zones, droppable, etc.
*
* - Empty array = global (compatible with any)
* - Otherwise requires at least one shared group
*/
export declare const areGroupsCompatible: (groupsA: string[], groupsB: string[]) => boolean;
/**
* Фильтрует видимые зоны по группам: оставляет только те, куда можно дропнуть
* текущий набор перетаскиваемых (draggingMap). Внутри сам берёт ключи из draggingMap.
*
* groupMatch on the zone controls the matching strategy:
* - 'every' (default): ALL dragged items must individually match zone's groups.
* - 'some': zone is accessible if AT LEAST ONE dragged item matches.
*/
export declare function filterByGroupsDroppables(visibleDroppableSet: Set<HTMLElement>, draggingMap: Map<HTMLElement, IDraggingEntity>, draggableMap: Map<HTMLElement, IDraggableEntity>, droppableMap: Map<HTMLElement, IDroppableEntity>): Set<HTMLElement>;
/**
* Фильтрует видимые драгаемые по группам: оставляет только те, что в одной «доступной» группе
* с текущим перетаскиваемым набором (draggingMap). Когда не тянем — все видимые доступны.
*/
export declare function filterByGroupsDraggables(visibleDraggableSet: Set<HTMLElement>, draggingMap: Map<HTMLElement, IDraggingEntity>, draggableMap: Map<HTMLElement, IDraggableEntity>): Set<HTMLElement>;