# Header 6

> Minimal hero block with clean typography

A shadcn/ui block from the [@smoothui](https://smoothui.dev) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/smoothui/header-6).

- Page, with a live preview: https://shadcn.exchange/r/smoothui/header-6
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/smoothui/header-6-light-ae9a5d0dbc896882.png
- Registry item: https://smoothui.dev/r/header-6.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://smoothui.dev/r/header-6.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: `motion`

## Files

### `index.tsx`

```tsx
"use client";

import { cn } from "@/lib/utils";
import { motion, useReducedMotion } from "motion/react";

export function HeroMinimal() {
  const shouldReduceMotion = useReducedMotion();

  return (
    <section aria-labelledby="hero-minimal-heading">
      <div className="flex min-h-[500px] items-center justify-center py-24 md:py-32">
        <motion.div
          className="mx-auto max-w-2xl px-6 text-center"
          initial={shouldReduceMotion ? { opacity: 1 } : { opacity: 0 }}
          transition={
            shouldReduceMotion
              ? { duration: 0 }
              : { duration: 0.4, ease: [0.23, 1, 0.32, 1] }
          }
          viewport={{ once: true }}
          whileInView={shouldReduceMotion ? { opacity: 1 } : { opacity: 1 }}
        >
          <motion.h1
            className="font-bold text-4xl tracking-tight md:text-5xl lg:text-6xl"
            id="hero-minimal-heading"
            initial={
              shouldReduceMotion ? undefined : { letterSpacing: "0.05em" }
            }
            transition={
              shouldReduceMotion
                ? { duration: 0 }
                : { duration: 0.6, ease: [0.23, 1, 0.32, 1] }
            }
            viewport={{ once: true }}
            whileInView={
              shouldReduceMotion ? undefined : { letterSpacing: "0em" }
            }
          >
            Less is more
          </motion.h1>
          <p className="mt-6 text-foreground/60 text-lg">
            Simple, elegant components that speak for themselves.
          </p>
          <a
            className={cn(
              "mt-10 inline-flex items-center gap-1 font-medium text-foreground text-sm underline underline-offset-4 transition-colors hover:text-foreground/70",
              "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
            )}
            href="#"
          >
            Explore components →
          </a>
        </motion.div>
      </div>
    </section>
  );
}

export default HeroMinimal;
```
