Skip to main content
On this pageOverview

Drag and Drop

Overview

A headless drag-and-drop component for building sortable lists and cross-container movement. Manages the full drag lifecycle — pointer tracking, collision detection, keyboard navigation, auto-scrolling, and accessibility announcements — while leaving all rendering to you.

Integrate via the Submodels pattern: embed the DragAndDrop.Model in your Model, forward its Messages and Subscriptions, and use view helpers like draggable(), droppable(), and ghost() to attach behavior to your elements. The component emits Reordered and Cancelled OutMessages so your update function decides what happens on drop.

For a full example with localStorage persistence, add-card forms, and screen reader announcements, see the Kanban example.

Demo

Backlog
Design API
Write tests
Build docs
Done
Set up repo
Add CI

Stay in the update loop.

New releases, patterns, and the occasional deep dive.


Built with Foldkit.

© 2026 Devin Jameson