View fulldotdev/ui on GitHub

Empty

Displays an empty state placeholder with optional media, title, and description.

Installation

npx shadcn@latest add @fulldev/empty

Usage

import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from "@/components/ui/empty"
---
import InboxIcon from "@lucide/astro/icons/inbox"

import { Button } from "@/components/ui/button"
---

<Empty>
  <EmptyHeader>
    <EmptyMedia variant="icon">
      <InboxIcon />
    </EmptyMedia>
    <EmptyTitle>No data</EmptyTitle>
    <EmptyDescription>No data found</EmptyDescription>
  </EmptyHeader>
  <EmptyContent>
    <Button>Add data</Button>
  </EmptyContent>
</Empty>

Composition

Empty
├── EmptyHeader
│   ├── EmptyMedia
│   ├── EmptyTitle
│   └── EmptyDescription
└── EmptyContent

Outline

Use the border utility class to create an outline empty state.

Background

Use the bg-* and bg-gradient-* utilities to add a background.

Avatar

Put an Avatar in EmptyMedia.

Avatar Group

Put a group of avatars in EmptyMedia.

InputGroup

Put an InputGroup in EmptyContent.

RTL

API Reference

Source: src/components/ui/empty

ComponentData SlotProps
Emptyemptyclass
EmptyHeaderempty-headerclass
EmptyMediaempty-iconvariant: "default" | "icon" ("default")
EmptyTitleempty-titleclass
EmptyDescriptionempty-descriptionclass
EmptyContentempty-contentclass