⚠️ After March 18, 2024, the FastStore documentation will be migrated to the Developer Portal. For more information, access the official release note.

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 into your FastStore project

To apply the styles of this component in your FastStore project, import the following into your stylesheet:

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

Follow the instructions in the Importing FastStore UI component styles tutorial.


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>> | Iterable<ReactNode> | 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.