Data Display · astro-ui · Empty

Empty

Empty-state placeholder with media/title/description/footer slots.

Empty marks the ‘no data’ moment: an icon or illustration slot, a title, a description, and an action footer. Every part is optional — compose what the state needs.

Features

  • Slot composition: media, title, description, footer
  • 3 sizes
  • Centered, token-themed layout

Usage

---
import { Empty, Button } from "astro-ui";
---

<Empty>
  <span slot="media" aria-hidden="true">⌀</span>
  <span slot="title">No results</span>
  <span slot="description">Try adjusting your filters.</span>
  <Button slot="footer" size="sm" variant="outline">Clear filters</Button>
</Empty>

Demos

Basic

No results
Try adjusting your filters.
<Empty>
  <span slot="media" aria-hidden="true">⌀</span>
  <span slot="title">No results</span>
  <span slot="description">Try adjusting your filters.</span>
  <Button slot="footer" size="sm" variant="outline">Clear filters</Button>
</Empty>

API

Props

PropTypeDefaultDescription
size"sm" | "md" | "lg""md"Spacing/text scale.
ariaLabelstring—Accessible name when context needs one.
classstring—Merged via cn(); Tailwind classes welcome.
idstring—Element id.

Slots

SlotDescription
mediaIcon or illustration above the text.
titleState heading.
descriptionSupporting text.
footerAction row (buttons).

Accessibility

Implemented accessibility features — semantics, ARIA wiring, and keyboard behavior that ship with the component.

  • aria-label support on the empty-state container
  • Decorative media slot is aria-hidden

Changelog

Version history mentioning Empty.

v0.1.0 — 2026-11-11
added
  • Data display (10): Badge, Avatar, Attachment, Table, Progress, Bubble, Chart, Empty, Tag, Timeline.