<!-- Auto-generated by `velinstyle docs generate`. Do not edit. Source: components/velin-empty-state.js -->

# <velin-empty-state>

Source: `components/velin-empty-state.js`

## Minimal working example
Copy-paste starter (load CSS + `velinstyle-components` / `bootFromDOM` as needed):

```html
<velin-empty-state heading="No items yet" description="Create your first entry."><button slot="actions" class="velin-btn velin-btn--primary">Create</button></velin-empty-state>
```

_Example from design-intelligence knowledge SoT (`core/meta/knowledge/components.json`)._

## Accessibility
WCAG contract status: **pass** (framework target: AAA).

- **Roles:** `status`
- **Notes:** heading/description attributes or slots; actions slot for CTAs.

## Attributes
| Attribute | Notes |
| --- | --- |
| `heading` | Observed — triggers `attributeChangedCallback` when changed |
| `description` | Observed — triggers `attributeChangedCallback` when changed |
## Events
_None._
## CSS parts
- `actions`
- `description`
- `illustration`
- `root`
- `title`
## Slots
- `(default)`
- `actions`
- `description`
- `illustration`
- `title`
## Public API
_No public methods detected._
## Related resources
- Generated API docs (canonical): [`velin-empty-state.md`](./velin-empty-state.md)
- Generated index: [README.md](./README.md)
- CLI API: `npx velinstyle wc api velin-empty-state`
- Atelier library (showcases — **not** a 1:1 Component map): `atelier/library/index.html`
