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

24 lines (23 loc) 1.69 kB
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>;