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 IDValueUsage
motion-duration-instant100msMicro-interactions that should feel instant
motion-duration-fast150msQuick state changes (hover, focus)
motion-duration-normal200msStandard UI transition duration
motion-duration-slow250msSlightly heavier transitions
motion-duration-enter300msEnter/exit animations

Easing Tokens

Token IDValueUsage
motion-easing-springcubic-bezier(0.34,1.56,0.64,1)Springy overshoot — playful enter animations
motion-easing-easeOutcubic-bezier(0,0,0.2,1)Natural deceleration — elements entering the screen
motion-easing-easeIncubic-bezier(0.4,0,1,1)Acceleration — elements leaving the screen
motion-easing-easeInOutcubic-bezier(0.4,0,0.2,1)Symmetric — elements moving across the screen