Service Bento With FigurePRO

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.

Bento4: Service Bento With Figure

A service page compressed into one mosaic. The lead tile floats a media piece over a dotted field between its own eyebrow and statement, and the tiles around it carry a photograph captioned on its scrim, one inverted figure and three icon services.

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

Base UI flavor

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

This installs the block to components/beste/block/bento4.tsx, the media10 photo piece it frames in the lead tile, and the badge7 eyebrow it uses.

Quick start

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

tsx
import { Bento4, bento4Demo } from "@/components/beste/block/bento4";

export default function Page() {
  return <Bento4 {...bento4Demo} />;
}

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

tsx
import { Compass, PenTool, Ruler } from "lucide-react";
import { Bento4 } from "@/components/beste/block/bento4";
import { Media10 } from "@/components/beste/piece/media10";

export default function Page() {
  return (
    <Bento4
      badge={{ label: "What the studio does" }}
      heading="Three services and one number that explains them."
      labels={{
        mediaEyebrow: "Off this week's roll",
        mediaTitle: "We photograph everything we make, then choose in the morning.",
      }}
      media={<Media10 photos={[{ src: "/roll/one.jpg", alt: "Specimen sheets" }]} />}
      image={{ src: "/studio/floor.jpg", alt: "Studio interior", caption: "Nine people, one floor" }}
      services={[
        { icon: Compass, title: "Direction", description: "Where the brand is going." },
        { icon: PenTool, title: "Identity", description: "The mark, the type and the grid." },
        { icon: Ruler, title: "Systems", description: "Components, templates and notes." },
      ]}
      figure={{ value: "84%", title: "Work still in use after five years" }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow label rendered as a Badge7
headingstringSection heading above the mosaic
mediaReactNodeMedia object framed by the lead tile, usually a registry piece
imagePhotoTilePhotographic tile captioned on its own scrim
servicesServiceTile[][]Icon tiles, two columns each on desktop
figureFigureTileInverted dark tile holding one number
labelsBento4Labels{}Fixed strings that are not content: the lead tile's eyebrow and statement
classNamestringExtra classes for the outer <section>
ts
type ServiceTile = {
  icon: LucideIcon;
  title: string;
  description: string;
};

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

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

type Bento4Labels = {
  mediaEyebrow?: string;
  mediaTitle?: 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

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

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

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

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.