Back to Components

Screen States

Empty, loading, error, denied and populated: every screen owes all five.

CrystalStates

One switch for the five states. Loading and populated share a ghost, so the list lands in the same place it was drawn.

  • Mademoiselle storefront

    Updated today

  • Ops Center

    Updated today

  • Crystal docs

    Updated today

Retries: 0

CrystalGhost

A ghost loader and the real content share one grid cell and cross-fade. The space is reserved from the first paint, so nothing jumps.

ErrorState and Denied

An error says what went wrong and how to fix it. A denied state says why, who can change it, and what to do next.

Billing is read-only for you
Only account owners can change the plan.
Ask an owner to make the change.

CrystalDevChip

A build or environment marker pinned to a screen corner, outside the layout. Dashed, so it never reads as part of the app.