# Floating range bars

> A window per item, from start to end. Sample data: delivery windows of eight routes, R1 to R8, between 06:00 and 18:00.

- Type 005 · Distribution
- Component: `<FloatingRangeBars>`, the same name as the Figma component
- Install: `npx shadcn add @chartory/floating-range-bars` (free in Hearth: the public registry, no token; Signal with Code and Complete)
- Type page: https://usechartory.com/charts/floating-range-bars

## Installation

1. **Set up the registry once.** This chart is free in Hearth and MIT licensed: no token. Add @chartory to components.json once (the URL alone, no headers), or skip this when another chart is already installed. [Installation guide](https://usechartory.com/docs/installation)

2. **Add the chart.** One command adds the Floating range bars component to your project.

```bash
npx shadcn add @chartory/floating-range-bars
```

3. **Use it.** Pass your rows. The props are the Figma properties.

usage.tsx:

```tsx
import { FloatingRangeBars }
  from "@/components/chartory/floating-range-bars"

<FloatingRangeBars
  data={routeWindows}
  size="m"
  legend
/>
```

## Props

### `<FloatingRangeBars>`

Every prop but data is a Figma property with the same name and values.

| Prop | Type | Default | Note |
| --- | --- | --- | --- |
| data | FloatingRangeBarsData | Required | The chart's data. The tables below list every field. |
| size | "xs" \| "s" \| "m" \| "l" | "m" | The size class. Each one is laid out again from the data. |
| legend | boolean | true | Shows the legend row under the plot. |
| color | "cat-1" \| "cat-2" \| "cat-3" \| "cat-4" | "cat-1" | The data colour of the primary marks (data/primary). |

### FloatingRangeBarsData

The data prop: one object for the whole chart.

| Prop | Type | Default | Note |
| --- | --- | --- | --- |
| cats | string[] | Required | The category labels, in order. |
| vals | [number, number, number][] | Required | The values, in order. |
| sla | number | Required | The SLA line: a range that starts above it shows in the warning colour. |
| min | number | Required | The bottom of the value scale. |
| max | number | Required | The top of the value scale. |
| ticks | string[] | Required | The axis tick labels. |
| toks? | string[] | — | A colour per bar (then no SLA line: the colours carry their own rule). |
| noMedian? | boolean | false | Windows with no median: no tick across the bars. |

## Floating range bar chart: a React and Figma chart in four sizes

### What does a floating range bar chart show?

A floating range bar chart draws each item as a bar from its start to its end value, so you compare windows instead of totals. Use it for delivery windows, opening hours, price ranges or any from-to pair per item.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

### What is the Floating range bars component?

It is one **<FloatingRangeBars>** component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is a start, an end and a median per item, plus the SLA time.

Sizes **XS**, **S**, **M** and **L** re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

### When should I use it?

- **Is each item a from-to pair?** Yes means the floating range bars fit.
- **Are the items independent?** Yes means the floating range bars fit.
- **Is it a range, not a spread of values?** Yes means the floating range bars fit.

### When does another type fit better?

- **One value per item.** Use Horizontal bars instead.
- **Tasks in one schedule.** Use Gantt instead.
- **Many values per item.** Use Box plot instead.

## Floating range questions

### Does the Floating range bars chart work with shadcn/ui?

Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

### How do I install it?

It is free in Hearth and MIT licensed: add the @chartory registry URL once, no token, then run npx shadcn add @chartory/floating-range-bars. The Installation guide has the steps.

### Can my coding agent install it?

Yes. Connect the Chartory MCP server and ask for the floating range bars chart; the agent runs the same command and you review the diff.

### What data does it expect?

A start, an end and a median per item, plus the SLA time. The sample data comes with the component, and the props table lists every field.

### Which sizes does it ship in?

XS, S, M and L, in Figma and in code. Each size is laid out again from the data, so text and lines keep their size.

### Is it in the Figma file too?

Yes. chart/005-floating-range-bars has the same properties as the component.

### Does it follow light and dark mode?

Yes. Every paint is a token, so the chart follows light and dark mode and the collection you pick.

### Which plan has the code?

None for Hearth: it is free in the public registry, no token. The Signal collection (@chartory/signal) comes with Code and Complete.
