v0.3.1 StableFoundation ComponentReact 18 & 19Zero Runtime CSS

KanbanBoard

Move cards between named columns with native controls.

Interactive preview

Planned · 2

  • Review components
  • Publish release notes

Done · 1

  • Design tokens

Usage

import { KanbanBoard } from "@devvy-ui/react";

<KanbanBoard label="Project board" columns={columns} items={cards} onItemsChange={setCards} />

API reference

Native HTML attributes, className, style and a forwarded ref are supported. Component-specific props:

PropTypeDefaultDescription
columns{id,label}[]requiredNamed workflow columns.
itemsKanbanItem[]requiredControlled cards with columnId.
onItemsChange(items: KanbanItem[]) => voidrequiredUpdated card collection.
disabledbooleanfalseDisable movement.

Accessibility & behavior

Platform Behavior & Guidelines

Native per-card column selectors provide keyboard/touch movement and focus return after relocation. Columns and card ids must be unique; every card must reference an existing column. No backend or drag-only interaction.

Source ownership

Run npx @devvy-ui/cli init once in your React project, then add the source:

npx @devvy-ui/cli add kanban-board

Make the source yours.

Start from the canonical implementation used by the package and registry. Change the code, keep the MIT notice, and build the behavior your project needs.

KanbanBoard.tsxREACT / TSX

Edit your own copy. Downloaded source uses your changes; the component preview above uses the shipped version. Run the source installer first to include shared helpers.