logo-cloud-3
efferd/logo-cloud-3FreeBlock
Smooth infinite-scrolling logo showcase highlighting trusted brands with gradient masking and elegant motion effects.
Install it
npx shadcn@latest add https://legacy.efferd.com/r/logo-cloud-3.jsonSource
1// https://motion-primitives.com/docs/infinite-slider2import { InfiniteSlider } from "@/components/ui/infinite-slider";34import { cn } from "@/lib/utils";56type Logo = {7 src: string;8 alt: string;9 width?: number;10 height?: number;11};1213type LogoCloudProps = React.ComponentProps<"div"> & {14 logos: Logo[];15};1617export function LogoCloud({ className, logos, ...props }: LogoCloudProps) {18 return (19 <div20 {...props}21 className={cn(22 "overflow-hidden py-4 [mask-image:linear-gradient(to_right,transparent,black,transparent)]",23 className24 )}25 >26 <InfiniteSlider gap={42} reverse speed={80} speedOnHover={25}>27 {logos.map((logo) => (28 <img29 alt={logo.alt}30 className="pointer-events-none h-4 select-none md:h-5 dark:brightness-0 dark:invert"31 height={logo.height || "auto"}32 key={`logo-${logo.alt}`}33 loading="lazy"34 src={logo.src}35 width={logo.width || "auto"}36 />37 ))}38 </InfiniteSlider>39 </div>40 );41}
What it pulls in
Other registry items
Files it writes
More from efferd
All 40 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| auth-1auth-1 | efferd | Blocks | Free | no deps · 2 files | |
| auth-2auth-2 | efferd | Blocks | Free | 1 dep · 3 files | |
| contact-1contact-1 | efferd | Blocks | Free | no deps | |
| contact-2contact-2 | efferd | Blocks | Free | no deps | |
| cta-1cta-1 | efferd | Blocks | Free | no deps | |
| cta-2cta-2 | efferd | Blocks | Free | no deps | |
| cta-3cta-3 | efferd | Blocks | Free | no deps | |
| cta-4cta-4 | efferd | Blocks | Free | no deps |
