Motion Tokens
The motion token group provides duration and easing tokens for consistent animations across web and React Native.
Usage
import { motion } from '@stareezy-ui/tokens'
// Duration tokens (number in ms)
motion.duration.instant.value // 100
motion.duration.fast.value // 150
motion.duration.normal.value // 200
// Easing tokens (CSS cubic-bezier string)
motion.easing.spring.value // "cubic-bezier(0.34,1.56,0.64,1)"
motion.easing.easeOut.value // "cubic-bezier(0,0,0.2,1)"
// Use in CSS transitions
const style = {
transition: `all ${motion.duration.normal.value}ms ${motion.easing.easeOut.value}`
}
// Register in createUi animations
const ui = createUi({
animations: {
fadeIn: { duration: motion.duration.enter, easing: motion.easing.easeOut }
}
})
Duration Tokens
| Token ID | Value | Usage |
|---|
motion-duration-instant | 100ms | Micro-interactions that should feel instant |
motion-duration-fast | 150ms | Quick state changes (hover, focus) |
motion-duration-normal | 200ms | Standard UI transition duration |
motion-duration-slow | 250ms | Slightly heavier transitions |
motion-duration-enter | 300ms | Enter/exit animations |
Easing Tokens
| Token ID | Value | Usage |
|---|
motion-easing-spring | cubic-bezier(0.34,1.56,0.64,1) | Springy overshoot — playful enter animations |
motion-easing-easeOut | cubic-bezier(0,0,0.2,1) | Natural deceleration — elements entering the screen |
motion-easing-easeIn | cubic-bezier(0.4,0,1,1) | Acceleration — elements leaving the screen |
motion-easing-easeInOut | cubic-bezier(0.4,0,0.2,1) | Symmetric — elements moving across the screen |