A full-bleed image pre-launch teaser with a dark overlay, a monospace parenthetical eyebrow, a central play button that opens the teaser video in a modal, a heading and supporting line, and a light outline waitlist pill button.
A monochrome, editorial full-bleed image pre-launch teaser with a dark overlay, centering a parenthetical eyebrow, a large play button that opens the teaser video in a modal, a heading and supporting line, and a light outline waitlist pill button.
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/comingsoon33?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/comingsoon33?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/comingsoon33.tsx.
The installed file exports comingsoon33Demo alongside the block: the exact props behind the preview above. Spread it to get a working teaser in one line.
import { ComingSoon33, comingsoon33Demo } from "@/components/beste/block/comingsoon33";
export default function Page() {
return <ComingSoon33 {...comingsoon33Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { ComingSoon33 } from "@/components/beste/block/comingsoon33";
export default function Page() {
return (
<ComingSoon33
badge={{ label: "First look" }}
heading="Two minutes on what we've been building."
description="Watch the studio walk through the first release, then leave your address."
videoUrl="https://www.youtube.com/watch?v=LTBIvdxPvDA"
button={{ label: "Join the waitlist", href: "/waitlist" }}
image={{ src: "/teaser.jpg", alt: "A studio team at work, still from the launch teaser" }}
labels={{ playLabel: "Play the teaser", closeLabel: "Close video" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Parenthetical eyebrow rendered over the image via Badge7 in a light tone |
labels | ComingSoon33Labels | {} | Accessible labels for the play button and the modal close button |
heading | string | – | Section heading in light text |
description | string | – | Supporting paragraph under the heading |
videoUrl | string | – | Teaser video URL loaded into the modal iframe |
button | ActionLink | – | Waitlist pill link rendered via Button12 with the outline tone |
image | ImageItem | – | Full-bleed background image behind the dark overlay |
className | string | – | Extra classes for the outer <section> |
type ComingSoon33Labels = {
playLabel?: string;
closeLabel?: string;
};
type ActionLink = {
label: string;
href: string;
};
type ImageItem = {
src: string;
alt: string;
};open state that renders a fixed modal overlay; the modal appears only when both open is true and a videoUrl is set, so with no videoUrl the play button itself is hidden.<iframe> whose URL is derived from videoUrl with an autoplay=1 query appended (joined with & or ? depending on whether the URL already has a query), so the teaser starts on open.Escape key (via a keydown listener mounted while open), on a click of the backdrop, and on the close button; a click inside the video frame calls stopPropagation so it does not dismiss.button is a real navigation via Button12 asChild wrapping a Next.js <Link href={button.href} /> with the outline tone, so it always points at a URL.<img> background under a fixed bg-foreground/60 overlay.comingsoon18
A full-bleed image pre-launch hero with a dark overlay, a monospace parenthetical eyebrow, a small kicker, an oversized launch-date headline, a supporting line, and a light outline pill notify button.
comingsoon77
A pre-launch section on a full-bleed photograph under a dark gradient, with a light display heading, four oversized countdown figures between hairline rules, and a working email capture card.
comingsoon63
A product launch coming-soon section with a full-height product image beside a monospace parenthetical eyebrow, a product name, a tagline, a ship date, a working notify email form, and a spec grid.
comingsoon42
A two-column podcast-launch section with an accent-badged square cover image beside a square eyebrow, show title, description, a dark seal subscribe button, platform links, and a ruled list of first episodes.