Skeleton

Skeleton is used to display the loading state of some components.

Import#

import { Skeleton, SkeletonCircle, SkeletonText } from "@chakra-ui/react"

Usage#

You can use it as a standalone component.

Editable Example

Or to wrap another component to take the same height and width.

contents wrapped
won't be visible
Editable Example

Useful when fetching remote data.

import { Box } from "@chakra-ui/react"
function Card() {
const { data, loading, error } = useRemoteData()
if (error) return <Box children="error" />
return (
<Box>
<Skeleton isLoaded={!loading}>
<Heading>{data.title}</Heading>
</Skeleton>
</Box>
)
}

Circle and Text Skeleton#

Editable Example

Skeleton color#

You can change the animation color with colorStart and colorEnd.

Editable Example

Skipping the skeleton when content is loaded#

You can prevent the skeleton from rendering using the isLoaded prop.

Chakra ui is cool
Editable Example

Props#

NameTypeDescriptionDefault
colorScheme"blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram"Color Schemes for Skeleton are not implemented in the default theme. You can extend the theme to implement them.-
endColorstringThe color at the animation end-
fadeDurationnumberThe fadeIn duration in seconds0.4
isLoadedbooleanIf `true`, it'll render its children with a nice fade transition-
sizestringSizes for Skeleton are not implemented in the default theme. You can extend the theme to implement them.-
speednumberThe animation speed in seconds0.8
startColorstringThe color at the animation start-
variantstringVariants for Skeleton are not implemented in the default theme. You can extend the theme to implement them.-