Section

Logo Cloud — Minimal

The reference logo cloud: a compact header above a full-width hairline brand wall of invented wordmarks, uniform cells separated by 1px rules.

  • Section
  • React
  • MIT

Preview

Live section

Interactive preview
Open preview
9:41 100%
devsnips.site/library/react/sections/logo-cloud/minimal/
fluid · no fixed width 100%
No dependencies Responsive

Install

Add to your project

terminal
npx devsnips add React/Sections/Logo-Cloud/minimal
registry path: React/Sections/Logo-Cloud/minimal

Source

Implementation

code.tsx
import { useId } from "react";

/**
 * DevSnips React Logo Cloud — Minimal direction (ruled brand-wall composition).
 *
 * The reference composition for the Logo Cloud family: a compact,
 * left-aligned header block above a full-width hairline brand wall (the
 * compact rhythm, §8). Every brand sits in a uniform cell separated by 1px
 * rules alone — whitespace and hairlines, never cards (§4.2). Logos are
 * invented wordmarks: one geometric glyph plus a plain name, styled
 * uniformly in the foreground token (§15). A small caption label names
 * the wall, per §11.3.
 *
 * Each wordmark is a real `<li>` inside a `<ul>`; the glyph is
 * `aria-hidden` because the adjacent name carries the brand identity. The
 * one interactive element is the quiet integration link below the wall
 * (accent for links only, §3.6).
 */

export type LogoMarkKind =
  | "square"
  | "ring"
  | "diamond"
  | "triangle"
  | "hexagon"
  | "half"
  | "frame"
  | "dot";

export interface LogoBrand {
  name: string;
  mark: LogoMarkKind;
}

export interface LogoLink {
  label: string;
  href: string;
}

export interface LogoCloudSectionProps {
  eyebrow?: string;
  heading?: string;
  lede?: string;
  caption?: string;
  brands?: LogoBrand[];
  link?: LogoLink;
}

const FOCUS_RING =
  "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ds-color-focus-ring)]";

const LINK_CLASSES =
  "text-sm font-semibold leading-5 text-[var(--ds-color-link)] underline underline-offset-4 transition-colors duration-150 ease-out hover:text-[var(--ds-color-link-hover)] motion-reduce:transition-none " +
  FOCUS_RING;

const DEFAULT_BRANDS: LogoBrand[] = [
  { name: "Northkit", mark: "square" },
  { name: "Otterline", mark: "ring" },
  { name: "Slatemark", mark: "diamond" },
  { name: "Hexfold", mark: "triangle" },
  { name: "Quarrybase", mark: "hexagon" },
  { name: "Tallybase", mark: "half" },
  { name: "Boxframe", mark: "frame" },
  { name: "Cornmark", mark: "dot" },
];

/**
 * Invented geometric brand glyph, drawn in `currentColor`. Decorative —
 * the adjacent name carries the identity — so `aria-hidden`.
 */
function LogoGlyph({
  kind,
  className,
}: {
  kind: LogoMarkKind;
  className?: string;
}) {
  return (
    <svg
      aria-hidden="true"
      viewBox="0 0 16 16"
      className={className ?? "h-4 w-4 shrink-0"}
      fill="currentColor"
    >
      {kind === "square" && <rect x="2.5" y="2.5" width="11" height="11" />}
      {kind === "ring" && (
        <circle cx="8" cy="8" r="5" fill="none" stroke="currentColor" strokeWidth="2.5" />
      )}
      {kind === "diamond" && (
        <rect x="3" y="3" width="10" height="10" transform="rotate(45 8 8)" />
      )}
      {kind === "triangle" && <path d="M8 2.5 L14.5 13.5 L1.5 13.5 Z" />}
      {kind === "hexagon" && (
        <path d="M8 1 L13.8 4.5 L13.8 11.5 L8 15 L2.2 11.5 L2.2 4.5 Z" />
      )}
      {kind === "half" && <path d="M8 2 A6 6 0 0 1 8 14 Z" />}
      {kind === "frame" && (
        <rect
          x="2.5"
          y="2.5"
          width="11"
          height="11"
          fill="none"
          stroke="currentColor"
          strokeWidth="2.5"
        />
      )}
      {kind === "dot" && <circle cx="8" cy="8" r="3.5" />}
    </svg>
  );
}

