# Mission Vision Values Columns

> Mission, vision, and values presented as three editorial columns, each with an icon, eyebrow label, heading, and short paragraph.

A shadcn/ui block from the [@7ovr](https://7ovr.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/7ovr/about-4).

- Page, with a live preview: https://shadcn.exchange/r/7ovr/about-4
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/7ovr/about-4-light-996d785b521e90a5.png
- Registry item: https://7ovr.com/r/about-4.json
- Categories: about
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://7ovr.com/r/about-4.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: `@base-ui/react`
- Registry items: `separator`

## Files

### `registry/blocks/about/4/about-block.tsx`

```tsx
import { Separator } from "@/components/ui/separator"
import { IconPlaceholder } from "@/components/icons/icon-placeholder"

type IconProps = { className?: string; size?: number | string }

const columns = [
  {
    icon: (p: IconProps) => (
      <IconPlaceholder
        lucide="Flag"
        tabler="IconFlag2"
        hugeicons="FlagIcon"
        phosphor="Flag"
        remixicon="RiFlag2Line"
        {...p}
      />
    ),
    eyebrow: "Mission",
    heading: "Give every team production-grade UI",
    body: "We exist so that a two-person startup and a thousand-person enterprise can ship the same caliber of interface — without rebuilding the basics every time.",
  },
  {
    icon: (p: IconProps) => (
      <IconPlaceholder
        lucide="Eye"
        tabler="IconEye"
        hugeicons="EyeIcon"
        phosphor="Eye"
        remixicon="RiEyeLine"
        {...p}
      />
    ),
    eyebrow: "Vision",
    heading: "A web where good design is the default",
    body: "We picture a world where accessible, consistent, well-crafted products are the norm, not the exception reserved for teams with a dedicated design system.",
  },
  {
    icon: (p: IconProps) => (
      <IconPlaceholder
        lucide="Compass"
        tabler="IconCompass"
        hugeicons="CompassIcon"
        phosphor="Compass"
        remixicon="RiCompass3Line"
        {...p}
      />
    ),
    eyebrow: "Values",
    heading: "Craft, clarity, and trust",
    body: "We optimize for the long game: code others can maintain, decisions we can explain, and a product our customers can depend on in production.",
  },
]

export default function AboutBlock() {
  return (
    <section className="flex w-full items-center justify-center bg-background px-6 py-20 text-foreground">
      <div className="mx-auto w-full max-w-5xl">
        <div className="mx-auto max-w-xl text-center">
          <span className="inline-block rounded-4xl border border-border px-3 py-1 text-xs font-semibold tracking-widest text-muted-foreground uppercase">
            Who we are
          </span>
          <h2 className="mt-4 font-heading text-3xl font-bold tracking-tight sm:text-4xl">
            What drives the work
          </h2>
        </div>

        <div className="mt-14 grid grid-cols-1 gap-px overflow-hidden rounded-xl border border-border bg-border md:grid-cols-3">
          {columns.map(({ icon: Icon, eyebrow, heading, body }) => (
            <div
              key={eyebrow}
              className="flex flex-col gap-4 bg-background p-8"
            >
              <Icon className="size-7 text-foreground" aria-hidden="true" />
              <div className="flex flex-col gap-2">
                <span className="text-xs font-semibold tracking-widest text-muted-foreground uppercase">
                  {eyebrow}
                </span>
                <h3 className="font-heading text-lg font-bold tracking-tight">
                  {heading}
                </h3>
              </div>
              <Separator />
              <p className="text-sm leading-relaxed text-muted-foreground">
                {body}
              </p>
            </div>
          ))}
        </div>
      </div>
    </section>
  )
}
```
