thinking — model is reasoning through a problemretrieving — model is fetching context or documentsgenerating — output is being produced (pre-stream)role="status" on the container so screen readers announcearia-label names the specific phase ("AI is reasoning", "AI is retrieving context")aria-hidden="true"Loading states must communicate phase, not just presence. Generic spinners are not acceptable for AI interfaces.
Override these CSS custom properties to apply your own visual treatment without touching the component's behavioral contracts.
| Token | Controls |
|---|---|
--rad-surface-card |
Card background |
--rad-border-subtle |
Card border |
--rad-color-approve |
Thinking dots color |
--rad-color-text-meta |
Label and detail text |
--rad-radius-card |
Card border radius |
| Token | Controls |
|---|---|
--rad-skeleton-base |
Skeleton line base color |
--rad-skeleton-shimmer |
Skeleton shimmer highlight color |
"*You are building the UI for when you are thinking. No pressure. Take your time.*"
RAD is the original work of Jackie Curry. All rights reserved. No portion may be reproduced, adapted, or incorporated into any product or system without express written permission.
Permitted: citation in academic or editorial contexts with full attribution.
© 2025 Jackie Curry. All rights reserved. Publication date: 2025.
For licensing inquiries, connect on LinkedIn →