Skip to content

Empty

Empty

An empty state component for displaying when there’s no data.

Import

import { Empty } from '@primitivekit/react';

Basic Usage

<Empty />

With Description

<Empty description="No data available" />

With Image

<Empty 
  image="/empty-state.svg"
  description="No items found"
/>

With Action

<Empty 
  description="No products found"
  action={
    <Button onClick={() => navigate('/products/new')}>
      Add Product
    </Button>
  }
/>

Custom Content

<Empty>
  <div>
    <h3>No Results</h3>
    <p>Try adjusting your search or filters</p>
    <Button>Clear Filters</Button>
  </div>
</Empty>

Props

PropTypeDefaultDescription
imagestring | ReactNode-Empty state image
descriptionstring | ReactNode'No data'Description text
actionReactNode-Action button or element
childrenReactNode-Custom content
classNamestring-Additional CSS classes

Customization

<Empty
  description="No items"
  style={{
    '--empty-padding': '48px',
    '--empty-color': 'rgba(150, 150, 150, 1)',
    '--empty-font-size': '16px',
  }}
/>

Examples

Search Results

function SearchResults({ results, query }) {
  if (results.length === 0) {
    return (
      <Empty 
        description={`No results found for "${query}"`}
        action={
          <Button onClick={() => clearSearch()}>
            Clear Search
          </Button>
        }
      />
    );
  }

  return <ResultsList results={results} />;
}

Empty Table

<Table
  columns={columns}
  dataSource={[]}
  emptyText={
    <Empty 
      description="No users found"
      action={
        <Button onClick={() => navigate('/users/new')}>
          Add User
        </Button>
      }
    />
  }
/>

Accessibility

  • ✅ Semantic HTML
  • ✅ Proper text alternatives
  • ✅ Screen reader support

Related Components