oks-ui

Layout & Display

Board

Data-driven Kanban board with dependency-free pointer, touch, and keyboard drag-and-drop, column card limits, and live-region announcements.

Example

To do3
  • Wire the invoice export

    feature
  • Fix pagination off-by-one

    bug
  • Dark-mode token pass

    design
In progress2 / 3
  • Command palette keyboard nav

    feature
  • Calendar range selection

    feature
In review1
  • Release notes for 1.1.0

    docs
Done1
  • Ship the heatmap chart

    feature

Props

columns

BoardColumnData[]

Default:

{ id, title, limit?, isDropDisabled?, color?, headerActions?, footer? }.

items

Item[]

Default:

Flat list, grouped by column at render.

getItemId

(item) => string

Default:

Stable id.

getItemColumn

(item) => string

Default:

Which column the item is in.

renderCard

(item, ctx) => ReactNode

Default:

ctx: { isDragging, isGrabbed, column, index }.