Centered Hero with Feature Icons

Platform

Everything you need to scale

A complete platform with all the tools you need to build, deploy, and grow your applications.

Lightning Fast

Deploy in seconds with our optimized infrastructure

Secure by Default

Enterprise-grade security with zero configuration

Infinitely Scalable

Automatically scale from zero to millions of users

About this block

Centered Hero with Feature IconsFREE

Centered hero with three feature highlights displayed as icon cards with descriptions below the CTA. Perfect for platform and infrastructure products.

Hero68: Centered Hero with Feature Icons

Centered hero with a headline, CTA buttons, and a row of icon-led feature cards beneath them, each card mapping to one of three built-in Lucide icons. Built for platform and infrastructure products that want a quick three-point pitch under the fold.

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

Base UI flavor

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

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

Quick start

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

tsx
import { Hero68, hero68Demo } from "@/components/beste/block/hero68";

export default function Page() {
  return <Hero68 {...hero68Demo} />;
}

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

tsx
import { Hero68 } from "@/components/beste/block/hero68";

export default function Page() {
  return (
    <Hero68
      badge={{ label: "Infrastructure", variant: "outline" }}
      heading="Ship infrastructure that scales itself"
      description="Provision, deploy, and monitor from a single dashboard built for growing teams."
      buttons={[{ label: "Start Building", href: "/signup" }]}
      features={[
        { icon: "zap", title: "Lightning Fast", description: "Global edge deploys in seconds" },
        { icon: "lock", title: "Secure by Default", description: "Zero-config encryption and audits" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }–Badge above the heading
headingstring–Main headline
descriptionstring–Supporting paragraph
buttonsButtonItem[][]CTA buttons below the description
featuresFeatureCard[][]Icon cards row below the CTA buttons
classNamestring–Extra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost";
};

type FeatureCard = {
  icon: "layers" | "lock" | "zap";
  title: string;
  description: string;
};

Behavior notes

  • icon is a closed three-value enum mapped to Lucide icons through an internal iconMap (layers, lock, zap). There is no fallback icon, so any other string would resolve to undefined and fail to render.
  • Feature cards use a flex-wrap row capped at max-w-3xl rather than a CSS grid, so with the demo's 3 items they sit on one line at md and stack on mobile; extra items simply wrap onto additional rows.
  • Only the first button (index 0) gets an ArrowRight icon.
  • The heading scales up to lg:text-6xl, one step larger than the md:text-5xl cap used in most other heroes in this registry.

More Hero blocks

View all Hero
FREE

hero7

Centered Hero with Media

FREE

hero36

Centered Hero with Logo Cloud

PRO

hero122

Typographic Card Hero