A monochrome about page in eight sections: a studio bar navbar, a fact-led statement hero, a studio split with a photograph, a team grid on a soft band, a decade of milestones, an inverted client quote ledger, a two-path closing panel and a footer that lists the studio's addresses.
Composed from 8 blocks. Installing this page installs all of them, plus the pieces and primitives they use.
Built in the Auralis collection.
A monochrome about page in eight sections: a studio bar navbar, a fact-led statement hero, a studio split with a photograph, a team grid on a soft band, a decade of milestones, an inverted client quote ledger, a two-path closing panel, and a footer listing the studio's addresses. Eight blocks, one install.
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.
npx shadcn add "https://ui.beste.co/page/r/story1?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the page to components/beste/page/story1.tsx and everything behind it: the eight blocks it composes (navbar59, hero148, about63, about60, about62, testimonial45, cta80, footer116) and the button12 and badge7 components they use. Eleven files, no follow-up installs.
The installed file exports story1Demo alongside the page: the exact props behind the preview above. Spread it to get a working page in one line.
import { Story1, story1Demo } from "@/components/beste/page/story1";
export default function Page() {
return <Story1 {...story1Demo} />;
}Each section is a separate prop, so the usual next step is to keep the demo and replace one section at a time.
import { Story1, story1Demo } from "@/components/beste/page/story1";
export default function Page() {
return (
<Story1
{...story1Demo}
milestones={{
label: "Ten years",
heading: "What happened, in order.",
items: [
{ year: "2016", title: "Two people and a rented desk" },
{ year: "2019", title: "First packaging line, first factory visit" },
{ year: "2023", title: "The studio buys the building" },
],
}}
/>
);
}Every prop is the full prop object of the block that renders that section, so anything the block accepts is accepted here.
| Prop | Type | Default | Description |
|---|---|---|---|
navbar | ComponentProps<typeof Navbar59> | – | Studio bar |
hero | ComponentProps<typeof Hero148> | – | Fact-led statement hero |
studio | ComponentProps<typeof About63> | – | Studio split with a photograph |
team | ComponentProps<typeof About60> | – | Team grid |
milestones | ComponentProps<typeof About62> | – | A decade, in order |
testimonial | ComponentProps<typeof Testimonial45> | – | Client quote ledger |
cta | ComponentProps<typeof Cta80> | – | Two-path closing panel |
footer | ComponentProps<typeof Footer116> | – | Addresses and links |
className | string | – | Extra classes for the page's outer wrapper |
| Section | Block | Notes |
|---|---|---|
| Navbar | navbar59 | Sticky for the whole document |
| Hero | hero148 | Leads with facts rather than a photograph |
| Studio | about63 | Copy beside a full-height photograph |
| Team | about60 | Given bg-muted/50 by the page; fill the grid rows |
| Milestones | about62 | Reads as a ledger, so keep entries one line each |
| Quotes | testimonial45 | Rendered on the inverted band |
| Closing | cta80 | Two paths, not one button |
| Footer | footer116 | One column per address |
milestones removes that section entirely rather than rendering an empty one. Three of the eight blocks are about* variants, so dropping one still leaves a coherent page.sticky top-0 z-50 by the page and stays for the whole document, which works because the block carries its own opaque band.dark class, which swaps the theme tokens for that subtree, so the block's own cards, rules and muted labels follow the switch rather than staying light on a dark rectangle.className="bg-muted/50" on the team section after spreading team, so a className passed inside that prop is overridden.navbar59
Editorial single-row navbar — bold wordmark, quiet bold links, and an outline pill CTA. Collapses to a clean full-height mobile menu.
hero148
Photo-free hero that runs a display statement across the full width, drops the paragraph and pill CTAs onto one baseline beneath it, and closes with a ruled four-column row of studio facts.
about63
Image-led about split with a tall portrait, an offset statement heading, supporting copy, mono studio facts, and a seal CTA.
about60
Team section with an eyebrow, big heading, description and CTA above a responsive grid of people cards (portrait image, name, role).
about62
About section with a header and a vertical timeline of milestones on a left rail, each marked by a year, title, and description.
testimonial45
Three testimonials as ruled columns, each led by a grayscale client logo, followed by a large quote and an attribution block that names the person, the role and the project they hired the studio for.