# Attachment button group with download action

> Attachment button group with download action

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

- Page, with a live preview: https://shadcn.exchange/r/reui/c-button-group-56
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/reui/c-button-group-56-light-f01a02a07c5d4ec6.png
- Registry item: https://reui.io/r/new-york-v4/c-button-group-56.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-button-group-56.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: `button`, `button-group`

## Files

### `c-button-group-56.tsx`

```tsx
import { Button } from "@/components/ui/button"
import { ButtonGroup } from "@/components/ui/button-group"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"

const attachment = {
  name: "Q4-Product-Roadmap.pdf",
  size: "2.4 MB",
}

export function Pattern() {
  return (
    <ButtonGroup>
      <Button variant="outline" size="xs">
        <IconPlaceholder
          lucide="PaperclipIcon"
          tabler="IconPaperclip"
          hugeicons="Attachment02Icon"
          phosphor="PaperclipIcon"
          remixicon="RiAttachment2"
          aria-hidden="true"
        />
        {attachment.name}
        <span className="opacity-60">({attachment.size})</span>
      </Button>
      <Button variant="outline" size="icon-xs" aria-label="Download attachment">
        <IconPlaceholder
          lucide="DownloadIcon"
          tabler="IconDownload"
          hugeicons="Download01Icon"
          phosphor="DownloadSimpleIcon"
          remixicon="RiDownload2Line"
          aria-hidden="true"
        />
      </Button>
    </ButtonGroup>
  )
}
```
