Empty State
A useful empty state with an optional next action.
Give your AI assistant this page as context.
Connect your library with MCPNo projects yet
Create your first project to get started.
ui/empty-stateUsage
Get this component from a saved library export or the connected CLI. The imports below refer to local files installed in your app.
Import styles/components.css, then styles/theme.css once. Wrap your app in ThemeScope from components/ui/utils so typography, focus and overlays share the theme. The installation guide covers runtime dependencies and React/Next.js setup.
import { EmptyState } from './components/ui/empty-state';
<EmptyState title="No projects yet" description="Create your first project to get started." action={<Button>Create project</Button>}/>Design system
This component consumes your semantic colors, spacing, typography and shape tokens. Import the compiled styles and your theme once as described in Export.
Dependencies: Button.
Behavior and accessibility
- Provide meaningful labels for interactive controls.
- Connect action callbacks to your application logic.
- Verify keyboard navigation and contrast in your application.
Status: experimental during early access. Sample previews do not send emails, process payments or upload files to a service.
Source and props
This is the exported source, using the same implementation as the editor.
"use client";
import type { ReactNode } from "react";
export function EmptyState({
title,
description,
icon,
action,
}: {
title: string;
description?: string;
icon?: ReactNode;
action?: ReactNode;
}) {
return (
<section className="cr-empty-state">
{icon && (
<div aria-hidden="true" className="cr-empty-icon">
{icon}
</div>
)}
<h3>{title}</h3>
{description && <p className="cr-description">{description}</p>}
{action}
</section>
);
}