Caption
Small, quiet metadata: timestamps, counts, and hints that support what’s around them.
Q3 planning notes
Edited 2 minutes ago · 3 comments
Lowercase letters, numbers, and dashes.
One role, always muted
caption is 12px regular, and it almost always pairs with muted-foreground. That keeps metadata readable but a step behind the content it describes.
Updated a moment ago
Support, don’t carry
If someone has to read it to avoid a mistake, it isn’t a caption. Errors, warnings, and anything that changes what people do next need body text and the matching role color.
Do
This card was declined.
The error uses body-sm in the destructive role, where it can’t be missed.
Don’t
This card was declined.
A muted caption makes the most important message on screen the easiest to skip.
Build it
Set the role with muted-foreground:
type-roles.tsx
1<p className="caption text-muted-foreground">Updated a moment ago</p>