# Empty State 02

> A simple empty state block

A shadcn/ui block from the [@shadcnui-blocks](https://shadcnui-blocks.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/shadcnui-blocks/empty-state-02).

- Page, with a live preview: https://shadcn.exchange/r/shadcnui-blocks/empty-state-02
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/shadcnui-blocks/empty-state-02-light-736420ab572bd36a.png
- Registry item: https://shadcnui-blocks.com/r/empty-state-02.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://shadcnui-blocks.com/r/empty-state-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: `lucide-react`
- Registry items: `table`, `button`

## Files

### `src/registry/blocks/radix/empty-state-02/components/empty-state.tsx`

```tsx
import { ImportIcon, PlusIcon, Receipt } from "lucide-react";
import { Button } from "@/registry/bases/radix/ui/button";
import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from "@/registry/bases/radix/ui/empty";
import {
  Table,
  TableBody,
  TableCell,
  TableHead,
  TableHeader,
  TableRow,
} from "@/registry/bases/radix/ui/table";
import { cn } from "@/lib/utils";

export default function EmptyState() {
  return (
    <div className="px-6 py-10">
      <div
        className={cn(
          "mx-auto max-w-2xl rounded-xl border bg-muted/50 p-1.5",
          "not-dark:*:data-[slot=table-container]:shadow/3 dark:*:data-[slot=table-container]:shadow/50 *:data-[slot=table-container]:rounded-lg *:data-[slot=table-container]:border *:data-[slot=table-container]:bg-background dark:*:data-[slot=table-container]:border-foreground/12"
        )}
      >
        <Table>
          <TableHeader>
            <TableRow className="bg-muted/50 *:px-3 sm:*:px-4">
              <TableHead className="w-[100px]">Invoice</TableHead>
              <TableHead>Status</TableHead>
              <TableHead>Method</TableHead>
              <TableHead className="text-right">Amount</TableHead>
            </TableRow>
          </TableHeader>
          <TableBody>
            <TableRow className="rounded-b-lg">
              <TableCell className="font-medium" colSpan={4}>
                <Empty>
                  <EmptyHeader>
                    <EmptyMedia variant="icon">
                      <Receipt />
                    </EmptyMedia>
                    <EmptyTitle>No Invoices Yet</EmptyTitle>
                    <EmptyDescription>
                      You haven&apos;t created any invoices yet. Get started by
                      creating your first invoice.
                    </EmptyDescription>
                  </EmptyHeader>
                  <EmptyContent>
                    <div className="flex flex-wrap gap-2 *:mx-auto">
                      <Button>
                        <PlusIcon /> Create Invoice
                      </Button>
                      <Button variant="outline">
                        <ImportIcon /> Import Invoice
                      </Button>
                    </div>
                  </EmptyContent>
                </Empty>
              </TableCell>
            </TableRow>
          </TableBody>
        </Table>
      </div>
    </div>
  );
}
```
