Object Study Bento

(Object study)

Every surface, photographed before it was described.

Studio headphones resting on a matte desk

Reference pair, unopened

Shot on the bench it was assembled on

(Measured)
Weight
268 g
Materials
Aluminium, wool
Charge
40 hours
Spare parts
Ten years
Close detail of a brushed aluminium edge catching low light
Brushed edge, unpolished
Macro view of a fine textured matte material
Matte shell, close

9

Parts in the housing, down from 21

About this block

Object Study BentoPRO

Product mosaic pairing a two-row hero photograph captioned on its scrim with a tall specification tile, then two square macro tiles that carry their caption inside and an inverted figure tile closing the row.

Bento6: Object Study Bento

A product study hung as a mosaic. One large photograph carries the object and its shot note, a tall ruled tile lists the measured specifications, two square macro crops sit underneath, and a single inverted figure closes the grid.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/bento6?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/bento6?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/bento6.tsx plus the badge7 eyebrow it uses.

Quick start

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

tsx
import { Bento6, bento6Demo } from "@/components/beste/block/bento6";

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

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

tsx
import { Bento6 } from "@/components/beste/block/bento6";

export default function Page() {
  return (
    <Bento6
      badge={{ label: "Object study" }}
      heading="Every surface, photographed before it was described."
      image={{
        src: "/object/pair.jpg",
        alt: "Headphones on a matte desk",
        title: "Reference pair, unopened",
        meta: "Shot on the bench it was assembled on",
      }}
      labels={{ specsTitle: "Measured" }}
      details={[
        { src: "/object/edge.jpg", alt: "Brushed aluminium edge", caption: "Brushed edge, unpolished" },
        { src: "/object/shell.jpg", alt: "Matte material macro", caption: "Matte shell, close" },
      ]}
      specs={[
        { title: "Weight", value: "268 g" },
        { title: "Materials", value: "Aluminium, wool" },
      ]}
      figure={{ value: "9", title: "Parts in the housing, down from 21" }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow label rendered as a Badge7
headingstringSection heading above the mosaic
imageHeroTileLarge photograph with its title and shot note on the scrim
detailsDetailTile[][]Square macro crops, each captioned on its own scrim
specsSpecRow[][]Ruled specification list in the tall side tile
figureFigureTileInverted dark tile holding one number
labelsBento6Labels{}Fixed strings that are not content: the specification tile's eyebrow
classNamestringExtra classes for the outer <section>
ts
type HeroTile = {
  src: string;
  alt: string;
  title: string;
  meta: string;
};

type DetailTile = {
  src: string;
  alt: string;
  caption: string;
};

type SpecRow = {
  title: string;
  value: string;
};

type FigureTile = {
  value: string;
  title: string;
};

type Bento6Labels = {
  specsTitle?: string;
};

Behavior notes

  • The lead photograph spans md:col-span-4 md:row-span-2 and the specification tile spans md:col-span-2 md:row-span-2 beside it, so the two tallest tiles share the first band and the crops fill the row below.
  • Specifications render as a real dl with dt and dd, and each row is separated by border-t border-current/10 rather than a boxed table, which keeps the tile on one surface.
  • Rows use items-baseline justify-between, so a long material list and a short weight still sit on the same baseline with the value flush right.
  • Every caption lives inside its picture on a gradient scrim, so nothing is stranded under an image when the mosaic collapses to one column.
  • Detail crops carry aspect-square below md and switch to md:aspect-auto, letting md:auto-rows-[minmax(13rem,auto)] set their height on desktop instead of the image ratio.
  • Only the figure tile is inverted, giving the section exactly one dark anchor; its text-background tokens are hardcoded because that surface is fixed rather than adaptive.
  • Two detail crops plus the figure fill the second band exactly (2+2+2), so the demo shape leaves no gap at the end of a row.

More Bento blocks

View all Bento
PRO

bento3

Selected Work Bento

Work mosaic on a six-column track mixing photographic tiles that carry their caption inside on a gradient scrim with a soft statement tile and an inverted figure tile, the lead project spanning four columns and two rows.

PRO

bento7

Studio People Bento

Team mosaic where portraits carry their name and role inside the tile on a scrim, interleaved with an inverted quote tile and a wide soft tenure figure tile that closes the grid flush.

PRO

bento9

Editorial Issue Bento

Magazine mosaic whose cover story fills a two-row photographic tile with its category and page count on the scrim, beside an inverted figure tile, a bordered publication note and three soft article tiles.

PRO

bento11

Product Surface Mosaic

A six-column bento mixing a lead card whose image tile floats a live metrics panel, a soft statement tile, an inverted figure tile, a second asset tile carrying an uptime strip, a hairline inclusion list, and a captioned photograph.

PRO

bento4

Service Bento With Figure

Service mosaic whose lead tile floats a photo-strip media piece over a dotted field between its eyebrow and statement, beside a photographic tile captioned on its scrim, an inverted figure tile and three soft icon tiles.

PRO

bento15

Practice Bento

One mosaic of six tiles: a large photograph that drifts inside its tile, an ink quote tile with film grain, a serif figure that counts up, a small photograph, an hours sheet and a call-to-action tile with a sliding-marker pill, each rising into view in turn.