# Family glyphs

> One glyph per family, drawn on one grid, for family types and the glyph option.

A shadcn/ui block from the [@reui](https://reui.io) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/reui/c-file-type-4).

- Page, with a live preview: https://shadcn.exchange/r/reui/c-file-type-4
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/reui/c-file-type-4-light-5d4797464d6b7897.png
- Registry item: https://reui.io/r/new-york-v4/c-file-type-4.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://reui.io/r/new-york-v4/c-file-type-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

- Registry items: `@reui/file-type`

## Files

### `c-file-type-4.tsx`

```tsx
import {
  FILE_TYPE_CATEGORIES,
  FileType,
} from "@/components/reui/file-type"

// The blank page goes last: it stands for a file with no type, so it closes
// the set instead of sitting between two families.
const families = [
  ...FILE_TYPE_CATEGORIES.filter((family) => family !== "empty"),
  "empty",
] as const

export function Pattern() {
  // Cells fit "Presentation" in a monospace font. The width cap holds a row
  // to 5, so with room the 13 families wrap as 5, 5 and a centered 3.
  return (
    <ul className="mx-auto flex max-w-lg flex-wrap justify-center gap-x-1 gap-y-5">
      {families.map((family) => (
        <li key={family} className="flex w-22 flex-col items-center gap-2">
          {/* The caption names the family, so the icon would read twice. */}
          <FileType type={family} aria-hidden="true" />
          <span className="text-muted-foreground text-xs capitalize">
            {family}
          </span>
        </li>
      ))}
    </ul>
  )
}
```
