Skip to content

Meter

Read-only gauge for a value within a range — storage, quotas, scores. Prefer Progress for task completion.

Examples

Storage

Storage used
x

Custom format

Bandwidth
x

Overview

Meter shows where a number sits between min and max. Compose label, value, track, and indicator under the root. Built on Base UI for accessible meter semantics.

tsx

import {
  Meter,
  MeterLabel,
  MeterValue,
  MeterTrack,
  MeterIndicator,
} from "@standard-ui/react"

<Meter value={72}>
  <MeterLabel>Storage used</MeterLabel>
  <MeterValue />
  <MeterTrack>
    <MeterIndicator />
  </MeterTrack>
</Meter>

Usage

Range

Pass value with optional min / max. Format via Intl options when units matter.

tsx

<Meter
  value={3.2}
  min={0}
  max={5}
  format={{ style: "unit", unit: "gigabyte" }}
>

Meter vs progress

Use Meter for static measurements (quota filled). Use Progress when work is advancing toward completion.

API

PartRole
MeterRoot value, min, max, and format.
MeterLabelAccessible name for the measurement.
MeterValueFormatted current value.
MeterTrackBackground bar for the full range.
MeterIndicatorFilled portion reflecting the value.
PropTypeDefaultDescription
valuenumberCurrent measurement.
minnumber0Lower bound of the range.
maxnumber100Upper bound of the range.

Guidelines

Do

  • Label what is being measured
  • Show the numeric value when the exact figure matters
  • Pick min/max that match the real domain

Don't

  • Don't use Meter for indeterminate loading
  • Don't animate as if work is progressing — use Progress
  • Don't omit units when the scale is not obvious