Motion
Transitions, how far things move, and how long states last.
Movement
6 tokens
transition.movement.disclosure--semantic-transition-movement-disclosureUse when content expands or collapses, for chevrons that turn with it, and for menu panels that slide in and out.
- Duration
300ms- Easing
cubic-bezier(0.65, 0, 0.35, 1)- Reduced motion
0ms
transition.movement.drawer--semantic-transition-movement-drawerComponent token for a drawer opening and closing, and snapping back after a swipe. Fade its backdrop with
transition.fade.- Duration
450ms- Easing
cubic-bezier(0.25, 1, 0.5, 1)- Reduced motion
0ms
transition.movement.indicator--semantic-transition-movement-indicatorUse when a selection indicator answering a click moves to a new position or size, such as a tab indicator or a switch thumb.
- Duration
200ms- Easing
cubic-bezier(0.33, 1, 0.68, 1)- Reduced motion
0ms
transition.movement.popup--semantic-transition-movement-popupUse for the scale or slide of popups as they open and close, such as dropdowns, menus, popovers, tooltips, and modals. Fade their opacity with
transition.fade.- Duration
150ms- Easing
cubic-bezier(0.33, 1, 0.68, 1)- Reduced motion
0ms
transition.movement.tableOfContents.indicator--semantic-transition-movement-table-of-contents-indicatorComponent token for the table of contents indicator following the reading position. Overshoots slightly before it settles.
- Duration
600ms- Easing
cubic-bezier(0.2, 1.37, 0.4, 1)- Reduced motion
0ms
Fades & state changes
4 tokens
transition.fade--semantic-transition-fadeUse for opacity when something appears or disappears, such as popups, scrollbars, backdrops, and page crossfades.
- Duration
150ms- Easing
cubic-bezier(0, 0, 0.58, 1)
transition.feedback--semantic-transition-feedbackUse for color, background, border, and shadow changes, such as hover, press, and the switch track.
- Duration
150ms- Easing
cubic-bezier(0, 0, 0.58, 1)
transition.pulse--semantic-transition-pulseUse for one half of a repeating opacity pulse that shows content is loading, such as a skeleton, between
opacity.visibleandopacity.pulse. Do not use for elements appearing or disappearing; usefade.- Duration
1000ms- Easing
cubic-bezier(0.65, 0, 0.35, 1)
transition.stale--semantic-transition-staleUse to dim content to
opacity.stale; the delay keeps fast updates from flickering. Apply it only in the stale state, so content restores instantly.- Duration
200ms- Delay
200ms- Easing
cubic-bezier(0, 0, 0.58, 1)
Travel
3 tokens
dimension.travel.rest--semantic-dimension-travel-restUse for content at its resting position.
- Value
0remdimension.0
dimension.travel.keyboardKey--semantic-dimension-travel-keyboard-keyUse for the distance a keyboard key moves down while pressed, as deep as its bottom edge is thicker than its other borders.
- Value
0.0625rem · 1pxdimension.25
dimension.travel.popup--semantic-dimension-travel-popupUse for the distance popups slide as they open and close.
- Value
0.25rem · 4pxdimension.100- Plays with
- transition.movement.popup
State durations
1 token
duration.confirmation--semantic-duration-confirmationUse for how long a confirmation stays, such as a copy button's check after copying, before the control returns to its resting state.
- Value
2000msduration.2000
No matching tokens
Nothing matches “”. Try a shorter or different word.