Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Priority Sorted Changelog Block for React

A bug tracker's eight latest changes as stacked bands sorted by impact, Critical to Low, each band headed by a drawn glyph, the tier word and a count, with a toggle that re-sorts them by date.

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 priority-sorted changelog for React with Base UI, written for Triageboard, a fictional bug tracker. A start-aligned header carries the title and one sentence, with a two-way toggle at its end: By impact or By date. By impact, the changes sit in four stacked bands that run from rail to rail, sorted from Critical to Low. Each band's head has a drawn glyph (a filled square, a half-filled square, a ring, a dot), the tier word and a count, and under it come the tier's changes, newest first, each with a type tag (an icon and a word), a title, a sentence, the version and the day. By date, the same eight changes regroup into four month bands, newest first, and each row carries its tier's glyph and word. Impact is never a colour: the glyph and the word say it. Both sorts sit in one unseen cell, so the block never changes height, and a polite line says how the changes are now ordered. The page's rails and top rule come from the Guides spine. It's built from Toggle Group, Badge and Guides, with CSS transitions for the entrance and your theme's tokens for every colour. For release notes that put what mattered most first. The changes are example data, and the sort is not saved.

FAQ

How do I change the changes and the tiers?

Edit CHANGES at the top of the file, newest first. A change has a version, a date as an ISO day ("2026-09-27"), a kind, a tier, a title and a sentence. The tiers are constants (CRITICAL, HIGH, MEDIUM, LOW) listed in TIERS, each a word and the classes that draw its glyph; the bands, their counts and the sort all derive from the data. The month bands are listed in MONTH_BANDS: add a month there when a change falls in it, so the two sorts keep the same number of bands and the same height.

How is impact shown without a colour?

Each tier has a drawn glyph that is emptier as the impact falls (a filled square, a half-filled square, a ring, a dot) and always the tier word beside it, so it reads in greyscale, in any theme and to a screen reader, which hears the word and skips the glyph. There are no coloured borders. The change types (Fixed, Improved, Security, Deprecated) are outline badges with an icon and a word.

How does the toggle work with a keyboard and a screen reader?

It is a single-choice group named Sort the changes, with By impact on at first; one item is always on. Tab moves into it and the arrow keys move between the two items. Picking one re-sorts the list at once and a polite line says, for example, "Sorted by date, newest first." The unseen copy that holds the height is hidden from assistive technology and the keyboard.

Why doesn't the page move when I re-sort?

Both sorts are drawn in one grid cell, the one you aren't looking at invisible and inert, so the cell is as tall as the taller of the two. Both sorts use four bands and the same rows, so they are the same height anyway.

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

Below md the version and the date sit under each row's sentence, the toggle sits under the title, and nothing scrolls sideways at 320 pixels. In a right-to-left layout the bands, the counts and the glyphs mirror, while the version numbers stay left to right.

What moves, and what happens with reduced motion?

The header and the bands fade up once on load, with CSS transitions. With reduced motion they are off and the block simply appears. Re-sorting swaps the bands at once, with no animation.

  • Pro

    Impact Badges Changelog

    Lists and timelines

    Seven fixes with an impact meter of one to four rising bars and a word, a band that counts each level, and a Sort by Select that reorders the rows by impact or by date.

  • Pro

    Grouped Date Changelog

    Lists and timelines

    Changes grouped by the day they shipped: each day has a drawn calendar tile (month, big day number, weekday) beside a dated heading and its changes with a type tag, a sentence and the release.

  • Pro

    Category Sections Changelog

    Filters and browsing

    A changelog for a file organiser grouped under Added, Improved and Fixed headings, with a sticky index of the three sections beside them and every change tagged with the release it shipped in.

  • Pro

    Color Coded Changelog

    Lists and timelines

    A changelog for a palette tool whose five kinds of change are coded without colour: a pattern strip, an icon and a word each, with a legend that dims the other rows in place.

  • Pro

    Release Timeline Changelog

    Lists and timelines

    A release timeline for an API client: a compact header with a Subscribe link, then the latest four releases on a hairline rail with dots, each with its version, date, type tags, a linked title and its notes, and View all releases at the foot.

  • Pro

    Filterable Changelog

    Filters and browsing

    The plainest filtered release list: one row of choices with counts (All, New, Improved, Fixed, Security) over nine releases, a live count of what is showing, and a height that never changes.