BluKavantUI Design system
PATTERNS

Loading & feedback

Reserve space, explain progress, and make the next action clear.

A REAL-WORLD SCENARIO

Open a workspace that explains what is happening.

Use for records, dashboards and detail views that load asynchronously. Distinguish a request in progress from an empty result or an operation that failed.

  1. 01Reserve the expected space.
  2. 02Explain the current state.
  3. 03Offer the next useful action.
STATE REFERENCE

Design beyond the happy path.

Select a state to see what the interface should communicate. These are illustrative snapshots; try the live component below.

EXAMPLE WORKSPACELoading

Loading requests…

The request region is busy.

Wait for the result
DESIGN INTENT

Loading

Use shapes that resemble the expected content. Mark the region busy and keep loading placeholders out of the reading order.

Try the working example ↓

WORKING EXAMPLE

Loading & feedback

Component reference →

Choose Show content to replace the skeleton with the loaded workspace. Choose Show skeleton to return to the loading state. The state reference above also shows empty and failed outcomes.

DESIGN DECISIONS

Make the important choices explicit.

Skeleton or progress

Use a skeleton for a known content layout. Use meaningful progress for a measurable operation.

Local or global feedback

Keep a field error near the field and a loading state near its region. Use a notification for a result that needs broader attention.

Repeated announcements

Announce meaningful state changes. Avoid announcing every placeholder or each animation cycle.

CONNECT YOUR APPLICATION

Keep the behavior. Bring your data.

The examples demonstrate interaction using sample data. Your application owns the real records, permissions and persistence.

01Request state
Track loading, ready, empty and failed as distinct states.
02Stale responses
Ignore an older response when a newer request has superseded it.
03Recovery
Offer a retry that preserves the person’s filters and input.
All patterns →

Search BluKavantUI