{"_id":"animatecss-tailwind-adapter","name":"animatecss-tailwind-adapter","dist-tags":{"latest":"2.0.6"},"versions":{"2.0.6":{"name":"animatecss-tailwind-adapter","version":"2.0.6","description":"A configurable, namespaced Animate.css integration for Tailwind CSS","main":"plugin.js","exports":"./plugin.js","homepage":"https://sericpieap.github.io/animatecss-tailwind-adapter/","repository":{"type":"git","url":"git+https://github.com/sericpieap/animatecss-tailwind-adapter.git"},"author":{"name":"sericpieap"},"license":"MIT","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"scripts":{"lint":"eslint . --ext .js","test":"node --test"},"dependencies":{"animate.css":"^4.1.1","postcss":"^8.4.5","@aaron205whitmore/postcss-animate-utils":"^1.0.1","postcss-js":"^3.0.3","postcss-selector-parser":"^6.0.8"},"devDependencies":{"eslint":"^8.5.0","eslint-config-airbnb-base":"15.0.0","eslint-plugin-import":"^2.25.2","tailwindcss":"^3.0.7"},"peerDependencies":{"tailwindcss":"^3"},"engines":{"node":">=18"},"_id":"animatecss-tailwind-adapter@2.0.6","bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-adapter/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-xUYmRvcpcrc2Q5VT6muogMpOmHsXRdNo/cd87vXrZA0hziavzvHlJu9s6BRvP1/5yUa3mU8yJXFEiddLwLGDyw==","shasum":"7f1220f92e75e5ccc9147ef88b699540ee424c67","tarball":"https://registry.npmjs.org/animatecss-tailwind-adapter/-/animatecss-tailwind-adapter-2.0.6.tgz","fileCount":8,"unpackedSize":16679,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJs0VVuUYyqisZnqDrZ74jkztdSSPjiBDc7VLWYRxI8AIhAN8dRVJPN1Xu/Aeazn1Bwfcdedwn1cW3V0xPIWQKeTTD"}]},"_npmUser":{"name":"grant587holloway","email":"Grant587Holloway@outlook.com"},"directories":{},"maintainers":[{"name":"grant587holloway","email":"Grant587Holloway@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/animatecss-tailwind-adapter_2.0.6_1785269006338_0.3506043690520053"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T20:03:26.260Z","2.0.6":"2026-07-28T20:03:26.477Z","modified":"2026-07-28T20:03:26.704Z"},"maintainers":[{"name":"grant587holloway","email":"Grant587Holloway@outlook.com"}],"description":"A configurable, namespaced Animate.css integration for Tailwind CSS","homepage":"https://sericpieap.github.io/animatecss-tailwind-adapter/","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"repository":{"type":"git","url":"git+https://github.com/sericpieap/animatecss-tailwind-adapter.git"},"author":{"name":"sericpieap"},"bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-adapter/issues"},"license":"MIT","readme":"# animatecss-tailwind-adapter\r\n\r\nA configurable Animate.css integration for Tailwind CSS 3. It reads the installed Animate.css catalog at build time, emits only the animations you select, and namespaces generated keyframes to prevent collisions.\r\n\r\nGlobal `duration`, `delay`, and `iterationCount` values are passed to `@aaron205whitmore/postcss-animate-utils`, which generates the corresponding Tailwind base custom properties.\r\n\r\n## Installation\r\n\r\n```sh\r\nnpm install animatecss-tailwind-adapter animate.css\r\n```\r\n\r\n## Basic usage\r\n\r\n```js\r\n// tailwind.config.js\r\nmodule.exports = {\r\n  content: ['./src/**/*.{html,js,jsx,ts,tsx,vue,svelte}'],\r\n  plugins: [\r\n    require('animatecss-tailwind-adapter')({\r\n      animations: ['bounce', 'fadeIn', 'fadeOut', 'slideInUp']\r\n    })\r\n  ]\r\n};\r\n```\r\n\r\nApply the base class together with an animation class:\r\n\r\n```html\r\n<div class=\"keyframe keyframe-fade-in\">Content</div>\r\n```\r\n\r\nAnimation names are converted to kebab case in generated class names. For example, `fadeInDownBig` becomes `keyframe-fade-in-down-big`.\r\n\r\n## Configuration\r\n\r\n```js\r\nrequire('animatecss-tailwind-adapter')({\r\n  prefix: 'motion',\r\n  animations: ['bounce', 'fadeIn'],\r\n  exclude: ['bounce'],\r\n  aliases: {\r\n    enter: 'fadeIn'\r\n  },\r\n  duration: '900ms',\r\n  delay: '0s',\r\n  iterationCount: '1',\r\n  namespaceKeyframes: true,\r\n  respectReducedMotion: true,\r\n  modifiers: true,\r\n  durations: {\r\n    quick: '300ms',\r\n    deliberate: '1400ms'\r\n  },\r\n  delays: {\r\n    short: '150ms',\r\n    long: '800ms'\r\n  },\r\n  repeats: {\r\n    twice: '2',\r\n    forever: 'infinite'\r\n  }\r\n})\r\n```\r\n\r\n| Option | Default | Purpose |\r\n| --- | --- | --- |\r\n| `prefix` | `keyframe` | Prefix for classes and generated keyframes |\r\n| `animations` | `'*'` | Animate.css names to include; `'*'` includes the full catalog |\r\n| `exclude` | `[]` | Animation names to omit |\r\n| `aliases` | `{}` | Public class names mapped to Animate.css animation names |\r\n| `duration` | `1s` | Default animation duration |\r\n| `delay` | `0s` | Default animation delay |\r\n| `iterationCount` | `1` | Default iteration count |\r\n| `namespaceKeyframes` | `true` | Prefix keyframe identifiers to prevent collisions |\r\n| `respectReducedMotion` | `true` | Minimize animation when the user requests reduced motion |\r\n| `modifiers` | `true` | Generate timing, repeat, pause, and run utilities |\r\n| `durations` | Built-in map | Duration modifier tokens |\r\n| `delays` | Built-in map | Delay modifier tokens |\r\n| `repeats` | Built-in map | Iteration modifier tokens |\r\n\r\nThe deprecated `classes` option remains an alias for `animations` during migration.\r\n\r\n## Generated utilities\r\n\r\nWith the default prefix, the plugin generates:\r\n\r\n```html\r\n<div class=\"keyframe keyframe-bounce keyframe-duration-fast keyframe-delay-1s keyframe-repeat-2\"></div>\r\n```\r\n\r\n- `keyframe-duration-{token}` sets the duration variable.\r\n- `keyframe-delay-{token}` sets the delay variable.\r\n- `keyframe-repeat-{token}` sets the iteration-count variable.\r\n- `keyframe-paused` and `keyframe-running` control playback.\r\n\r\nTailwind variants work normally:\r\n\r\n```html\r\n<div class=\"keyframe keyframe-fade-in hover:keyframe-paused md:keyframe-duration-slow\"></div>\r\n```\r\n\r\n## Aliases\r\n\r\nAliases provide stable semantic names without copying keyframes:\r\n\r\n```js\r\nrequire('animatecss-tailwind-adapter')({\r\n  animations: [],\r\n  aliases: {\r\n    notificationEnter: 'fadeInDown',\r\n    notificationExit: 'fadeOutUp'\r\n  }\r\n})\r\n```\r\n\r\n```html\r\n<aside class=\"keyframe keyframe-notification-enter\"></aside>\r\n```\r\n\r\n## Catalog\r\n\r\nThe package exposes the animation names found in the installed Animate.css version:\r\n\r\n```js\r\nconst keyframes = require('animatecss-tailwind-adapter');\r\nconsole.log(keyframes.catalog());\r\n```\r\n\r\n## Migration from 1.x\r\n\r\n- The default class prefix changed from `animatecss` to `keyframe`.\r\n- Generated animation class names use kebab case.\r\n- Keyframe names are namespaced by default.\r\n- `animations` replaces `classes`; `classes` remains a compatibility alias.\r\n- `@aaron205whitmore/postcss-animate-utils` now processes global timing options and is installed automatically.\r\n- Reduced-motion handling is enabled by default.\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-9437543848cfb4fb6f89880fda120b22"}