Motion draft v0.2.0
Durations and easing curves, the state transitions of controls, and how motion gives way when people ask for less of it.
Motion holds two durations and one easing curve, the design system's additions (packages/tokens/src/additions/): the Figma library has none. Components read them directly for one use: the transition of a control between its states. Every transition is a color change, never a movement, and every component switches it off when people ask for reduced motion.
Tokens
Semantic tokens owned by the foundation (tokens in packages/components/specs/foundations/motion.spec.json). They live in packages/tokens/src/semantic/ (recreated from the Figma library) or tokens/additions/semantic/ (added by the design system), with their other values in tokens/modes/, tokens/additions/modes/ and tokens/platforms/.
| Token | Type | Value | Resolved | CSS |
|---|---|---|---|---|
duration.fast
|
duration |
{"value":150,"unit":"ms"}
|
150ms
|
--duration-fast
|
duration.normal
|
duration |
{"value":250,"unit":"ms"}
|
250ms
|
--duration-normal
|
easing.standard
|
cubicBezier |
[0.2,0,0,1]
|
cubic-bezier(0.2, 0, 0, 1)
|
--easing-standard
|
Components following it
Derived from the component tokens aliasing the foundation's tokens.
| Component | Component tokens aliasing the foundation |
|---|---|
| Accordion |
|
| Breadcrumb |
|
| Button |
|
| Checkbox group |
|
| Checkbox |
|
| Dropdown |
|
| Icon button |
|
| Number field |
|
| Pagination |
|
| Progress bar |
|
| Radio group |
|
| Search field |
|
| Select |
|
| Skeleton |
|
| Slider |
|
| Spinner |
|
| Switch |
|
| Text field |
|
| Textarea |
|