Visit The Studio BentoPRO

Location mosaic mixing photographic tiles captioned on their own scrim with an inverted address tile carrying a directions link, a soft opening-hours tile and a full-width bordered visit row whose pill CTA sits opposite the copy.

Bento10: Visit The Studio Bento

A contact section built from the place itself. Photographs of the building caption themselves on their own scrims, an inverted tile carries the address and directions link, a ruled tile lists opening hours, and a full-width bordered tile closes with the CTA.

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/bento10?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/bento10.tsx plus the badge7 eyebrow and button12 pill button it uses.

Quick start

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

tsx
import { Bento10, bento10Demo } from "@/components/beste/block/bento10";

export default function Page() {
  return <Bento10 {...bento10Demo} />;
}

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

tsx
import { Bento10 } from "@/components/beste/block/bento10";

export default function Page() {
  return (
    <Bento10
      badge={{ label: "Come and see" }}
      heading="The studio is a real place with a real doorbell."
      labels={{ hoursTitle: "Open to visitors" }}
      images={[
        { src: "/studio/front.jpg", alt: "Studio facade", caption: "The front, second floor up" },
        { src: "/studio/table.jpg", alt: "Shared worktable", caption: "The table everything happens on" },
      ]}
      address={{
        title: "Auralis Studio",
        lines: ["Scheepmakerskade 34", "3011 VX Rotterdam", "Netherlands"],
        linkLabel: "Get directions",
        href: "https://maps.example.com/auralis",
      }}
      hours={[
        { title: "Monday to Thursday", value: "10:00 to 18:00" },
        { title: "Friday", value: "10:00 to 15:00" },
      ]}
      visit={{
        title: "Coffee is decent, the lift is slow",
        description: "Someone is always at the long table.",
        buttonLabel: "Arrange a visit",
        href: "/contact",
      }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow label rendered as a Badge7
headingstringSection heading above the mosaic
imagesStudioImage[][]Photographic tiles; the first one takes the tall lead tile
addressAddressTileInverted tile with the postal address and a directions link
hoursOpeningHour[][]Ruled opening-hours list
visitVisitTileFull-width bordered tile holding the Button12 CTA
labelsBento10Labels{}Fixed strings that are not content: the hours tile's eyebrow
classNamestringExtra classes for the outer <section>
ts
type StudioImage = {
  src: string;
  alt: string;
  caption: string;
};

type AddressTile = {
  title: string;
  lines: string[];
  linkLabel: string;
  href: string;
};

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

type VisitTile = {
  title: string;
  description: string;
  buttonLabel: string;
  href: string;
};

type Bento10Labels = {
  hoursTitle?: string;
};

Behavior notes

More Bento blocks

View all Bento
PRO

bento2

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.

PRO

bento6

Object Study Bento

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.

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

bento1

Studio Bento Grid

A hand-tiled monochrome bento grid mixing a statement, a stat, an image, a quote, and a CTA into one composition.

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.