Split Hero with Floating Feature Cards

Now Available

Build products faster with intelligent automation

Streamline your development workflow with AI-assisted tools that understand your codebase and help you ship features 10x faster.

50K+Developers
4.9Rating
99.9%Uptime

Lightning Fast

Deploy in seconds with zero configuration

Enterprise Security

SOC 2 compliant with end-to-end encryption

Real-time Analytics

Monitor performance with live dashboards

Lightning Fast

Deploy in seconds with zero configuration

Enterprise Security

SOC 2 compliant with end-to-end encryption

Real-time Analytics

Monitor performance with live dashboards

About this block

Split Hero with Floating Feature CardsPRO

Two-column hero with announcement banner, social proof metrics, and three floating feature cards with hover animations. Perfect for SaaS product launches.

Hero61: Split Hero with Floating Feature Cards

Split hero for SaaS launches: an announcement banner above a two-column layout with a highlighted heading and social-proof metrics on one side, and three feature cards scattered at fixed offsets and rotations on the other, each lifting on hover.

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.

Upgrade Now

Installation

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

bash
npx shadcn add "https://ui.beste.co/r/hero61?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero61?email=YOUR_EMAIL&license_key=YOUR_KEY"

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

Quick start

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

tsx
import { Hero61, hero61Demo } from "@/components/beste/block/hero61";

export default function Page() {
  return <Hero61 {...hero61Demo} />;
}

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

tsx
import { Gauge, Users, Zap } from "lucide-react";
import { Hero61 } from "@/components/beste/block/hero61";

export default function Page() {
  return (
    <Hero61
      announcement={{ label: "Introducing v2.0 with AI-powered workflows", href: "/changelog" }}
      badge={{ label: "Now Available" }}
      heading="Build products faster with <strong>intelligent automation</strong>"
      description="AI-assisted tools that understand your codebase and help you ship faster."
      buttons={[{ label: "Start Free Trial", href: "https://beste.co" }]}
      metrics={[
        { icon: Users, value: "50K+", label: "Developers" },
        { icon: Gauge, value: "99.9%", label: "Uptime" },
      ]}
      featureCards={[
        { icon: Zap, title: "Lightning Fast", description: "Deploy in seconds with zero configuration" },
        { icon: Gauge, title: "Real-time Analytics", description: "Monitor performance with live dashboards" },
      ]}
      displayPosition="right"
    />
  );
}

Props

PropTypeDefaultDescription
announcement{ label: string; href?: string }Clickable pill centered above the two-column layout
badge{ label: string; variant?: "default" | "secondary" | "outline" }Pill above the heading, inside the text column
headingstringMain heading; may contain <strong> for highlighted text
descriptionstringSupporting paragraph
buttonsButtonItem[][]CTA buttons; the first one gets a trailing arrow icon
metricsMetric[][]Inline social-proof numbers under the buttons
featureCardsFeatureCard[][]Cards rendered opposite the text column
displayPosition"left" | "right""right"Which side the feature cards render on
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost";
};

type Metric = {
  icon?: LucideIcon;
  value: string;
  label: string;
};

type FeatureCard = {
  icon: LucideIcon;
  title: string;
  description: string;
};

Behavior notes

  • heading is rendered with dangerouslySetInnerHTML, so <strong> tags in the string are picked up by [&>strong]:text-primary for a highlighted-word effect (the demo highlights "intelligent automation"); pass plain text if you don't need the highlight.
  • displayPosition reorders only the feature-card column: "right" (the default) leaves the text column first and cards second; "left" moves the text column to lg:order-2, putting the cards first.
  • On lg and up, the three featureCards are positioned absolutely inside a relative h-[500px] box at fixed coordinates and rotations cycling through top-0 right-0 rotate-3, top-1/3 left-0 -rotate-2, and bottom-0 right-8 rotate-1 (via positions[index % 3]), each lifting -translate-y-2 with a stronger shadow on hover.
  • Below lg, that absolutely positioned stack is hidden (hidden lg:block) and a second, separate render of the same featureCards data appears instead, laid out as a static sm:grid-cols-3 grid with no rotation or absolute positioning: the cards are rendered twice in the markup and swapped by breakpoint, not repositioned by CSS from a single render.
  • The announcement pill's arrow (ArrowRight) nudges right on hover via group-hover:translate-x-0.5; the whole pill is one next/link hit target.

More Hero blocks

View all Hero
PRO

hero96

Split Hero with Metric Dashboard

50/50 split hero with content left and metric dashboard cards with trend badges over video right

PRO

hero38

Split Hero with Testimonial Card

Two-column hero with prominent testimonial quote card featuring author avatar and company info. Perfect for building trust and social proof.

PRO

hero37

Analytics Hero with Floating Stats

Centered hero with four floating stat cards positioned around the content displaying key metrics. Perfect for analytics platforms and data-driven products.

PRO

hero25

Dashboard Preview Hero

Split-layout hero with interactive dashboard mockup featuring stats cards, line chart, and recent activity feed. Perfect for SaaS and analytics platforms.

FREE

hero24

Wellness Hero with Stats Cards

Split-layout hero with avatar stack social proof, floating heart rate card, and progress indicator overlay on image. Perfect for health, fitness, and wellness apps.

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.