Slow-scrolling horizontal logo strip with edge fades that loops forever, set via a duration prop.
Requires shadcn/ui initialized. Run npx shadcn@latest init if you haven't.
import { Logo3 } from "@/components/beste/piece/logo3";
<Logo3
heading="Trusted by teams at"
logos={[
{
"name": "Stripe",
"src": "https://oud.pics/sm/l/stripe.jpeg"
},
{
"name": "Notion",
"src": "https://oud.pics/sm/l/notion.png"
},
{
"name": "Slack",
"src": "https://oud.pics/sm/l/slack.svg"
},
{
"name": "Gmail",
"src": "https://oud.pics/sm/l/gmail.jpeg"
},
{
"name": "Figma",
"src": "https://oud.pics/sm/l/figma.png"
},
{
"name": "Dropbox",
"src": "https://oud.pics/sm/l/dropbox.png"
},
{
"name": "Apple",
"src": "https://oud.pics/sm/l/apple.png"
},
{
"name": "Drive",
"src": "https://oud.pics/sm/l/google-drive.png"
}
]}
durationSeconds={40}
/>

+424Overlapping circle-cropped brand logos with a +N overflow chip and a two-line social-proof copy.



StripeNotionSlackFigmaDropboxStripeLead phrase paired with a logo and name that blur-fade to the next brand on a fixed interval.
Stripe
NotionTwo brand tiles framing an italic separator like vs, with a neutral caption underneath for context.

Larger brand mark with an icon tile, bold wordmark, and a small tagline underneath.
StripeSquare icon tile paired with a bold wordmark. Pick from four icons and three tones.

Single brand tile beside a stack that prints the uppercase brand name, a big mono metric, and a supporting line.