Documentation
Feedback
Guides
Storefront Development

Storefront Development
FastStoreUI componentsAtoms
Skeleton

Skeleton is a placeholder that simulates the layout of these elements/sections while the data is being loaded.

This feature improves the store's experience and perceived performance through loading placeholders. Skeletons are like an element's or section's wireframe. It's a placeholder that simulates the layout of these elements/sections while data is being loaded.
Instead of showing a blank page, displaying Skeletons while loading content makes the user feel like the store is more responsive and faster.
Also by using Skeletons the store will be less likely to experience Cumulative Layout Shilf (or CLS).

Overview

Example
Code

With Shimmer Effect

Without Shimmer Effect


Import

Import the component from @faststore/ui

_10
import { Skeleton } 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:

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

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

Usage


_10
<Skeleton size={{ width: '200px', height: '80px' }} borderRadius="32px" />


Props

NameTypeDescriptionDefault
testIdstringID to find this component in testing tools (e.g.: cypress, testing library, and jest).fs-skeleton
loadingfalse | trueControl whether skeleton should be visible or not.true
shimmerfalse | trueControl whether the shimmer effect should be displayed or not.true
size*SizeSpecifies the skeleton element size (width, height).
border"regular" | "pill" | "circle"Specifies the skeleton element border radius ('regular' | 'pill' | 'circle').
borderRadiusstringCustom border radius for skeleton elements.

Design Tokens

Local tokenDefault value/Global token linked
--fs-skeleton-bkg-color
var(--fs-color-disabled-bkg)
--fs-skeleton-border-radiusvar(--fs-border-radius)

Nested Elements

Shimmer

Local tokenDefault value/Global token linked
--fs-skeleton-shimmer-width50%
--fs-skeleton-shimmer-height100%
--fs-skeleton-shimmer-bkg-color
rgb(255 255 255 / 20%)
--fs-skeleton-shimmer-box-shadow
0 0 var(--fs-spacing-5) var(--fs-spacing-5) var(--fs-skeleton-shimmer-bkg-color)
--fs-skeleton-shimmer-transition-timing850ms
--fs-skeleton-shimmer-transition-functionlinear
--fs-skeleton-shimmer-transition-iterationinfinite

Customization

For further customization, you can use the following data attributes:
data-fs-skeleton
data-fs-skeleton-shimmer
Contributors
2
Photo of the contributor
Photo of the contributor
+ 2 contributors
Was this helpful?
Yes
No
Suggest edits (Github)
Contributors
2
Photo of the contributor
Photo of the contributor
+ 2 contributors
On this page