Orbit
Motion
Source
Duration and easing tokens for transitions. Pair transitionDuration and ease with pseudo-state props to animate state changes.
Durations
Durations are CSS variables, so motion can be tuned globally or zeroed for prefers-reduced-motion. Pass to transitionDuration.
instant
0msNo animation; immediate state change.
fast
120msHover, focus, and small toggles.
base
200msDefault for most transitions.
slow
320msLarger surfaces entering or leaving.
slower
480msFull-screen or emphasis moments.
Easings
Easings are compile-time constants; they never vary at runtime. Pass to ease or transitionTimingFunction.
standard
cubic-bezier(0.2, 0, 0, 1)General-purpose, symmetric. Default choice.
decelerate
cubic-bezier(0, 0, 0, 1)Enter transitions: fast in, settle out.
accelerate
cubic-bezier(0.3, 0, 1, 1)Exit transitions: settle in, fast out.
spring
cubic-bezier(0.5, 1.25, 0.4, 1)Slight overshoot for playful emphasis.
Usage
Combine a transition property, a duration, and an easing with a hover value. The transition runs from pure CSS, no JavaScript required.
Hover the surface below to see fast plus decelerate, the recommended pairing for elements entering toward the pointer.
Hover me
<Box
transform={{ hover: 'translateY(-4px)' }}
transitionProperty="transform"
transitionDuration="fast"
ease="decelerate"
>
Hover me
</Box>