Message only
Minimal empty copy.
Nothing here yet.
Placeholder when a list or panel has no items — message, optional detail, and CTA.
Live
No applications yet.
Add a job listing to get started.
<div class="empty-state">
<p>No applications yet.</p>
<p class="empty-detail">Add a job listing to get started.</p>
<div class="empty-state__action">
<button type="button" class="btn btn-primary btn-compact">Add job</button>
</div>
</div>
import { EmptyState, Button } from 'caustica-design/core'
import 'caustica-design/css'
<EmptyState
detail="Add a job listing to get started."
action={<Button variant="primary" compact icon="plus">Add job</Button>}
>
No applications yet.
</EmptyState>
Minimal empty copy.
Nothing here yet.
Secondary line via .empty-detail.
No results.
Try clearing filters.
CTA wrapped in .empty-state__action.
Inbox empty.
aria-hidden.| Class | Description |
|---|---|
.empty-state |
Empty container. |
.empty-detail |
Secondary detail paragraph. |
.empty-state__action |
CTA wrapper. |
From src/core/EmptyState.tsx — extends HTMLAttributes<HTMLDivElement>.
| Prop | Type | Default | Description |
|---|---|---|---|
children |
ReactNode |
— | Primary message (string wraps in <p>). |
detail |
ReactNode |
— | Secondary line (.empty-detail). |
action |
ReactNode |
— | CTA slot (.empty-state__action). |