@anil-labs/dnd

Zero-dependency drag & drop — sortable lists, cross-list groups, clone, multi-drag, swap, keyboard a11y and FLIP animation. Pick a demo:

Vanilla JS

createSortable() on plain DOM — cross-list groups and keyboard mode, zero dependencies.

Open demo →
React

The component with controlled items, groups and multi-drag.

Open demo →
Vue 3

The component with v-model, groups and drag handles.

Open demo →
Svelte

The use:draggable action over your own {#each} markup.

Open demo →
Solid

The createDraggable primitive with signals and multi-drag.

Open demo →
Web Component

The custom element — any framework or plain HTML.

Open demo →