SortableList
Drag + keyboard reorderable list — single list or linked kanban columns with version-aware 409 recovery.
Live
Example
// Single list (back-compat — sends only order=<keys>)
sortablelist.Render(sortablelist.Config{
Label: "Priorities", RPCPath: "/api/reorder",
Items: []sortablelist.Item{{Key: "a", Label: "A"}},
})
// Kanban — one Render per column, same Group, unique Container
sortablelist.Render(sortablelist.Config{
Label: "To do", Group: "board-1", Container: "todo",
RPCPath: "/api/move", Version: "v1",
ConflictRPC: "/api/conflict?col=todo",
Items: items,
})