Alert
Alerts display short messages related to the behavior of a system, feature or page.
Overview
Import
Import the component from @faststore/ui
import { Alert } 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/Alert/styles.scss';Follow the instructions in the Importing FastStore UI component styles tutorial.
Usage
Get 10% off today: NEW10
Buy now<Alert
icon={<Icon name="ShoppingCart" />}
link={{ children: 'Buy now', href: '/', target: '_blank' }}
dismissible
>
Get 10% off today: <span>NEW10</span>
</Alert>Props
| Name | Type | Description | Default |
|---|---|---|---|
| testId | string | ID to find this component in testing tools (e.g.: cypress, testing-library, and jest). | fs-alert |
| icon | string | number | false | true | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Icon component for additional customization. | |
| dismissible | false | true | Enables dismissible feature. | |
| link | LinkProps<"a"> | Extends all Link Props. | |
| onClose | (event: MouseEvent<HTMLElement, MouseEvent>) => void | Function called when dismiss button is clicked. |
Design Tokens
| Local token | Default value/Global token linked |
|---|---|
--fs-alert-height | var(--fs-spacing-7) |
--fs-alert-padding-left | var(--fs-spacing-3) |
--fs-alert-padding-right | var(--fs-alert-padding-left) |
--fs-alert-bkg-color | var(--fs-color-highlighted-bkg) |
--fs-alert-text-color | var(--fs-color-highlighted-text) |
--fs-alert-text-size | var(--fs-text-size-1) |
Nested Elements
Icon
| Local token | Default value/Global token linked |
|---|---|
--fs-alert-icon-width | var(--fs-spacing-4) |
--fs-alert-icon-height | var(--fs-alert-icon-width) |
--fs-alert-icon-margin-right | var(--fs-spacing-1) |
--fs-alert-icon-color | var(--fs-alert-text-color) |
Link
| Local token | Default value/Global token linked |
|---|---|
--fs-alert-link-color | var(--fs-alert-text-color) |
--fs-alert-link-color-visited | var(--fs-alert-text-color) |
Dismissible Button
| Local token | Default value/Global token linked |
|---|---|
--fs-alert-button-text-color | var(--fs-alert-text-color) |
--fs-alert-button-bkg-color | var(--fs-alert-bkg-color) |
--fs-alert-button-border-radius | var(--fs-border-radius) |
Variants
Dismissible
Get 10% off today: NEW10
<Alert dismissible>
Get 10% off today: <span>NEW10</span>
</Alert>With Link
Get 10% off today: NEW10
Buy now<Alert link={{ children: 'Buy now', href: '#' }}>
Get 10% off today: <span>NEW10</span>
</Alert>With Icon
Get 10% off today: NEW10
<Alert icon={<Icon name="ShoppingCart" />}>
Get 10% off today: <span>NEW10</span>
</Alert>Plain
Get 10% off today: NEW10
<Alert>
Get 10% off today: <span>NEW10</span>
</Alert>Customization
For further customization, you can use the following data attributes:
data-fs-alert
data-fs-alert-content
data-fs-alert-link
data-fs-alert-button
data-fs-alert-dismissible="true"
Best Practices
✅ Do's
- Write short messages to inform about the behavior of a system, feature, or page. Consider using 30 to 40 characters max.
❌ Don'ts
- Don't use long texts. Important information can be lost.