dnd-kit (clauderic/dnd-kit)
Searching Database…
What is this?
dnd-kit is a modern toolkit for building drag and drop interfaces, designed to be lightweight, performant, accessible and extensible.
Is this a single React library or does it support other frameworks too?
It is built in layers: a framework-agnostic core (@dnd-kit/abstract), a DOM implementation (@dnd-kit/dom), and thin adapters for React, Vue, Svelte and SolidJS.
How do I add it to a project?
Install the package for your framework (e.g. @dnd-kit/react) and follow the per-framework getting started guide on the docs site.
Do I need any extra input libraries for touch or keyboard support?
No, it has built-in sensors for pointer, mouse, touch and keyboard input out of the box.
Does it handle complex layouts like grids and nested containers out of the box?
Yes, it explicitly supports lists, grids, multiple containers, nested contexts, variable sized items, virtualized lists and even 2D games.
Is there a ready-made package for sortable lists?
Yes, @dnd-kit/dom/sortable is a thin layer built on top of the core specifically for building sortable interfaces.
Can I customize the drag behavior and animations?
Yes, you can customize animations, transitions, styles, build your own sensors and collision detection algorithms, and customize key bindings.
Is the library accessible for keyboard and screen reader users?
Yes, it includes keyboard support, sensible default ARIA attributes, and customizable screen reader instructions and live regions.
Where can I find full documentation and examples?
Full documentation, API reference, guides, and interactive examples are available at dndkit.com.
What are similar projects?
Sortable, react-beautiful-dnd, pragmatic-drag-and-drop, react-sortable-hoc, moveable, filepond, floating-ui, react-dnd