PUI.Empty keeps the message, icon, and next action in host-owned slots while
providing a consistent accessible structure.
Empty Projects
No projects found
Try a different search or create your first project.
heex
<.empty id="empty-projects">
<:icon><PUI.Icon.icon name={:search} class="size-6" /></:icon>
<:title>No projects found</:title>
<:description>Try a different search or create your first project.</:description>
<:actions><.button>Create project</.button></:actions>
</.empty>
Empty Notifications
No new notifications
You are all caught up.
heex
<.empty id="empty-notifications" class="py-6">
<:title>No new notifications</:title>
<:description>You are all caught up.</:description>
</.empty>
Pass a class to each part when the host design system owns the presentation.