Skip to main content

Empty State

Cards shown when a list has no data — on first use before anything is created, after a search returns no results, or when a filtered view is empty.

When to use this recipe​

Every data list page and table needs at least one empty state. Replace the default "No results" text with one of these patterns to guide users toward the next action.

Components used​

Card · Button · Badge

Preview · Empty States

Code​

<!-- First-use empty state -->
<div class="card" style="padding:2.5rem;text-align:center;max-width:320px">
<h3>No tenants yet</h3>
<p style="color:var(--muted-foreground)">
Create your first tenant to get started with the platform.
</p>
<button class="small" style="width:100%">+ Create tenant</button>
</div>

<!-- No search results -->
<div class="card" style="padding:2.5rem;text-align:center;max-width:320px">
<h3>No results found</h3>
<p style="color:var(--muted-foreground)">
No tenants match "acme xyz". Try a different search term.
</p>
<button class="outline small" style="width:100%">Clear search</button>
</div>

<!-- No filter results -->
<div class="card" style="padding:2.5rem;text-align:center;max-width:320px">
<h3>No suspended tenants</h3>
<p style="color:var(--muted-foreground)">
There are no tenants matching the current filters.
</p>
<button class="outline small" style="width:100%">Clear filters</button>
</div>