{"_id":"react-media-stack","_rev":"34-00e4fe050567ead33e5e12585f035c2c","name":"react-media-stack","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"react-media-stack","version":"1.0.0","_id":"react-media-stack@1.0.0","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"f5615e4d0b5ae503a2c32d8c0ac927509c4153b5","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.0.tgz","fileCount":19,"integrity":"sha512-clyFM1xOrYeAjYf4fMcsJRCKrj39lgGt21acxm23e5G0jar0UdAIFJgY6N3DJ/hEn6H7HUFL5oR1gPyv9Cgptw==","signatures":[{"sig":"MEUCIGCAwEnvzRPVNrBtIjLSDh5kaE0gtDkGUg4GllENkNFwAiEAzzzgtXzrl4pEObLtUTDL0EOz9L4bMnVcrDOjYZwc5gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1305183},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"734433bcde9b1e684f5810dc5af08ffae1c82693","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.0_1783937542220_0.03529543261789625","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"react-media-stack","version":"1.0.1","_id":"react-media-stack@1.0.1","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"65684e7f168c594c96de2ce5e5b6d1ccdd6b1c80","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.1.tgz","fileCount":19,"integrity":"sha512-shhx1LhnWF1/IaWNhzp74U781hXdD8rWYYB+sw0/vgK6UvVjP7qv3UT2uGugafFIM0UURhBlkquaLPjbxCGYXg==","signatures":[{"sig":"MEQCIBH0GsipTHl9tn5R4QNiRHzHfV8KtxvTEyo0HZNY5LSPAiBFe1T0DpWhtFsGjTEp+EewTYoTCLLLB65urEByjmahlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1290832},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"f8105935a769e2a61c4d492f142740c2ca92fa42","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.1_1783938340895_0.6166622157138302","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"react-media-stack","version":"1.0.2","_id":"react-media-stack@1.0.2","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"9a0415d84513417b529ecdeb5425a2e392a37957","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.2.tgz","fileCount":19,"integrity":"sha512-eDSQzMXR/Hjsjq7l1Oi41t6O8lAJolgvXBF3KkP45vwy37aZHdr8xKBBibza5ML39jkYCjUdsQFLTGROFM1+Fw==","signatures":[{"sig":"MEYCIQDchOeHRmx3LN27sSuyO7kUlF2vCi8q5TCNovSiBRu4FwIhAJqY/8gL+GuTYaWtLdXeUIKOaA4Az1TMQR5EtjLMAHc8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301709},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"5ba9cf89ef549506cd29bd96bce59fbb89c3dc0c","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.2_1783939419587_0.6638047723848277","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"react-media-stack","version":"1.0.3","_id":"react-media-stack@1.0.3","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"6c9fa528f682d26fd9d2341cbb5aa233d10f48bf","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.3.tgz","fileCount":19,"integrity":"sha512-zysm8dO6mEIWJbpuJ2mLvkUKcWvRgMwJ8GYNbk18hQreDNQ9HiU5d2Lv+ogVReNf4jEEV9HSSpXwGEz8r9OGwA==","signatures":[{"sig":"MEQCIE4BBPoIi8XVSh32PkV77Ks6T4qd5h5lJbuwgj57HDWOAiADlRjBIpTbRDM/MTivIAcSXc90dEBtIjyT7IZifxQwSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301709},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"acef4e32d6e362e505bdcad65b91dbe8ef565ea3","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.3_1783941132885_0.1902712019644872","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"react-media-stack","version":"1.0.4","_id":"react-media-stack@1.0.4","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"4cffe97ac9a0ebd940e1d60b2ab3db6d354baeb3","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.4.tgz","fileCount":19,"integrity":"sha512-Ydw/gY7tFRfbni1dvuvjcWkbuT7DNmgVO7pnPjGN6diheaFTAE4MzRa65xbQb3KOw0X+OhD5ipYphop4Uz664A==","signatures":[{"sig":"MEUCIQDzggWdJm2plsUk7vT0h4x6L/Q5H252IWrIDhBFGi9QlwIgW6kv+Vbs+QBnhchJ3Du4PPEZR23WKF+oBuTgEsvmmsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304589},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"54baafa89a50709851dd75b5fd9638924b0d0fdd","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.4_1783941461983_0.9149880738393339","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"react-media-stack","version":"1.0.6","_id":"react-media-stack@1.0.6","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"1fa6d0eb1170a11fb00a54de25454addc27e6192","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.6.tgz","fileCount":19,"integrity":"sha512-igdUYvXxskgyh2uwo6qU9dGuAFKzX6fvJ2mlUVXlejBZGNm/MzliU4DIfMToXJIQxl4cIngxpk/zZ5uHfbUwEw==","signatures":[{"sig":"MEYCIQCE1Mg7J+9nHD437rq4nGoL3Ie2n60cXBPXN6gNPK+Q5wIhAOSqgZUP3mtiyxy8mgiTjnr2Rn5ykjhgGGdJ0rme0nVK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1312903},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"2df600236005b53f1a1387cf81f393341adee094","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.6_1783941930627_0.211300612710422","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"react-media-stack","version":"1.0.7","_id":"react-media-stack@1.0.7","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"2ac1f4673930af387d4e2816e7fffd2beb127b7e","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.7.tgz","fileCount":19,"integrity":"sha512-zGBGSFpWk/udw+2sJQAG56HafOxVOYDKcBtMe35DseFdl3uf/xemO0Qdd4QPBTzQlhkrWtRxAsGQCV15ZVrLZQ==","signatures":[{"sig":"MEYCIQDhQB0edK/4RBQbzTuDoUDIZRuQrf8AYUBTliI9Yr+VLAIhAPTdGo4Xjy7bQmecRC/g0u8oSRCHb2wcPBwkbKM6ZhcP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1315354},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"e9415183f7e20e10badd1bab96c485e857559f92","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.7_1783944889484_0.11243179822762284","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"react-media-stack","version":"1.0.8","_id":"react-media-stack@1.0.8","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"6108538fb0c60e513fb6847dbde1b19d453ccb29","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.8.tgz","fileCount":19,"integrity":"sha512-ZwPILTSym0vZCqfrB1Egfn9GNMGnIey2plin2mW1zp6rJ/Pst9au80YgoCVpUfCf+Iz/K+K85FxQ5jv061C+Dg==","signatures":[{"sig":"MEUCIHmKsCgzlb+zD7cUCk5MszcFN/apO6znM/5hu5TQm2IsAiEAmiF7H5DyKpvD2mEA/JqlQBNB1cR9U+VY28LvVhm6JfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1315418},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"e9415183f7e20e10badd1bab96c485e857559f92","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.8_1783945631373_0.6305832135306668","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"react-media-stack","version":"1.0.9","_id":"react-media-stack@1.0.9","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"11cd01089651d1b2f0362765cd3b15e0f930686a","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.9.tgz","fileCount":19,"integrity":"sha512-uHN4gg1XroV/5jLdc86sGfr+m538FC8dA/NAKrtA1lBk3s2W4O5L4cfacBQuRcBGrYjt3BnXenwVy8Z0IMLFOg==","signatures":[{"sig":"MEQCIEJxIi36FRiR8R35o04bndB0464gjo5yOjuf68BqWVi9AiANr+j4b7YnYhdPdOHJSrtPPfHqQwDqhZl29hqyWgT4YA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1315402},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"e9415183f7e20e10badd1bab96c485e857559f92","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.9_1783946536355_0.25816956740715313","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"react-media-stack","version":"1.0.10","_id":"react-media-stack@1.0.10","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"4ef2a0777e62231f1f0f559e9c32f51e0efef49d","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.10.tgz","fileCount":19,"integrity":"sha512-Mm6TNaKE/gpjPqgWbhDLKGZpYkGMTfaVfVjs4UaU/JLwOmlJTG6r+/9v/c+RSM5by3y7Td7i7Mf4+6V1dUTZEQ==","signatures":[{"sig":"MEYCIQCvWl5Gc5UEsY2/sXuVghAy4gPGdd4asZXIzEOlzfEQowIhANSPUUik7JxK7kwSOoInsbUw0xg6JcQya+MTgVdN5rT5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1316229},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"e9415183f7e20e10badd1bab96c485e857559f92","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.10_1783949378079_0.9840695358147304","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"react-media-stack","version":"1.0.11","_id":"react-media-stack@1.0.11","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"752ed596674403e7c70f3fe8cbba9e9dbbfade45","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.11.tgz","fileCount":19,"integrity":"sha512-2iBCfQwpi4Wy1/h4PdWejh2KAkSkHdc25zWzFeDCEqkglVZ+E+gpWAYao6+CG7ZxC4snh8A7kyyQHGQhUcdGOA==","signatures":[{"sig":"MEQCICbPkthLZ/CzjNlHExDl9O41ZbPNd6mTNQllmF78qB5pAiAz6yIBHKxfovcdLKF8zwGHGSfIOK1/XVFFQJ6C3+7rVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317838},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"d49d9647940f0d3fc42a5e26a3b70e6774094d6a","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.11_1783978363221_0.939450010168595","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"react-media-stack","version":"1.0.13","_id":"react-media-stack@1.0.13","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"3b1ecce2bf3f31f98c584706df581627917581b4","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.13.tgz","fileCount":19,"integrity":"sha512-+OGysXG1Z3UniZhvM5X3H56v+D4zaRpuJWwSTfERuTpvYL/244cQxKpNLg0ufUk1CtA9chvnncTyVQFMTS0mqg==","signatures":[{"sig":"MEYCIQDJSy8gziBys08lyY1U2swuz93Fx67Zt/i2iRXzLbPBpwIhAKmGCXi1n6kd6wXbgaEVa/U4FK3kTPKgsIp2BzrpgB80","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1317922},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"5d44bbae740391831a9c57a8c5a8a8f9d44d4460","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.13_1783980172047_0.932935839856913","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"react-media-stack","version":"1.0.14","_id":"react-media-stack@1.0.14","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"637088698d30dd0b9acc2722d823bd2f0c5bc8e5","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.14.tgz","fileCount":19,"integrity":"sha512-go3eN8VNTlEUKOnEQ451pXELV8f4awXjeieW1QhWrk0Ry62ZhsF4msU/OHXVl0riFceGCQRw8qPB2+m1xOldXQ==","signatures":[{"sig":"MEUCIBK5ANn05K5Aoj1n0VM/2/E93AsN45DpAWhNg6RJMKHNAiEAikMXWVz0xToeHu0php+INAENgGVc1O6CzbKzujJKBdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1318807},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"b6da6b419fce9003e5d791297359f1c853bda746","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.14_1784015406229_0.7563706647267616","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"react-media-stack","version":"1.0.19","_id":"react-media-stack@1.0.19","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"b0a2151671fa8f4059cc0d50274ae28adcb3d76b","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.19.tgz","fileCount":19,"integrity":"sha512-HS4gLxL7KGAtncr19FCMrc5g8u2KjUzPq1S/SzDeoYg2km3/iNPFOK9fhEu4gq0sxyJYs2KXkShnl/Nv1e7+Gw==","signatures":[{"sig":"MEYCIQDcCvrK/Vx2uDiYuYaHhFMGEf3UDazJr9tWdFrgr7LTsQIhAKFC+ix4zXSUeckqOJzpNg6GlbFK0FRTdy2CTm/5Krwa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1319242},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"98f17abe326e56084b0142a4ee2531510beedd8d","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.19_1784016929066_0.07616737608120894","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"react-media-stack","version":"1.0.20","_id":"react-media-stack@1.0.20","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"8048a6c84e83bbf9210628322645cf98c9ed436d","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.20.tgz","fileCount":19,"integrity":"sha512-EwGZRhUfWO40Svu+AorOXUnOuNmbzAVwsxKwqqamgBb5kng4ec4Zpa+UIhgsWhHZ+Ke1zQxVBtsA91zJN0O6Yg==","signatures":[{"sig":"MEYCIQDm+ThV9dc/I8SbkMlqS/Ck0yIMTaAcdAt/X40N10o52gIhALMnEbdJx328sbu2AtBEDcMuSf3t1NhM4M23aeLB2YMz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1319309},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"d8c70336a4e635d3db0e3fed825d3d0c224747bf","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.20_1784017171135_0.5352444068657145","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"react-media-stack","version":"1.0.21","_id":"react-media-stack@1.0.21","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"a082fa2a9b2ef7342278a30f2dab075608552510","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.21.tgz","fileCount":19,"integrity":"sha512-mEhI3hZYhuCA3HdE9Wdun4jhBo2VY6Dv8slutBNFtNZtPE9qu3YYoGboS/befqJJSrWQMiysjrD2AVeUwibYDg==","signatures":[{"sig":"MEUCIQCW21n/oVO8OjxwvtIgjxxOamSkr+evQExKjCpoW5oOwAIgaE9y0qPQFLkKqwzpTgcheFfdS2KWmsgLbP6k57yd8Pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1319350},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"ca26a2a1939b903824ceb02d31c1308b125e555e","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.21_1784021352000_0.9579016963005087","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"react-media-stack","version":"1.0.22","_id":"react-media-stack@1.0.22","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"97f0c043ef44a12c4cc11d9c2945da65d0887d41","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.22.tgz","fileCount":19,"integrity":"sha512-bciUynmNQpFZOqCsIq2h94F0UJMlMJ6bsqV6ruLMZLFUnBcoY4HjfhI9MXquuRd828mDVSDZeOogkDEPdb+MWQ==","signatures":[{"sig":"MEQCIFoPjFQEWJkR5gPdcBrTNTkxr4qaLXm9onFYICyMJ+QrAiB2+eNxpivFU9AFARxsXG4arC3NomVqaXtN4p0ZX5ftnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1320080},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"0d5134a258ebf044a3ae7e05278e0a7968bceca6","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.22_1784022158257_0.8403553792615777","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"react-media-stack","version":"1.0.24","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.24","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"06751ca9d6d69f14c3952e5bf588d9d9d0d68e6f","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.24.tgz","fileCount":20,"integrity":"sha512-LmZf4oe/WqQQ4FJGOgDuLlQTVhKlZliSe1BOa4tYW8a13Np/v/sodM+jkCspy1gpeWO5GWwdA3Nrw1U7tm3ZSA==","signatures":[{"sig":"MEUCIQCvLZl5oNNzOiQHe0xzFq744LvdL8O7Fznq5cyVJiL75AIgTbJivLMxa4MNGrVUyKTCu2zWUVYkhgROeQkfH5WXnVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327890},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"663e4e3d606426e7fb2f270449717f89371ba382","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.24_1784024820351_0.8320295899775025","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"react-media-stack","version":"1.0.25","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.25","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"b4a5d9dc01b2c2e815e10a4b6358b70bb9c2c999","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.25.tgz","fileCount":20,"integrity":"sha512-WVGIfXZOzkBbPkbDCV5Gkb2oicd+HQPBMTZgz6vcyJGHbZx0ndagNwdc7auVK05T+NPOv2H3xe9weWEm2W2oNg==","signatures":[{"sig":"MEUCIQDAzoINRfan1sOXXr5ICdgRTXhgiVkbIa1B8KhrUbgKSQIgdXqnC1E0QDo6uvdw4qepG3XmD9VCwA+BHg9v+/tqjU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"f61ca098ba61bfd50f18b01754577b2a6929a168","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.25_1784061690439_0.3793122711610686","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"react-media-stack","version":"1.0.26","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.26","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"40edae5fb67c79320b90e9344217526b6b2addfe","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.26.tgz","fileCount":20,"integrity":"sha512-dvE/yvPkA2oO52QmkMVbO3C7c/vFvfBf5Q6j/MIvabSm1q5YfPgFTNYgDVfLqpSh8hCTWi4w64DYD/PFOOHM/w==","signatures":[{"sig":"MEQCIFpvx2am1MNmeI252Ulzu6QzKM+CkO4eaiZFAdvEFmWOAiAqGaE7S/rUMm6B854WY7LXxrVjrNKhmhI10L0Oio6NvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"90e75b61fb923f290521851715964d20791de4db","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.26_1784065052520_0.30942121365429553","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"react-media-stack","version":"1.0.27","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.27","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"80edb71252d7e2868169e26c55720b612c7e2946","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.27.tgz","fileCount":20,"integrity":"sha512-YZylYl5lbhH6Ralyy5XTzU0jY6gDNWvzr+qJWO6tmDWw0cCCNmyA4jadsAvojJbUOxG0nqLbNZrBTL3fC1DWyA==","signatures":[{"sig":"MEUCIQChsm37ON+rnxeE9xpAfC+lN4gGn9KJan9TQ1n4MEHdxwIgEBKQ85S2YbhzqccdV38rYfDThGTg1uhoKbqVMPZyDgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"bd5c6011e7652ae43b08d676f06375c0f1b05162","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.27_1784065913410_0.53779517748278","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"react-media-stack","version":"1.0.28","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.28","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"a74418698c59a9860c37622e2ea329820a31fde8","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.28.tgz","fileCount":20,"integrity":"sha512-qUllcfYx17XDq78WhYw0ul++lC66B8n+DCPPS95C2oDOvs3vYrIZExe4OzuZswLUPqq7JdyZ5jspj2cnF9obRA==","signatures":[{"sig":"MEUCIGNxquYx4+SVWx5CR4xMEtaJsPNUjz0sDK5Zrd4nJrkcAiEA8UFnQTCjtCqo+b1lsigEla0acdqbM8GatL+c50oI2a0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"10edc74f61e1065c6feec871d7217880621acbad","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.28_1784066143942_0.2947764201786176","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"react-media-stack","version":"1.0.29","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.29","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"5833e1a5b756f03aaf29131a5612192c6313bb12","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.29.tgz","fileCount":20,"integrity":"sha512-r1X62vrv8a85Dp0B7Dg4CClsjs1UMbQD1Akd/3SKoZSDqKguvYvZhP+502ggpMY3coa0v6uzZDb96hdGqDjexQ==","signatures":[{"sig":"MEYCIQCO0VJKiEL4sk7DmIBEH6nW/YRi7PdNy6smFQ8bhjfOUwIhAMwuk4ulhsUZn0qWt14A8g/0HxcPsw1CMzPlkh8NlnlY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"12b5df9c8c8c2afa44e2de4d9617fba99f568c99","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.29_1784066522669_0.7995455211915552","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"react-media-stack","version":"1.0.30","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.30","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"edd913ef913ef25293dba40bab34779726e04ab3","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.30.tgz","fileCount":20,"integrity":"sha512-9C0aXR9OZPn4Zh0eVWtPJbnDSyiNamy9viHZvh5PSyN5xH1zciw+7L0iUy43fOUO+dTe8p1Xnb0qdI6cD69aIA==","signatures":[{"sig":"MEUCIQCgZAsAZlyrAiC9gS6PVLMJszDZxD35GC3udkGJFlvUpAIgZkgIYVZq7yyjXvjU6Zb0937/BafOXv17tsTtxqB+SSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327946},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"fb226110832e1006d711d4276fc214c88c8dc935","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.30_1784103804579_0.6310018671718935","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"react-media-stack","version":"1.0.31","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.31","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"26b00dca606425ab5bf50b8b900874c64d383c9a","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.31.tgz","fileCount":20,"integrity":"sha512-HifAANUk1HTWclXHRdRPl0sRYPBbeY+GSov94WYwa5qIj6SCIiboLIowhTjMNzxxZQeFWU18mzx4gFBLdako/A==","signatures":[{"sig":"MEYCIQDZmxX00jPanntLRDMpQHUcFZ3G9rb7c6ogIwm3fQKz9QIhAJSMeTjBtO0bMF9gvnrci1BemfF+rjbOzPVSrTNK/4jK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1328228},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"440b1b255fc5ea2dd79a034bfe2419796fffcf1f","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.31_1784114892000_0.515010570067304","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"react-media-stack","version":"1.0.32","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.32","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"2ef1163a6be59d9ecf658c0e601f64c0921cf755","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.32.tgz","fileCount":20,"integrity":"sha512-teZxGhvwG/SpP19BtCxpM7sf6ILGxKHhVizGRYFNsxeiLpIr9yR+T8eL6N3RRW0UBgFi8lDoaJeyKXkfJFCU+g==","signatures":[{"sig":"MEUCICSGqUHcM480kvV9ona69ds1Bp3NssYL1XEC8Gt7FShNAiEAlgFh9BqxJvqJnS0a7uf7w9xMnJCz5WrkoqCBL0mADa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1328288},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"97dc624428c05dda6df8fcbd0e5d71e9d7a48299","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"11.7.0","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.32_1784118248613_0.9979689748476241","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"react-media-stack","version":"1.0.34","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.34","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"fa3fa6721d640d6be91ac99aaec8b25664a064b2","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.34.tgz","fileCount":20,"integrity":"sha512-JcOVbPAFEHaze8jfCVMN7PJAzVCPsoBc/CP046f+X/sfEje6+TZHSWJc5HSCsx9FYGQL+45+siXDvE3FGSn2rw==","signatures":[{"sig":"MEUCIAfQ7MVJh9n0aWC7LWJoUzKDDtx/MzJvrBQanyQDNRvdAiEAqNcqg/gEza/aYdmIX1m9afSV417y/P6WwXrsZI0wABI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338111},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"118cc2caf661b7cb454b56af592e6a466e82aabc","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"10.9.8","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.34_1784197506907_0.31751763565340285","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"react-media-stack","version":"1.0.35","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.0.35","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"dist":{"shasum":"97374b243592293d0708ec2f89ca045b3dfd90bb","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.0.35.tgz","fileCount":20,"integrity":"sha512-OrSyALo/v3QVj2Mo9J9tTp6sqCAr0x7on7z8LmNSLXVyDXjvyS1okZZeJf3tPq9bDMHuiaRXILp+z14bXsILhA==","signatures":[{"sig":"MEUCIQCExo3Ouaw7CgeyoAKJIHoOpuog6T4iIWu9lF3En4K4YAIgYjr0JmgjJPFahTLFXSz8B+Sm4/8mk4xWUbAE3Sih968=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338263},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"05ea4c57d435fc6381890dcb2353bf0c03ef0b5e","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"},"_npmVersion":"10.9.8","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.0.35_1784236465578_0.3084196487849953","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"react-media-stack","version":"1.1.2","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.1.2","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"homepage":"https://github.com/imattau/react-media-stack#readme","bugs":{"url":"https://github.com/imattau/react-media-stack/issues"},"dist":{"shasum":"e270ad202c2623bdc81a697fa912de566482fff7","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.1.2.tgz","fileCount":20,"integrity":"sha512-PZ5URj4LdkNy+rIZpBb0Re6xpw6qh3pIV5Mfrjx3UIaHEIDFhEwGjPrnMH0dqtFXo38WZpecvyus8SDXwzVKtQ==","signatures":[{"sig":"MEYCIQC21jr3kyBoAP/5Amz8hRTAz0l7CBMAA06hAhEoaZbDZQIhALAxQOuWGb4n6fx5PXA5jJk0cffDv/TihPq0Yarvjk3S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-media-stack@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1338378},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"55c817681f475e67cf348fe931e1cf0dd5290e6f","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:70eb7ba6-64d1-439d-b0f1-2d5d4f44057b"}},"repository":{"url":"git+https://github.com/imattau/react-media-stack.git","type":"git"},"_npmVersion":"12.0.2","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.1.2_1788006745514_0.4170173057536053","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"react-media-stack","version":"1.1.3","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.1.3","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"homepage":"https://github.com/imattau/react-media-stack#readme","bugs":{"url":"https://github.com/imattau/react-media-stack/issues"},"dist":{"shasum":"be1ef99e57eba1b97d70fb41b66d780f07859918","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.1.3.tgz","fileCount":20,"integrity":"sha512-CI7diaW6PousPEBO+m8Qk8U2zODbXRuSKcrRkZJdMAoWKKqqfDZsf3QDhRDPFfx0hhTIUulLTfFsgTdhc1Z7MQ==","signatures":[{"sig":"MEQCIEhmLBhCBADwHtvourir8Q+W6q3YiLbx3d4B2p83u45cAiApopjVYqO9+l0tDhot+ao55f1dXQPqMZvrdnln7pH2QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-media-stack@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1338415},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"fcd806f6056f322773864b85650421c84334f754","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:70eb7ba6-64d1-439d-b0f1-2d5d4f44057b"}},"repository":{"url":"git+https://github.com/imattau/react-media-stack.git","type":"git"},"_npmVersion":"12.0.2","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.1.3_1788007309731_0.6921259972279721","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"react-media-stack","version":"1.1.4","license":"LGPL-3.0-or-later","_id":"react-media-stack@1.1.4","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"homepage":"https://github.com/imattau/react-media-stack#readme","bugs":{"url":"https://github.com/imattau/react-media-stack/issues"},"dist":{"shasum":"8329ff06ff89f35cb6aecf38d717549a0035b5b9","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.1.4.tgz","fileCount":20,"integrity":"sha512-mAif3Pilfvh9evFe1BpGEZoZRbOqWEcH/9mH67K9BE+jMerErTDPYhT+g8R1dJNUqw1yPe8pstwdjdZ2qh/T6A==","signatures":[{"sig":"MEYCIQD+mPe+CmbRWi3koKeJyH1fga8IhW6KevmWnu5jcLt+LwIhAIDUvm8KdKJN+y3P8ivdzfN8I84gxAANxiIVd5hXxAzX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-media-stack@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1338415},"main":"./dist/index.umd.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"gitHead":"541e0cc00f0ce3fa637c6f810ac4d97c334f0864","private":false,"scripts":{"dev":"vite","lint":"oxlint","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:e2e":"playwright test","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","test:headless":"node scripts/headless-feed-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:70eb7ba6-64d1-439d-b0f1-2d5d4f44057b"}},"repository":{"url":"git+https://github.com/imattau/react-media-stack.git","type":"git"},"_npmVersion":"12.0.2","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.2","dependencies":{"hls.js":"^1.6.16"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.1","jsdom":"^29.1.1","react":"^19.2.7","oxlint":"^1.71.0","vitest":"^4.1.10","postcss":"^8.5.18","react-dom":"^19.2.7","typescript":"~6.0.2","@types/node":"^24.13.2","tailwindcss":"^4.3.2","@types/react":"^19.2.17","autoprefixer":"^10.5.2","tailwind-merge":"^3.6.0","vite-plugin-dts":"^5.0.3","@playwright/test":"^1.61.1","@types/react-dom":"^19.2.3","@tailwindcss/postcss":"^4.3.2","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-media-stack_1.1.4_1788007617376_0.40370464967607766","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"react-media-stack","private":false,"version":"1.2.0","license":"LGPL-3.0-or-later","type":"module","description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","repository":{"type":"git","url":"git+https://github.com/imattau/react-media-stack.git"},"main":"./dist/index.umd.js","module":"./dist/index.es.js","types":"./dist/index.d.ts","sideEffects":["**/*.css"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/index.css":"./dist/react-media-stack.css"},"scripts":{"dev":"vite","build":"tsc -b && vite build","build:lib":"vite build --config vite.config.lib.ts && tsc --project tsconfig.app.json --declaration --emitDeclarationOnly --outDir dist --noEmit false --rootDir src && echo \"export * from './lib/index';\" > dist/index.d.ts","lint":"oxlint","preview":"vite preview","test":"vitest run","test:headless":"node scripts/headless-feed-test.mjs","test:e2e":"playwright test"},"peerDependencies":{"react":"^19.0.0 || ^18.0.0","react-dom":"^19.0.0 || ^18.0.0"},"dependencies":{"hls.js":"^1.6.16"},"devDependencies":{"@playwright/test":"^1.61.1","@tailwindcss/postcss":"^4.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@types/node":"^24.13.2","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.3","autoprefixer":"^10.5.2","clsx":"^2.1.1","jsdom":"^29.1.1","oxlint":"^1.71.0","postcss":"^8.5.18","react":"^19.2.7","react-dom":"^19.2.7","tailwind-merge":"^3.6.0","tailwindcss":"^4.3.2","typescript":"~6.0.2","vite":"^8.1.1","vite-plugin-dts":"^5.0.3","vitest":"^4.1.10"},"gitHead":"b2741bac1243ff3fb0e634f227374bd1af024296","_id":"react-media-stack@1.2.0","bugs":{"url":"https://github.com/imattau/react-media-stack/issues"},"homepage":"https://github.com/imattau/react-media-stack#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-ZpntKK9rmy7e53TP9igl0UxaxWmgPhiHbJJEcMY5FeT4kYLNZRI3pZtYQ9b+RRKEx7Amu4RkZTnETfzNr6r66Q==","shasum":"4e4043bc384216450890b210d193e42e5f86820d","tarball":"https://registry.npmjs.org/react-media-stack/-/react-media-stack-1.2.0.tgz","fileCount":20,"unpackedSize":1340002,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-media-stack@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA/k06WikCi/0eUXiIYH5d4AztskdOd45m2ZLAl1U8BeAiBCwhGKPwV3ID0qtRozT+eYcit5J8p3unQBGswr0V41rA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:70eb7ba6-64d1-439d-b0f1-2d5d4f44057b"}},"directories":{},"maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-media-stack_1.2.0_1788689410383_0.4600064168663056"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T10:12:22.179Z","modified":"2026-09-06T10:10:10.798Z","1.0.0":"2026-07-13T10:12:22.395Z","1.0.1":"2026-07-13T10:25:41.096Z","1.0.2":"2026-07-13T10:43:39.732Z","1.0.3":"2026-07-13T11:12:13.060Z","1.0.4":"2026-07-13T11:17:42.188Z","1.0.6":"2026-07-13T11:25:30.787Z","1.0.7":"2026-07-13T12:14:49.656Z","1.0.8":"2026-07-13T12:27:11.525Z","1.0.9":"2026-07-13T12:42:16.550Z","1.0.10":"2026-07-13T13:29:38.229Z","1.0.11":"2026-07-13T21:32:43.422Z","1.0.13":"2026-07-13T22:02:52.269Z","1.0.14":"2026-07-14T07:50:06.373Z","1.0.19":"2026-07-14T08:15:29.263Z","1.0.20":"2026-07-14T08:19:31.458Z","1.0.21":"2026-07-14T09:29:12.133Z","1.0.22":"2026-07-14T09:42:38.400Z","1.0.24":"2026-07-14T10:27:00.565Z","1.0.25":"2026-07-14T20:41:30.598Z","1.0.26":"2026-07-14T21:37:32.652Z","1.0.27":"2026-07-14T21:51:53.624Z","1.0.28":"2026-07-14T21:55:44.085Z","1.0.29":"2026-07-14T22:02:02.824Z","1.0.30":"2026-07-15T08:23:24.751Z","1.0.31":"2026-07-15T11:28:12.139Z","1.0.32":"2026-07-15T12:24:08.787Z","1.0.33":"2026-07-16T08:59:38.499Z","1.0.34":"2026-07-16T10:25:07.093Z","1.0.35":"2026-07-16T21:14:25.783Z","1.1.2":"2026-08-29T12:32:25.689Z","1.1.3":"2026-08-29T12:41:49.875Z","1.1.4":"2026-08-29T12:46:57.541Z","1.2.0":"2026-09-06T10:10:10.514Z"},"bugs":{"url":"https://github.com/imattau/react-media-stack/issues"},"license":"LGPL-3.0-or-later","homepage":"https://github.com/imattau/react-media-stack#readme","repository":{"type":"git","url":"git+https://github.com/imattau/react-media-stack.git"},"description":"High-performance scrolling React media feed library with virtualisation, caching, and custom overlay slots.","maintainers":[{"name":"0xx0lostcause0xx0","email":"imatt.au@protonmail.com"}],"readme":"# MediaStack 🎬\n\n`react-media-stack` is a high-performance React library for media (video and image) scroll feeds, supporting both **vertical** and **horizontal** snapping layouts. Engineered specifically for mobile-first scrolling applications (like TikTok feeds, Reels, and carousels), it provides built-in DOM virtualization, smart memory reclamation, and automatic video rotation capabilities.\n\n## Key Features\n\n- 🏎️ **DOM Virtualization**: Only mounts media items (videos/images) currently within or adjacent to the viewport, keeping the DOM extremely light.\n- ⚡ **Auto-Reclaiming Memory**: Offscreen video elements are dynamically paused and their source streams wiped to release browser video hardware decoders and media caches.\n- 🔄 **Auto-Rotation**: Detects landscape media elements and rotates them by 90 degrees to fit a vertical 9:16 portrait viewport.\n- 🎛️ **Granular UI Controls**: Toggle default headers, mute buttons, meta description cards, sidebar widgets, and timelines easily.\n- 🖌️ **Fully Customizable Overlays**: Completely override the overlay UI using custom render functions.\n- 🔊 **Global Audio Sync**: Toggling mute on any video synchronizes volume state across all videos in the stack.\n- ⏯️ **Page-Wide Playback Exclusivity**: Only one video plays at a time across the *entire page*, not just within a single stack — starting playback in one `<MediaStack>` pauses any playing video in another `<MediaStack>` instance mounted elsewhere on the page. This is intentional (mirrors single-video-at-a-time feed UX like TikTok/Reels), but is a global invariant to be aware of if you render multiple independent stacks simultaneously.\n\n---\n\n## Installation\n\n```bash\nnpm install react-media-stack\n```\n\nEnsure you import the CSS stylesheet in your project root (e.g. `main.tsx` or `App.tsx`):\n```typescript\nimport 'react-media-stack/dist/index.css';\n```\n\n---\n\n## API Reference\n\n### `<MediaStack />`\n\nThe main scrolling viewport wrapper.\n\n| Prop | Type | Default | Description |\n| :--- | :--- | :--- | :--- |\n| `items` | `MediaItemData[]` | *Required* | Array of media elements to scroll. |\n| `direction` | `'vertical' \\| 'horizontal'` | `'vertical'` | Scroll layout snap alignment. |\n| `autoPlay` | `boolean` | `true` | Auto-play active video elements. |\n| `muted` | `boolean` | `true` | Initialize active videos as muted. |\n| `loop` | `boolean` | `true` | Loop video playback. |\n| `hideScrollbar` | `boolean` | `true` | Hide viewport scrollbars. |\n| `showNavArrows` | `boolean` | `true` | Show desktop left/right arrow controls. |\n| `showProgressBar` | `boolean` | `true` | Show timeline progress indicators. |\n| `showMuteButton` | `boolean` | `true` | Show default sound-mute control button. |\n| `showSidebarActions` | `boolean` | `true` | Show default like/reply/share sidebar. |\n| `showMetaInfo` | `boolean` | `true` | Show title and description info metadata. |\n| `autoRotateLandscape` | `boolean` | `false` | Rotate landscape media 90 degrees inside vertical layouts. |\n| `cacheStrategy` | `'blob' \\| 'stream'` | `'blob'` | Use the historical whole-response Blob cache, or stream original URLs without prefetching them into JS memory. |\n| `preFetchAhead` | `number` | `2` | Number of following items whose media elements are mounted. |\n| `preFetchBehind` | `number` | `1` | Number of preceding items whose media elements are mounted. |\n| `cacheLimit` | `number` | `8` | Maximum Blob-cache entries; ignored by the `stream` strategy. |\n| `onActiveIndexChange` | `(index: number) => void` | `undefined` | Callback fired when user snaps to a different media index. |\n| `onItemClick` | `(item: MediaItemData, index: number) => void` | `undefined` | Callback fired when the media background is tapped. |\n| `onLikeClick` | `(item: MediaItemData) => void` | `undefined` | Callback for the Like button. |\n| `onShareClick` | `(item: MediaItemData) => void` | `undefined` | Callback for the Share button. |\n| `onCommentClick` | `(item: MediaItemData) => void` | `undefined` | Callback for the Reply/Comment button. |\n| `renderCustomOverlay` | `(item, index, isActive) => ReactNode` | `undefined` | Overrides the default layout overlays with custom code components. |\n\n### `MediaStackRef`\n\nThe forwarded ref exposes imperative control methods:\n\n| Method | Description |\n| :--- | :--- |\n| `scrollTo(target)` | Smoothly scrolls to the start, end, next, or previous item. |\n| `jumpTo(target)` | Instantly (non-animated) jumps to the start, end, next, or previous item. |\n| `destroy()` | Releases internal timers, cached media URLs, and active playback state. |\n\n---\n\n### `MediaItemData` Schema\n\nIndividual items passed into the `items` array follow this structure:\n\n```typescript\nexport interface MediaItemData {\n  id: string | number;           // Unique element identifier\n  type: 'image' | 'video';       // Media type\n  src: string;                  // Direct media URL\n  poster?: string;              // Image URL to show while video is loading/virtualized\n  title?: string;               // Display title\n  description?: string;         // Display description\n  badge?: string;               // Display category badge (e.g. \"TRENDING\")\n  fit?: 'cover' | 'contain';    // Visual scaling behavior (default: 'cover')\n  customData?: Record<string, any>; // Optional container for extra data fields\n}\n```\n\n---\n\n## Code Examples\n\n### Basic Usage (Vertical Reels Feed)\n\n```tsx\nimport { MediaStack, MediaItemData } from 'react-media-stack';\n\nconst FEEDS: MediaItemData[] = [\n  {\n    id: 1,\n    type: 'video',\n    src: 'https://example.com/video1.mp4',\n    poster: 'https://example.com/poster1.jpg',\n    title: 'Neon Skaters',\n    description: 'Cruising through the retro streets.',\n    badge: 'SPORTS',\n  },\n  {\n    id: 2,\n    type: 'image',\n    src: 'https://example.com/art.jpg',\n    title: 'Vaporwave Sunset',\n    description: 'Chilled ambient design project.',\n  }\n];\n\nexport default function App() {\n  return (\n    <div style={{ width: '380px', height: '680px' }}>\n      <MediaStack\n        items={FEEDS}\n        autoRotateLandscape={true}\n        onLikeClick={(item) => console.log('Liked:', item.title)}\n      />\n    </div>\n  );\n}\n```\n\n### Advanced (Custom Overlays)\n\n```tsx\nimport { MediaStack } from 'react-media-stack';\n\nexport default function CustomApp() {\n  return (\n    <MediaStack\n      items={FEEDS}\n      renderCustomOverlay={(item, index, isActive) => (\n        <div style={{ position: 'absolute', top: 20, left: 20, color: 'white' }}>\n          <h4>Custom Display: {item.title}</h4>\n          {isActive && <p>Currently Active Slide</p>}\n        </div>\n      )}\n    />\n  );\n}\n```\n\n### Direct streaming for long or high-resolution feeds\n\n```tsx\n<MediaStack\n  items={FEEDS}\n  cacheStrategy=\"stream\"\n  preFetchAhead={0}\n  preFetchBehind={0}\n/>\n```\n\nThis keeps only the active media element mounted and lets the browser stream\nthe original URL. No `fetch()`, `Blob`, or object URL is created by the stack.\n\n---\n\n## Development & Verification\n\n### Running the Sandbox Demo\nStart the interactive Vite dashboard panel:\n```bash\nnpm run dev\n```\n\n### Running Test Suites\n- **Unit & Component Testing (Vitest)**:\n  ```bash\n  npm run test\n  ```\n- **End-to-End Testing (Playwright)**:\n  ```bash\n  npm run test:e2e\n  ```\n","readmeFilename":"README.md"}