Skip to main content

Spinner

Spinner is a loading indicator that inherits color from its parent element.

Open in Storybook

Import​

import { Spinner } from "@tosui/react";

Basic usage​

Sizes​

Colors​

Spinner inherits color from its parent. Set the parent's color to change the spinner color.

Common patterns​

Button loading state​

Button has built-in loading support:

Centered loading​

Loading...

Inline loading​

Checking availability...

Full-page loading​

function PageLoader() {
return (
<Box
position="fixed"
inset={0}
display="flex"
alignItems="center"
justifyContent="center"
bg="background"
zIndex="modal"
>
<VStack gap={4}>
<Spinner size="lg" />
<Text>Loading application...</Text>
</VStack>
</Box>
);
}

Props reference​

PropTypeDefaultDescription
size"sm" | "md" | "lg""md"Spinner size
asElementType"span"HTML element to render

Spinner also accepts Box style props.

Size dimensions​

SizeWidth/Height
sm1em
md1.5em
lg2em

Accessibility​

  • Spinner uses role="status" with aria-label="Loading".
  • Pass aria-hidden="true" when nearby text already communicates the loading state.

TypeScript​

import { Spinner } from "@tosui/react";