Link

Text navigation with accent color — underline on hover/focus, optional external affordance.

Preview

Variants

External

.ui-link--external with icon and safe rel.

example.com

Accessibility

  • Use a real <a href> for navigation — not a button styled as a link.
  • Link text should describe the destination; avoid “click here” alone.
  • External links open in a new tab with rel="noopener noreferrer"; the icon is decorative (aria-hidden).
  • Focus-visible shows an underline and ring — do not remove without a replacement.
  • For actions that do not navigate, use Button instead of Link.

API

HTML classes

Class Description
.ui-link Base text link.
.ui-link--external External link layout (gap for icon).
.ui-link__icon External-link mask icon sizing.

React props

From src/core/Link.tsx — extends AnchorHTMLAttributes<HTMLAnchorElement>.

Prop Type Default Description
external boolean false Sets target="_blank", merges noopener / noreferrer, and shows the external icon.
href string Destination URL (native).
children ReactNode Link label.
className string Merged onto the anchor.
rel / target native Merged with external defaults when external is true.