role status
Spinner draft v0.1.0
Says that something is loading when its length is unknown, as a turning ring with a label.
A spinner is the indeterminate loading indicator: a ring turns while a request, a page or a part of it loads, and a label names what loads, shown or kept for assistive technology. Use it for short waits in a small area (a button, a panel); for a long or measurable wait, a Progress bar; for content whose layout is known, Skeletons. Other systems call it an activity indicator, a loading indicator or a progress circle.
Playground
Token inspector
Part container
Not rendered in this configuration.
-
gap from default
{space.8}Details
- Value
-
8px - CSS
--spinner-container-gap- Token
spinner.container.gap
Part ring
Not rendered in this configuration.
-
size
smallfrom default{size.2}Details
- Value
-
16px - CSS
--spinner-ring-size-small- Token
spinner.ring.size.small- Decisions
-
size
mediumfrom default{size.4}Details
- Value
-
24px - CSS
--spinner-ring-size-medium- Token
spinner.ring.size.medium- Decisions
-
size
largefrom default{size.5}Details
- Value
-
32px - CSS
--spinner-ring-size-large- Token
spinner.ring.size.large- Decisions
-
border-width
smallfrom default{stroke-width.md}Details
- Value
-
1.2px - CSS
--spinner-ring-border-width-small- Token
spinner.ring.border-width.small- Decisions
-
border-width
mediumfrom default{stroke-width.lg}Details
- Value
-
2.4px - CSS
--spinner-ring-border-width-medium- Token
spinner.ring.border-width.medium- Decisions
-
border-width
largefrom default{stroke-width.lg}Details
- Value
-
2.4px - CSS
--spinner-ring-border-width-large- Token
spinner.ring.border-width.large- Decisions
-
border-color from default
{global.bg.base.neutral.3}Details
- Resolves through
light-switch.base.100 rawneutral.light.ash.100 raw- Value
-
#ECE8E9dark:#282828 - CSS
--spinner-ring-border-color- Token
spinner.ring.border-color- Decisions
-
color from default
{global.bg.accent.brand.default}Details
- Resolves through
brand.light.600 raw- Value
-
#175DD6dark:#9EE7FA - CSS
--spinner-ring-color- Token
spinner.ring.color- Decisions
-
animation.duration from default
{duration.normal}Details
- Value
-
250ms - CSS
--spinner-ring-animation-duration- Token
spinner.ring.animation.duration- Decisions
-
animation.easing from default
{easing.standard}Details
- Value
-
cubic-bezier(0.2, 0, 0, 1) - CSS
--spinner-ring-animation-easing- Token
spinner.ring.animation.easing- Decisions
-
opacity from default
{opacity.40}Details
- Value
-
0.4 - CSS
--spinner-ring-opacity- Token
spinner.ring.opacity- Decisions
Part label
Not rendered in this configuration.
-
color from default
{global.text.on-base.neutral.secondary}Details
- Resolves through
light-switch.base.800 rawneutral.light.ash.800 raw- Value
-
#323031dark:#B9B7B7 - CSS
--spinner-label-color- Token
spinner.label.color- Decisions
-
typography from default
Details
- Value
-
Inter [object Object]/1.5 400 [object Object] - CSS
--spinner-label-typography-font-family- Token
spinner.label.typography
-
size from default
{space.1}Details
- Value
-
1px - CSS
--spinner-label-size- Token
spinner.label.size
<div class="ds-spinner" role="status" data-size="medium">
<span
class="ds-spinner__ring"
data-part="ring"
aria-hidden="true"
></span>
<span
class="ds-spinner__label"
data-part="label"
data-hidden
>Loading projects</span>
</div>