# Rewrite Bars
URL: https://remocn.dev/docs/typography/rewrite-bars

Bars sweep over a headline to rewrite it, 'Your launch video, rendered from code.'

- Install: `npx shadcn@latest add @remocn/rewrite-bars`
- Vibe: premium
- Natural length: 161f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/rewrite-bars
```

## Usage

```tsx
// src/Root.tsx
import { Composition } from "remotion";
import { RewriteBars } from "@/components/remocn/rewrite-bars";

const RewriteBarsScene = () => (
  <RewriteBars headlines={["Scenes you copy.", "Captions that follow the voice.", "Rendered from code."]} highlight="rendered from code" />
);

export const RemotionRoot = () => (
  <Composition
    id="RewriteBars"
    component={RewriteBarsScene}
    durationInFrames={190}
    fps={30}
    width={1280}
    height={720}
  />
);
```

Bars sweep over the current headline, collapse, and reflow it into the next one, with a small eyebrow label above each. Pass `headlines`, `eyebrows` and the `highlight` phrase; it ships light and dark.

## Props

| Prop | Type | Default | Description |
|---|---|---|---|
| `headlines` | `string[]` | — | Headlines in order; bars rewrite each into the next. |
| `eyebrows` | `string[]` | — | Small label above each headline. |
| `highlight` | `string` | `"rendered from code"` | Phrase tinted with the accent colour. |
| `align` | `"center" \| "left"` | `"center"` | Text alignment of the headline block. |
| `hold` | `number` | `20` | Frames the text holds before the next beat. |
| `accent` | `string` | `"#3B5BFD"` | Accent colour (any CSS colour). |
| `background` | `string` | — | Overrides the theme background colour. |
| `speed` | `number` | `1` | Playback multiplier; above 1 plays faster. |
| `theme` | `"dark" \| "light"` | `"dark"` | Colour scheme; ships light and dark. |

## Use when
- A feature walkthrough where one headline is rewritten into the next as bars sweep across it.
- A launch beat that cycles three claims, each with a small numbered eyebrow.

## Don't use when
- You only have one line and no rewrite is needed — use `scan-reveal`.
- You want the words swapped by fading rather than bars — use `per-word-crossfade`.