Proper UI

Kanban board components

Free and open-source React kanban board components with drag and drop between columns, keyboard moves and collapsible columns. Built with React Aria and styled with Tailwind CSS.

Backlog

2 cards

CSV export for reports

Medium priorityReporting
Due Oct 18

To do

2 cards

Redesign onboarding

Cut the setup flow from five steps to three.

High priorityDesignUX
Due Oct 4
Phoenix Baker
Lana Steiner
Demi Wilkinson
+1

Annual billing toggle

Medium priorityBilling
Natali Craig

In progress

1 cards

SAML single sign-on

Okta and Azure AD first, generic SAML after.

Urgent prioritySecurity
Due Sep 30
Drew Cano
Orlando Diggs

Done

1 cards

Dark mode

Design
Due Sep 12
Andi Lane

Installation

npx properui@latest add kanban

Custom cards

Pass renderCard to replace the default card content. The card shell, its drag handle and the drop indicators stay the same.

Applied

2 cards

Olivia Rhye

Product designer

Applied 2 days ago

Phoenix Baker

Frontend engineer

Applied 3 days ago

Phone screen

1 cards

Lana Steiner

Product designer

Applied 1 week ago

Interview

1 cards

Demi Wilkinson

Engineering manager

Applied 2 weeks ago

Offer

0 cards
Drop cards here

Collapsible columns

Return your own Kanban.Column from the board's render function to add isCollapsible, onAddCard or an icon. The second argument of onChange describes the move.

To do

2 cards

Write release notes

Low priority

Fix flaky upload test

High priorityBug

Doing

1 cards

Audit color contrast

Medium priorityA11y

Review

1 cards

Pagination edge cases

Medium priority

Archived

2 cards

Drag a card, or focus one and press Enter on its handle to move it with the keyboard.

Usage notes

Kanban.Board is controlled by columns and onChange, or uncontrolled with defaultColumns. Each column is a React Aria GridList with drag and drop hooks, so cards can be dragged with a pointer, and moved with the keyboard: focus a card, press the right arrow to reach its drag handle, press Enter to pick it up, use the arrow keys to choose a slot and Tab to jump to another column, then press Enter to drop or Escape to cancel. Screen readers announce every step.

FAQs