{"_id":"@crazygl/hero-draggable-portfolio-cards","_rev":"2-e8a1c32a313fcd024c00073df4de5c38","name":"@crazygl/hero-draggable-portfolio-cards","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@crazygl/hero-draggable-portfolio-cards","version":"0.1.0","author":{"name":"ybouane"},"license":"Apache-2.0","_id":"@crazygl/hero-draggable-portfolio-cards@0.1.0","maintainers":[{"name":"ybouane","email":"ybouane@ybouane.com"}],"homepage":"https://crazygl.com/hero/draggable-portfolio-cards","bugs":{"url":"https://github.com/crazygl-com/hero-draggable-portfolio-cards/issues"},"dist":{"shasum":"bc5f5582c1350e7e97dc48e35da7ca69f7b5b5ab","tarball":"https://registry.npmjs.org/@crazygl/hero-draggable-portfolio-cards/-/hero-draggable-portfolio-cards-0.1.0.tgz","fileCount":11,"integrity":"sha512-SLNmiIsHffo8IOeTa82M8lJYlwNtRURuxqxLcpsNp3tTEU2MnI+Pj+Z5sGxxLdysTME8JeI2a6HPC12AR9pvTQ==","signatures":[{"sig":"MEYCIQCv2EgTH9Ag9YhpbvymilgRxkrkN+vyND+xAMIYBBii/gIhAONIxcbwcDDbAX0tZvhgz32qoNLojlVJ8W4Pk6+bV5L8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87644},"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":"bd7e015c7143f2fd90ca849c0f6068b6ba7bb3c4","_npmUser":{"name":"ybouane","email":"ybouane@ybouane.com"},"repository":{"url":"git+https://github.com/crazygl-com/hero-draggable-portfolio-cards.git","type":"git"},"_npmVersion":"11.12.0","description":"Case-study cards float in depth behind the headline, ready to be explored like a tactile stack of editorial portfolio pieces.","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-draggable-portfolio-cards_0.1.0_1782870958484_0.27271098772089886","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@crazygl/hero-draggable-portfolio-cards","version":"0.1.1","description":"Draggable Portfolio Cards — Portfolio cards float behind the headline and can be dragged with momentum, making the hero feel tactile and playful. 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","three":"^0.184.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"license":"Apache-2.0","author":{"name":"ybouane"},"homepage":"https://crazygl.com/hero/draggable-portfolio-cards","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-draggable-portfolio-cards.git"},"publishConfig":{"access":"public"},"keywords":["three","3d","screenshot","stack","cards","saas","templates","dashboards","modules","editorial","portfolio","draggable-portfolio-cards","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas"],"bugs":{"url":"https://github.com/crazygl-com/hero-draggable-portfolio-cards/issues"},"gitHead":"c7e4b576f6d1b0cb59a2a1e38292a59ed0c37ff2","_id":"@crazygl/hero-draggable-portfolio-cards@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-LC0vSkqX90vw24Xt7SgLH5BDfK2czm89gmdxuIHwAcc7aaRGv7poopTLlZg/7o9X0baLtTj3rUOtAtaC8ZJSMg==","shasum":"893ef0e78d788c0585986b3def8d46cdb33e641f","tarball":"https://registry.npmjs.org/@crazygl/hero-draggable-portfolio-cards/-/hero-draggable-portfolio-cards-0.1.1.tgz","fileCount":11,"unpackedSize":88239,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDGu5qWBW8hAN4L0VLm7BkMwWoV3gItYnI0J4H9XxRK5AiEA+sZD/E9Ixh5NKaYqiZI8UFWsCiDM7hMI+AMn8OM7PgA="}]},"_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-draggable-portfolio-cards_0.1.1_1782922307334_0.06227278195736985"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T01:55:58.186Z","modified":"2026-07-01T16:11:47.635Z","0.1.0":"2026-07-01T01:55:58.638Z","0.1.1":"2026-07-01T16:11:47.486Z"},"bugs":{"url":"https://github.com/crazygl-com/hero-draggable-portfolio-cards/issues"},"author":{"name":"ybouane"},"license":"Apache-2.0","homepage":"https://crazygl.com/hero/draggable-portfolio-cards","repository":{"type":"git","url":"git+https://github.com/crazygl-com/hero-draggable-portfolio-cards.git"},"description":"Draggable Portfolio Cards — Portfolio cards float behind the headline and can be dragged with momentum, making the hero feel tactile and playful. A customizable CrazyGL animated hero section — WebGL, React, drop-in.","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-draggable-portfolio-cards/banner-full.png\" alt=\"Draggable Portfolio Cards\" width=\"640\">\n</p>\n\n# @crazygl/hero-draggable-portfolio-cards\n\nPortfolio cards float behind the headline and can be dragged with momentum, making the hero feel tactile and playful.\n\n## Demo\n[Draggable Portfolio Cards](https://crazygl.com/hero/draggable-portfolio-cards)\n\n## Install\n\n```bash\nnpm install @crazygl/hero-draggable-portfolio-cards\n```\n\n## Usage\n\n```tsx\nimport DraggablePortfolioCards from '@crazygl/hero-draggable-portfolio-cards';\n\nexport default function Page() {\n  return (\n    <DraggablePortfolioCards\n      heading={\"A stack you\\ncan explore.\"}\n      card1Image=\"/shots/dashboard.avif\"\n      cardCount={5}\n      cursorTilt={0.7}\n    />\n  );\n}\n```\n\n## Customise\n\n- **Content** — `contentType`, `heading`, `subheading`, or custom nodes.\n- **Screenshots** — `card1Image`–`card5Image` (your real product shots; ~16:9 reads best).\n- **Stack** — `cardCount` (2–6), `cardSize`, `cardCornerRadius`, `groupOffsetX/Y`.\n- **Motion** — `cursorTilt` (pointer parallax), `ambientFloat` (idle bob).\n- **Style** — `edgeGlowColor` / `edgeGlowStrength`, `shadowStrength`.\n- **Lighting** — `keyColor`, `fillColor`, `screenBrightness` (emissive boost on the screenshots).\n- **Background** — `bgTop` / `bgBottom`.\n\n## Best for\n\n- Product studios and agency portfolios showing several screens at once.\n- SaaS launch pages cycling through dashboards, builders, and editors.\n- Template or theme marketplaces with a gallery of previews.\n- Editorial showcases wanting a tactile, playful first impression.\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","stack","cards","saas","templates","dashboards","modules","editorial","portfolio","draggable-portfolio-cards","crazygl","hero","hero-section","webgl","react","animation","ui","landing-page","interactive","frontend","component","canvas"]}