export function LogoCloudSection({
  eyebrow = "Ecosystem",
  heading = "Plays well with the stack you already have.",
  lede = "Waypoint previews and deploys plug straight into the tools your team already runs — no migration project, no plugin babysitting.",
  caption = "Integration partners",
  brands = DEFAULT_BRANDS,
  link = { label: "Browse the integration directory", href: "#integrations" },
}: LogoCloudSectionProps) {
  const headingId = useId();
  return (
    <section
      aria-labelledby={headingId}
      className="bg-[var(--ds-color-background)] font-[var(--ds-font-sans)] text-[var(--ds-color-foreground)]"
    >
      <div className="mx-auto max-w-[1280px] px-4 py-[clamp(2.5rem,2rem+2vw,4rem)] sm:px-6 lg:px-8">
        <div className="max-w-2xl">
          <p className="text-xs font-semibold uppercase leading-[1.3] tracking-[0.05em] text-[var(--ds-color-muted-foreground)]">
            {eyebrow}
          </p>
          <h2
            id={headingId}
            className="mt-3 text-[clamp(1.875rem,1.65rem+1vw,2.25rem)] font-semibold leading-[1.15] tracking-[-0.02em]"
          >
            {heading}
          </h2>
          <p className="mt-4 text-[clamp(1rem,0.95rem+0.25vw,1.125rem)] leading-[1.5] text-[var(--ds-color-muted-foreground)]">
            {lede}
          </p>
        </div>

        <div className="mt-10 lg:mt-12">
          <p className="font-[var(--ds-font-mono)] text-xs font-medium uppercase leading-[1.4] tracking-[0.05em] text-[var(--ds-color-muted-foreground)]">
            {caption}
          </p>
          <ul className="mt-6 grid grid-cols-1 border-r border-b border-[var(--ds-color-border)] sm:grid-cols-2 lg:grid-cols-4">
            {brands.map((brand) => (
              <li
                key={brand.name}
                className="flex items-center justify-center gap-2 border-l border-t border-[var(--ds-color-border)] px-6 py-6"
              >
                <LogoGlyph kind={brand.mark} />
                <span className="text-sm font-semibold leading-5">{brand.name}</span>
              </li>
            ))}
          </ul>
        </div>

        <div className="mt-10 lg:mt-12">
          <a href={link.href} className={LINK_CLASSES}>
            {link.label}
          </a>
        </div>
      </div>
    </section>
  );
}
168 lines UTF-8 · LF · Spaces: 2
DevSnips AI ready Claude · Cursor · Windsurf

Agent skill & Model Context Protocol

Pass this section straight into your AI workflow. DevSnips exposes each resource as a structured, addressable registry entry, so your agent installs the real files instead of approximating them.

devsnips://sections/logo-cloud/minimal
Prompt instruction
I want to use this DevSnips resource in production:

Page:
https://devsnips.site/library/react/sections/logo-cloud/minimal/

Install: npx devsnips add
React/Sections/Logo-Cloud/minimal

This is the Logo Cloud — Minimal — The reference logo cloud: a compact header above a full-width hairline brand wall of invented wordmarks, uniform cells separated by 1px rules.

Use this DevSnips resource as the starting point for my project.
Adapt it to my project's stack and conventions, fix any issues,
and make it production-ready while preserving its intended design
and behavior.

Paste into ChatGPT, Claude or your agent — it already carries the page URL and the exact install path.

Resource URI
devsnips://sections/logo-cloud/minimal