# Empty The empty state for a list, a search or a page: media, a title, a line and what to do next. ```ehtml Example import { Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent, } from "@elements/ui/empty"; import { Icon } from "@elements/ui/icon"; import { Button } from "@elements/ui/button"; ``` ## Parts | Part | What it is | |---|---| | `EmptyHeader` | .empty-header: media, title, description. | | `EmptyMedia` | .empty-media: an icon tile, an avatar, an image. | | `EmptyTitle` | .empty-title, role=heading. | | `EmptyDescription` | .empty-description, soft ink with underlined links. | | `EmptyContent` | .empty-content: actions or a search field. | | `.empty-actions` | A centered row of buttons. | ## Attributes ### Empty | Attribute | Type | Default | Description | |---|---|---|---| | `title` | `string` | `""` | Renders a header with a title. | | `description` | `string` | `""` | Renders a description in that header. | | `variant` | `"default" \| "outline" \| "muted"` | `"default"` | outline is a dashed rule, muted a soft fill. | | `level` | `1 \| 2 \| 3 \| 4 \| 5 \| 6` | `2` | Heading level of the title. | | `class` | `string` | `""` | Extra classes. | | `attrs` | `Record` | `{}` | Other attributes for the root. | ### EmptyMedia | Attribute | Type | Default | Description | |---|---|---|---| | `variant` | `"default" \| "icon"` | `"default"` | icon puts the icon on a muted tile. | ### EmptyTitle | Attribute | Type | Default | Description | |---|---|---|---| | `level` | `1 \| 2 \| 3 \| 4 \| 5 \| 6` | `2` | aria-level. | ### every part | Attribute | Type | Default | Description | |---|---|---|---| | `class` | `string` | `""` | Extra classes. | ## Slots | Slot | Part | Content | |---|---|---| | `icon` | `Empty` | The icon for the header the title shortcut renders. | | `default` | `Empty` | Parts, or anything. | | `default` | `each part` | The part's content. | ## Data attributes | Attribute | Values | On | |---|---|---| | `data-variant` | `"default" \| "outline" \| "muted"` | root | | `data-variant` | `"default" \| "icon"` | EmptyMedia | ## Accessibility - The title is role="heading" (level 2 by default), so an empty page keeps its outline. - No live region of its own: when it replaces search results, announce the result count from the search. ## See also - [Icon](icon): An inline stroke icon from the set the templates draw their own controls with, sized in pixels and colored by the text around it. - [Button](button): A button or a link that looks like one, in six variants and four sizes. - [Badge](badge): A small label for a status, a count or a category, built on the pill. - [Card](card): A surface with a header, body and footer, built on the base card styles. - [Alert](alert): A callout that draws attention to a message, with an icon, a title and an action. - [Kbd](kbd): A keyboard key or shortcut, as text.