{"_id":"animatecss-tailwind-presets","_rev":"2-5d5e48efde3aa1591e795fd21d3079fc","name":"animatecss-tailwind-presets","dist-tags":{"latest":"2.0.3"},"versions":{"1.0.0":{"name":"animatecss-tailwind-presets","version":"1.0.0","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"author":{"name":"sericpieap"},"license":"MIT","_id":"animatecss-tailwind-presets@1.0.0","maintainers":[{"name":"elony16","email":"elonyyutzu.dev@gmail.com"}],"homepage":"https://sericpieap.github.io/animatecss-tailwind-presets/","bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-presets/issues"},"dist":{"shasum":"54bdedfad2ea0d09c0338b91cd300141462968c7","tarball":"https://registry.npmjs.org/animatecss-tailwind-presets/-/animatecss-tailwind-presets-1.0.0.tgz","fileCount":8,"integrity":"sha512-8H6DcicgyaiC47d5WQzEgvLTzZYlgOzORkjGowdd9mG/97bFrIhkSndLWiqZZTvOWQ8az6Ys8EW/EjOI0eA9SQ==","signatures":[{"sig":"MEUCIQCVfRrmzQtuxKBB9DaM4LQhb+bjRObNCkiXmUPs0UsIBgIgFDE30sTa0vYSLOLt4yasQ3c53iU13hlhiNsZOZ6bqp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16891},"main":"plugin.js","engines":{"node":">=18"},"exports":"./plugin.js","scripts":{"lint":"eslint . --ext .js","test":"node --test"},"_npmUser":{"name":"elony16","email":"elonyyutzu.dev@gmail.com"},"repository":{"url":"git+https://github.com/sericpieap/animatecss-tailwind-presets.git","type":"git"},"_npmVersion":"11.19.0","description":"A configurable, namespaced Animate.css integration for Tailwind CSS","directories":{},"_nodeVersion":"24.21.0","dependencies":{"postcss":"^8.4.5","postcss-js":"^3.0.3","animate.css":"^4.1.1","postcss-selector-parser":"^6.0.8","@jasperquinn/postcss-motion-helpers":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.5.0","tailwindcss":"^3.0.7","eslint-plugin-import":"^2.25.2","eslint-config-airbnb-base":"15.0.0"},"peerDependencies":{"tailwindcss":"^3"},"_npmOperationalInternal":{"tmp":"tmp/animatecss-tailwind-presets_1.0.0_1790717823000_0.6848847833015965","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"_id":"animatecss-tailwind-presets@2.0.3","bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-presets/issues"},"dist":{"shasum":"f453aa94a1dea60e12195c5ca8dfcdc0c5a59d7b","tarball":"https://registry.npmjs.org/animatecss-tailwind-presets/-/animatecss-tailwind-presets-2.0.3.tgz","fileCount":8,"integrity":"sha512-kV6C+J+CwtU4sfybXDuYrbzQF4BDwMTdHUGdRVh3CRp0J47bsk/mCl4O5QiJCuLTuNiIWxWXNwKxjj8ew6ZPIg==","signatures":[{"sig":"MEUCIDhDSndg7dPVM8dEC+4D4r/wg81zNd6su3XmtxCO7EirAiEA62x6bu7MWhaV1z74eICrNtro+ksrnYTH6jr25MYiShA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGNYzf2LjLpdzeCC1V5L+7cGSGaZCBBb+TY0vNop+U8lAiAPupjQknh163rqTJhIkacuKUFWbB8sF8D8YCY/2fSzVw=="}],"unpackedSize":16891},"main":"plugin.js","name":"animatecss-tailwind-presets","author":{"name":"sericpieap"},"engines":{"node":">=18"},"exports":"./plugin.js","license":"MIT","scripts":{"lint":"eslint . --ext .js","test":"node --test"},"version":"2.0.3","_npmUser":{"name":"elony16","email":"elonyyutzu.dev@gmail.com"},"homepage":"https://sericpieap.github.io/animatecss-tailwind-presets/","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"repository":{"url":"git+https://github.com/sericpieap/animatecss-tailwind-presets.git","type":"git"},"_npmVersion":"11.19.0","description":"A configurable, namespaced Animate.css integration for Tailwind CSS","directories":{},"maintainers":[{"name":"elony16","email":"elonyyutzu.dev@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"postcss":"^8.4.5","postcss-js":"^3.0.3","animate.css":"^4.1.1","postcss-selector-parser":"^6.0.8","@jasperquinn/postcss-motion-helpers":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.5.0","tailwindcss":"^3.0.7","eslint-plugin-import":"^2.25.2","eslint-config-airbnb-base":"15.0.0"},"peerDependencies":{"tailwindcss":"^3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/animatecss-tailwind-presets_2.0.3_1790718242806_0.9149350769408344"}}},"time":{"created":"2026-09-29T21:37:02.830Z","modified":"2026-09-29T21:44:03.102Z","1.0.0":"2026-09-29T21:37:03.130Z","2.0.3":"2026-09-29T21:44:02.903Z"},"bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-presets/issues"},"author":{"name":"sericpieap"},"license":"MIT","homepage":"https://sericpieap.github.io/animatecss-tailwind-presets/","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"repository":{"url":"git+https://github.com/sericpieap/animatecss-tailwind-presets.git","type":"git"},"description":"A configurable, namespaced Animate.css integration for Tailwind CSS","maintainers":[{"name":"elony16","email":"elonyyutzu.dev@gmail.com"}],"readme":"# animatecss-tailwind-presets\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 `@jasperquinn/postcss-motion-helpers`, which generates the corresponding Tailwind base custom properties.\r\n\r\n## Installation\r\n\r\n```sh\r\nnpm install animatecss-tailwind-presets 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-presets')({\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-presets')({\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-presets')({\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-presets');\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- `@jasperquinn/postcss-motion-helpers` 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"}