Logos — Trusted By
"Trusted by" logo cloud section with grayscale hover effect.
Social Proof
Installation
npx shadcn@latest add @saastro/logos-01Preview
Trusted by leading companies
Acme Corp
Globex
Initech
Umbrella
Stark Inc
Wayne Co
Source Code
import type { ReactNode } from 'react';
import { cn } from '@/lib/utils';
type Logo = {
name: string;
imageUrl?: string;
icon?: ReactNode;
};
type Logos01Props = {
title?: string;
logos: Logo[];
className?: string;
};
export function Logos01({
title = 'Trusted by leading companies',
logos,
className,
}: Logos01Props) {
return (
<section className={cn('w-full px-6 py-16 md:py-24', className)}>
<div className="mx-auto max-w-6xl">
{title && (
<p className="mb-10 text-center text-sm font-medium text-muted-foreground">{title}</p>
)}
<div className="flex flex-wrap items-center justify-center gap-x-12 gap-y-8">
{logos.map((logo) => (
<div
key={logo.name}
className="grayscale opacity-60 transition-all hover:opacity-100 hover:grayscale-0"
>
{logo.imageUrl ? (
<img src={logo.imageUrl} alt={logo.name} className="h-8 w-auto object-contain" />
) : logo.icon ? (
<div className="flex h-8 items-center">{logo.icon}</div>
) : (
<span className="text-lg font-semibold text-foreground">{logo.name}</span>
)}
</div>
))}
</div>
</div>
</section>
);
}
Registry Setup
Add the Saastro registry to your components.json:
{
"registries": {
"@saastro": "https://ui.saastro.io/r/{name}.json"
}
}