The rooms
Full-width ruled rows that alternate the photograph left and right, each row a whole link carrying a large serif title, a paragraph and a meta line beside an arrow that lifts as the row tints on hover.
Full-width ruled rows that alternate the photograph left and right, each row a whole link.
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.
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
npx shadcn add "https://ui.beste.co/r/showcase53?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/showcase53?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/showcase53.tsx plus the text1 word stagger it uses.
The installed file exports showcase53Demo alongside the block: the exact props behind the preview above. Spread it to get a working linked Alternating Slabs in one line.
import { Showcase53, showcase53Demo } from "@/components/beste/block/showcase53";
export default function Page() {
return <Showcase53 {...showcase53Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Showcase53 } from "@/components/beste/block/showcase53";
export default function Page() {
return (
<Showcase53
eyebrow="The rooms"
heading="Every space, and what it is for."
slabs={[
{
title: "The front room",
description: "Two armchairs and a door that closes properly.",
meta: "Rua da Prata, second floor",
href: "/rooms/front",
image: { src: "/rooms/front.jpg", alt: "A sunlit room with two low armchairs" },
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Small-caps line above the heading |
heading | string | – | Section heading, rendered as an h2 through Text1 |
slabs | Slab[] | [] | Linked rows; every second one flips |
className | string | – | Extra classes for the outer <section> |
type Slab = {
title: string;
description: string;
meta?: string;
href: string;
image: Image;
};
type Image = { src: string; alt: string };md:col-start-* with md:row-start-1 rather than an order utility, because reordering alone pushes the photograph onto a second grid row.Link, so the photograph and the copy lead to the same page and the row tints as a unit on hover.text1 but not button22.md, photograph first, so the alternation costs nothing on a phone.-8% to 8% against a 1.18 scale.blur(24px) on decode, with a complete check for cached files.showcase45
A showcase of alternating split rows, each pairing an image tile that floats a live product micro-asset with an eyebrow, a light heading, a paragraph, and a checked bullet list.
showcase52
Four cards on a muted fill, each one a whole link that inverts to ink on hover: a photograph drifting across the top, a serif name facing its arrow, the shape it takes, a paragraph and a detail line at the foot.
showcase42
An asymmetric mosaic image gallery with mixed-span tiles and monospace frame captions.
showcase37
Horizontally scrollable row of wide product showcase frames with captions.