# Minimal Left-Aligned Hero

> Plain left-aligned hero: a small eyebrow, a large headline, a description and a primary and a ghost button. Theme tokens only, light and dark.

A shadcn/ui block from the [@01orbital](https://01orbital.dev/?utm_source=shadcn.exchange) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/01orbital/minimal-hero-02).

- Page, with a live preview: https://shadcn.exchange/r/01orbital/minimal-hero-02
- Screenshot: https://shadcn.exchange/shot/01orbital/minimal-hero-02/light.png
- Registry item: https://01orbital.dev/r/minimal-hero-02.json
- Categories: hero
- Listed: 2026-11-01, source last changed 2026-11-01

## Install

```bash
npx shadcn@latest add https://shadcn.exchange/r/01orbital/minimal-hero-02.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `cn`
- Registry items: `@01orbital/button`, `@01orbital/hero`

## Files

### `blocks/hero/minimal-hero-02/index.tsx`

```tsx
import { cn } from "cn"

import {
  Hero,
  HeroActions,
  HeroContainer,
  HeroContent,
  HeroDescription,
  HeroHeading,
} from "@/components/editorial/hero"
import { buttonVariants } from "@/components/ui/button"

// The copy: change text here, not in the markup.
const COPY = {
  eyebrow: "Orbcore for teams",
  title: "One place for the plan, the review and the handoff",
  body: "Owners, dates and decisions stay with the work, so the next person always knows what changed and why.",
  primary: { label: "Start free", href: "#" },
  secondary: { label: "Book a demo", href: "#" },
} as const

export default function MinimalHero02() {
  return (
    <Hero>
      <HeroContainer variant="stack" className="py-24">
        <HeroContent className="max-w-3xl">
          <p className="text-sm font-medium text-muted-foreground">
            {COPY.eyebrow}
          </p>
          <HeroHeading>{COPY.title}</HeroHeading>
          <HeroDescription className="text-muted-foreground">
            {COPY.body}
          </HeroDescription>
          <HeroActions>
            <a
              href={COPY.primary.href}
              data-slot="button"
              className={cn(buttonVariants({ size: "lg" }))}
            >
              {COPY.primary.label}
            </a>
            <a
              href={COPY.secondary.href}
              data-slot="button"
              className={cn(buttonVariants({ variant: "ghost", size: "lg" }))}
            >
              {COPY.secondary.label}
            </a>
          </HeroActions>
        </HeroContent>
      </HeroContainer>
    </Hero>
  )
}
```
