Hairline Client WallFREE

A client wall that sets six greyscale logos in a hairline cell grid, each lifting to full colour on hover, with an eyebrow and a short claim on the left, a reach line on the right, and a credit note underneath.

Logos12: Hairline Client Wall

Client wall that sets six greyscale logos in a hairline cell grid, each lifting to full colour on hover, with an eyebrow and a short claim on the left, a reach line on the right, and a credit note underneath.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/logos12"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/logos12"

This installs the block to components/beste/block/logos12.tsx plus the badge23 component it uses for the eyebrow.

Quick start

The installed file exports logos12Demo alongside the block: the exact props behind the preview above. Spread it to get a working logo wall in one line.

tsx
import { Logos12, logos12Demo } from "@/components/beste/block/logos12";

export default function Page() {
  return <Logos12 {...logos12Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Logos12 } from "@/components/beste/block/logos12";

export default function Page() {
  return (
    <Logos12
      badge={{ label: "Trusted by" }}
      heading="Groups, clinics, and single rooms, running the same quiet workflow"
      items={[
        { src: "/logos/brightwell.svg", alt: "Brightwell Group" },
        { src: "/logos/northgate.svg", alt: "Northgate Clinics" },
        { src: "/logos/meadowline.svg", alt: "Meadowline Care" },
        { src: "/logos/coastline.svg", alt: "Coastline Health" },
        { src: "/logos/alder.svg", alt: "Alder and Finch" },
        { src: "/logos/rowan.svg", alt: "Rowan Practice" },
      ]}
      stat="240 practices, 9 countries, one shared way of working"
      footnote="Names used with permission."
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Monospace eyebrow above the claim, rendered via Badge23
headingstringShort claim in the left column
itemsLogo[][]Logo cells, filling the grid in source order
statstringReach line, right-aligned from md up
footnotestringCredit note under the grid
classNamestringExtra classes for the outer <section>
ts
type Logo = { src: string; alt: string };

Behavior notes

More Logos blocks

View all Logos
PRO

logos9

Logo Grid Wall

Partitioned bordered grid of client wordmark cells.

FREE

logos13

Ruled Client Roster

Client proof band with a parenthetical eyebrow, a display heading beside a supporting paragraph, and a ruled grid of grayscale logos where each one carries a plain caption naming the work, closed by a footnote and a pill CTA.

PRO

logos7

Logo Cloud

Centered grid of client wordmarks with a trusted-by intro.

PRO

logos15

Sector Grouped Client Index

Client proof organised by sector: each ruled row names the sector, explains the kind of work it involves, and lines the matching grayscale logos up on the right edge.

PRO

logos6

Logo Grid with Card Backgrounds

Responsive grid of partner or client logos. Each logo sits inside a softly tinted, rounded card so mixed-style logos (marks, wordmarks, scanned seals) all feel cohesive.

PRO

logos10

Logos Split

Headline and blurb beside a grid of client wordmarks.

Markdown version