DragDoll gives you all the primitives for a production-grade drag-and-drop system — sensors, draggables, droppables, and collision detection. Build sortable lists, kanban boards, design canvases, or something entirely new.
📡 Sweet Sensors
Pointer, keyboard, or roll your own. Sensors normalize any input into unified drag events, giving you complete control over interactions.
🤏 Dynamic Draggables
A highly customizable Draggable system with autoscrolling superpowers, drag previews, and position modifiers. Complex scenarios made effortless.
🎯 Classy Collisions
An extendable, cache-optimized collision detection system you can build on. Ships with a visibility-aware detector that handles overflow clipping and scroll containers for you.
🔄 True Transforms
Finally, transformed elements can be dragged normally. Rotate, scale, skew to your heart's content.
😴 Dreamy DX
Smart defaults get you moving fast. Rich events and extension points give you full control when you need it.
⚡ Snappy Swipes
Pooled events, batched DOM reads/writes, cached measurements. Performance is built to the core.
💝 Lovely License
100% MIT licensed, spread the love.
https://niklasramo.github.io/dragdoll/
dragdoll-root- Root package.packages/dragdoll- The core dragdoll package.packages/dragdoll-react- The React wrapper for the dragdoll package.packages/dragdoll-solid- The Solid wrapper for the dragdoll package.packages/dragdoll-docs- Docs for the dragdoll package.packages/dragdoll-tests- Tests for the dragdoll package.packages/dragdoll-react-tests- Tests for the dragdoll-react package.packages/dragdoll-solid-tests- Tests for the dragdoll-solid package.
Copyright © 2022-2026, Niklas Rämö (inramo@gmail.com). Licensed under the MIT license.