# Empty State Panel

https://fieldbook.lizardi.mx/components/blank-slate-card

Category: Feedback
![Still of the Empty State Panel component, a Fieldbook UI component in Feedback.](https://fieldbook.lizardi.mx/thumbs/blank-slate-card.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/blank-slate-card-592bd20670.mp4 (5 s, silent)

Empty State Panel: A centered placeholder shown in place of an empty list, with a title, description and one or two starting actions.

## Frameworks

react, vue, svelte, astro, html

## Preview controls

These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.

| Name | Type | Default | Options or constraints |
| --- | --- | --- | --- |
| title | text | No Projects Yet | Up to 40 characters |
| description | text | You have not created any projects yet. | Up to 100 characters |
| accentColor | color | #38BDF8 | No additional limit in the metadata. |
| showSecondaryAction | boolean | true | No additional limit in the metadata. |

## Usage notes

Empty State Panel uses the card preview frame with a light/dark theme setting.

### Which frameworks are available for Empty State Panel?

Empty State Panel is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.

### What does Empty State Panel depend on?

The React metadata lists these npm dependencies beyond React: motion.

### What accessibility details are visible in Empty State Panel?

The React source for Empty State Panel includes: native elements (button); attributes and handlers (aria-describedby, aria-hidden, aria-labelledby); explicit roles (group). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

### How does Empty State Panel handle reduced motion?

Empty State Panel reads the motion preference in its React source through useReducedMotion(). Preference-dependent expressions in index.tsx: reduced ? false : \{ opacity: 0, scale: 0.8, y: -6 \}; reduced ? \{ opacity: 1, scale: 1, y: 0 \} : \{ opacity: 1, scale: \[1, 1.045, 1\], y: 0 \}. Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.

## Install through MCP

Connect your client, call get_component to retrieve the implementation, then get_install_command for installation instructions. Choose a listed framework, integrate the returned source and verify it in your application.

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "blank-slate-card",
    "framework": "react"
  }
}
```

[For agents](https://fieldbook.lizardi.mx/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## Related open components

- [Content Loading Card](https://fieldbook.lizardi.mx/components/content-loading-card)
- [Empty State Panel](https://fieldbook.lizardi.mx/components/empty-state-panel)
- [Click ripple burst](https://fieldbook.lizardi.mx/components/click-ripple-burst)
- [Count badge cluster](https://fieldbook.lizardi.mx/components/count-badge-cluster)
- [Curtain line loader](https://fieldbook.lizardi.mx/components/curtain-line-loader)
- [Fill progress loading text](https://fieldbook.lizardi.mx/components/fill-progress-loading-text)
