Docs draft
Link
Component storyFigma component set ↗React component ↗DSDS entity ↗
When to use it
buttonVariants
inline — Inline links sit in body copy and underline at rest — color alone cannot mark them against reading text, since the rest color IS the reading color. Standalone links (nav rows, See all) skip the resting underline, as the old system did.
States
rest — At rest with no interaction.
hover — Pointer is over the control.
pressed — Actively pressed by pointer or key.
focused — Holds keyboard focus and shows the focus ring.
disabled — Not interactive; rendered with the lifted disabled tokens so it stays perceivable.
Guidelines
API
| Prop | Type | Description |
|---|---|---|
inline | boolean | Renders the underline at rest, for links inside body copy. |
...rest | AnchorHTMLAttributes | Forwarded to the native anchor; href is expected. |
Design specifications
| color-rest | color.text.link |
| color-hover | color.text.link-hover |
| color-pressed | color.text.link-active |
| color-disabled | color.text.disabled |
| typography | inherited; Figma set shows type.body and type.body-sm |
Accessibility
Enter — Follows the link.
Tab — Moves focus; focus-visible draws the 2px text.primary ring and underlines.
color.text.link on color.bg.primary — Contracted at ≥ 4.5:1 by the build gate.
color.text.link-hover on color.bg.primary — Contracted at ≥ 4.5:1 by the build gate.
color.text.link-active on color.bg.primary — Contracted at ≥ 4.5:1 by the build gate.
Renders a real anchor; navigation semantics come free. Never a div or button with a router push.