Staaarter

Studio Summary Bento

Studio mosaic whose lead tile floats a mood-board media piece over a dotted field between its own eyebrow and statement, beside a photographic tile captioned on its scrim, an inverted figure tile, a soft quote tile, and a bordered CTA tile.

By Staaarter Team
Bento
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, media-slot dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/studio-summary-bento.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/bento/bento2.tsx instead.

Usage

The file also exports bento2Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Bento2, bento2Demo } from "@/components/blocks/bento/bento2";

export default function Page() {
  return <Bento2 {...bento2Demo} />;
}

Props

PropTypeDefaultDescription
leadLeadTilenoneDotted-field tile spanning two columns and two rows, with an eyebrow, a statement, and one floating media thumbnail.
photoPhotoTilenonePhotographic tile with an eyebrow and caption overlaid on a bottom scrim.
figureFigureTilenoneInverted (dark) tile with a big figure and a caption.
quoteQuoteTilenoneSoft tile with an italic quote and an attribution line.
ctaCtaTilenoneBordered tile with a heading and a link-styled button.
classNamestringnoneExtra classes for the outer section element.

Types

interface LeadTile {
  eyebrow: string;
  statement: ReactNode;
  media: { src: string; alt: string };
}

interface PhotoTile {
  photo: { src: string; alt: string };
  eyebrow: string;
  caption: string;
}

interface FigureTile {
  figure: string;
  caption: string;
}

interface QuoteTile {
  quote: string;
  attribution: string;
}

interface CtaTile {
  heading: string;
  ctaLabel: string;
  ctaHref: string;
}

Behavior notes

  • Purely presentational: no local state. The CTA button renders as a plain next/link anchor with no working destination in the demo.
  • The dotted background on the lead tile is a decorative CSS radial-gradient pattern, not a real canvas or SVG grid.
  • The floating media thumbnail is a single fixed-position element (top-right, rotated); it isn't a carousel or draggable board despite the 'mood board' framing.