Carousel
Counter Belts
Two logo belts running in opposite directions with dissolved edges: counter-motion reads as "the list is long" rather than "a carousel is moving".
What you can change
- the belt contents through topRow and bottomRow
- the heading through title
- the speed through duration, in seconds per full pass
A link for your AI agent: preview, code and instructions.
Preview
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/carousel-012?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
For developers
The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.
Technical notes
The component is self-contained: one file, zero dependencies, the palette in the local --vibeui-carousel-012-* variables. Server component: no hooks, the motion is entirely a CSS animation. Each belt is duplicated in the markup and shifted by exactly half its width including the gap, so no seam between the repeats is visible; the copy is marked aria-hidden so that the list is not read twice. The edges are dissolved with mask-image. The animation freezes both on hover and on focus inside the block, and under prefers-reduced-motion the belts stop and turn into ordinary horizontal scrolling.
Tags
- carousel
- marquee
- logos
- infinite
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…