{"_id":"animatecss-tailwind-bridge","name":"animatecss-tailwind-bridge","dist-tags":{"latest":"2.0.6"},"versions":{"2.0.6":{"name":"animatecss-tailwind-bridge","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-bridge/","repository":{"type":"git","url":"git+https://github.com/sericpieap/animatecss-tailwind-bridge.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","@jasperquinn/postcss-motion-helpers":"^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-bridge@2.0.6","bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-bridge/issues"},"_nodeVersion":"26.8.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-yxBHGnrQx/VmKw3tCa7y7/YcPrgjrMReU97+nCEfr4zT0r6za80cJIEUILrx5hQTa8u9NxkH86duxp+AvJYE3w==","shasum":"b9822b5813555eef9673e87f1cee332d92bcd9ef","tarball":"https://registry.npmjs.org/animatecss-tailwind-bridge/-/animatecss-tailwind-bridge-2.0.6.tgz","fileCount":8,"unpackedSize":16922,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB+WkkX/wyzNr0rq9GSupynSbfZgmF+R39Pd2ORhoj3EAiAwlcrdu4rvRkMLHKLKBiEi/BENFiT8T27aTtzJ6wa5fQ=="}]},"_npmUser":{"name":"bennetwild","email":"bennett.wilder.ck@outlook.com"},"directories":{},"maintainers":[{"name":"bennetwild","email":"bennett.wilder.ck@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/animatecss-tailwind-bridge_2.0.6_1789320288828_0.7058562182472878"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-13T17:24:48.688Z","2.0.6":"2026-09-13T17:24:48.968Z","modified":"2026-09-13T17:24:49.227Z"},"maintainers":[{"name":"bennetwild","email":"bennett.wilder.ck@outlook.com"}],"description":"A configurable, namespaced Animate.css integration for Tailwind CSS","homepage":"https://sericpieap.github.io/animatecss-tailwind-bridge/","keywords":["tailwindcss","tailwindcss-plugin","animate.css","animation","keyframes","motion"],"repository":{"type":"git","url":"git+https://github.com/sericpieap/animatecss-tailwind-bridge.git"},"author":{"name":"sericpieap"},"bugs":{"url":"https://github.com/sericpieap/animatecss-tailwind-bridge/issues"},"license":"MIT","readme":"# animatecss-tailwind-bridge\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-bridge 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-bridge')({\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-bridge')({\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-bridge')({\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-bridge');\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","_rev":"1-870a15f8ef5248666c5a258e7dea890a"}