# Status Indicator
A compact status label with a colored dot that communicates the current state of a process or resource. Supports five states and an optional pulsing animation.
```tsx demo
import { StatusIndicator } from "@tenstorrent/vesper/status-indicator";
export default function StatusIndicatorDemo() {
return (
);
}
```
## Options
| Prop | Type | Description | Default |
| ---------- | ------------------------------------------------------------- | -------------------------------------------------------------------------- | ----------- |
| `label` | `string` | The text label displayed next to the status dot. | — |
| `state` | `"queued" \| "progress" \| "error" \| "ready" \| "cancelled"` | The current status state, which determines the color of the indicator dot. | — |
| `variant` | `"default" \| "badge"` | The visual style variant of the status indicator. | `"default"` |
| `animated` | `boolean` | When `true`, applies a pulsing animation to the status dot. | `false` |
| `as` | `ElementType` | The root element type for polymorphic rendering. | `"div"` |
Any additional props are forwarded to the wrapping `
` element, or whichever element is specified by the `as` prop.
## Examples
### Basic Usage
Render a `StatusIndicator` by giving it a `state` and a `label`:
```tsx demo
import { StatusIndicator } from "@tenstorrent/vesper/status-indicator";
export default function BasicStatusIndicator() {
return
;
}
```
### Variants
A `StatusIndicator` can be rendered in one of two visual variants: `"default"`, or `"badge"`. The default variant is `"default"`. When rendered using the `"badge"` variant, the `StatusIndicator` receives a subtle border, visually separating it from its surrounding content:
```tsx demo
import { StatusIndicator } from "@tenstorrent/vesper/status-indicator";
export default function StatusIndicatorVariants() {
return (
);
}
```
### States
`StatusIndicator` can be rendered with one of five states: `"queued"`, `"progress"`, `"error"`, `"ready"`, or `"cancelled"`. Use a `state` which corresponds with the status of the resource it describes.
```tsx demo
import { StatusIndicator } from "@tenstorrent/vesper/status-indicator";
export default function StatusIndicatorStates() {
return (
);
}
```
### Animating the indicator dot
The colored dot next to the label can be rendered with a gentle pulsing animation by passing `animated={true}` or just `animated` as a prop:
```tsx demo
import { StatusIndicator } from "@tenstorrent/vesper/status-indicator";
export default function AnimatedStatusIndicator() {
return
;
}
```