Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Security Patch Tracker Changelog Block for React

A rail-to-rail table of security advisories with a four-bar severity glyph and word, the affected and fixed versions as inline code, a state as a shape and a word, a patch rate that counts up and a toggle group that filters by state.

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 security patch tracker for React with Base UI, written for Patchwell, a fictional patch-management tool. The header states how many advisories are closed ("5 of 6 advisories are closed in Patchwell 3.8") and ends on the patch rate, counted up once as the block scrolls into view. A toggle group (All, Patched, Mitigated, Open, each with its count) filters a table that runs from rail to rail and ends the block. Each row gives the advisory id in mono, its title and day, the severity as a four-bar glyph and a word, the versions it affects and the one that fixes them as inline code, and the state as a shape and a word: a filled square for patched, a half-filled square for mitigated, a ring for open. The one open critical advisory carries the block's only status dot. It's built from Guides, Toggle Group, Counting Number, Status and CSS for the glyphs, with your theme's tokens for every colour. For security pages, release notes and trust centres. The advisories are example data with made-up ids, not real CVE numbers.

FAQ

How do I change the advisories?

Edit ADVISORIES at the top of the file. An advisory is an id, a title, a level (Critical, High, Medium or Low), an affected range, the fixed version (empty while there is no fix), a stage (Patched, Mitigated or Open) and a date as an ISO day. The headline count, the patch rate, the filter counts and the rows are all computed from that list. The ids use a made-up PWSA- prefix so they can't be mistaken for real CVE numbers.

How is the patch rate worked out?

It is the advisories that are patched or mitigated, divided by all of them and rounded: five of six is 83%. The number counts up once when it scrolls into view and shows its final value at once with reduced motion. Change a stage in the data and the rate, the headline and the counts follow.

Is severity shown by colour?

No. Severity is a glyph of four rising bars, filled up to the level, and its word beside it. The state is a shape and a word too. The only status colour in the block is the dot on the open critical advisory, and the word "Open" sits right beside it.

Does the table jump when I filter?

No. An unseen copy of every row sits in the same grid cell as the visible table, so the band keeps the height of the full list whichever state is chosen. A polite status line announces how many advisories are showing. Pressing the chosen item again does nothing, so the table is never empty.

What changes on a phone and in a right-to-left layout?

Below lg the affected range is dropped; below sm the severity and the fixed version move under the title, so a row keeps its title, severity, fix and state without scrolling sideways at 320 pixels. In a right-to-left layout the table mirrors while ids, versions and counts keep their reading order, and the half-filled square flips with it.

Is it a real table?

Yes: a native table with a caption, column headers with scope, and the advisory's title as the row header. The sections are announced the same way on every library.

  • Pro

    Three security advisories in cells on shared hairlines, each with its severity as an icon and a word, id, plain-language summary, affected and fixed versions as inline code and an upgrade command with a working Copy button.

  • Pro

    One coordinated disclosure as a split: the severity score on a 0 to 10 ruler with its band named, the eight base metrics spelled out, a copyable vector string, a report-to-advisory timeline with elapsed days, the versions affected and a credit to the researcher.

  • Pro

    Permission Changes Changelog

    Security and audits

    An audit of permission changes as diffs in an inset frame: each role with who changed it and when, inserted and struck-out permission rows with a sign and a word, how many people it reaches, and a toggle group that keeps only granted or revoked rows.

  • Pro

    Release Blockers Changelog

    Deploys and rollouts

    A verdict header counted from the data with a cleared bar, a toggle group (Open, Cleared, All) and an inset framed table of blockers with owners, states as shapes and words, and the day each was opened.

  • Pro

    Deprecation Notices Changelog

    APIs and integrations

    Four deprecation notices, each a window bar from the day it was announced to the day it sunsets, filled to an as-of day with a tick, with the days counted and the replacement named.

  • Pro

    Breaking Changes Changelog

    APIs and integrations

    A framed table of four breaking calls: the old call in a del row, the new in an ins row, who it affects and the day to migrate by, with a codemod command in a terminal strip and a Copy button.