{"_id":"@crazygl/hero-font-changer","name":"@crazygl/hero-font-changer","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@crazygl/hero-font-changer","version":"0.1.1","description":"Font Changer — Heading cycles through a curated stack of Google Fonts on a timer — each crossfade preserves the line so the words stay readable while the personality changes. Per-font scale is auto-normalised so… A customizable CrazyGL animated hero secti","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/font-changer","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-font-changer.git"},"publishConfig":{"access":"public"},"keywords":["font","cycle","typography","font-changer","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas","three"],"bugs":{"url":"https://github.com/crazygl-com/hero-font-changer/issues"},"gitHead":"a15f1d07999616f4145525e60d949e7e5c420eea","_id":"@crazygl/hero-font-changer@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-beds4tTTs9iFsO9jhTSezz8bgkD0Q1Ne6ipxOQwyMYcZyuMfbtnSRuRwCJ2VjlqP6H1fEu0QEnyRZT02taeuVA==","shasum":"7debbeb370d3887bab5bb8e6b5a0e8301dfb92ab","tarball":"https://registry.npmjs.org/@crazygl/hero-font-changer/-/hero-font-changer-0.1.1.tgz","fileCount":9,"unpackedSize":34332,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICLqyZ74KCzwEpTiDZRX87h6YjBZ7ivY8cgYGjXCqFNsAiAh0YgCLOXMtt7RQ2yIxESx6Zrvtxs0PrfnOIMoOPUv2Q=="}]},"_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-font-changer_0.1.1_1782922329125_0.4263538776617546"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T16:12:08.943Z","0.1.1":"2026-07-01T16:12:09.274Z","modified":"2026-07-01T16:12:09.513Z"},"maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"description":"Font Changer — Heading cycles through a curated stack of Google Fonts on a timer — each crossfade preserves the line so the words stay readable while the personality changes. Per-font scale is auto-normalised so… A customizable CrazyGL animated hero secti","homepage":"https://crazygl.com/hero/font-changer","keywords":["font","cycle","typography","font-changer","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-font-changer.git"},"author":{"name":"ybouane"},"bugs":{"url":"https://github.com/crazygl-com/hero-font-changer/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-font-changer/banner-full.png\" alt=\"Font Changer\" width=\"640\">\n</p>\n\n# @crazygl/hero-font-changer\n\nHeading cycles through a curated stack of Google Fonts on a timer — each crossfade preserves the line so the words stay readable while the personality changes. Per-font scale is auto-normalised so display, mono, and handwriting faces all read at the same visual size. Prefix and suffix stay in a fixed font when you only want part of the line to flip.\n\n## Demo\n[Font Changer](https://crazygl.com/hero/font-changer)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-font-changer\n```\n\n## Usage\n\n```tsx\nimport FontChanger from '@crazygl/hero-font-changer';\n\nexport default function Hero() {\n  return (\n    <FontChanger\n      prefix=\"Type, in every\"\n      heading=\"voice\"\n      fontList={`Inter\\nPlayfair Display\\nMonoton\\nLobster`}\n      holdDuration={140}\n      fadeDuration={90}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Content** — `prefix` (fixed font), `heading` (the cycling word), `suffix` (fixed font), `fontList` (one Google font per line).\n- **Timing** — `holdDuration` (ms each font holds), `fadeDuration` (ms crossfade).\n- **Typography** — `textColor`, `fontSize`, `fontWeight`.\n- **Backdrop** — `transparentBackground`, `bgColor`.\n\n## Best for\n\n- Type foundry / design-tool landing pages.\n- Brand or agency heroes that want to show range and personality.\n- Showcasing multilingual or multi-voice messaging.\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-91ff686987496a0e1a0f54b602e1e954"}