Motion Principles
Four core principles guide all motion in the Senastra Design System, ensuring animations are purposeful, restrained, and accessible.
Purposeful
Every animation has a reason. Motion clarifies state changes, guides attention, and improves perceived performance—never gratuitous.
Subtle
Restraint is the hallmark of polish. Small movements and soft easing feel more natural and refined than bold, flashy effects.
Fast
Respond instantly. No animation exceeds 400ms. Quick transitions keep interfaces snappy and maintain user momentum.
Accessible
Respect user preferences. All animations disable for users with prefers-reduced-motion enabled.
Duration Scale
A carefully calibrated set of durations for different interaction contexts. The bars animate on page load to demonstrate each duration.
Easing Curves
Six easing functions for different motion purposes. Click "Play" to see each curve in action. The dot moves along a track to visualize the easing behavior.
Linear
Ease In
Ease Out
Ease In-Out
Spring
Bounce
Transition Patterns
Common animation patterns used throughout the design system. Click the toggle button to play each animation.
Fade
Tooltips, overlay backdrops
Slide Up
Toasts, dropdowns, modals
Scale
Dialog open, popovers
Collapse
Accordions, expandable sections
Slide In
Sidebars, sheet panels
Micro-Interactions
Subtle feedback animations that delight users and clarify interactive states. Interact with each demo element.
Button Press
Focus Ring
Toggle Switch
Checkbox Check
Loading Spinner
Skeleton Pulse
Hover Lift
Page Transitions
Strategy for transitioning between page routes. Enter animations stagger children; exit animations are quicker.
Enter Animation
Exit Animation
Reduced Motion Support
All animations respect the prefers-reduced-motion media query. When enabled, transitions are disabled and animations run instantly.
Normal Motion
With Reduced Motion
Change your system settings to see instant transitions
Timing Reference
Recommended duration and easing for common UI interactions across the design system.
| Interaction | Duration | Easing |
|---|---|---|
| Hover feedback | 100ms | ease-out |
| Focus state | 150ms | ease-out |
| Button active (press) | 100ms | ease-in-out |
| Dropdown open | 200ms | ease-out |
| Dropdown close | 150ms | ease-in |
| Modal open | 250ms | ease-out + scale |
| Modal close | 200ms | ease-in |
| Toast enter | 300ms | spring |
| Toast exit | 200ms | ease-in |
| Sidebar expand | 250ms | ease-in-out |
| Page enter | 250ms | ease-out |
| Page exit | 150ms | ease-in |