{"_id":"@crazygl/hero-text-video-mask","name":"@crazygl/hero-text-video-mask","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@crazygl/hero-text-video-mask","version":"0.1.1","description":"Text Video Mask — A wordmark rendered as a window into a looping video (or a still photograph), with the rest of the canvas filled by a solid backdrop colour. The text IS the visible footage. A customizable CrazyGL animated hero section — WebGL, React, dr","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-video-mask","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-text-video-mask.git"},"publishConfig":{"access":"public"},"keywords":["video-mask","typography","text-clip","svg-mask","headline","text-video-mask","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas","three"],"bugs":{"url":"https://github.com/crazygl-com/hero-text-video-mask/issues"},"gitHead":"e45dc08cbbc40a545bbbbf5a7a576cd977b4d7c9","_id":"@crazygl/hero-text-video-mask@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-YI79z1MCud0y+QM0SUTA6/WTGOU7ah57of34Jx+s8TQ28uEkHhnhmys/tpka/bIq52KNwOS9ZEn4NA6/JLd7LQ==","shasum":"5a2f63bc7deb7bd177194e3c594238e881fd9f61","tarball":"https://registry.npmjs.org/@crazygl/hero-text-video-mask/-/hero-text-video-mask-0.1.1.tgz","fileCount":9,"unpackedSize":37336,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFM/ZfELaXZH3T3HZYVE1zpveNqvw1VVUJ4UTOjVJkVCAiEAybzB9+I6LZVvNdYLAvHSLjCPO0yBfBJd1v8guo9kW9A="}]},"_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-video-mask_0.1.1_1782922719520_0.14449979151804082"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T16:18:39.338Z","0.1.1":"2026-07-01T16:18:39.705Z","modified":"2026-07-01T16:18:39.894Z"},"maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"description":"Text Video Mask — A wordmark rendered as a window into a looping video (or a still photograph), with the rest of the canvas filled by a solid backdrop colour. The text IS the visible footage. A customizable CrazyGL animated hero section — WebGL, React, dr","homepage":"https://crazygl.com/hero/text-video-mask","keywords":["video-mask","typography","text-clip","svg-mask","headline","text-video-mask","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-video-mask.git"},"author":{"name":"ybouane"},"bugs":{"url":"https://github.com/crazygl-com/hero-text-video-mask/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-video-mask/banner-full.png\" alt=\"Text Video Mask\" width=\"640\">\n</p>\n\n# @crazygl/hero-text-video-mask\n\nA wordmark rendered as a window into a looping video (or a still photograph), with the rest of the canvas filled by a solid backdrop colour. The text IS the visible footage.\n\n## Demo\n[Text Video Mask](https://crazygl.com/hero/text-video-mask)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-text-video-mask\n```\n\n## Usage\n\n```tsx\nimport TextVideoMask from '@crazygl/hero-text-video-mask';\n\nexport default function Page() {\n  return (\n    <TextVideoMask\n      heading=\"VIDEO\"\n      media=\"/videos/launch-reel.mp4\"\n      bgColor=\"#000000\"\n      fontSize={320}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Content** — `heading` (the masked word), `subheading`, `ctaLabel`, `onCTAClick`.\n- **Media** — `media` (MP4/WebM/MOV video or JPG/PNG/WebP/AVIF still), `autoplay`, `loop`, `muted`.\n- **Typography** — `textAlign`, `fontSize`, `letterSpacing`, `headingFontFamily`, `headingFontWeight`.\n- **Backdrop** — `bgColor`, `textColor` (solid fallback when no media).\n\n## Best for\n\n- Brand films, agency reels, and tour/music announcements\n- Fashion, sports, and lifestyle launches where footage is the mood\n- Immersive product launches with a bold one-word 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-e5ebe3efcdd79b8dc7f6e8da4518e9be"}