Skip to content

niklasramo/dragdoll

Repository files navigation

DragDoll

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.

Docs

https://niklasramo.github.io/dragdoll/

Repo structure

Copyright

Copyright © 2022-2026, Niklas Rämö (inramo@gmail.com). Licensed under the MIT license.