npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@casoon/tailwindcss-animations

v0.9.7

Published

Complete animation system for Tailwind CSS v4 - 80+ animations with tree-shaking and modern features

Downloads

99

Readme

🎬 @casoon/tailwindcss-animations

Modern, performant, and accessible animations for Tailwind CSS v4

NPM Version License Bundle Size

A comprehensive animation library for Tailwind CSS v4 with 80+ utilities, advanced easing functions, stagger system, scroll-timeline animations, and full accessibility support.

✨ Features

  • 🚀 80+ Animation Utilities - Entrance, continuous, 3D, and component animations
  • Advanced Easing Functions - Spring, bounce, elastic, and material design easings
  • 🎼 Smart Stagger System - Orchestrate up to 12 elements with precise timing
  • 📜 Modern Scroll Animations - CSS scroll-timeline with fallbacks
  • Full Accessibility - Complete prefers-reduced-motion support
  • 🎯 Component-Ready - Button presses, navigation, notifications, loading states
  • 🛠️ Performance Optimized - Hardware acceleration hints and efficient keyframes
  • 📱 Device-Responsive - Touch and print optimizations
  • 🎭 3D Transform Support - Perspective-based animations with fallbacks

🚀 Quick Start

Installation

npm install @casoon/tailwindcss-animations
# or
pnpm add @casoon/tailwindcss-animations

Usage with Tailwind CSS v4

@import "tailwindcss";
@import "@casoon/tailwindcss-animations";

Note: The package assumes you import @import "tailwindcss"; in your main CSS file.

Legacy Usage (without Tailwind)

For projects not using Tailwind CSS v4, use the pre-compiled CSS:

<link rel="stylesheet" href="node_modules/@casoon/tailwindcss-animations/dist.min.css">

Basic Example

<!-- Fade in with spring easing -->
<div class="cs-fade-in cs-anim cs-ease-spring">
  Welcome to the future!
</div>

<!-- Staggered grid animation -->
<div class="cs-stagger-100">
  <div class="cs-scale-in cs-anim">Item 1</div>
  <div class="cs-scale-in cs-anim">Item 2</div>
  <div class="cs-scale-in cs-anim">Item 3</div>
</div>

📖 API Reference

🎯 Core Animation Classes

All animations use the cs-anim base class with optional modifiers:

<div class="cs-fade-in cs-anim cs-anim-lg cs-ease-spring cs-delay-200">
  Animated content
</div>

🚀 Entrance Animations

Perfect for revealing content with smooth, natural motions:

| Class | Description | Use Case | |-------|-------------|----------| | cs-fade-in | Opacity 0→1 | Text, images, cards | | cs-scale-in | Scale 0.8→1 | Modals, tooltips | | cs-zoom-in | Scale 0→1 with bounce | Call-to-action buttons | | cs-slide-up | Translate Y 20px→0 | Content sections | | cs-slide-down | Translate Y -20px→0 | Dropdowns | | cs-slide-left | Translate X 20px→0 | Side panels | | cs-slide-right | Translate X -20px→0 | Navigation items | | cs-blur-in | Blur 10px→0 + fade | Hero sections | | cs-rotate-in | Rotate -10°→0° + fade | Icons, badges | | cs-flip-in | 3D flip + scale | Cards, tiles |

<!-- Hero section with staggered reveal -->
<section class="cs-stagger-150">
  <h1 class="cs-blur-in cs-anim cs-anim-lg">Amazing Product</h1>
  <p class="cs-slide-up cs-anim cs-delay-300">Revolutionary features</p>
  <button class="cs-scale-in cs-anim cs-delay-600">Get Started</button>
</section>

🔄 Continuous Animations

Infinite animations for dynamic elements:

