Analytics Hero with Floating Stats

Revenue Growth

+127%

Active Users

2.4M

Faster Insights

10x

Uptime SLA

99.99%

Analytics Platform

Make data-driven decisions with confidence

Our powerful analytics platform helps you understand your business better. Track metrics, identify trends, and grow faster.

Revenue Growth

+127%

Active Users

2.4M

Faster Insights

10x

Uptime SLA

99.99%

About this block

Analytics Hero with Floating StatsPRO

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

Hero37: Analytics Hero with Floating Stats

Centered hero for analytics products: badge, heading, description, and CTAs, with four stat cards floating around the content at the four corners on desktop, and the same cards re-flowing into a static two-column grid below the content on mobile so no data is lost at small widths.

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/hero37?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/hero37.tsx and the Badge and Button shadcn/ui primitives it uses.

Quick start

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

tsx
import { Hero37, hero37Demo } from "@/components/beste/block/hero37";

export default function Page() {
  return <Hero37 {...hero37Demo} />;
}

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

tsx
import { Hero37 } from "@/components/beste/block/hero37";

export default function Page() {
  return (
    <Hero37
      heading="Make data-driven decisions with confidence"
      description="Track metrics, identify trends, and grow faster."
      buttons={[{ label: "Start Free Trial", href: "/signup" }]}
      floatingCards={[
        { icon: "chart", title: "Revenue Growth", value: "+127%", position: "top-left" },
        { icon: "users", title: "Active Users", value: "2.4M", position: "top-right" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional pill badge above the heading
headingstringMain headline
descriptionstringSupporting paragraph
buttonsButtonItem[][]CTA buttons under the description
floatingCardsFloatingCard[][]Stat cards positioned around the content
classNamestringExtra classes for the outer <section>
ts
type FloatingCard = {
  icon: "chart" | "shield" | "zap" | "users";
  title: string;
  value: string;
  position: "top-left" | "top-right" | "bottom-left" | "bottom-right";
};

type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost";
};

Behavior notes

  • floatingCards renders twice: as absolutely positioned corner cards (hidden md:block, one per position value with its own translate offset) around the centered heading on md: and up, and as a static grid-cols-2 list below the content on mobile (md:hidden), so switching to a small viewport repositions the same data instead of hiding it.
  • icon is a string key ("chart" | "shield" | "zap" | "users") resolved through a local iconMap to a Lucide icon component; only those four values are supported, there is no way to pass an arbitrary icon or ReactNode.
  • Each position maps to a hardcoded offset combining a base position, a -translate-x/y-1/4 nudge, and a larger lg: offset, so the desktop layout is tuned specifically for a four-card, four-corner arrangement; a fifth position value has no styling and needs a new case added to positionClasses.
  • There is no entrance animation; the cards and heading are present immediately, styled with a fixed py-24 md:py-32 section wrapper.

More Hero blocks

View all Hero
PRO

hero61

Split Hero with Floating Feature Cards

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

PRO

hero48

Metrics Dashboard Hero

Centered hero with four-column metrics panel showing values and trend indicators below the CTA buttons. Perfect for analytics dashboards and business tools.

PRO

hero96

Split Hero with Metric Dashboard

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

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

hero87

Floating Glassmorphism Card Hero

Fullscreen hero with centered glassmorphism card floating over inset background video

PRO

hero72

Browser Screenshot Hero with Notifications

Centered hero with perspective browser mockup, floating notification cards at corners, and star rating badge. Perfect for SaaS products and web apps.