About
Flexible hero section with badge, headline, subheadline, primary/secondary CTAs, and an optional media slot. Supports center or left alignment. Styled with Tailwind and shadcn tokens.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Hero Section to your project and fits it to your theme.
Code
How Hero Section is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import HeroSection from "@/components/ui/hero-section"
const MockDashboard = () => (
<div className="grid h-64 grid-cols-3 gap-px bg-border md:h-80">
<div className="col-span-1 flex flex-col gap-px bg-muted/20 p-4">
<div className="mb-3 h-3 w-24 rounded bg-muted" />
{Array.from({ length: 6 }).map((_, i) => (
<div key={i} className="flex items-center gap-2 rounded-md p-2 hover:bg-muted/40">
<div className="h-3 w-3 rounded-full bg-primary/30" />
<div className="h-2 flex-1 rounded bg-muted" />
</div>
))}
</div>
<div className="col-span-2 bg-background p-4">
<div className="mb-4 flex items-center justify-between">
<div className="h-4 w-32 rounded bg-muted" />
<div className="h-7 w-20 rounded-md bg-primary/20" />
</div>
<div className="grid grid-cols-2 gap-3">
{Array.from({ length: 4 }).map((_, i) => (
<div key={i} className="rounded-lg border border-border bg-card p-3 shadow-sm">
<div className="mb-2 h-2 w-16 rounded bg-muted" />
<div className="h-6 w-10 rounded bg-primary/20" />
</div>
))}
</div>
<div className="mt-3 h-20 rounded-lg border border-border bg-card p-3">
<div className="mb-2 h-2 w-24 rounded bg-muted" />
<div className="flex gap-1">
{[40, 65, 50, 80, 60, 90, 70].map((h, i) => (
<div
key={i}
className="flex-1 rounded-sm bg-primary/30"
style={{ height: `${h * 0.5}px` }}
/>
))}
</div>
</div>
</div>
</div>
)
export default function HeroSectionDemo() {
return (
<div className="min-h-screen bg-background">
<HeroSection
badge="New — Property Management 2.0"
headline="Manage your properties without the chaos"
subheadline="One platform for developers, administrators, and residents. Documents, defects, maintenance, and community — all in one place."
primaryCta={{ label: "Get started free", href: "#" }}
secondaryCta={{ label: "See how it works", href: "#" }}
media={<MockDashboard />}
align="center"
/>
</div>
)
}







