Text navigation with semantic colour and optional icons.
Inline navigation in prose, tables, and cards. For primary actions or submits, use Button.
Do
- Write descriptive link text (
View invoice, notClick here). - Set
externalfor off-site URLs. - Use
appearance="ghost"for subtle toolbar links.
Don't
- Style every inline
<a>as a button — reserve Button for actions. - Use
#ashreffor real navigation targets.
<twig:Link href="/docs">Documentation</twig:Link>External-link affordance follows Material link and shadcn patterns.
| Prop | Type | Default | Description |
|---|---|---|---|
href |
string |
# |
Destination |
variant |
string |
primary |
Semantic colour |
appearance |
string |
link |
solid, soft, outline, ghost, link |
external |
bool |
false |
External icon + hints |
icon |
string? |
— | Override default icon |
- Use meaningful link text.
- Set
aria-current="page"on active nav items via native attributes. - External links should announce that they open a new context when applicable.