Bracket Index
Indexed bracket labels step through words, then the brackets close around the product name.
$ pnpm dlx shadcn@latest add @remocn/bracket-indexUsage
// src/Root.tsx
import { Composition } from "remotion";
import { BracketIndex } from "@/components/remocn/bracket-index";
const BracketIndexScene = () => (
<BracketIndex
prefix="Motion for"
words={["launches", "changelogs", "demos"]}
product="remocn"
/>
);
export const RemotionRoot = () => (
<Composition
id="BracketIndex"
component={BracketIndexScene}
durationInFrames={180}
fps={30}
width={1280}
height={720}
/>
);A prefix phrase sits on screen while brackets open around the first word and roll through each next word, then close around the product name as the prefix steps aside. Pass prefix, words and product; each extra word adds 38 frames. Ships light and dark.
Props6
| Prop | Type | Default |
|---|---|---|
| prefix | string"Motion for" Text set before the brackets; it steps aside for the product. | |
| words | string[]["launches", "changelogs", "demos"] Words indexed inside the brackets, in order. | |
| product | string"remocn" Final word the brackets close on. | |
| accent | string"#3B5BFD" Accent colour for the mark and highlights; any CSS colour. | |
| theme | "dark" | "light""dark" Dark or light palette and ground. | |
| speed | number1 Playback multiplier for the whole timeline; 1 is normal speed. | |
- prefixstring
Text set before the brackets; it steps aside for the product.
Default
"Motion for" - wordsstring[]
Words indexed inside the brackets, in order.
Default
["launches", "changelogs", "demos"] - productstring
Final word the brackets close on.
Default
"remocn" - accentstring
Accent colour for the mark and highlights; any CSS colour.
Default
"#3B5BFD" - theme"dark" | "light"
Dark or light palette and ground.
Default
"dark" - speednumber
Playback multiplier for the whole timeline; 1 is normal speed.
Default
1