Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Gauge Cluster Features Block for React

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.

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

An instrument cluster for React with Base UI. Three semicircle gauges (CPU, memory and queue wait) sit side by side in one hairline frame with + marks on its corners, divided by hairlines. Each has tick marks, a filled arc, a needle, a big reading, a state badge and a sentence about how it behaves. One "Simulate load" slider in the header drives all three through a CSS variable, so dragging it shows which resource gives out first. On a phone the gauges stack. The page's rails and top rule come from the Guides spine. It's built from Slider, Badge and Guides, with SVG for the dials and your theme's tokens for every colour. For capacity planners, infrastructure pages and any numbers that tell a better story as dials.

FAQ

How do I change the gauges?

Edit GAUGES at the top of the file: each has a title, a unit, a base reading at no load, a rise across the whole range, a max for the dial's far end, a sentence, and knee for a curve that stays flat and climbs late. The arc, needle, reading and state all read from the same helper, so they always agree.

How are Healthy, Busy and Over decided?

From how far round the dial a reading is: below 60 percent is Healthy, 60 to 84 is Busy and 85 or more is Over. Over is a filled badge and the other two are outlined, and the word is always there, so colour is never the only signal.

How does the slider drive the dials?

The slider's value is state; each gauge column gets its dial position as a CSS variable, and the arc's fill and the needle's rotation are CSS that read it, with a short transition. Under reduced motion the transitions are off and the needles jump.

Are the gauges accessible?

The dials are drawings and are hidden from assistive technology. Each gauge is a list item with a heading, its reading and its state in text, and the slider is named "Simulate load" and reads its value as "60 percent of peak traffic". When you let go of the slider, one polite live region announces all three readings.

How does it fit on a phone?

The gauges stack one per row, divided by hairlines, with a shorter dial, and the slider sits full width under the header. Nothing scrolls sideways at 320 pixels.

Do the dials mirror in right-to-left?

No: a dial's sweep is read as a measurement, so it keeps its direction, while the text, the badge and the slider follow the page's direction. The readings are wrapped so their units keep their order.

  • Pro

    A board of six vertical sliders for an alert-tuning tool, each with a level meter and a readout, and a composite readout of pages a week and incidents caught worked out from the six settings.

  • Pro

    A job-queue dashboard drawn as a window in a hairline frame: a range control in its title bar re-draws the throughput line and re-reads the uptime and outcome figures, beside a seven-bar week.

  • Pro

    Metric Hero Strip Features

    Metrics and charts

    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.

  • Pro

    A metrics console in a card in a card that follows your theme: six metric tiles with a value, a signed change and a sparkline are the tabs of one tablist, and choosing one opens a larger chart of its series in a strip below.

  • Pro

    A wall of eight milestone badges for a language-learning app: unlocked ones solid, locked ones muted with a lock and a progress bar, a header count, and a tooltip with each unlock rule.

  • Pro

    Badge Counter Wall Features

    Metrics and charts

    A wall of eight channel counters for a unified inbox, with a two-button toggle that switches between every channel and only those with unread messages.