Split Hero with YouTube Video

Two-column hero with embedded YouTube video player in responsive aspect ratio container. Perfect for product demos and explainer video landing pages.

FREE

Hero65: Split Hero with YouTube Video

Two-column hero pairing a headline, copy, and CTA buttons on one side with a responsive YouTube embed on the other. The displayPosition prop lets the video sit to the left or right of the text at the lg breakpoint.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/hero65"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero65"

This installs the block to components/beste/block/hero65.tsx and the shadcn/ui badge and button components it depends on.

Quick start

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

tsx
import { Hero65, hero65Demo } from "@/components/beste/block/hero65";

export default function Page() {
  return <Hero65 {...hero65Demo} />;
}

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

tsx
import { Hero65 } from "@/components/beste/block/hero65";

export default function Page() {
  return (
    <Hero65
      badge={{ label: "Product Tour", variant: "secondary" }}
      heading="See the product in two minutes"
      description="A quick walkthrough of the workflow your team will use every day."
      buttons={[
        { label: "Start Free Trial", href: "/signup" },
        { label: "View Pricing", href: "/pricing", variant: "outline" },
      ]}
      videoId="dQw4w9WgXcQ"
      displayPosition="left"
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Badge above the heading, rendered with a fixed Play icon
headingstringMain headline
descriptionstringSupporting paragraph
buttonsButtonItem[][]CTA buttons under the description
videoIdstringYouTube video ID embedded as youtube.com/embed/{videoId}
displayPosition"left" | "right""right"Which side the video column renders on at the lg breakpoint
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost";
};

Behavior notes

More Hero blocks

View all Hero
PRO

hero35

Split Hero with Video Player

Two-column hero with playable video (or image), play button overlay, and key stats row. Perfect for product demos and feature announcements.

PRO

hero84

Split Hero with Edge-to-Edge Media

50/50 split hero with content left and edge-to-edge video/image right with checklist items

PRO

hero93

Asymmetric Split Hero with Quick Links

40/60 asymmetric split hero with narrow content panel and vertical quick links over video

PRO

hero94

Reverse Split Hero with Pill Grid

Reverse split hero with compact 3x2 pill grid over video left, content right

PRO

hero90

Stacked Hero with Media Top

Vertical split hero with video/image on top and content section below

PRO

hero92

Split Hero with Bento Feature Grid

50/50 split hero with content left and bento feature grid overlay on video right