Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Kanban Status Changelog Block for React

A roadmap board for a team planning tool: three columns on shared hairlines, Planned, In progress and Shipped, each with its count and cards that carry an area, a title, a line and a vote button that moves the count by one and back.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A kanban status changelog for React with Base UI, written for Boardhurst, a fictional team planning tool. A start-aligned header carries the title and one sentence; under a rule with + marks, three columns share hairlines from rail to rail: Planned, In progress and Shipped. Each column is headed by a small square that says its stage without colour (empty, half full, full), the stage in words and how many cards it holds. A card is one idea: its area as an outline badge, a title, one line and, in the first two columns, a vote button. Pressing it moves the count up by one and pressing it again takes the vote back; a status line says what happened, and the votes stay in this page's memory. A shipped card shows the release it landed in and its final count instead of a button. On a phone the columns stack and each column's head sticks to the top while its cards scroll under it. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Guides, Badge and Toggle, with CSS transitions for the entrance and your theme's tokens for every colour. For public roadmaps and release hubs that want status at a glance. The ideas and the votes are example data.

FAQ

How do I change the ideas and the columns?

Edit COLUMNS at the top of the file. Each column has a stage (its word and how full its square is) and its ideas; an idea has an id, an area, a title, a line, its votes and, once shipped, the version it landed in. The counts in the column heads come from the number of ideas, and the sentence in the header counts them all. A fourth stage is one more column in the list; change md:grid-cols-3 to match.

What does a vote do?

It changes the block's own state and nothing else. The button is a toggle: pressed, it adds one to the count and fills in; pressed again, it takes the vote back. The votes in the data are everyone else's votes, so your own press always moves the number by exactly one. Nothing is sent anywhere, a refresh clears it, and the status line under the board says so. To keep votes, send them to your backend from the handler.

How are the stages told apart without colour?

Each column head has a small square, empty for Planned, half full for In progress and full for Shipped, beside the stage's name, so it reads in greyscale, in any theme and to a screen reader, which hears the word and skips the square. A shipped card also says which release it landed in.

How does it work with a keyboard and a screen reader?

Each column is a section with an h3, its cards are a real list and each card's title is an h4. Every vote button has a name ("Vote for Offline edits") and says whether it is pressed; Tab moves from button to button and Space or Enter presses one. The status line is a live region, present from load, so each vote is announced.

How does it fit on a phone and in a right-to-left layout?

Below md the three columns stack, and each head stays at the top of the screen while its own cards pass under it, so you always know which stage you are reading. Nothing scrolls sideways at 320 pixels. In a right-to-left layout the columns run from the right, each vote button sits at its card's end edge, and version numbers stay left to right.

What moves, and what happens with reduced motion?

The header and the board fade up once on load, with CSS transitions, and a vote button changes colour when pressed. With reduced motion the entrance is off and the block simply appears. Nothing loops.

  • Pro

    Roadmap Preview Changelog

    Roadmap and customers

    A roadmap for a planning tool: an accordion of three themes whose rows count their items by stage and open to a list with a stage and a target quarter, beside a framed Now building card with a progress bar, owners and a target.

  • Pro

    What's Next Changelog

    Roadmap and customers

    A stage ladder for a design collaboration tool: five upcoming features as rows rail to rail, each with a four-stop meter filled to its stage, its target quarter and a Notify me toggle that turns to Notifying and back.

  • Pro

    Progress Tracker Changelog

    Roadmap and customers

    A progress tracker for a project tool: four framed cells, two by two, each with a ring filled to the share of its tasks done, its name, a count like 7 of 12 tasks, a target quarter and a Remaining tasks row that opens to the list.

  • Pro

    Feature Request Board Changelog

    Roadmap and customers

    An idea board in a split: a Suggest a feature form beside status tabs with counts and a list of ideas with once-only upvote toggles and comment counts; a submitted idea joins the list locally.

  • Pro

    Feedback Votes Changelog

    Votes and sharing

    Four release notes you can vote on: Yes and No toggles that move a count by one and back, a share bar, and a No that opens a reason field with an honest local Send.

  • Pro

    A Now, Next and Later roadmap for planning software: three horizon columns, three lanes, and initiatives as bars that span the columns they cover, each with a progress fill.