# Meter

A measured value within a meaningful, finite range.

Connect Flood once using [the installation guide](https://flood.md/docs/installation). Then import the components you use; no per-component add command is needed.

## Example

```tsx
"use client";

import { FloodRoot, Meter } from "@flood-md/react";
import "@flood-md/react/styles.css";

export function Example() {
  return (
    <FloodRoot>
      <Meter label="Storage used" value={75} valueText="75 of 100 GB" />
    </FloodRoot>
  );
}
```

## Design notes

- Use Meter for storage, battery or other bounded measurements; use Progress for task completion.
- Value is required. Min defaults to 0 and max to 100; require min < max and min <= value <= max. Invalid values throw.
- Use valueText for meaningful units; hideLabel keeps the accessible name. Tone is host-owned and does not calculate warning thresholds.
- Native div props, className/style and ref target the wrapper. Available in 0.2.4.

## API reference

| Prop | Values | Default |
| --- | --- | --- |
| `label` | `string` | `Required` |
| `max` | `number` | `100` |
| `valueText` | `string` | `—` |
| `size` | `"sm" \| "md" \| "lg"` | `"md"` |
| `tone` | `"neutral" \| "accent" \| "error" \| "warning" \| "success" \| "info"` | `"neutral"` |
| `hideLabel` | `boolean` | `false` |
| `value` | `number` | `Required` |
| `min` | `number` | `0` |
| `Native HTML props` | `Omit<Omit<HTMLAttributes<HTMLDivElement>, "children" \| "role">, "value">` | `Forwarded` |
