Hero Ui

Meter

Component 10

About

A HeroUI meter for visualizing a value within a range — storage, usage, progress toward a goal. Built on react-aria with an accessible label and formatted output. Supports accent/success/warning/danger colors, sm/md/lg sizes, an optional label, custom min/max, currency and percent formatting, and threshold-driven colors.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Meter to your project and fits it to your theme.

Code

How Meter is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client"

import { Meter } from "@/components/ui/heroui-meter"
import { Label } from "@heroui/react"

// Pick the fill color from the current level: calm under 60%, warn up to 85%,
// danger above. A common "health bar" pattern for resource usage.
function levelColor(value: number): "success" | "warning" | "danger" {
  if (value >= 85) return "danger"
  if (value >= 60) return "warning"
  return "success"
}

function UsageMeter({ label, value }: { label: string; value: number }) {
  return (
    <Meter color={levelColor(value)} value={value}>
      <Label>{label}</Label>
      <Meter.Output />
      <Meter.Track>
        <Meter.Fill />
      </Meter.Track>
    </Meter>
  )
}

export default function ThresholdColors() {
  return (
    <div className="flex w-full items-center justify-center p-10">
      <div className="flex w-64 flex-col gap-6">
        <UsageMeter label="CPU" value={35} />
        <UsageMeter label="Memory" value={72} />
        <UsageMeter label="Disk" value={94} />
      </div>
    </div>
  )
}

Dependencies

More by Hero Ui

View all
  • DatePicker

    DatePicker

    465
  • Chip

    Chip

    440
  •  The Pagination

    The Pagination

    361
  • HeroUI Color Picker

    HeroUI Color Picker

    105
  • Skeleton

    Skeleton

    104
  • HeroUI Table

    HeroUI Table

    100
  • HeroUI Disclosure Group

    HeroUI Disclosure Group

    94
  • HeroUI AlertDialog

    HeroUI AlertDialog

    80