emilkowal-animations

emilkowal-animations

热门

Emil Kowalski's animation best practices for web interfaces. Use when writing, reviewing, or implementing animations in React, CSS, or Framer Motion. Triggers on tasks involving transitions, easing, gestures, toasts, drawers, or motion.

192Star
17Fork
更新于 2026/7/24
请求的译文尚未完成,当前显示原始英文。
SKILL.md
只读
名称
emilkowal-animations
描述

Emil Kowalski's animation best practices for web interfaces. Use when writing, reviewing, or implementing animations in React, CSS, or Framer Motion. Triggers on tasks involving transitions, easing, gestures, toasts, drawers, or motion.

Emil Kowalski Animation Best Practices

Comprehensive animation guide for web interfaces based on Emil Kowalski's teachings, open-source libraries (Sonner, Vaul), and his animations.dev course. Contains 58 rules across 8 categories, prioritized by impact.

When to Apply

Reference these guidelines when:

  • Adding animations to React components
  • Choosing easing curves or timing values
  • Implementing gesture-based interactions (swipe, drag)
  • Building toast notifications or drawer components
  • Optimizing animation performance
  • Ensuring animation accessibility
  • Expressing any of the above with Tailwind CSS v4 utilities (see the tw- category)

Rule Categories by Priority

Priority Category Impact Prefix
1 Easing Selection CRITICAL ease-
2 Timing & Duration CRITICAL timing-
3 Property Selection HIGH props-
4 Transform Techniques HIGH transform-
5 Interaction Patterns MEDIUM-HIGH interact-
6 Strategic Animation MEDIUM strategy-
7 Accessibility & Polish MEDIUM polish-
8 Tailwind v4 Utilities MEDIUM tw-

Quick Reference

1. Easing Selection (CRITICAL)

2. Timing & Duration (CRITICAL)

3. Property Selection (HIGH)

4. Transform Techniques (HIGH)

5. Interaction Patterns (MEDIUM-HIGH)

6. Strategic Animation (MEDIUM)

7. Accessibility & Polish (MEDIUM)

8. Tailwind v4 Utilities (MEDIUM)

Express the principles above with proper Tailwind CSS v4 utilities. Applies only to Tailwind v4 projects; the raw-CSS and Framer Motion rules above remain the source of truth.

Key Values Reference

Value Usage
cubic-bezier(0.23, 1, 0.32, 1) Strong ease-out for UI interactions
cubic-bezier(0.77, 0, 0.175, 1) Strong ease-in-out for on-screen movement
cubic-bezier(0.32, 0.72, 0, 1) iOS-style drawer/sheet animation
scale(0.97) Button press feedback
scale(0.95) Minimum enter scale (never scale(0))
200ms ease-out Standard UI transition
300ms Maximum duration for UI animations
500ms Drawer animation duration
0.11 px/ms Velocity threshold for momentum dismiss
100px Scroll-reveal viewport threshold
14px Toast stack offset

Duration by Element

Pick duration by how often the element is seen and how much it moves. Keep UI animations under 300ms.

Element Duration
Button press feedback 100–160ms
Tooltips, small popovers 125–200ms
Dropdowns, selects 150–250ms
Modals, drawers 200–500ms
Marketing / explanatory Can be longer

Reference Files

File Description
references/_sections.md Category definitions and ordering
assets/templates/_template.md Template for new rules
metadata.json Version and reference information