Strongtie Design System
Getting StartedComponents

Search documentation

Search for a command to run or a page to navigate to.

Getting Started
  • Introduction
  • Setup Guide
  • Package Installation
  • Styles Only (CSS)
  • Code Quality Setup
  • Resources
Guides
  • Framework Recommendations
  • Design Standards
  • Design Standards Examples
AI-Assisted Development
  • AI Agent Guide
  • AI Agent Skills
  • AGENTS.md Template
Registry
  • Getting Started
  • Combobox
  • Datepicker
  • MultiSelect
  • Tab Nav
  • Tree
Foundations
  • States
  • Variables
Migrations
  • Migration Guide
  • CDN Migration Guide
  • Telerik Migration
Governance
  • Governance Model
  • Contribution Model
Components
  • Accordion
  • Alert
  • Alert Dialog
  • Avatar
  • Badge
  • Breadcrumb
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Command
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Empty
  • Field
  • Form
  • Hover Card
  • Input
  • Input Group
  • Input Otp
  • Item
  • Kbd
  • Label
  • Menubar
  • Multi Select
  • Navigation Menu
  • Pagination
  • Popover
  • Progress
  • Radio Group
  • Resizable
  • Scroll Area
  • Select
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Sonner
  • Spinner
  • Switch
  • Tab Nav
  • Table
  • Tabs
  • Textarea
  • Toaster
  • Toggle
  • Toggle Group
  • Tooltip
  • Tree
2026 Simpson Strong-Tie
  1. Docs
  2. Components
  3. Empty

Empty

PreviousNext

Empty is a component for displaying empty states when there's no content to show.

Empty states communicate to users when a view, list, search result, or content area has no data to display. This component provides a structured way to present empty states with icons, titles, descriptions, and call-to-action elements through composable subcomponents.

Use empty states to guide users toward productive actions, explain why content is missing, or provide encouragement when getting started with a feature. Effective empty states reduce confusion and improve user experience by turning moments of absence into opportunities for engagement.

Example

No results found
We couldn't find any items matching your criteria. Try adjusting your filters or search terms.
"use client"

import { Button } from "@strongtie/design-system/button"
import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from "@strongtie/design-system/empty"
import { FileQuestion } from "lucide-react"

export function EmptyDefault() {
  return (
    <Empty>
      <EmptyHeader>
        <EmptyMedia variant="icon">
          <FileQuestion />
        </EmptyMedia>
        <EmptyTitle>No results found</EmptyTitle>
        <EmptyDescription>
          We couldn't find any items matching your criteria. Try adjusting your
          filters or search terms.
        </EmptyDescription>
      </EmptyHeader>
      <EmptyContent>
        <Button>Clear filters</Button>
      </EmptyContent>
    </Empty>
  )
}

Installation

npm install @strongtie/design-system
import { Empty } from "@strongtie/design-system/empty"

Components

This module exports the following components:

  • Empty
  • EmptyHeader
  • EmptyTitle
  • EmptyDescription
  • EmptyContent
  • EmptyMedia

Props

<EmptyMedia>

PropTypeDefaultDescription
variant"default" | "icon" | nulldefault

Example

No results found
We couldn't find any items matching your criteria. Try adjusting your filters or search terms.
"use client"

import { Button } from "@strongtie/design-system/button"
import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from "@strongtie/design-system/empty"
import { FileQuestion } from "lucide-react"

export function EmptyDefault() {
  return (
    <Empty>
      <EmptyHeader>
        <EmptyMedia variant="icon">
          <FileQuestion />
        </EmptyMedia>
        <EmptyTitle>No results found</EmptyTitle>
        <EmptyDescription>
          We couldn't find any items matching your criteria. Try adjusting your
          filters or search terms.
        </EmptyDescription>
      </EmptyHeader>
      <EmptyContent>
        <Button>Clear filters</Button>
      </EmptyContent>
    </Empty>
  )
}

Styling

Components can be styled using the className prop. The design system uses Tailwind CSS for styling.

Classes

CSS classes used by this component:

  • empty

Accessibility

Ensure proper accessibility attributes are added when implementing this component.

Dropdown MenuField

On This Page

ExampleInstallationComponentsProps<EmptyMedia>ExampleStylingClassesAccessibility

Contribute

  • Report an issue
  • Request a feature
  • Edit this page