Skip to main content
v0.1 dev

Component 36 · Feedback

Empty state

Explain why content is absent and offer a next action.

implementedPhase 3stable

Overview

Explain why content is absent and offer a next action. It converts domain state into an understandable, traceable and accessible interface contract.

When to use

Use HE/Empty state when you need to explain why content is absent and offer a next action. Keep its role distinct from transport freshness, animal-health severity and model confidence.

Example

Atlantic · interactive specimen

No devices yet

Add the first edge device to this farm.

<div class="he-empty-state"><div class="he-empty-state__icon">◇</div><h3>No devices yet</h3><p>Add the first edge device to this farm.</p><button class="he-button">Add device</button></div>

Anatomy

1Identity
2Primary value
3State
4Evidence or action

Anatomy stays identical in Pasture and Atlantic. A responsive layout may wrap or stack parts, but reading order and focus order remain equivalent.

Variants and states

Variants

firstUsenoResultsfilterederrorpermission

States

defaultofflineerror

Accessibility

Use a real heading, concise explanation, and no more than one primary action.

  • Maintain a visible keyboard focus indicator and a logical focus sequence.
  • Never rely on colour alone for operational, freshness or severity state.
  • Keep touch targets at least 44 × 44 px unless the target is an inline text link.

Cross-platform contract

SurfaceCanonical nameStatus
FigmaHE/Empty statestable
Web.he-empty-stateimplemented
FlutterHeEmptyStateimplemented
Token rootcomponent.emptystategenerated