Full-height Hero with Scroll Indicator

Vertically centered hero with animated scroll-down indicator featuring bouncing dot and arrow. Perfect for single-page sites and immersive landing pages.

FREE

Hero57: Full-height Hero with Scroll Indicator

Vertically centered, near-fullscreen hero (min-h-[80vh]) for single-page and landing-page openers, with a scroll-down affordance pinned to the bottom of the viewport: a bouncing dot inside a pill "mouse" shape plus a bouncing arrow.

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/hero57"

Base UI flavor

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

This installs the block to components/beste/block/hero57.tsx and its shadcn/ui dependencies: Badge, Button.

Quick start

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

tsx
import { Hero57, hero57Demo } from "@/components/beste/block/hero57";

export default function Page() {
  return <Hero57 {...hero57Demo} />;
}

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

tsx
import { Hero57 } from "@/components/beste/block/hero57";

export default function Page() {
  return (
    <Hero57
      badge={{ label: "Launching Soon", variant: "outline" }}
      heading="Transform your workflow with intelligent automation"
      description="Streamline operations and focus on what matters most."
      buttons={[
        { label: "Get Started Free", href: "https://beste.co" },
        { label: "Watch Demo", href: "https://beste.co", variant: "outline" },
      ]}
      scrollText="Scroll to explore"
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Pill above the heading
headingstringMain heading
descriptionstringSupporting paragraph
buttonsButtonItem[][]CTA buttons; the first one gets a trailing arrow icon
scrollTextstringLabel shown above the scroll indicator
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

hero134

Vertical Dot Pager Hero

Full-bleed hero whose background crossfades across items, steered by a minimal vertical pager pinned to the right edge. The active control grows taller while the rest stay short and dimmed; a giant heading and the clickable active item name sit bottom-left.

PRO

hero97

Bottom-Aligned Hero with Stack Cards

Fullscreen bottom-aligned hero with vertical stack cards and inset background video with gradient overlay

PRO

hero100

Fullscreen Hero with Browser Mockup

Fullscreen hero with centered content and browser window frame mockup over inset background video

PRO

hero128

Vertical Index List Hero

Full-bleed monochrome hero whose background crossfades to the active project. A giant heading sits bottom-left while a numbered vertical project index on the right highlights and swaps the active row on hover, click, or auto-loop.

PRO

hero99

Fullscreen Hero with Marquee Ticker

Cinematic fullscreen hero with scrolling marquee keyword band over inset background video

PRO

hero130

Monochrome Hero with Rotating Announcement Ticker

Full-bleed hero with a static background image, a giant display heading, and a slim bordered bar that auto-rotates through short, clickable announcement messages with position dots.