Menu
Guides
Storefront Development

Storefront Development

Link

Links allow users to easily navigate through web pages.

2 min read
The Link component behaves like a regular anchor tag (a), but it can be rendered as any HTML tag or component, including specific framework link components.
Example
Code

Usage

Import the component


_10
import { Link } from '@faststore/ui'

Import styles

To apply styles, include the following in your stylesheet:

_10
@import '@faststore/ui/src/components/atoms/Link/styles.scss';


Examples

Variants

Inverse

Example
Code

Display

Example
Code

Inline

Example
Code

Size

Small

Example
Code
The as prop accepts an HTML element or React component. For example, render the FastStore Link styles and variants through a framework link component:

_10
import NextLink from 'next/link'
_10
import { Link } from '@faststore/ui'
_10
_10
export default function ProductsLink() {
_10
return (
_10
<Link as={NextLink} href="/products" variant="display">
_10
Browse products
_10
</Link>
_10
)
_10
}


Design tokens

Local tokenDefault value/Global token linked
--fs-link-min-widthauto
--fs-link-min-heightvar(--fs-link-min-width)
--fs-link-paddingvar(--fs-spacing-2) var(--fs-spacing-0)
--fs-link-border-radiusvar(--fs-border-radius)
--fs-link-text-line-height1.5
--fs-link-text-color
var(--fs-color-link)
--fs-link-text-color-visited
var(--fs-color-link-visited)
--fs-link-text-decorationnone
--fs-link-text-decoration-hoverunderline
--fs-link-transition-functionvar(--fs-transition-function)
--fs-link-transition-propertyvar(--fs-transition-property)
--fs-link-transition-timingvar(--fs-transition-timing)

Design tokens: Inverse

Inverse links use light colors optimized for dark backgrounds, ensuring proper contrast and readability in inverted color schemes.
Local tokenDefault value/Global token linked
--fs-link-inverse-text-color
var(--fs-color-link-inverse)
--fs-link-inverse-text-color-visited
var(--fs-link-inverse-text-color)

Design tokens: Inline

Inline links are designed to blend within text content, featuring minimal padding and underlined text for clear identification within paragraphs.
Local tokenDefault value/Global token linked
--fs-link-inline-padding0
--fs-link-inline-text-decorationunderline
--fs-link-inline-text-color
var(--fs-link-text-color)

Design tokens: Small

Small links use reduced font size and padding to create a more compact appearance, ideal for dense layouts or secondary navigation elements.
Local tokenDefault value/Global token linked
--fs-link-small-text-sizevar(--fs-text-size-1)
--fs-link-small-paddingvar(--fs-spacing-1) var(--fs-spacing-0)

Design tokens: Display

Display links use prominent styling suitable for standalone navigation elements or headings, maintaining visual hierarchy while preserving link behavior.
Local tokenDefault value/Global token linked
--fs-link-display-text-line-heightvar(--fs-link-text-line-height)
--fs-link-display-text-color
var(--fs-color-text-display)
--fs-link-display-text-color-visited
var(--fs-link-display-text-color)

Data attributes

You can target and override Link styles using the following data attributes:
data-fs-link
data-fs-link-variant="default" | "display" | "inline"
data-fs-link-size="small" | "regular"
data-fs-link-inverse="true"

Props

The Link component supports all attributes supported by the a tag. If you need to use it as an external link component (i.e., Next.js Link or Gatsby Link), the FastStore UI Link component can be used with the as={NextLink} prop.
Besides those attributes, the following props are also supported:
NameTypeDescriptionDefault
testIdstringID to find this component in testing tools (e.g.: cypress, testing library, and jest).fs-link
variant'default' | 'display' | 'inline'Specifies the component variant.default
size'small' | 'regular'Specifies the size variant.regular
inversebooleanDefines the use of inverted colors.
asstring | PolymorphicComponentPropsWithRefDefines how this component should behave.a