| Class | Description | Best For | |-------|-------------|----------| | cs-pulse | Gentle scale breathing | Notifications, status | | cs-bounce | Up/down bouncing | Loading states | | cs-rotate | 360° continuous rotation | Loading spinners | | cs-wiggle | Subtle side-to-side | Error states | | cs-shake | Horizontal shake | Form validation | | cs-heartbeat | Pulse with pause | Live indicators | | cs-rubber-band | Elastic scale effect | Interactive elements | | cs-float | Gentle vertical float | Floating action buttons | | cs-sway | Natural tree-like sway | Decorative elements |

<!-- Interactive button with hover animations -->
<button class="cs-heartbeat hover:cs-rubber-band">
  🔴 Live Now
</button>

<!-- Loading spinner -->
<div class="cs-rotate cs-will-transform">⚡</div>

🎭 3D Animations

Hardware-accelerated 3D transforms:

| Class | Description | Transform | |-------|-------------|-----------| | cs-reveal-3d-up | 3D reveal from bottom | rotateX(-90°→0°) | | cs-reveal-3d-right | 3D reveal from left | rotateY(-90°→0°) | | cs-reveal-3d-left | 3D reveal from right | rotateY(90°→0°) | | cs-flip-3d-x | Horizontal 3D flip | rotateX(0°→360°) | | cs-flip-3d-y | Vertical 3D flip | rotateY(0°→360°) |

Required: Use cs-preserve-3d on parent container:

<div class="cs-preserve-3d">
  <div class="cs-reveal-3d-up cs-anim cs-anim-lg">
    3D Card Content
  </div>
</div>

⚡ Advanced Easing Functions

Natural motion curves for professional animations:

| Class | Curve | Best For | |-------|-------|----------| | cs-ease-standard | Material Standard | General UI transitions | | cs-ease-emphasized | Material Emphasized | Important state changes | | cs-ease-spring | Spring physics | Playful interactions | | cs-ease-bounce | Bounce effect | Success states | | cs-ease-elastic | Elastic snap | Attention-grabbing | | cs-ease-overshoot | Slight overshoot | Satisfying feedback |

<!-- Different easing for different purposes -->
<div class="cs-slide-up cs-anim cs-ease-spring">Playful</div>
<div class="cs-fade-in cs-anim cs-ease-standard">Professional</div>
<div class="cs-scale-in cs-anim cs-ease-bounce">Success!</div>

🎼 Advanced Stagger System

Orchestrate multiple elements with precise timing:

| Class | Delay Between Items | |-------|-------------------| | cs-stagger-50 | 50ms | | cs-stagger-75 | 75ms | | cs-stagger-100 | 100ms | | cs-stagger-125 | 125ms | | cs-stagger-150 | 150ms | | cs-stagger-200 | 200ms |

Supports up to 12 items with automatic delay calculation:

<!-- Card grid with 100ms stagger -->
<div class="grid grid-cols-3 cs-stagger-100">
  <div class="cs-scale-in cs-anim">Card 1</div>
  <div class="cs-scale-in cs-anim">Card 2</div>
  <div class="cs-scale-in cs-anim">Card 3</div>
  <!-- ... up to 12 items -->
</div>

🎯 Component Animations

Ready-to-use component interaction animations:

Button Animations

<!-- Button press feedback -->
<button class="cs-btn-press">Click me!</button>

<!-- Material ripple effect -->
<button class="cs-btn-ripple bg-blue-500">Ripple Button</button>

Loading States

<!-- Skeleton loading -->
<div class="cs-skeleton-shimmer h-4 bg-gray-200 rounded"></div>

<!-- Progress bar -->
<div class="cs-progress-grow h-2 bg-blue-500 rounded-full"></div>

<!-- Dot loader -->
<div class="flex gap-1">
  <div class="w-2 h-2 bg-blue-500 rounded-full cs-dot-loader"></div>
  <div class="w-2 h-2 bg-blue-500 rounded-full cs-dot-loader" style="animation-delay: 0.2s;"></div>
  <div class="w-2 h-2 bg-blue-500 rounded-full cs-dot-loader" style="animation-delay: 0.4s;"></div>
