Applies what the tokens do under prefers-reduced-motion: every duration 0 ms, spring falls back to ease-out.
Scale
Durations run with ease-out. Curves run at slow so their shape shows.
Use the tokens
.panel {
transition:
opacity var(--cc-duration-normal) var(--cc-ease-out),
transform var(--cc-duration-slow) var(--cc-ease-spring);
}
.panel[data-state='closed'] {
transition-duration: var(--cc-duration-fast);
transition-timing-function: var(--cc-ease-exit);
}
/* Under prefers-reduced-motion the tokens are 0ms and the spring is ease-out. */ Enter and exit
Exits run one step shorter than entries, so closing never feels slower than opening.
State changes
Use each one to see it move. Replay arrivals remounts Avatar and Alert, which only move when they appear.