Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Metric Hero Strip Features Block for React

Four metric-over-feature columns for a data-pipeline tool: a giant tabular figure and label, then the feature that makes it true, in one divided band under a centred header.

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 metric-led features section for React with Base UI. A centred header says "The numbers first, then why they hold". Under it, one band runs from rail to rail, ruled across the top with a + on each rail and divided into four columns by shared hairlines (two by two before lg). Each column leads with a giant tabular figure (99.99%, 2.4B, 40 ms, 300+) and a label, and under a hairline the feature that makes the number true, a heading and one sentence. It's built from Sliding Number and Guides, with a CSS transition for the entrance. It has no button on purpose: the numbers are the pitch. For infrastructure and data platforms that want proof first and features second.

FAQ

How do I change the metrics?

Edit METRICS at the top of the file: each is a value, how many decimals it shows, a unit that follows it, a label, and the feature and description under the hairline. Keep four, so the band fills its rows at two and four across.

Do the numbers count up?

They show their value at once, and the digits roll like an odometer only if the value changes. Counting up from zero when the band scrolls into view is one prop (trigger="view"), but the page then shows zeros before JavaScript runs, and in a screenshot, so this block leaves it off.

What does a screen reader hear?

For each column, the figure and its unit in one piece ("99.99 %"), the label, then the feature's heading and sentence. The figure keeps its real text for assistive technology while the rolling digits are decoration.

Why are the figures wrapped in a bdi element?

A figure with a unit or a sign ("300+", "40 ms") would otherwise reorder in a right-to-left layout and show the unit on the wrong side. Wrapping the figure and its unit in one bdi keeps them in reading order.

Does it work in every theme?

Yes: figures are the foreground colour, labels the muted foreground, and the band is your theme's background with border-colour hairlines between the columns. Nothing is a fixed colour, so it follows light and dark.

How does it fit on a phone?

The columns go two by two, with the figures a size smaller (text-4xl) so "99.99%" fits a 320 pixel screen. The header stays centred above, and the block ends on the band's last row.

  • Pro

    A features section for payments infrastructure: a compact header with two buttons, a slim ribbon of four stat chips between hairlines, and three cells led by a settlement timeline, ledger rows and a payout schedule.

  • Pro

    Four stat and feature pairs in a 2 by 2 grid that shares its hairlines: a giant number counted from its own was and now figures, a pair of bars, an icon, a heading and the sentence that explains it.

  • Pro

    A split for a platform SLA monitor: copy, four ticks and a button at the start, and at the end one chart of three concentric rings with a legend, whose values a 7, 30 or 90 day toggle swaps.

  • Pro

    Gauge Cluster Features

    Metrics and charts

    Three semicircle gauges in one framed band, driven by a single "Simulate load" slider: CPU, memory and queue wait, each with a needle, an arc, a reading and a state.

  • Pro

    Left-Heavy Metric Cards Hero

    Stats and live data

    A split hero for an API host: copy and two calls to action beside a column, behind a divider, of three metric cells whose lines overshoot their corners and whose figures roll up into view.

  • Pro

    A split features section for an audit-log service: four ticked rows and two buttons beside a framed audit log with a strip of three figures docked inside its foot.