import * as React from 'react'; import { ImageWithFallback } from '../../figma/ImageWithFallback'; import { cn } from '../../shared/utils'; export interface LogoCloudLogo { src: string; alt: string; } export interface LogoCloudProps extends React.HTMLAttributes { title?: string; logos: LogoCloudLogo[]; } /** * A "trusted by" row of partner or customer logos. * * @description * Renders an optional centered, small uppercase muted title above a * responsive, wrapping row of grayscale logos that colorize on hover. * * @ai-rules * 1. Provide `logos` as an array of `{ src, alt }` — each is rendered with `ImageWithFallback`. * 2. `title` is optional; omit it to render the logo row alone. * 3. Logos are token-driven (grayscale/opacity via utilities) so they stay legible across all themes and dark mode. */ export function LogoCloud({ title, logos, className, ...props }: LogoCloudProps) { return (
{title && (

{title}

)}
{logos.map((logo, index) => ( ))}
); }