Skip to main content

Motion

Use movements to facilitate understanding of how the interface and components work, as well as expressing and reinforcing the principles of the RD Station brand.

Principles

Moves should always be used with a purpose. Use to highlight a change of state, show new content or component, and to emphasize an interface element.

Movements should not take longer than necessary Animations should not make the person wait, nor prevent them from completing or continuing to perform a task.

Keep the metaphors that exist in the physical world. For example, if something entered the screen from the left side, it should come out from the left side and not up. Another situation: smaller elements move faster than larger elements.

Duration

Use one of 3 different speeds to make transitions:

Motion speed table
TokenDurationUsage
--motion-duration-extra-fast100msUse for state changes on small elements such as buttons, toggles, radio buttons, checkboxes, inputs, and more.
--motion-duration-fast200msUse for micro-interactions, short expansions, or short-distance moves such as a select or dropdown.
--motion-duration-normal300msUse for expanding medium-sized elements and alerting system such as Toasts.

Acceleration

To be perceived more naturally by the human eye, all movements use acceleration. Use one of the 3 types below:

Motion acceleration table
TokenCurveDescriptionUsage
--motion-timing-function-ease-incubic-bezier(0.55, 0.055, 0.675, 0.19)Gains acceleration over time. Ideal for removing elements from the screen.Close modal, hide alert, collapse sidebar.
--motion-timing-function-ease-outcubic-bezier(0.215, 0.61, 0.355, 1)Loses acceleration over time. Ideal for adding on-screen elements.Show sidebar, show modal, show alert.
--motion-timing-function-ease-in-outcubic-bezier(0.645, 0.045, 0.355, 1)Accelerates and decelerates gradually. Ideal for elements that are visible from start to finish of the movement.Expanding a dropdown menu, a toggle, expanding a list.

Feedback