🎉 We are thrilled to introduce FastStore v2. If you are looking for documentation of the previous version of FastStore, please refer to FastStore v1.

Tag

Tags are an interactive Badge. By default, its have a close button.

Overview


Import

Import the component from @faststore/ui

import { Tag } from '@faststore/ui'

Import Styles

import '@faststore/ui/src/components/molecules/Tag/styles.scss'

Usage

Summer Sale
<Tag variant="info" label="Summer Sale" onClose={() => {}} />

Props

NameTypeDescriptionDefault
testIdstringID to find this component in testing tools (e.g.: cypress, testing library, and jest).fs-tag
label*stringThe text displayed inside the tag.
iconstring | number | false | true | ReactElement<any, string | JSXElementConstructor<any>> | ReactFragment | ReactPortalA React component that will be rendered as an icon.
iconButtonLabelstringFor accessibility purposes, provide an ARIA label to the Icon button
onClose*() => voidFunction called when Icon button is clicked.
size"small" | "big"Specifies the size variant.
variant"info" | "highlighted" | "success" | "neutral" | "warning" | "danger"Specifies the component variant.
counterfalse | trueEnables counter badge.
aria-labelstringFor accessibility purposes, adds an ARIA label to the element when `counter` is set to `true`.

Design Tokens

Local tokenDefault value/Global token linked
--fs-tag-text-color
var(--fs-color-text)
--fs-tag-icon-sizevar(--fs-spacing-4)
--fs-tag-icon-stroke-widthvar(--fs-spacing-4)

Customization

For further customization, you can use the following data attributes:

data-fs-tag

data-fs-tag-label

data-fs-tag-icon-button

This component inherits Badge CSS selectors and styles.


Best Practices

âś… Do's

  • Be cautious about the tag's positioning, writing, shape, and color to avoid any confusion with components similar in appearance.

❌ Don'ts

  • Don't use long texts in tags.
  • Don't use color alone to convey information. If color is needed to convey meaning, ensure there is a text alternative for that meaning as well.

Accessibility

  • Text elements must have sufficient color contrast against the background.