{"_id":"@ashbuk/spark-slider","_rev":"13-51fc526851c510180bc8b6e9844ef9a9","name":"@ashbuk/spark-slider","dist-tags":{"latest":"1.1.3"},"versions":{"0.1.2":{"name":"@ashbuk/spark-slider","version":"0.1.2","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@0.1.2","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-slider/issues"},"dist":{"shasum":"d9801c140826529b7bc735f3fd8986ca8b6407e3","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-0.1.2.tgz","fileCount":16,"integrity":"sha512-8h01OrPfLx4l8rDJnk4ncHI0xXiox0BIyi10zfOy/3eCd15EKQtnwKvR+8OfPFRsHChv9Dhf0YRrUXyTlwlE6A==","signatures":[{"sig":"MEYCIQC6+PceNwGV+f/TUkXZBqHVJ9xpvo/OtDSrz0io28tNrgIhAODH1y8cAH7/Z1Cc6pgrpZ8HqhXvS3LeEOC9jSdUr2/o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146961},"main":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b9a8487033a05890837ab4cbdc66bf03117889a4","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.9.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_0.1.2_1755220121508_0.5686670353503707","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ashbuk/spark-slider","version":"0.1.3","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@0.1.3","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-slider/issues"},"dist":{"shasum":"21eb178cd9afd62461d01dd7058d6459fde5010a","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-0.1.3.tgz","fileCount":16,"integrity":"sha512-GaZ4CD+vdK8ZZzxFSIBWr8D8gwBbiiqIapdfQfQP4MS9FQ9cJcIH9OdZp7ch/Ovr3+hA3XQXsVmTTA+dcbQ5iw==","signatures":[{"sig":"MEYCIQCtrlfnwd968U8qhkoE0xiDJtqJnlFy9o/C52eGHb0ydgIhAJd15wzCwOJB0MY2aspMTfuTbOJmT+VaTHugrpD3CGtS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147988},"main":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"8eb38ba44835280a97c55e989ad223ad7ae09474","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_0.1.3_1756208156403_0.5257475997518932","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ashbuk/spark-slider","version":"0.1.4","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@0.1.4","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-slider/issues"},"dist":{"shasum":"aca5e5d1b0a82a20e352a9d0d4e7b1c2e0452b5d","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-0.1.4.tgz","fileCount":16,"integrity":"sha512-7gXd9dT5qKbkCTzzB9qD2oHK8zwnpBmtj9Ue0riQfo0n/nSazbmcq/bYql6nRRW8H8OjobgweKaO7qtxQNjbhw==","signatures":[{"sig":"MEYCIQDmOi80qllI330C8p1YkAUjETcRGahcEGPHJl+matHrnAIhAOgLlUCeCXmHETeOK7jYOkF64nrMIuvpf3brhsonObEZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147988},"main":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e264388f867eab63b9b69d0910c594a50cd2eae4","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_0.1.4_1756209054934_0.9360843993318715","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ashbuk/spark-slider","version":"0.1.5","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@0.1.5","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-slider/issues"},"dist":{"shasum":"94a00ebe6d48b1192a1036a92fc6e978ac337f6d","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-0.1.5.tgz","fileCount":25,"integrity":"sha512-KQlU38gXuqXimwS7RAlNW5pjSkwe5/VLxg5AI4kJjAxO4dyQ2Ee3ep55011xFBoTYZyaVCTfE1aydUGaf6LaVA==","signatures":[{"sig":"MEUCIQCLP07vA3DJKbZt88d3gID/GwJdQdZsnDZKn1vdI0MZmwIgXQWfCSrD7bKYjxQ0KBomq4IbXutX+Z4wyyNhtlyafVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162715},"main":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"2f1866e11e6d6b0e48f7d533679bd9a2ef389336","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_0.1.5_1756599200850_0.7382718710669678","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ashbuk/spark-slider","version":"0.1.6","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@0.1.6","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-spark-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues"},"dist":{"shasum":"8a099a00571caca4cd3a2f946a5b24d296900e2d","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-0.1.6.tgz","fileCount":25,"integrity":"sha512-/hciwoiYrm6w0bGZsLuO6/SUo7bJTssCeNTfk6anS/yUEgflz7Sa8jsjnpJ2mh8xI7JeGRTvvkjXGoJZcC9+Sw==","signatures":[{"sig":"MEUCIQCqWwXF3q8r2GgG5mLJ6MvRx5mEVjJGu5EdegptoqhLvgIgcqhC2zWSEWr+q33fYFt6h1L0snwG5eqi6pS4MT3AjVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165379},"main":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"funding":{"url":"https://github.com/sponsors/AshBuk","type":"github"},"gitHead":"c67838a82c65ad5aa4e23fd351c79e1b0574e1e4","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_0.1.6_1756820059140_0.7847309972286456","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ashbuk/spark-slider","version":"1.0.0","keywords":["react","carousel","slider","framer-motion","nextjs"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.0.0","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://github.com/AshBuk/framer-motion-spark-slider/tree/main/packages/spark-slider#readme","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues"},"dist":{"shasum":"efb56afbb996c42eb885a52e87d7fc05e900fd70","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.0.0.tgz","fileCount":26,"integrity":"sha512-nsccPneneOk21kEx8LhpGXEPPrCMHamn8oNjpKplVVot6wl6w8ZikuJitxBMLlqWPsmW6d6of4LOHmN3ZvywVA==","signatures":[{"sig":"MEUCIQCkytVPAHCPfepimltYsLly7enrHzK0CqGC8o4u2CrLzgIgVp1p0MXg7B3w6Gf+y2HmTycGgrVOtnPUvhqhsQGeveQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265086},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"funding":{"url":"https://github.com/sponsors/AshBuk","type":"github"},"gitHead":"3617f44426d58820b83a776dd583597e238693ec","private":false,"scripts":{"build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"SparkSlider – lightweight Framer Motion carousel component and hook","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.0.0_1759179109299_0.6770277235271678","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ashbuk/spark-slider","version":"1.0.1","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.0.1","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"f39af58d9607e4c29ae6d6f63f9889b90ea48852","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.0.1.tgz","fileCount":27,"integrity":"sha512-bf0uCoSHtB2MuH0vjiEXockNlbgVjE3ngUs0vh3YprCa/FJT2gjz/2amsxZKWOYl93i7uyq/uO7T28pfmT+h4A==","signatures":[{"sig":"MEYCIQCZ8Uo9RkTrYHgWsCu/BEHqctDEnFiunuiK9d4HtmcvMgIhAPX+/eAvxYaezrPI9btHy0NCsjYpWqc4r00GmlYaFBHd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274243},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"ff27c60e32b48f7fe1f10f0e06c13fd40eaa4e15","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"ashbuk","email":"2asherbuk@gmail.com"},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"10.8.2","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.0.1_1761149504637_0.44891441157827505","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ashbuk/spark-slider","version":"1.0.2","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.0.2","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"38dcd3a015508c7db84d50ab6d7aa6a97fb44406","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.0.2.tgz","fileCount":27,"integrity":"sha512-baxKbK653jUBvyNMob5tThIgyyPEyIQe9ywUxrsPlzo6/n6QKvRxdFXCZYFdaW5TAwvvQzA13M94qksLoQZpXA==","signatures":[{"sig":"MEUCIQCuAhCrsl5Q6jg1DgSipv7ZUgGRGof1lEfZ2uNqEpu1JwIgOfSjChnLzCcZdDr0OiZi3XNWLAGIO4DhJ/ycYd735ps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274243},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"23b8345d72804cc8b4a063eb849231c9ab0ec6f8","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.6.4","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.0.2_1764875394617_0.346589639535293","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ashbuk/spark-slider","version":"1.0.3","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.0.3","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"1116f9286f4614a101918c180bf0112525e29ec0","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.0.3.tgz","fileCount":27,"integrity":"sha512-bunUpW+HcXa+uVJ/f3MeEkyTy8HRS9i2l3l/YRqX9/AX8ELuNHqjoevqLZoq8pMtNIPVBLKOQZEs266X6bO4eQ==","signatures":[{"sig":"MEQCIDEG/chTjz53dVC5nMWxH8GuGcMhoCjNWgV/aT73qkspAiBowJR6j3bO07FEYX4O186q7PJyNLgCFJgPDFXDxYLANA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274243},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"bfd2da76d6957b49078ebbda14b5f4c02dff7a7d","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.7.0","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.0.3_1765673295552_0.3579962457497936","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ashbuk/spark-slider","version":"1.1.0","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.1.0","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"2732e755be76b8f14cd1f1c1dfa82f163d2f2580","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.1.0.tgz","fileCount":27,"integrity":"sha512-RkR/ibtSbO763HneVDmfYqcn5hH3OKpjXqqvnRjiABzhiXHxdzlBSGQ+o6rfrNi2DuewWQGqknWw2utnMAKfOg==","signatures":[{"sig":"MEYCIQDSueKEnhTwBRw5pg1RoTlMDduVrEoYZrwC+JffJ+b+uQIhAJeTMu58yzzuvAV3aBveqBbbbPN5VdHwheIVjADLcGzz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274627},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"5b23b99ae775b0a4ac73d258ebcfbd3755b4a68c","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.11.0","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.1.0_1773081620337_0.0627901377005422","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ashbuk/spark-slider","version":"1.1.1","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.1.1","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"9197ac91ef2e0c5cf764f6f4c1a04c514524e218","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.1.1.tgz","fileCount":27,"integrity":"sha512-yHTWUydskWibSL8m0CoEfF1q3qneW8go1Qu0eQnW0isPIdf7fox8Jhse/399gbZkJfpThVx54uSJ8tclwuXz5A==","signatures":[{"sig":"MEQCIEJL5tmmYFJn0FFjb2VeLrQLXIwx4+F0f0VKwlf8NofKAiA3UsokwCHwA7o0831fEQBog6N/WY3glG1Mwk4E+SdyRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293233},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"2c5969884b05becc76a76abd711a29082a7b712b","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.18.0","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.1.1_1783644357963_0.7773919418096316","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ashbuk/spark-slider","version":"1.1.2","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","_id":"@ashbuk/spark-slider@1.1.2","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"homepage":"https://spark-slider.vercel.app","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"451672961e491f2691c75cd0813189608d79c9c4","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.1.2.tgz","fileCount":27,"integrity":"sha512-nGDsUQgd3NL5gYstXGO6gnUOR1hBc7prIjWADRSHDc0IbuCLFVYL6UuGic9594JlIZiMwdNdLzXw/Z5Xq2vatw==","signatures":[{"sig":"MEUCIBMW/F4XtLNegCL/XctymkxvNj9bD9o2PWThWSgjb5Q7AiEAkS2idishera8aV+YoGiN9HFiJi3v5sy640P2L4eSOzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEYzF3Xn0VWFATetbXbec0h3P+h+heQTukh3m0CjFPPXAiEAt4K2NwRK00rlGWEs39fbcv782htA0ZD9I8XzacGDygE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":294071},"main":"./dist/cjs/index.js","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"3230dfa210a38b8c4be90aa4f4058b6d00ec5a37","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.19.1","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"tmp":"tmp/spark-slider_1.1.2_1789569473715_0.16858854146745084","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"_id":"@ashbuk/spark-slider@1.1.3","bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"dist":{"shasum":"4446b7598e57746f725abac63e2416c6d30f0026","tarball":"https://registry.npmjs.org/@ashbuk/spark-slider/-/spark-slider-1.1.3.tgz","fileCount":27,"integrity":"sha512-hCD/rg1dcD93nUYawj+bT/Q3Lfjs+omXMCwAztZCLsdgiEgEzKWWSa2shbSmQXtKXuVs3T/GW7/liA1rsq4/8A==","signatures":[{"sig":"MEQCIF2TBr7MJmmx3UYWna9Nzf6+JYYvs3KgU2z9ns79PMfaAiBZTepSp7I8thL9NfowbV+0RoO3QM33s4l54sCP/r83GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHpTcsfZ8/+ORteilVltQEYJXeoRiWywBiswCrEYBFhvAiEAtU7u4Yq4VnvgXXnbswvQk9/mplffo4scBOKq3J6csQA="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashbuk%2fspark-slider@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":294087},"main":"./dist/cjs/index.js","name":"@ashbuk/spark-slider","style":"./dist/spark-slider.css","types":"./dist/esm/index.d.ts","author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"module":"./dist/esm/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./dist/spark-slider.css":"./dist/spark-slider.css"},"funding":[{"url":"https://github.com/sponsors/AshBuk","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG","type":"paypal"}],"gitHead":"a641ed92deefb23d2fe6cf857b7f698354c6fe18","license":"MIT","private":false,"scripts":{"test":"cd ../.. && npm test","build":"npm run build:esm && npm run build:cjs && npm run build:css","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:css":"mkdir -p dist && cp ../../src/components/SparkSlider/spark-slider.css dist/","build:esm":"tsc -p tsconfig.esm.json","test:watch":"cd ../.. && npm run test:watch","test:coverage":"cd ../.. && npm run test:coverage","prepublishOnly":"npm run clean && npm run build"},"version":"1.1.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f64c6d25-2de3-4d7f-a1b3-77ce90f741f3"}},"homepage":"https://spark-slider.vercel.app","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"_npmVersion":"11.20.0","description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","directories":{},"maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18","react-dom":">=18","framer-motion":">=12"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spark-slider_1.1.3_1790688294678_0.168442160838014"}}},"time":{"created":"2025-08-15T01:08:41.433Z","modified":"2026-09-29T13:24:55.267Z","0.1.2":"2025-08-15T01:08:41.688Z","0.1.3":"2025-08-26T11:35:56.734Z","0.1.4":"2025-08-26T11:50:55.180Z","0.1.5":"2025-08-31T00:13:21.077Z","0.1.6":"2025-09-02T13:34:19.316Z","1.0.0":"2025-09-29T20:51:49.513Z","1.0.1":"2025-10-22T16:11:44.838Z","1.0.2":"2025-12-04T19:09:54.811Z","1.0.3":"2025-12-14T00:48:15.672Z","1.1.0":"2026-03-09T18:40:20.550Z","1.1.1":"2026-07-10T00:45:58.119Z","1.1.2":"2026-09-16T14:37:53.798Z","1.1.3":"2026-09-29T13:24:54.779Z"},"bugs":{"url":"https://github.com/AshBuk/framer-motion-spark-slider/issues","email":"2asherbuk@gmail.com"},"author":{"url":"https://github.com/AshBuk","name":"Asher Buk","email":"2asherbuk@gmail.com"},"license":"MIT","homepage":"https://spark-slider.vercel.app","keywords":["react","carousel","slider","framer-motion","nextjs","animation","npm-package","typescript","web-application","react-component","react-carousel","image-slider","image-carousel","swipe","drag","responsive","accessible","a11y","aria","keyboard-navigation","touch","mobile","framework-agnostic","vite","remix","gatsby","autoplay","lazy-loading","performance","lightweight"],"repository":{"url":"git+https://github.com/AshBuk/framer-motion-spark-slider.git","type":"git","directory":"packages/spark-slider"},"description":"Lightweight, fast, and accessible React carousel slider component powered by Framer Motion. Framework-agnostic with full TypeScript support, drag gestures, keyboard navigation, and auto-play. Works with Next.js, Vite, Remix, and any React framework.","maintainers":[{"name":"ashbuk","email":"2asherbuk@gmail.com"}],"readme":"# Spark Slider\n\n> Lightweight and fast React carousel slider powered by Framer Motion animations\n\n[![npm version](https://img.shields.io/npm/v/@ashbuk/spark-slider?logo=npm)](https://npmjs.com/package/@ashbuk/spark-slider)\n[![npm downloads](https://img.shields.io/npm/dm/@ashbuk/spark-slider)](https://www.npmjs.com/package/@ashbuk/spark-slider)\n[![CI](https://github.com/AshBuk/framer-motion-spark-slider/actions/workflows/ci.yml/badge.svg)](https://github.com/AshBuk/framer-motion-spark-slider/actions/workflows/ci.yml)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/@ashbuk/spark-slider)](https://bundlephobia.com/package/@ashbuk/spark-slider)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript)](https://www.typescriptlang.org/)\n[![React](https://img.shields.io/badge/React-%E2%89%A518-61DAFB?logo=react&logoColor=white)](https://react.dev/)\n[![Framer Motion](https://img.shields.io/badge/Framer%20Motion-%E2%89%A512-0055FF?logo=framer)](https://www.framer.com/motion/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n[![Sponsor](https://img.shields.io/badge/Sponsor-💖-pink?style=for-the-badge&logo=github)](https://github.com/sponsors/AshBuk) [![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.com/donate/?hosted_button_id=R3HZH8DX7SCJG)\n\nTry the live demo: [spark-slider.vercel.app](https://spark-slider.vercel.app/)\n\nProject repo: [github.com/AshBuk/framer-motion-spark-slider](https://github.com/AshBuk/framer-motion-spark-slider)\n\n**Lightweight React carousel built with Framer Motion. Framework-agnostic by default (renders with `<img>`), with an escape hatch to inject `next/image`. Designed as a modern and highly optimized solution for large image datasets, it works seamlessly across laptops, tablets, and phones.**\n\n## Features\n\n- Smooth drag-to-swipe with momentum-free, precise control\n- Click on center card to select (single tap on touch)\n- Auto-play with pause on interaction and hidden tab detection\n- Responsive layout using viewport units (`svh`/`svmin`)\n- Keyboard navigation (arrow keys)\n- Accessibility features with ARIA support\n- Performance: renders only visible cards, lazy loading for non-center images\n- Framework-agnostic: works with Next.js, Vite, Create React App, Remix, Gatsby, and any React framework\n\n## ✦ Installation\n\n```bash\nnpm install @ashbuk/spark-slider\n# or\nyarn add @ashbuk/spark-slider\n# or\npnpm add @ashbuk/spark-slider\n```\n\n**Peer dependencies** (install separately if not already in your project):\n\n```bash\nnpm install framer-motion react react-dom\n```\n\n_Requirements: React 18+, Framer Motion 12+_\n\n## ✦ Usage\n\n```tsx\nimport { SparkSlider, SLIDER_CONFIG } from '@ashbuk/spark-slider';\nimport '@ashbuk/spark-slider/dist/spark-slider.css';\n\nexport default function Example() {\n  const images = [\n    'https://picsum.photos/id/1015/1600/1200',\n    'https://picsum.photos/id/1016/1600/1200',\n    'https://picsum.photos/id/1018/1600/1200',\n  ];\n  return (\n    <SparkSlider\n      images={images}\n      alt='Image'\n      autoPlayInterval={SLIDER_CONFIG.DEFAULT_AUTOPLAY_INTERVAL_MS}\n      className='[--spark-slider-h:60svh]'\n    />\n  );\n}\n```\n\n## API Reference\n\n> Note: Public API is annotated with TSDoc. Most editors will show inline documentation on hover.\n\n### SparkSlider Props\n\n| Prop                 | Type                                | Description                        |\n| -------------------- | ----------------------------------- | ---------------------------------- |\n| `images`             | `string[]`                          | Array of image URLs or paths       |\n| `alt?`               | `string`                            | Alt text for images                |\n| `autoPlayInterval?`  | `number`                            | Auto-play interval in milliseconds |\n| `className?`         | `string`                            | CSS classes for container          |\n| `cardClassName?`     | `string`                            | CSS classes for each card wrapper  |\n| `renderImage?`       | `(src, alt, isCenter) => ReactNode` | Custom image renderer              |\n| `onSlideSelect?`     | `(index: number) => void`           | Called when slide is selected      |\n| `onSelectionChange?` | `(index: number) => void`           | Called when selection changes      |\n\n### Package Breakdown\n\n**Component:**\n\n- `SparkSlider` – Main slider component\n- `SLIDER_CONFIG` – Configuration constants and defaults\n- `useSparkSlider` – Core slider state management hook\n- `useSparkKeyboard` – Keyboard navigation hook\n- `useSparkTransforms` – Card positioning and transforms hook\n- `useSparkFullscreen` – Fullscreen overlay management hook\n- `computeSwipeTarget` – Swipe gesture calculation utility\n- `CardPosition` – TypeScript type for card positions\n\n## Styling\n\n- Ships with a prebuilt stylesheet: `@ashbuk/spark-slider/dist/spark-slider.css` (import required)\n- Height can be set via CSS var `--spark-slider-h` using svh units\n- Custom styling via `className` and `cardClassName` props\n\n## Development (monorepo)\n\n- This package is developed inside a Next.js demo app. In dev, the package sources under `packages/spark-slider/src/spark` are a symbolic link to the app sources `src/components/SparkSlider/*` to avoid duplication.\n- The app imports by package name and Next is configured with `transpilePackages: ['@ashbuk/spark-slider']` for hot reload.\n- Build locally:\n\n```bash\nnpm -w packages/spark-slider run build\n```\n\n## Support\n\n- GitHub Issues: [Report bugs or request features](https://github.com/AshBuk/framer-motion-spark-slider/issues)\n- Contributions welcome! See [CONTRIBUTING.md](https://github.com/AshBuk/framer-motion-spark-slider/blob/main/CONTRIBUTING.md)\n\n## License\n\nMIT — see [LICENSE](https://github.com/AshBuk/framer-motion-spark-slider/blob/main/LICENSE)\n","readmeFilename":"README.md"}