Tones
The link ink, then the neutral ink.
import { Stack } from '@usefragments/ui';
<Stack direction="row" gap="md" align="center" wrap>
<Link href="#" tone="accent">Accent</Link>
<Link href="#" tone="neutral">Neutral</Link>
</Stack>Navigates somewhere else, inline or in chrome, with real link semantics.
<Link href="#">Learn more about our services</Link>pnpm add @usefragments/uiImport styles once from @usefragments/ui/styles. See the installation guide for framework and theme setup.
The link ink, then the neutral ink.
import { Stack } from '@usefragments/ui';
<Stack direction="row" gap="md" align="center" wrap>
<Link href="#" tone="accent">Accent</Link>
<Link href="#" tone="neutral">Neutral</Link>
</Stack>Sets target and rel; you still supply the visible cue.
<Link href="https://example.com" external>
View documentation ↗
</Link>Moves the look onto a router link.
import RouterLink from "next/link";
<Link render={<RouterLink href="/pricing" />}>Client-side navigation</Link>Prop | Type | Default | Description |
|---|---|---|---|
childrenRequired | React.ReactNode | Not set | Link text content |
external | boolean | undefined | false | Opens in new tab with noopener noreferrer |
render | useRender.RenderProp<Record<string, unknown>> | undefined | Not set | Replaces the rendered element (a router link); the look and props move onto it |
tone | LinkTone | undefinedneutralaccent | accent | Colour. accent is the link ink; neutral reads in ink 1 and keeps it on hover |
className | string | undefined | Not set | Additional class name |
style | CSSProperties | undefined | Not set | Inline styles |
target | HTMLAttributeAnchorTarget | undefined | Not set | — |
rel | string | undefined | Not set | — |