Gauge
SVG gauge indicator with configurable arc, thresholds, and label
Accessibility
- Treat the component as presentational unless it exposes interactive affordances, and label any interactive affordances explicitly.
- Keep heading, reading, and focus order aligned with the surrounding content.
Styled quick start
Copy this entrypoint first. It includes the imports required to get the component on screen.
svelte
<script lang="ts">
import '@dryui/ui/themes/default.css';
import '@dryui/ui/themes/dark.css';
import { Gauge } from '@dryui/ui';
</script>
<Gauge value={72} min={0} max={100} thresholds={[{ value: 30, color: "red" }, { value: 70, color: "orange" }, { value: 90, color: "green" }]} /> Import options
Root package
ts
import { Gauge } from '@dryui/ui' Per-component subpath
ts
import { Gauge } from '@dryui/ui/gauge' API
Props, CSS variables, and the public data attributes you can target when styling.
| Prop | Type | Description | Default | Required | Bindable |
|---|---|---|---|---|---|
| value | number | Current controlled or bindable value. | — | ✓ | — |
| min | number | Minimum allowed value. | 0 | — | — |
| max | number | Maximum allowed value. | 100 | — | — |
| startAngle | number | — | -135 | — | — |
| endAngle | number | — | 135 | — | — |
| thresholds | { value: number; color: string }[] | — | — | — | — |
| label | Snippet<[{ value: number; percentage: number }]> | Visible label text shown for the control or item. | — | — | — |
| children | Snippet | Content rendered inside the component. | — | — | — |