micro-interactions▌
dylantarre/animation-principles · updated Apr 21, 2026
Apply Disney's 12 animation principles to small UI feedback moments and interface details.
Micro-interaction Animation
Apply Disney's 12 animation principles to small UI feedback moments and interface details.
Quick Reference
| Principle | Micro-interaction Implementation |
|---|---|
| Squash & Stretch | Button press compression, toggle bounce |
| Anticipation | Hover state hints, pre-click feedback |
| Staging | Focus attention on active element |
| Straight Ahead / Pose to Pose | Progress vs state changes |
| Follow Through / Overlapping | Ripple effects, settling motion |
| Slow In / Slow Out | Snappy but smooth transitions |
| Arc | Toggle switches, circular menus |
| Secondary Action | Icons respond to parent state |
| Timing | 100-300ms for most interactions |
| Exaggeration | Clear but not distracting |
| Solid Drawing | Consistent transform behavior |
| Appeal | Delightful, purposeful feedback |
Principle Applications
Squash & Stretch: Buttons compress slightly on press (scaleY: 0.95). Toggle thumbs squash when hitting bounds. Notification badges bounce on update. Keep subtle—this is UI, not cartoon.
Anticipation: Hover states prepare for click. Buttons lift/grow slightly before press animation. Draggable items elevate on grab start. Loading spinners wind up before spinning.
Staging: Active form field clearly distinguished. Error states demand attention. Success confirmations are unmistakable. One interaction feedback at a time.
Straight Ahead vs Pose to Pose: Progress indicators animate continuously (straight ahead). Checkboxes snap between states (pose to pose). Combine: loading indicator ends with state-change snap.
Follow Through & Overlapping: Ripple effects expand past tap point. Toggle switches overshoot then settle. Checkmarks draw with slight delay after box fills. Menu items stagger in.
Slow In / Slow Out: Quick ease-out for responsive feel. 100ms with ease-out feels instant. Avoid linear—looks broken. Snappy entrance, gentle settling.
Arc: Toggle switches travel in slight arc. Circular action buttons expand radially. Dropdown carets rotate smoothly. Menu items can follow curved path.
Secondary Action: Icon changes color as button state changes. Badge count updates with parent notification. Helper text appears as input focuses. Shadow responds to elevation.
Timing: Immediate feedback: 50-100ms. Standard transitions: 100-200ms. Complex micro-interactions: 200-300ms. Anything longer feels sluggish for small UI.
Exaggeration: Enough to notice, not enough to distract. Error shakes: 3-5px, not 20px. Success scales: 1.05-1.1, not 1.5. Subtle but unmistakable.
Solid Drawing: Transform origin matters—buttons scale from center, tooltips from pointer. Consistent behavior across similar elements. Maintain visual integrity during animation.
Appeal: Micro-interactions add personality without overwhelming. Users should feel the interface is responsive and alive. Small delights build into overall experience quality.
Component Patterns
Button States
.button {
transition: transform 100ms ease-out,
box-shadow 100ms ease-out;
}
.button:hover {
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.button:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
Toggle Switch
.toggle-thumb {
transition: transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.toggle-thumb.active {
transform: translateX(20px);
}
Checkbox
.checkmark {
stroke-dasharray: 20;
stroke-dashoffset: 20;
transition: stroke-dashoffset 200ms ease-out 50ms;
}
.checkbox:checked + .checkmark {
stroke-dashoffset: 0;
}
Timing Reference
| Interaction | Duration | Easing |
|---|---|---|
| Hover | 100ms | ease-out |
| Click/tap | 100ms | ease-out |
| Toggle | 150-200ms | spring/elastic |
| Checkbox | 150ms | ease-out |
| Focus ring | 100ms | ease-out |
| Tooltip show | 150ms | ease-out |
| Tooltip hide | 100ms | ease-in |
| Badge update | 200ms | elastic |
| Form error | 200ms | ease-out |
Best Practices
- Every interactive element needs feedback
- Disabled states: no animation, reduced opacity
- Group related feedback together
- Don't animate on every change—filter unnecessary updates
- Test without animation—functionality shouldn't depend on it
- Respect
prefers-reduced-motion
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.4★★★★★40 reviews- ★★★★★Ishan Jain· Dec 12, 2024
Solid pick for teams standardizing on skills: micro-interactions is focused, and the summary matches what you get after install.
- ★★★★★Isabella Diallo· Dec 4, 2024
We added micro-interactions from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Kiara Brown· Nov 23, 2024
Solid pick for teams standardizing on skills: micro-interactions is focused, and the summary matches what you get after install.
- ★★★★★Rahul Santra· Nov 3, 2024
micro-interactions is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Emma Anderson· Nov 3, 2024
We added micro-interactions from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Pratham Ware· Oct 22, 2024
Keeps context tight: micro-interactions is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Emma Reddy· Oct 22, 2024
micro-interactions fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Kiara Chen· Oct 14, 2024
micro-interactions has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Soo Perez· Sep 13, 2024
Registry listing for micro-interactions matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Yash Thakker· Sep 9, 2024
micro-interactions has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 40