Kanban
A board-and-column layout for task management, pipelines, and workflow visualization. Supports horizontal scrolling, WIP limits, intent-based column accents, and drag-and-drop integration.
Basic Usage
Simple kanban board
Intent-Based Column Accents
Color the top border to visually distinguish column stages:
Column intent variants
WIP Limits
Set a limit per column. The count badge turns danger when the column exceeds capacity:
WIP limit enforcement
Column Footer
Add actions (like "Add item") below the cards:
Column with footer
Custom Column Header
Replace the default header with your own content:
Custom header slot
Vertical Orientation
Stack columns vertically instead of horizontally:
Vertical kanban
Stage 1
2
Stage 2
1
Kanban Board Props
| Prop | Type | Default | Description |
|---|---|---|---|
orientation |
string |
'horizontal' |
Layout direction: horizontal or vertical |
sortable |
bool |
false |
Enable drag-and-drop data attributes |
Kanban Column Props
| Prop | Type | Default | Description |
|---|---|---|---|
label |
string |
null |
Column heading text |
count |
int |
null |
Number of items (shown as badge) |
intent |
string |
'neutral' |
Top border accent: neutral, primary, success, warning, danger, info |
limit |
int |
null |
WIP limit (badge turns danger when exceeded) |
sortable |
bool |
false |
Enable drag-and-drop data attributes |
Column Slots
| Slot | Description |
|---|---|
| default | Card items inside the column |
header |
Replace the default column header |
footer |
Action area below the cards |
Accessibility
- Board:
role="list"for the column collection - Column:
<section role="listitem">witharia-labelledbylinking to the column label - Sortable:
data-sortable,data-sortable-column,data-sortable-itemsattributes for DnD library integration (SortableJS, etc.)
Keyboard Interaction
| Key | Action |
|---|---|
Tab |
Move focus through draggable cards |
The default Kanban primitive is presentational — drag-and-drop wiring (and any keyboard reordering) is supplied by you. See Customization for integration recipes.
Pitfalls
- Don't render a kanban without a drag-drop integration. The primitive is presentational — drag-and-drop is intentionally not bundled (libraries clash). See Customization.
Design Tokens
| Token | Used for |
|---|---|
--font-wk-sans |
Kanban font family |
--font-wk-heading-weight |
Column title weight |
--text-wk-sm |
Column title + count badge font size |
--color-wk-text |
Column title |
--color-wk-bg-muted |
Column body background |
--color-wk-border / --color-wk-border-subtle |
Column border + separator |
--color-wk-accent / --color-wk-success / --color-wk-warning / --color-wk-danger |
Top-border accent per intent |
--color-wk-ring / --color-wk-ring-offset |
Focus ring |
--ring-wk-width / --ring-wk-offset |
Focus ring geometry |
--border-wk-width |
Border width |
--radius-wk-lg |
Column border radius |