For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/components/link.md.

Link

The navigation member of the Actions family — a styled <a> that takes the reader somewhere. If activating it changes where you are it is a Link; if it does something in place it is a Button, however text-like it looks. type is semantic, so never hand-colour a link, and the hover underline is automatic. Link text has to describe its destination — “Click here” and “Learn more” read as nothing in a screen reader’s link list.

Source · Storybook

Usage

import { Link } from '@wallarm-org/design-system/Link';

Examples

Types

default, alt and muted. alt is the inverted family for dark surfaces, which is why it barely reads here; the fourth type, table, is the master-cell title link and only belongs there.

Weight

medium where the surrounding copy is heavier, or to lift a standalone link — there is no bold, so medium is as far as it goes.

Sizes

xs to xl, each matched to a text size. An inline link takes the scale of the copy around it rather than being sized on its own.

Icons

Icons are children, not a prop. A trailing icon is the direction cue — the external-link mark for a new tab, an arrow for “explore” — and a new tab still needs target and rel set by hand.

Props

PropTypeDefaultDescription
downloadany
hrefstring | undefined
hrefLangstring | undefined
targetHTMLAttributeAnchorTarget | undefined
typestring | undefineddefault
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
disabled{ true: string; }false
size{ xs: string; sm: string; md: string; lg: string; xl: string; }lg
weight{ regular: string; medium: string; }regular
data-testidstring | undefined
asChildboolean | undefinedfalse