import { LogoStrip } from "@elabs-ai/components-marketing";npm install @elabs-ai/components-tokens @elabs-ai/components-ui @elabs-ai/components-marketingPrompt for your coding agent
Paste it into Claude Code, Cursor, Codex or any other coding agent. Text in [brackets] is yours to fill in.
Add the brand-ui LogoStrip component (from @elabs-ai/components-marketing) to this project. 1. Read https://elabs-ai.com/llms.txt first: it maps every package and the rules. If you can use MCP servers, connect https://elabs-ai.com/mcp and use its search, docs and tokens tools. If not, run the same lookups in the terminal: `npx -y @elabs-ai/components-cli search "<what you need>"` and `npx -y @elabs-ai/components-cli docs <Component>`. 2. Look LogoStrip up before writing code: `npx -y @elabs-ai/components-cli docs LogoStrip` prints its real props, variants, what it pairs with and what to avoid. 3. If @elabs-ai/components-marketing is not installed yet: `pnpm add @elabs-ai/components-tokens @elabs-ai/components-ui @elabs-ai/components-marketing` (or `npm install @elabs-ai/components-tokens @elabs-ai/components-ui @elabs-ai/components-marketing`). If this is the first brand-ui package in the project, wire it once: import `@elabs-ai/components-tokens/styles.css` plus the `themes/light.css` and `themes/dark.css` stylesheets in the CSS entry, add one Tailwind `@source` line per installed @elabs-ai package (Tailwind does not scan node_modules, so without it everything renders unstyled), and wrap the app root in `ThemeProvider` from `@elabs-ai/components-tokens`. 4. Use it here: [the screen or file, and what it should show] 5. Rules: use only @elabs-ai/components-* components and the semantic tokens — no raw colours, no raw font sizes, no arbitrary Tailwind values. Look up each component's real props with the docs tool before you use it; never guess a prop. 6. Done means: the typecheck passes, `npx -y @elabs-ai/components-cli audit src --strict` reports nothing, and you have opened the app and looked at every screen you touched in the light and the dark theme.
Examples
Custom Caption
No Caption
Few Logos
Marquee
Scrolls in a loop; the button pauses it, hovering pauses it too. Static under reduced motion.
Unmuted
Text wordmarks that carry their own colour keep it: `muted={false}`.
API
LogoStrip
| Prop | Type | Description |
|---|---|---|
logosrequired | ReactNode[] | Logos as nodes (SVGs/imgs). Rendered muted for a "trusted by" row. |
caption | ReactNode | |
layout | "grid" | "marquee" | `grid` wraps the marks (default). `marquee` scrolls them in a loop that pauses on hover and has a real pause button (WCAG 2.2.2); under reduced motion it stands still as a wrapped row. |
marqueeSeconds | number | Seconds for one full loop of the marquee. |
animate | boolean | Stagger the logos in on mount (grid only). Motion-gated. Defaults to true. |
muted | boolean | Fade and desaturate the marks so a row of brand colours reads as one strip (default). Turn off for marks that carry their own muted treatment — text wordmarks, say — since a faded text colour can fall below contrast. |
labels | LogoStripLabels | |
className | string |