</div>

📜 Scroll-Timeline Animations

Modern scroll-driven animations with fallbacks:

<!-- Reveal on scroll -->
<div class="cs-scroll-reveal">
  Appears when scrolled into view
</div>

<!-- Scale on scroll -->
<div class="cs-scroll-scale">
  Scales up when in viewport
</div>

<!-- Parallax effect -->
<div class="cs-parallax-scroll">
  Smooth parallax motion
</div>

⏱️ Duration System

Precise timing control with T-shirt sizing:

| Class | Duration | Use Case | |-------|----------|----------| | cs-anim-xxs | 75ms | Micro-interactions | | cs-anim-xs | 150ms | Quick feedback | | cs-anim-sm | 200ms | Standard buttons | | cs-anim-md | 300ms | Default modals | | cs-anim-lg | 500ms | Page transitions | | cs-anim-xl | 700ms | Hero animations | | cs-anim-2xl | 1000ms | Dramatic reveals | | cs-anim-3xl | 1500ms | Storytelling |

🛠️ Performance Utilities

Hardware acceleration and optimization hints:

| Class | Property | Benefit | |-------|----------|---------| | cs-will-transform | will-change: transform | Transform optimizations | | cs-will-opacity | will-change: opacity | Opacity optimizations | | cs-will-filter | will-change: filter | Filter optimizations | | cs-backface-hidden | backface-visibility: hidden | 3D performance | | cs-preserve-3d | transform-style: preserve-3d | 3D context |

♿ Accessibility

This library fully supports accessibility standards:

Reduced Motion Support

When prefers-reduced-motion: reduce is enabled:

  • Infinite animations are disabled
  • Essential animations become instant (0.01ms duration)
  • 3D transforms are removed to prevent motion sickness
  • Respect user preferences automatically
<!-- This animation respects user preferences -->
<div class="cs-fade-in cs-anim">
  <!-- Normal: 300ms fade in -->
  <!-- Reduced motion: instant appearance -->
</div>

🎨 Real-World Examples

Landing Page Hero

<section class="cs-stagger-200">
  <!-- Background fades in first -->
  <div class="cs-fade-in cs-anim cs-anim-xl">
    <img src="hero-bg.jpg" alt="Hero background" />
  </div>
  
  <!-- Title with blur effect -->
  <h1 class="cs-blur-in cs-anim cs-anim-lg cs-ease-spring">
    Revolutionary Product
  </h1>
  
  <!-- Subtitle slides up -->
  <p class="cs-slide-up cs-anim cs-ease-standard">
    Change the way you work forever
  </p>
  
  <!-- CTA bounces in -->
  <button class="cs-scale-in cs-anim cs-ease-bounce cs-btn-press">
    Get Started Free
  </button>
</section>

Form Validation

<!-- Error state with shake -->
<input 
  type="email" 
  class="border-red-500 cs-shake"
  placeholder="Please enter valid email"
/>

<!-- Success state with bounce -->
<div class="cs-scale-in cs-anim cs-ease-bounce">
  ✅ Email verified successfully!
</div>

📊 Performance Guidelines

Best Practices

  1. Use Hardware Acceleration

    <div class="cs-scale-in cs-anim cs-will-transform">
      Optimized animation
    </div>
  2. Batch Animations

    • Use stagger system instead of individual delays
    • Group related animations in single containers
  3. Consider Reduced Motion

    • All animations automatically respect user preferences

Performance Metrics

  • Hardware Accelerated - Uses GPU for transforms
  • 60 FPS Optimized - Smooth animation performance
  • Minimal Bundle Size - Only includes used animations
  • No JavaScript Required - Pure CSS animations
  • Mobile Optimized - Faster on touch devices

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

📄 License

MIT License - see LICENSE for details.


Made with ❤️ by Casoon

📚 View all packages🐛 Report Bug✨ Request Feature