Temporary — a placeholder page. Alpha does not publish what it describes, so read it as a sketch rather than a reference.

Patterns / Feedback

Feedback

The surfaces that tell a reader what just happened, or that nothing has: an empty container, a failure, a pending action. Alpha publishes each of them, and this page is about which one a given moment calls for.

On this page

Illustration — not a published component

Pending is the feedback Alpha does ship, in two pieces. Inside a control, loading on a Button: it draws its own ring, sets aria-busy and blocks interaction, so a pending action cannot be double-submitted. Everywhere else — a card mid-fetch, a page mid-boot — Spinner is that ring on its own, at six sizes, announcing itself as a live region.

The banners above are this site's markup, and the pending states are controls. The third case is a region with no content at all, and the package ships two components for it — which one you reach for depends on whether anything went wrong.

No portfolios yet

A portfolio groups the trends you want to track together.

Error while loading portfolios

Something isn't right. Trying again is usually enough.

EmptyState is for an absence that was expected — an empty folder, a finished job, a feature still to come. ErrorView is for a request that did not come back, and it is a module built on the first: an EmptyState with a status-coloured glyph and a retry. Putting a danger-coloured mark on an ordinary empty folder reads as a bug that is not there, which is the whole reason they are two exports.