pnpm dlx shadcn@latest add @gammaui/logo-loop
import { LogoLoop } from "@/components/gammaui/logo-loop"const logos = [
{ node: <IconBrandReact />, title: "React" },
{ node: <IconBrandNextjs />, title: "Next.js" },
{ node: <IconBrandTypescript />, title: "TypeScript" },
{ node: <IconBrandTailwind />, title: "TailwindCSS" },
]
<LogoLoop
logos={logos}
speed={120}
direction="left"
logoHeight={48}
gap={40}
scaleOnHover
fadeOut
/><LogoLoop
logos={logos}
speed={80}
direction="up"
hoverSpeed={20}
fadeOut
logoHeight={48}
gap={40}
/><div className="relative h-[200px] overflow-hidden">
<LogoLoop
logos={logos}
speed={120}
direction="left"
logoHeight={48}
gap={40}
fadeOut
scaleOnHover
/>
<LogoLoop
logos={logos}
speed={80}
direction="up"
logoHeight={48}
gap={40}
hoverSpeed={20}
/>
</div>| Prop | Type | Default | Description |
|---|---|---|---|
logos | { node: ReactNode; title?: string; href?: string }[] | [] | Array of logo items |
speed | number | 100 | Loop speed (higher = faster) |
direction | "left" | "right" | "up" | "down" | "left" | Motion direction |
logoHeight | number | 48 | Height of each logo |
gap | number | 32 | Space between logos |
hoverSpeed | number | speed | Speed when hovered |
fadeOut | boolean | false | Enable edge fading gradient |
fadeOutColor | string | "#ffffff" | Color used for fade mask |
scaleOnHover | boolean | false | Slight zoom on hover |
className | string | - | Custom classes |