# BulletChart

Actual values and targets on the same horizontal scale.

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, BulletChart } from "@flood-md/react";
import "@flood-md/react/styles.css";

export function Example() {
  return (
    <FloodRoot>
      <BulletChart label="Resolved requests" max={100} items={[
        {id:"web", label:"Web", value:74, target:80},
        {id:"email", label:"Email", value:56, target:50}
      ]} />
    </FloodRoot>
  );
}
```

## Design notes

- Supply finite nonnegative actuals and targets in the same unit. Use a shared max to compare separate charts.
- The fill shows the actual value and the vertical marker shows the target. Both exact values are visible without interaction.

## API reference

| Prop | Values | Default |
| --- | --- | --- |
| `label` | `string` | `Required` |
| `items` | `readonly BulletChartItem[]` | `Required` |
| `max` | `number` | `—` |
| `formatValue` | `(value: number) => string` | `—` |
| `valueLabel` | `string` | `—` |
| `targetLabel` | `string` | `—` |
| `emptyLabel` | `string` | `—` |
| `Native HTML props` | `Omit<HTMLAttributes<HTMLDivElement>, "children" \| "role" \| "aria-label">` | `Forwarded` |
