packages/abstract/README.md
Abstract implementation of @dnd-kit, which can be extended by concrete implementation layers, such as @dnd-kit/dom.
This package provides the core abstractions and utilities for implementing drag and drop functionality. It serves as the foundation for building concrete implementation layers on top of @dnd-kit, such as the DOM implementation layer.
[!NOTE] This package is not meant to be used by most consumers, unless you are planning on building a concrete implementation layer on top of @dnd-kit.
The library defines two main entity types:
Sensors are responsible for detecting and initiating drag operations. They handle user interactions and translate them into drag operations. The library provides:
Sensor base classThe collision system provides:
The plugin system allows extending core functionality:
Modifiers provide a way to transform or modify drag operations:
Modifier base classDragDropManager: Manages drag and drop state and operationsDraggable: Interface for draggable elementsDroppable: Interface for droppable elementsPlugin: Base class for pluginsSensor: Abstract base class for sensorsModifier: Abstract base class to modify drag operationsThis package is part of the dnd-kit monorepo. Please refer to the main repository's contributing guidelines for details on our code of conduct and the process for submitting pull requests.
This package is licensed under the MIT License - see the LICENSE file for details.