Aldenmoor Balloon Flights
Evening flights over the Weald for up to six guests, lifting off an hour before sunset and landing wherever the wind decides. Champagne on the grass, a ride home at dusk.
An evening balloon flight hero over the cloud-sky background component: layers of golden-hour cumulus drift past at different depths, lit on the side facing a low sun with a silver lining on thin edges, while the view steers a little with the cursor. A white semibold serif headline, an intro, a light Arrow Pill and an underline link sit in the upper sky. Every sky setting passes through the sky prop.
A full-height golden-hour hero over a CloudSky WebGL sky where layers of sunlit cumulus drift past at different depths and the view steers a little with the cursor, with a white serif headline, an intro, a light Arrow Pill and an underline link in the upper sky.
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/hero242?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/hero242?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/hero242.tsx plus the cloud-sky background and the button23 and button2 buttons it uses.
The installed file exports hero242Demo alongside the block: the exact props behind the preview above. Spread it to get a working hero in one line.
import { Hero242, hero242Demo } from "@/components/beste/block/hero242";
export default function Page() {
return <Hero242 {...hero242Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Hero242 } from "@/components/beste/block/hero242";
export default function Page() {
return (
<Hero242
eyebrow="Aldenmoor Balloon Flights"
heading="Rise with the last of the light."
description="Evening flights for up to 6 guests, lifting off an hour before sunset."
buttons={[
{ label: "Book an evening flight", href: "https://beste.co" },
{ label: "How a flight works", href: "/flights" },
]}
sky={{
skyTop: "#5d6f96",
skyHorizon: "#f3c79a",
sunColor: "#fff1d6",
sunX: 0.72,
sunY: 0.34,
layers: 4,
}}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Small line above the headline |
heading | string | – | Serif headline, rendered as the page h1 |
description | string | – | Intro paragraph under the headline |
buttons | ActionButton[] | [] | The first renders as a light Arrow Pill (Button23), the rest as underline links (Button2) |
sky | Omit<CloudSkyProps, "className" | "children"> | – | Forwards CloudSky props: skyTop, skyHorizon, sunColor, sunX, sunY, coverage, softness, speed, layers, interactive, paused |
className | string | – | Extra classes for the outer <section> |
type ActionButton = {
label: string;
href: string;
};sky.skyTop (falling back to #5d6f96), and a gradient of that color mixed at 55% covers the top 60%, so the white copy stays readable over bright clouds.pb-40 clear below it, leaving the lower sky open for the clouds. The headline and intro carry a soft text shadow.skyTop a mid to dark tone; the surface does not follow the theme.sunX and sunY, with a silver lining on thin edges. The sky pauses offscreen and in hidden tabs.