Skip to content
Back to skills

Gauge

ASecurity

Two gauge components for displaying progress/metric values: **LinearGauge** (horizontal bar) and **RadialGauge** (circular arc with optional stacking).

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aireact

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add reaviz/skills --skill gauge --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gauge?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gauge
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/reaviz-gauge/badge)](https://www.skillsdirectory.com/skills/reaviz-gauge)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Gauge

Two gauge components for displaying progress/metric values: **LinearGauge** (horizontal bar) and **RadialGauge** (circular arc with optional stacking).

## Import

```tsx
// Linear
import { LinearGauge, LinearGaugeSeries, LinearGaugeBar, LinearGaugeOuterBar } from 'reaviz';

// Radial
import {
  RadialGauge,
  RadialGaugeSeries,
  RadialGaugeArc,
  RadialGaugeOuterArc,
  RadialGaugeLabel,
  RadialGaugeValueLabel,
  StackedRadialGaugeSeries,
  StackedRadialGaugeValueLabel,
  StackedRadialGaugeDescriptionLabel,
  RadialGaugeStackedArc
} from 'reaviz';
```

---

## LinearGauge

Horizontal progress bar gauge with an outer track and inner fill bar.

### LinearGauge Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `data` | `ChartShallowDataShape \| ChartShallowDataShape[]` | — | Single or multi-series data |
| `minValue` | `number` | `0` | Minimum scale value (single-series only) |
| `maxValue` | `number` | `100` | Maximum scale value (single-series only) |
| `series` | `ReactElement<LinearGaugeSeriesProps>` | `<LinearGaugeSeries />` | Series component |
| `width` | `number` | auto | Width in pixels |
| `height` | `number` | auto | Height in pixels |
| `className` | `string` | — | SVG CSS class |
| `containerClassName` | `string` | — | Container div CSS class |

### LinearGaugeSeries Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `bar` | `ReactElement<LinearGaugeBarProps>` | `<LinearGaugeBar />` | Inner fill bar (single-series) |
| `outerBar` | `ReactElement<LinearGaugeOuterBarProps>` | `<LinearGaugeOuterBar />` | Outer track bar (single-series) |

Inherits BarSeries props (`colorScheme`, `animated`, `padding`, `tooltip`, etc.).

### LinearGaugeOuterBar Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `fill` | `string` | `'#484848'` | Track fill color |

### Basic Usage

```tsx
<LinearGauge
  height={5}
  width={300}
  data={{ key: 'Progress', data: 75 }}
/>
```

### Custom Min/Max

```tsx
<LinearGauge
  data={{ key: 'Score', data: 350 }}
  minValue={0}
  maxValue={500}
/>
```

### Multi-Series

```tsx
<LinearGauge
  height={30}
  width={300}
  data={[
    { key: 'Low', data: 25 },
    { key: 'Med', data: 50 },
    { key: 'High', data: 75 },
  ]}
  series={<LinearGaugeSeries colorScheme="cybertron" />}
/>
```

---

## RadialGauge

Circular arc gauge supporting single, multi-ring, and stacked layouts.

### RadialGauge Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `data` | `ChartDataShape[]` | — | Chart data |
| `minValue` | `number \| number[]` | `0` | Minimum scale value(s) |
| `maxValue` | `number \| number[]` | `100` | Maximum scale value(s) |
| `startAngle` | `number` | `0` | Start angle in radians |
| `endAngle` | `number` | `Math.PI * 2` | End angle in radians (full circle) |
| `series` | `ReactElement` | `<RadialGaugeSeries />` | Series component |
| `width` | `number` | auto | Width in pixels |
| `height` | `number` | auto | Height in pixels |
| `className` | `string` | — | SVG CSS class |
| `containerClassName` | `string` | — | Container div CSS class |

### RadialGaugeSeries Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `arcWidth` | `number` | `5` | Arc thickness |
| `padding` | `number` | `20` | Padding between rings (multi-series) |
| `colorScheme` | `ColorSchemeType` | `['#00ECB1']` | Color scheme |
| `innerArc` | `ReactElement<RadialGaugeArcProps>` | `<RadialGaugeArc />` | Value arc component |
| `outerArc` | `ReactElement<RadialGaugeArcProps> \| null` | `<RadialGaugeOuterArc />` | Track arc component |
| `label` | `ReactElement<RadialGaugeLabelProps> \| null` | `<RadialGaugeLabel />` | Key label |
| `valueLabel` | `ReactElement<RadialGaugeValueLabelProps> \| null` | `<RadialGaugeValueLabel />` | Value label |
| `minGaugeWidth` | `number` | `50` | Min width per ring (multi-series) |

### RadialGaugeArc Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `cornerRadius` | `number` | `0` | Arc corner rounding |
| `padAngle` | `number` | `0` | Padding angle between arcs |
| `padRadius` | `number` | — | Padding radius |
| `animated` | `boolean` | `true` | Enable animations |
| `disabled` | `boolean` | `false` | Disable interactions |
| `fill` | `string` | — | Override fill color |
| `gradient` | `ReactElement<GradientProps> \| null` | — | Gradient fill |
| `tooltip` | `ReactElement<ChartTooltipProps> \| null` | `<ChartTooltip />` | Tooltip component |
| `onClick` | `(event) => void` | — | Click handler |
| `onMouseEnter` | `(event) => void` | — | Mouse enter handler |
| `onMouseLeave` | `(event) => void` | — | Mouse leave handler |

### StackedRadialGaugeSeries Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `colorScheme` | `ColorSchemeType` | `['#00ECB1']` | Color scheme |
| `innerArc` | `ReactElement<RadialGaugeArcProps>` | `<RadialGaugeArc />` | Inner arc |
| `stackedInnerArc` | `ReactElement<RadialGaugeStackedArcProps>` | `<RadialGaugeStackedArc />` | Stacked arc |
| `outerArc` | `ReactElement<RadialGaugeArcProps> \| null` | disabled RadialGaugeArc | Track arc |
| `label` | `ReactElement \| null` | `<StackedRadialGaugeValueLabel />` | Center label |
| `descriptionLabel` | `ReactElement \| null` | — | Description below label |
| `fillFactor` | `number` | `0.2` | How much of the gauge is filled (0-1) |
| `arcPadding` | `number` | `0.15` | Padding between stacked arcs |

### Basic Usage

```tsx
<RadialGauge
  height={300}
  width={300}
  data={[{ key: 'CPU', data: 75 }]}
/>
```

### Multi-Ring

```tsx
<RadialGauge
  height={300}
  width={300}
  data={[
    { key: 'CPU', data: 75 },
    { key: 'Memory', data: 50 },
    { key: 'Disk', data: 30 },
  ]}
  series={
    <RadialGaugeSeries
      colorScheme={['#00ECB1', '#2196F3', '#FF5722']}
      arcWidth={10}
    />
  }
/>
```

### Stacked

```tsx
<RadialGauge
  height={300}
  width={300}
  data={[
    { key: 'Q1', data: [
      { key: 'Sales', data: 30 },
      { key: 'Revenue', data: 50 },
    ]},
  ]}
  series={
    <StackedRadialGaugeSeries
      label={<StackedRadialGaugeValueLabel label="Total" />}
      colorScheme={['#00ECB1', '#2196F3']}
    />
  }
/>
```

### Half Gauge (180 degrees)

```tsx
<RadialGauge
  data={[{ key: 'Score', data: 65 }]}
  startAngle={-Math.PI / 2}
  endAngle={Math.PI / 2}
/>
```

### With Gradient

```tsx
import { Gradient } from 'reaviz';

<RadialGauge
  data={[{ key: 'Status', data: 80 }]}
  series={
    <RadialGaugeSeries
      innerArc={<RadialGaugeArc gradient={<Gradient />} />}
    />
  }
/>
```

### Rounded Arcs

```tsx
<RadialGauge
  data={[{ key: 'Score', data: 75 }]}
  series={
    <RadialGaugeSeries
      innerArc={<RadialGaugeArc cornerRadius={10} />}
    />
  }
/>
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.