Copy to clipboard
No messages
Your inbox is empty. New messages will appear here.
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Inbox />
</EmptyMedia>
<EmptyTitle>No messages</EmptyTitle>
<EmptyDescription>
Your inbox is empty. New messages will appear here.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Compose message</Button>
</EmptyContent>
</Empty>
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Inbox />
</EmptyMedia>
<EmptyTitle>No messages</EmptyTitle>
<EmptyDescription>
Your inbox is empty. New messages will appear here.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Compose message</Button>
</EmptyContent>
</Empty> <Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Inbox />
</EmptyMedia>
<EmptyTitle>No messages</EmptyTitle>
<EmptyDescription>
Your inbox is empty. New messages will appear here.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Compose message</Button>
</EmptyContent>
</Empty>
Installation
Copy to clipboard
npx bearnie add empty
npx bearnie add empty npx bearnie add empty
bunx bearnie add empty
bunx bearnie add empty bunx bearnie add empty
pnpm dlx bearnie add empty
pnpm dlx bearnie add empty pnpm dlx bearnie add empty
yarn dlx bearnie add empty
yarn dlx bearnie add empty yarn dlx bearnie add empty
Usage
import {
Empty,
EmptyContent,
EmptyDescription,
EmptyHeader,
EmptyMedia,
EmptyTitle,
} from "@/components/bearnie/empty"<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Icon />
</EmptyMedia>
<EmptyTitle>No data</EmptyTitle>
<EmptyDescription>No data found</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Add data</Button>
</EmptyContent>
</Empty> Examples
With icon
Copy to clipboard
No projects
Get started by creating your first project.
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<FolderOpen />
</EmptyMedia>
<EmptyTitle>No projects</EmptyTitle>
<EmptyDescription>
Get started by creating your first project.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">
<Plus />
New project
</Button>
</EmptyContent>
</Empty>
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<FolderOpen />
</EmptyMedia>
<EmptyTitle>No projects</EmptyTitle>
<EmptyDescription>
Get started by creating your first project.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">
<Plus />
New project
</Button>
</EmptyContent>
</Empty> <Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<FolderOpen />
</EmptyMedia>
<EmptyTitle>No projects</EmptyTitle>
<EmptyDescription>
Get started by creating your first project.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">
<Plus />
New project
</Button>
</EmptyContent>
</Empty>
With avatar
Copy to clipboard
User offline
This user is currently offline.
<Empty>
<EmptyHeader>
<EmptyMedia>
<Avatar class="size-12">
<AvatarImage src="/images/avatars/mike.png" alt="User" />
<AvatarFallback>JD</AvatarFallback>
</Avatar>
</EmptyMedia>
<EmptyTitle>User offline</EmptyTitle>
<EmptyDescription>
This user is currently offline.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Send message</Button>
</EmptyContent>
</Empty>
<Empty>
<EmptyHeader>
<EmptyMedia>
<Avatar class="size-12">
<AvatarImage src="/images/avatars/mike.png" alt="User" />
<AvatarFallback>JD</AvatarFallback>
</Avatar>
</EmptyMedia>
<EmptyTitle>User offline</EmptyTitle>
<EmptyDescription>
This user is currently offline.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Send message</Button>
</EmptyContent>
</Empty> <Empty>
<EmptyHeader>
<EmptyMedia>
<Avatar class="size-12">
<AvatarImage src="/images/avatars/mike.png" alt="User" />
<AvatarFallback>JD</AvatarFallback>
</Avatar>
</EmptyMedia>
<EmptyTitle>User offline</EmptyTitle>
<EmptyDescription>
This user is currently offline.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Send message</Button>
</EmptyContent>
</Empty>
Multiple actions
Copy to clipboard
No files
Upload files to get started.
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Upload />
</EmptyMedia>
<EmptyTitle>No files</EmptyTitle>
<EmptyDescription>
Upload files to get started.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Upload</Button>
<Button size="sm" variant="outline">Import</Button>
</EmptyContent>
</Empty>
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Upload />
</EmptyMedia>
<EmptyTitle>No files</EmptyTitle>
<EmptyDescription>
Upload files to get started.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Upload</Button>
<Button size="sm" variant="outline">Import</Button>
</EmptyContent>
</Empty> <Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Upload />
</EmptyMedia>
<EmptyTitle>No files</EmptyTitle>
<EmptyDescription>
Upload files to get started.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button size="sm">Upload</Button>
<Button size="sm" variant="outline">Import</Button>
</EmptyContent>
</Empty>
Minimal
Copy to clipboard
No team members
Invite your team to collaborate.
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Users />
</EmptyMedia>
<EmptyTitle>No team members</EmptyTitle>
<EmptyDescription>
Invite your team to collaborate.
</EmptyDescription>
</EmptyHeader>
</Empty>
<Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Users />
</EmptyMedia>
<EmptyTitle>No team members</EmptyTitle>
<EmptyDescription>
Invite your team to collaborate.
</EmptyDescription>
</EmptyHeader>
</Empty> <Empty>
<EmptyHeader>
<EmptyMedia variant="icon">
<Users />
</EmptyMedia>
<EmptyTitle>No team members</EmptyTitle>
<EmptyDescription>
Invite your team to collaborate.
</EmptyDescription>
</EmptyHeader>
</Empty>
Anatomy
Empty- Main container with centered flex layoutEmptyHeader- Groups the media, title, and descriptionEmptyMedia- Wrapper for icon, avatar, or imageEmptyTitle- Heading textEmptyDescription- Supporting description textEmptyContent- Action area for buttons or inputs
Props
Empty
| Prop | Type | Default | Description |
|---|---|---|---|
| class | string | - | Additional CSS classes |
EmptyMedia
| Prop | Type | Default | Description |
|---|---|---|---|
| variant | ”default” | “icon" | "default” | Use “icon” for circular background styling |
| class | string | - | Additional CSS classes |
EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent
| Prop | Type | Default | Description |
|---|---|---|---|
| class | string | - | Additional CSS classes |