--- name: framer-motion description: Use when implementing Disney's 12 animation principles with Framer Motion in React applications --- # Framer Motion Animation Principles Implement all 12 Disney animation principles using Framer Motion's declarative React API. ## 1. Squash and Stretch ```jsx ``` ## 2. Anticipation ```jsx ``` ## 3. Staging ```jsx {/* bg */} {/* hero */} ``` ## 4. Straight Ahead / Pose to Pose ```jsx ``` ## 5. Follow Through and Overlapping Action ```jsx ``` ## 6. Slow In and Slow Out ```jsx // Or use: "easeIn", "easeOut", "easeInOut" ``` ## 7. Arc ```jsx ``` ## 8. Secondary Action ```jsx Icon ``` ## 9. Timing ```jsx const timings = { fast: { duration: 0.15 }, normal: { duration: 0.3 }, slow: { duration: 0.6 }, spring: { type: "spring", stiffness: 300, damping: 20 } }; ``` ## 10. Exaggeration ```jsx ``` ## 11. Solid Drawing ```jsx ``` ## 12. Appeal ```jsx ``` ## Stagger Children ```jsx const container = { hidden: { opacity: 0 }, show: { opacity: 1, transition: { staggerChildren: 0.1 } } }; {items.map(item => )} ``` ## Key Framer Motion Features - `animate` - Target state - `variants` - Named animation states - `whileHover` / `whileTap` - Gesture animations - `transition` - Timing and easing - `AnimatePresence` - Exit animations - `useAnimation` - Programmatic control - `layout` - Auto-animate layout changes