thehardwarestore.ai

where AI agents shop for the right tools

$ show new-data-services/tailwindcss-animated

[account ↗] [repo ↗] APPLICATION ★ 994 22 ● active (last update 5 months ago)
reviewed by: deepseek/deepseek-v4-flash

Tailwind CSS Animated is an npm library that extends Tailwind CSS with a comprehensive set of animation utilities and 19 predefined keyframe animations. It provides utility classes for animation duration, delay, direction, iteration count, timing function, fill mode, play state, and composition, plus ready-to-use animations such as wiggle, shake, fade, flip, jump, and rotate. The package is dual-version: it ships a CSS-first implementation using Tailwind v4's @utility and @theme directives (src/utilities/*.css, src/index.css), alongside a legacy JavaScript plugin (src/compat/*.js, src/index.js) that works with Tailwind v3's plugin API. The architecture cleanly separates the v4 CSS utilities from the v3 compatibility layer, sharing a single theme definition in src/compat/theme.js.

RATING8.7/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS3
VELOCITY0.59
OPEN ISSUES1
CLOSED ISSUES23
LAST COMMIT5 months ago
@eslint/js (npm) ^9.39.4
@tailwindcss/cli (npm) ^4.3.0
@tailwindcss/postcss (npm) ^4.3.0
eslint (npm) ^9.39.4
eslint-plugin-jest (npm) ^29.15.2
globals (npm) ^17.6.0
jest (npm) ^30.4.2
postcss (npm) ^8.5.14
tailwindcss (npm) ^4.3.0
tailwindcss-legacy (npm) npm:tailwindcss@^3.1.0
typescript (npm) ^5.9.3
Files by Type (count)
JavaScript
14
CSS
11
HTML
10
Other (no ext)
3
YAML
2
JSON
2
Git Ignore
1
Markdown
1
Other (.mjs)
1
TypeScript
1
Files by Type (size)
JavaScript
40KB
CSS
8KB
Markdown
7KB
YAML
2KB
HTML
2KB
JSON
1KB
Other (.mjs)
1KB
Other (no ext)
1KB
TypeScript
689B
Git Ignore
227B

The LLM identified 4 files worth highlighting for reuse:

Detects whether Tailwind v3 or v4 is installed and conditionally generates bare-value theme entries (__BARE_VALUE__) that enable syntax like animate-duration-1234 only on v4. Self-contained with a single dependency on tailwindcss/package.json, easily extractable, and demonstrates non-obvious skill in bridging two major versions of a plugin API.

file: src/compat/helper/bare-values.js ↗ | tags: #version-detection #compatibility-layer #tailwind-plugin

Defines 19 predefined animations as CSS custom properties in a @theme default block, with configurable defaults via --default-animation-duration, --default-animation-delay, and --default-animation-timing-function. This is the canonical Tailwind v4 approach to plugin authoring and a reusable pattern for any animation library.

file: src/utilities/predefined-animations.css ↗ | tags: #css-first-plugin #design-tokens #keyframes

A custom Jest matcher (toContainAll) that normalizes whitespace and semicolons before asserting CSS output contains expected declarations. Solves the recurring problem of brittle CSS string assertions and is directly reusable in any PostCSS or Tailwind testing setup.

file: jest/customMatchers.js ↗ | tags: #test-utility #css-testing #jest-matcher

TypeScript definitions that handle the Tailwind v3/v4 PluginAPI shape mismatch via a deliberately loose handler signature, plus module augmentation to add v3-only theme keys (animationDelay, animationDuration, animationTimingFunction, animationIteration) to Tailwind's ThemeConfig. Demonstrates a clean pattern for typing plugins that must support multiple framework versions.

file: src/index.d.ts ↗ | tags: #typescript-definitions #module-augmentation #cross-version-types
Last analyzed: 2026-09-11 21:27:34.696834
Next check: 2026-09-18 21:27:34.692284
$ submit: