{"_id":"@crazygl/hero-app-screenshot-fan-stack","_rev":"2-4589ab5dc64da42f9c2385a886fe3ebe","name":"@crazygl/hero-app-screenshot-fan-stack","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@crazygl/hero-app-screenshot-fan-stack","version":"0.1.0","author":{"name":"ybouane"},"license":"Apache-2.0","_id":"@crazygl/hero-app-screenshot-fan-stack@0.1.0","maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"homepage":"https://crazygl.com/hero/app-screenshot-fan-stack","bugs":{"url":"https://github.com/crazygl-com/hero-app-screenshot-fan-stack/issues"},"dist":{"shasum":"c16f53d1e57fe458d34e1e3b2c5e49722e04ea3c","tarball":"https://registry.npmjs.org/@crazygl/hero-app-screenshot-fan-stack/-/hero-app-screenshot-fan-stack-0.1.0.tgz","fileCount":9,"integrity":"sha512-M+ExoE1ZndefFTFs6dhh6P2xgoAXBfk3yZqdBNsyzWuocycijlb9YzVtf/N5VyKlNgE/A70OiZMaocUbdgQCWQ==","signatures":[{"sig":"MEUCIQDV9xqx6bzgrcnW6vwpTv500Aurv6gSq8f9n28/W/lsfQIgV1bf9IRgy0fCHQ9oSzkb/la2wpKupQDTZWmjiLNtb28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./style.css","./metadata.json":"./metadata.json"},"gitHead":"bf1d4cb9baa731776738cd7a98e9553a226a1d77","_npmUser":{"name":"ybouane","email":"ybouane@ybouane.com"},"repository":{"url":"git+https://github.com/crazygl-com/hero-app-screenshot-fan-stack.git","type":"git"},"_npmVersion":"11.12.0","description":"App screenshots fan up from below in a looping stack — the lead screen drifts away while the next card animates forward and a new one slides in at the back.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"three":"^0.184.0","@crazygl/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/hero-app-screenshot-fan-stack_0.1.0_1782870482984_0.2807784538960203","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@crazygl/hero-app-screenshot-fan-stack","version":"0.1.1","description":"App Screenshot Fan Stack — Your product screenshots pop up from below and arrange in a soft fan — every few seconds the lead card drifts away and the next slides forward in a smooth, looping reveal. A customizable CrazyGL animated hero section — WebGL, Re","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","three":"^0.184.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"license":"Apache-2.0","author":{"name":"ybouane"},"homepage":"https://crazygl.com/hero/app-screenshot-fan-stack","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-app-screenshot-fan-stack.git"},"publishConfig":{"access":"public"},"keywords":["three","3d","screenshot","fan","stack","apps","templates","mobile","cards","loop","app-screenshot-fan-stack","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas"],"bugs":{"url":"https://github.com/crazygl-com/hero-app-screenshot-fan-stack/issues"},"gitHead":"b3a26206de7726a0a417f87773cbacbbb0ec2206","_id":"@crazygl/hero-app-screenshot-fan-stack@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-ujJ9Y8clFN8qDDI0P7nMRcVMMRyN5euFgGf/OhBTnvUMJEC/sgLmRkrEr2zx92xquYOStVDA+lGoibP6A8R7Cw==","shasum":"e33568bb6de961f2bdc5d98dca1d2afcd51772fa","tarball":"https://registry.npmjs.org/@crazygl/hero-app-screenshot-fan-stack/-/hero-app-screenshot-fan-stack-0.1.1.tgz","fileCount":9,"unpackedSize":87985,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDjM3qRFg/p+Bo8h0+Xox9UVOFQ132w8dl9TcG3ktQqFAiBKvZ3xukTyy07WjqWQEDhwlCFmkTdcSnMsvwEfqHoncw=="}]},"_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-app-screenshot-fan-stack_0.1.1_1782922252153_0.5889659359826507"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T01:48:02.855Z","modified":"2026-07-01T16:10:52.449Z","0.1.0":"2026-07-01T01:48:03.130Z","0.1.1":"2026-07-01T16:10:52.312Z"},"bugs":{"url":"https://github.com/crazygl-com/hero-app-screenshot-fan-stack/issues"},"author":{"name":"ybouane"},"license":"Apache-2.0","homepage":"https://crazygl.com/hero/app-screenshot-fan-stack","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-app-screenshot-fan-stack.git"},"description":"App Screenshot Fan Stack — Your product screenshots pop up from below and arrange in a soft fan — every few seconds the lead card drifts away and the next slides forward in a smooth, looping reveal. A customizable CrazyGL animated hero section — WebGL, Re","maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"readme":"<sub>*Hero made by [@ybouane](https://x.com/ybouane).*</sub>\n<p align=\"center\">\n  <img src=\"https://crazygl.com/heroes/hero-app-screenshot-fan-stack/banner-full.png\" alt=\"App Screenshot Fan Stack\" width=\"640\">\n</p>\n\n# @crazygl/hero-app-screenshot-fan-stack\n\nYour product screenshots pop up from below and arrange in a soft fan — every few seconds the lead card drifts away and the next slides forward in a smooth, looping reveal.\n\n## Demo\n[App Screenshot Fan Stack](https://crazygl.com/hero/app-screenshot-fan-stack)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-app-screenshot-fan-stack\n```\n\n## Usage\n\n```tsx\nimport HeroAppScreenshotFanStack from '@crazygl/hero-app-screenshot-fan-stack';\n\nexport default function Page() {\n  return (\n    <HeroAppScreenshotFanStack\n      heading={'Every screen,\\non rotation.'}\n      screenshot1=\"/shots/dashboard.avif\"\n      screenshot2=\"/shots/mobile.avif\"\n      cardCount={6}\n      fanAmount={0.74}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Screenshots** — `screenshot1`…`screenshot7`; each card derives its aspect ratio from the loaded image, so portraits and dashboards mix naturally.\n- **Cards** — `cardCount` (3–7), `fanAmount` (tight stack → wide arc), `cardScale`, `cardCornerRadius`.\n- **Loop** — `cycleInterval` (seconds between throws), `transitionDuration` (ease time of each throw).\n- **Motion** — `pointerParallax` (cursor tilt), `ambientFloat` (idle bob).\n- **Lighting** — `keyColor` (warm), `fillColor` (cool), `screenBrightness` (emissive boost), `shadowStrength`.\n- **Background** — `bgTop` / `bgBottom` pastel radial gradient, or `transparentBackground`.\n- **Layout** — `contentAlign`, padding, `groupOffsetX/Y` to position the fan.\n\n## Best for\n\n- SaaS and dashboard products showing off many screens at once.\n- Template galleries and design-tool marketing pages.\n- Mobile-app landings where \"look at all our screens\" is the 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","keywords":["three","3d","screenshot","fan","stack","apps","templates","mobile","cards","loop","app-screenshot-fan-stack","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas"]}