{"_id":"@crazygl/hero-text-swap-animation","name":"@crazygl/hero-text-swap-animation","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@crazygl/hero-text-swap-animation","version":"0.1.1","description":"Text Swap Animation — Phrases swap with a clean two-layer flip — old rises and fades, new rises in from below. The cleanest possible rotator. A customizable CrazyGL animated hero section — WebGL, React, drop-in.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./metadata.json":"./metadata.json","./style.css":"./style.css"},"dependencies":{"@crazygl/core":"^0.1.1"},"peerDependencies":{"react":">=18","react-dom":">=18"},"license":"Apache-2.0","author":{"name":"ybouane"},"homepage":"https://crazygl.com/hero/text-swap-animation","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-text-swap-animation.git"},"publishConfig":{"access":"public"},"keywords":["swap","transition","typography","text-swap-animation","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas","three"],"bugs":{"url":"https://github.com/crazygl-com/hero-text-swap-animation/issues"},"gitHead":"43b107b54a8e565c01c1502c2a1f1927fca7fef5","_id":"@crazygl/hero-text-swap-animation@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-/Uv4PiEj4ZHIqTTa+CeyXoCn89DLyWKBvzl441sq3T1XSZEqTZ4Msz+0YZG6p3KEoESWFkz5VcLnV3uyVpID5Q==","shasum":"86471efc8b0f12064e110474b3a6253383e9ef66","tarball":"https://registry.npmjs.org/@crazygl/hero-text-swap-animation/-/hero-text-swap-animation-0.1.1.tgz","fileCount":9,"unpackedSize":30047,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDAKCHIvdXugmHQzHXTTJpr9K1vUCWu+FvpOBODCaImiAiBz0+d7NeB+ReDOp7uuo0vZAM3hjy/D/GhCovI50p+fDQ=="}]},"_npmUser":{"name":"ybouane","email":"ybouane@ybouane.com"},"directories":{},"maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hero-text-swap-animation_0.1.1_1782922715046_0.8175104773980588"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T16:18:34.852Z","0.1.1":"2026-07-01T16:18:35.182Z","modified":"2026-07-01T16:18:35.444Z"},"maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"description":"Text Swap Animation — Phrases swap with a clean two-layer flip — old rises and fades, new rises in from below. The cleanest possible rotator. A customizable CrazyGL animated hero section — WebGL, React, drop-in.","homepage":"https://crazygl.com/hero/text-swap-animation","keywords":["swap","transition","typography","text-swap-animation","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas","three"],"repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-text-swap-animation.git"},"author":{"name":"ybouane"},"bugs":{"url":"https://github.com/crazygl-com/hero-text-swap-animation/issues"},"license":"Apache-2.0","readme":"<sub>*Hero made by [@ybouane](https://x.com/ybouane).*</sub>\n<p align=\"center\">\n  <img src=\"https://crazygl.com/heroes/hero-text-swap-animation/banner-full.png\" alt=\"Text Swap Animation\" width=\"640\">\n</p>\n\n# @crazygl/hero-text-swap-animation\n\nPhrases swap with a clean two-layer flip — old rises and fades, new rises in from below. The cleanest possible rotator.\n\n## Demo\n[Text Swap Animation](https://crazygl.com/hero/text-swap-animation)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-text-swap-animation\n```\n\n## Usage\n\n```tsx\nimport TextSwapAnimation from '@crazygl/hero-text-swap-animation';\n\nexport default function Page() {\n  return (\n    <TextSwapAnimation\n      phrases={'Design intentional.\\nShip ruthlessly.\\nIterate forever.'}\n      holdMs={1800}\n      transitMs={480}\n      textColor=\"#ffffff\"\n      fontSize={88}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Content** — `phrases` (one line per phrase), `holdMs` (dwell time), `transitMs` (swap duration).\n- **Type** — `textColor`, `fontSize`, `maxWidth`, `textAlign`, `lineHeight`, `letterSpacing`, `headingFontFamily`, `headingFontWeight`.\n- **Backdrop** — `transparentBackground`, `bgColor`.\n\n## Best for\n\n- SaaS / landing headlines that cycle a value proposition.\n- Portfolio or agency intros that rotate a few taglines.\n- Anywhere you want a minimal, distraction-free animated headline.\n\n\n\nThis hero is part of [CrazyGL](https://crazygl.com), a collection of production-ready WebGL, canvas, 3D, and typography effects. Every CrazyGL hero ships with an agent-ready `SKILL.md` file that helps developers and coding agents adapt the effect into custom landing pages and interactive experiences.\n","readmeFilename":"README.md","_rev":"1-23579f4942bc6568cb4cc1260696ee5c"}