notifications-toasts

dylantarre's avatarfrom dylantarre

Use when animating notifications, toasts, alerts, snackbars, or system messages to grab attention appropriately

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 30, 2025

When & Why to Use This Skill

This Claude skill provides a comprehensive framework and ready-to-use CSS implementations for animating UI notifications, toasts, and system alerts. By integrating Disney's 12 principles of animation—such as Squash & Stretch, Anticipation, and Staging—it enables developers and designers to create polished, professional-grade user interfaces. It solves the problem of jarring or easily ignored system messages by providing precise timing, easing functions (cubic-bezier), and behavioral guidelines that balance attention-grabbing motion with a non-disruptive user experience.

Use Cases

  • Implementing organic-feeling toast notifications that use 'Squash & Stretch' to provide tactile feedback upon appearance.
  • Designing intuitive alert systems that use 'Anticipation' (slight scaling) to signal imminent auto-dismissal to the user.
  • Standardizing motion design across a web application by applying consistent easing (ease-out/ease-in) and timing for different notification types.
  • Enhancing visual hierarchy in complex dashboards by using 'Staging' and 'Secondary Action' animations to differentiate between info, success, and error states.
  • Creating high-impact critical alerts that use 'Exaggeration' (shaking or pulsing) to ensure urgent system messages are noticed immediately.
namenotifications-toasts
descriptionUse when animating notifications, toasts, alerts, snackbars, or system messages to grab attention appropriately

Notification & Toast Animation Principles

Apply Disney's 12 principles to notifications for attention-grabbing yet non-disruptive alerts.

Principles Applied to Notifications

1. Squash & Stretch

Toast can compress slightly on entrance impact, then stretch back. Creates a "landing" feel as if it arrived from off-screen.

2. Anticipation

Before auto-dismiss, toast can contract slightly (95% scale) for 100ms. Signals imminent departure to user.

3. Staging

Notifications should appear in consistent locations. Use color and icons to stage importance: info, success, warning, error.

4. Straight Ahead & Pose to Pose

Define states: entering, visible, exiting, stacked. Clear keyframes for entrance, attention (if needed), and exit.

5. Follow Through & Overlapping Action

Icon animates after container arrives (checkmark draws, bell wobbles). Progress bar for auto-dismiss follows toast entrance.

6. Ease In & Ease Out

Enter: ease-out (fast in, slow settle). Exit: ease-in (slow start, fast out). cubic-bezier(0.68, -0.55, 0.27, 1.55) for bounce.

7. Arcs

Toasts sliding from corners can follow slight arc. Bell icons should swing in arc, not rotate rigidly.

8. Secondary Action

While toast slides in (primary), shadow appears (secondary), icon animates (tertiary), progress bar starts (quaternary).

9. Timing

  • Toast enter: 200-300ms
  • Toast exit: 150-250ms
  • Auto-dismiss delay: 3000-5000ms
  • Attention pulse: 1000ms loop
  • Success checkmark draw: 300ms
  • Stack reorder: 200ms

10. Exaggeration

Error notifications can shake or pulse red. Critical alerts can be larger, bolder animations. Match urgency to importance.

11. Solid Drawing

Maintain consistent toast sizing. Icons should be crisp. Progress bars should be smooth (use transforms, not width).

12. Appeal

Smooth notifications feel polished. Jarring popups annoy users. A well-animated toast conveys professionalism.

CSS Implementation

.toast {
  animation: toastEnter 300ms cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.toast.exiting {
  animation: toastExit 200ms ease-in forwards;
}

@keyframes toastEnter {
  from {
    opacity: 0;
    transform: translateY(-100%) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes toastExit {
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}

.toast-progress {
  transform-origin: left;
  animation: progress 4000ms linear forwards;
}

Key Properties

  • transform: translate, scale
  • opacity: fade
  • animation: entrance/exit sequences
  • transform-origin: progress bars
  • box-shadow: depth