Staaarter

Object Study Bento

Product mosaic pairing a tall hero photo, a spec sheet, two macro detail tiles, and a closing price banner. Good for a single-product landing page or a studio portfolio piece.

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 media-slot dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/object-study-bento.json

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

Usage

The file also exports bento6Demo, 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 { Bento6, bento6Demo } from "@/components/blocks/bento/bento6";

export default function Page() {
  return <Bento6 {...bento6Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringnoneSmall label above the caption in the hero photo's scrim, e.g. "Object Study".
captionstringnoneHeadline in the hero photo's scrim.
photoMediaSlotImagenoneHero photo; spans two rows and renders a placeholder when omitted.
specsSpecItem[]noneRows in the tall specification tile, rendered as a definition list.
macrosMacroTile[]noneSquare detail tiles; each carries its own caption below the image, not on a scrim.
figureFigureStatnoneClosing full-width inverted tile, e.g. a price or a materials count.
classNamestringnoneExtra classes for the outer section element.

Types

type SpecItem = { label: string; value: string };

type MacroTile = {
  photo: MediaSlotImage;
  caption: string;
  subtitle?: string;
};

type FigureStat = { value: string; label: string };

Behavior notes

  • Purely presentational: the spec sheet, macro captions, and closing figure are all static demo copy, not derived from any real product database.
  • The macro tiles use the caption-inside pattern (image on top, plain text below) rather than a scrim overlay, distinguishing them from the hero tile so the two photographic treatments read as intentionally different, not inconsistent.
  • The closing figure tile spans the full grid width regardless of how many spec rows or macro tiles are passed, since it starts a new row after the others fill the grid.