{"_id":"react-anchorlist","_rev":"40-bb5320999aa32c9572832173481543b6","name":"react-anchorlist","dist-tags":{"latest":"0.7.6"},"versions":{"0.1.0":{"name":"react-anchorlist","version":"0.1.0","_id":"react-anchorlist@0.1.0","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"9a387eacca3a562100bad2dd885d983f108eaecd","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.1.0.tgz","fileCount":37,"integrity":"sha512-i5+5KbSwGo+UxuPtkUC4VjE5+F+7f4wAyfdNQ77spN6QKDb1Pa8u3tAzy+TckUZ0utK01Jh4vrUdXGkmxhbawg==","signatures":[{"sig":"MEUCIQCwYYvP/TmADTMxkhy/x97cqoeuoOoyr3ZstserdCt6ywIgdxKCVvM0ZNf/GTjRmrzIWf1dE0vjG3DDAh3uC5eMDIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54845},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fa74d7f8f172a89fe4d141871e708f1f40d3b53a","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.1.0_1774550091728_0.03576516068202662","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"react-anchorlist","version":"0.1.1","_id":"react-anchorlist@0.1.1","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"0a4a23884b3418a4c74054c3aa751627744fe44c","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.1.1.tgz","fileCount":38,"integrity":"sha512-uv+QXDuxUYkfhzr7r4N2gddbmSpU4lKNniEcVNkb7p1gBQqa+FfwE7WTWi/bzCEVqwmsWtsaj3hitUMrdI/Evg==","signatures":[{"sig":"MEYCIQDGevSsBXmRAzWhBf+8bdriucXel7TqDRY1HHK4iA9JAAIhAN4E7SiqY96vFoJFyeoOq7/wp/ptaX3k7537RqBlgRS3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63043},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b11e2d3e81327ae9ed41eb65f72e7e7e571de484","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.1.1_1774550635032_0.1903483507600996","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"react-anchorlist","version":"0.2.0","_id":"react-anchorlist@0.2.0","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"803ef2f4753dc2ec8030c4937267f444931a02f8","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.2.0.tgz","fileCount":38,"integrity":"sha512-dkQ1ipEp3i847K+poxDfYiP6ceZaeX0cfWwPg0Mhvnt95PlOZ4dcW8AVOsayDudKYad3oN9vTeZrI2BZADCaCA==","signatures":[{"sig":"MEUCIQDjxrNwqOmWiuk9amQgUxn2gdACqQOlDPwl2ogwMHL3xgIgEzo0D+41FO9o2eLMku+GX3mKOd5O6WOBIBiHdbOQvY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62267},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.2.0_1774555926668_0.5511920792554901","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"react-anchorlist","version":"0.2.1","_id":"react-anchorlist@0.2.1","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"c3741068005418ac85620d1759bd7764d601e56d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.2.1.tgz","fileCount":38,"integrity":"sha512-i8sZW1qUTXrr0nmB3ZZUpfJYugOTMGS7PNAD0uXhljfbPmKIZN4lhjnKjAuTnSCtt/nBnIZdN03WWYK0xQhcpA==","signatures":[{"sig":"MEYCIQCegKVa9dp5vrVwFq/iiyM5fuSkLAO4X3nR10oqyDG87wIhAJT9opvgGGPZT2DT9unjosTlngoEX+yAPD14zk3dZyKz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63239},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.2.1_1774569409837_0.5194083485698255","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"react-anchorlist","version":"0.2.3","_id":"react-anchorlist@0.2.3","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"950bbf2f22ce24299670fddbdfb96becb4dba537","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.2.3.tgz","fileCount":38,"integrity":"sha512-j9hCH+aKNJN0xeTjmRiHBNRb1MZtCTSdtjiOEqgG0VgCapqcZXDvHir6QLjVXw1r/aBz14kMdgDy/eq/S2D0/Q==","signatures":[{"sig":"MEYCIQCTxrL5K7nGxpqXUnhKFo0/g61AgtzDpkdo/bsuVe2YigIhAK+hC//rB0Lkh/QssuO7YmwYiMZpKiXse7u+d/j9mBoy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65213},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.2.3_1774613376351_0.13453328118013097","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"react-anchorlist","version":"0.2.4","_id":"react-anchorlist@0.2.4","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"eb8a1e66f062dde948ed8fe94acd6302f958295d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.2.4.tgz","fileCount":38,"integrity":"sha512-cIztfMPNeL0uTTxFrAHGvThPBwgF2fRNAVI5tBhjHg5/50xEXXuFxyzVTtaCpVEsfANerVAWeXGklo9i3YuWfA==","signatures":[{"sig":"MEYCIQD6qXv9f0TLMW+F5yPjj6ZbHpEt+REqCxxlWYb+SwamOwIhAMWum1/6U9/qtbzW9ICN6RZUWb3MZWhjXrBAXh0S4xVl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66916},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.2.4_1774614774153_0.8357030844317226","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"react-anchorlist","version":"0.2.5","_id":"react-anchorlist@0.2.5","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"4db0a053d658c3138725940e8a9f4707ec70528c","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.2.5.tgz","fileCount":38,"integrity":"sha512-blHZvhh7T9wJR/68yEX9xVsCylcCOmIkt7j7x2KDMUYUM1UxN1K+mawZSh7jCupw6Ik/QyvnoXx5NkNy3tVE7w==","signatures":[{"sig":"MEQCIDZ81CapQSLb39IB/IdkiAOEi1jE9+BQjl/3IeFBqcC2AiAxNqE0Sbf4b76/20WkJE76M3UGx1PEStZZR2a5uspRIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67396},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.2.5_1774615819892_0.7948889993382293","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"react-anchorlist","version":"0.3.1","_id":"react-anchorlist@0.3.1","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"dbec47e97f7b5413b98717f15f0f10d15d57624e","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.1.tgz","fileCount":38,"integrity":"sha512-01+rJf7CrqzmSbwZJQ0CN8kFpiChJhly83uTsqV8KjzBajWrB6UUQOhTcw7Uh06dGEjguiwY3M0BliDyHYnpMQ==","signatures":[{"sig":"MEUCIQCduaF5v6G9Vk/8VrWabrCWSy9+dwgLwEci9o6BwKKl4AIgVAplMccmsLxaXEaxljUHKxXc1VvgVO1HNIt48gJCQYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80289},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.1_1774628476001_0.07249058378305229","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"react-anchorlist","version":"0.3.2","_id":"react-anchorlist@0.3.2","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"7f1afe729e92f46b2f65cc3b99356424e22c08fe","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.2.tgz","fileCount":38,"integrity":"sha512-KWJ3pwB2+/SehZOf5FMFMdleKVFH79czQu5Nmy8JrtuqdSRprKzsJR9qgNZmCfMN61K8Jv1YTEZSKML8UuWtJw==","signatures":[{"sig":"MEUCIB87iTOmyuj8/cLlQOwrjaZMAQgGY+UHR9drG9SN9cUPAiEA5r1aR86L7EqLV+ipFHW/F1OTt0EzBHN/KHvYEdS8lvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80289},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.2_1774631217532_0.27468361481375836","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"react-anchorlist","version":"0.3.3","_id":"react-anchorlist@0.3.3","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"6fb5eeba54c5c651703f0cfa5883441d6fdaa8f3","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.3.tgz","fileCount":38,"integrity":"sha512-DgEr4pHnvrc1tOBZjmTdOf1sKxVaFmC0MlzIeq71DLY43impcEnEIyCC7rUOulIUEdVLBjbvYjB/KjkuzeKicg==","signatures":[{"sig":"MEYCIQDPW9pJ+8kZGEHBPtXWLWYsiaWEodjinaRvY2R97/+M7QIhANrWCMtZpmW6W3kOfGtHM4HaaevQsSGVvUl3xVYlosV2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80289},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ff8acbefc3eaa7e85aba47edcf75841ea68198c","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.3_1774631660578_0.22269666360558937","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"react-anchorlist","version":"0.3.4","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.4","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"2178062009c442dcc9cd8b992eabf86b264ff106","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.4.tgz","fileCount":38,"integrity":"sha512-E3aiBxqsm6WI0MK55WH6pSyq84MqAJ+/L9A2UMhlmBGza/tJEacpvQuST4weh/t3h9I2Gx1LAsPLYW/YhXhO1A==","signatures":[{"sig":"MEYCIQCpGvLtCHMS5mp1ENT/CnS/+FiklmLqdd5eiooCLfHB7gIhAMMMOeUbk/HZJdnbvTm0PDm6xowFJn3LskvV7UIVNcjL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81228},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.4_1774631851410_0.04235437415693544","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"react-anchorlist","version":"0.3.5","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.5","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"04acbce45bdd39e4446f17bf059b250b4561c092","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.5.tgz","fileCount":38,"integrity":"sha512-QXDMJqMJuZ0kXKUsUexD9X6wYw4eGSghawKwYMsvEC9Pk+UTCRcWWDk/4nlx6+oy1lfFeLf6+GxIupXbsZN4zA==","signatures":[{"sig":"MEQCIB6eHwI7kugcDz6J+k1+s7OBHjPWb3mFp34PwupliDOYAiBIOUFl+lyY8YvDVzdYlQrFvF5Sr5uPtxSmccnqZM1paw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82064},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.5_1774632997434_0.3559208733712771","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"react-anchorlist","version":"0.3.6","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.6","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"72456cb9cb2c87109d88ba370942c3b3aca37549","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.6.tgz","fileCount":38,"integrity":"sha512-z/zClutEFBmUHVMBLLEAwnjDeilOIboe6PfPNg7YzALOVQTrAPqwcDbuJcaU9/Cwr+EZAPMqNr+v0D620ZUJsA==","signatures":[{"sig":"MEYCIQC29lKFu/1EtUD+5dOFbXxeo1AQN4fGi+Zx4UUja2c8eAIhAPnJyw4pcXdVmYUlj38G5q94YeV7SXLUFX7el+ds26OU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82064},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.6_1774635669531_0.9805000980133707","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"react-anchorlist","version":"0.3.7","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.7","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"3b8896457a65970d24900709cbce1ff473ccc353","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.7.tgz","fileCount":38,"integrity":"sha512-tHjO9kPAciGgGsfy4TEmUvrVeB2XV6y/nPKUOlrdb/Iy6cBqU99nurETushB6kHCvB6UHu02i5heIHpARDWc7A==","signatures":[{"sig":"MEUCIQDpMhnHQMZuZPvyst2/cNwRiQBkP+mxDqMmEesX20QPAQIgI8dxsejrLcjzZvVb70Q1wjaCnZlLQqV35ux18kLxRP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83022},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.7_1774636221026_0.8516947313789134","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"react-anchorlist","version":"0.3.8","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.8","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"6053505c459717a88dfda411fa541dfc41b7dd60","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.8.tgz","fileCount":38,"integrity":"sha512-HHgeWT5axqzPCv/m26XRjqyNDdeXyKZqWLLm5tTlLJNUQRrSH61UncO5q6hittHGfg/hNB9lPdpBpvdQBapqQg==","signatures":[{"sig":"MEQCIGmKOT5b0d7T+kTG/FBhg5ECak0oEvtjK4sj3bT2LbnbAiB+dQ1y3EIB3jn6e2YXFEHFvCu/ehj6K40wJbPVXvz6zQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82142},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.8_1774636508196_0.16573807112393957","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"react-anchorlist","version":"0.3.9","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.9","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"cdc27b59db244bbc3e89b3fc162cf3ba94f316d1","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.9.tgz","fileCount":38,"integrity":"sha512-dWOdE73+1ZjrAusCiMMRmEPmetbuiLJIYnkjlx4egOLBHepjSrO/mS/uJUSbeRpzZ7ZnVd0Svenl1M8yV9ZVWw==","signatures":[{"sig":"MEUCIQD683WY+H2354bYAe6He39RiSTgORfcGOVOLIZnIWCTIQIgF0mdktRlqO6x6mZMo9FDkAt/IxOubnGnkLCqirqekdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82064},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.9_1774637616641_0.7289629998522051","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"react-anchorlist","version":"0.3.10","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.10","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"562d11a80d38f19a38bcb9505020808f1702fbd9","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.10.tgz","fileCount":38,"integrity":"sha512-vWX1CKSLrclrrLKaWnJgdn8QQtEVSTcqtE/wlVM2FImAsLj5BTjkfJ8hZ9xJORYaBsQLoMXlPFkMm+ZErdcrcw==","signatures":[{"sig":"MEYCIQDas05m8fJ4l4em0cw8AKTc1LDHgqN3AY1muUUXdH+h2gIhALfAIeNkxcEWgFEUxAyrNVT6BoQLKM6itTVgPTv6V/Ra","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80280},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.10_1774641676947_0.5551594967239428","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"react-anchorlist","version":"0.3.11","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.11","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"082e5549b610e9374f327952d0d8de302ff35c5b","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.11.tgz","fileCount":38,"integrity":"sha512-5x6q913Uzc0sFcm+uxIgNDhGmp5DhMO76VO5NQcBfPwJMDX0DpE4HDAQUlKdaLRkbchQm5BL7jQ+YfrQrZEy+g==","signatures":[{"sig":"MEYCIQCWGsopfnfAl+3BDDpsfdBs5yrU6uHP96YdvDTuoNXObgIhAJAZpbNZTEsFdFE5rsWNfpuRWUG6fIl66hl2GolZOGUu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79899},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.11_1774641976989_0.23935151096241092","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"react-anchorlist","version":"0.3.12","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.12","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"fb7c178f10873cfebe95b42b05d486dc669bedf5","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.12.tgz","fileCount":38,"integrity":"sha512-SVciEhtAEqELxuetNphVMIjAzBo9J64OvWgDGMPefuODiKHuxJUmA5rGfv2elVuDjDtOu0pYH7y/m62byJm7pg==","signatures":[{"sig":"MEYCIQDGx/Sc94QmADrbFlOSoDuc3vvUDdUXDW4/KdvksMYfigIhAPF2/4qN+grVfSwkj8YqtrUwOyCGCL2nDHh2EN/jPrSb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79872},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.12_1774642137491_0.6719346518499298","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"react-anchorlist","version":"0.3.13","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.13","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"6dc0c8dbb5dc26b6e64c93e834b6d773e5c1dbff","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.13.tgz","fileCount":38,"integrity":"sha512-yWIL3rix736FOuePrK1ahvcsR1ex3+L6qVt5ak5V2gGjixagUDkqPvJL1EmqKFxBvyeFFi5vYGlKk2HGHjUGbQ==","signatures":[{"sig":"MEQCIFCea+MDrVUP9eTyBTB6QrhsKPs5PX0bdQu40z+nOQC8AiBpsyh1FfBiN+J9x2ZRHcUuakHvOsmIrMXO5HlRUiuh7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79872},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff599e7884457cfa3496986088f4477d3410fb0d","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.13_1774642236774_0.20933719273481355","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"react-anchorlist","version":"0.3.14","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.14","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"78766aeab45ba204f81586f04e40d0c81293924d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.14.tgz","fileCount":38,"integrity":"sha512-o5USEC08KQEgOYP36e2UvcXmjvEXEmM4oNd7cwBiru/ekxJxQZNECkZT636YKqEPuDvrjIkGjzYG1vYdPc1rdw==","signatures":[{"sig":"MEYCIQD9ftLYKdEYs4EUnxSQ5GZBBqTsvDpc7y20zX3M86xNPgIhALlS3xZVKuB6eYvgXTE3/LjXoWlsfg9cQJlbYq/S43jY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79872},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"91eaee2ace67cc4c0f5f5b15cd19db35d6fba737","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.14_1774731732918_0.24514115783557378","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"react-anchorlist","version":"0.3.15","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.3.15","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"homepage":"https://github.com/Luccas-carvalho/react-anchorlist#readme","bugs":{"url":"https://github.com/Luccas-carvalho/react-anchorlist/issues"},"dist":{"shasum":"ed680bec868926af9b005a911e3409230ee664d5","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.3.15.tgz","fileCount":38,"integrity":"sha512-6DC2IbsJdlYoNHCOovyCAFM2gR67JScVKuMeqM5Jk1uAAO+DTlYABfzhiFBOIMFqtq0afuv5Vglc+GU+9OOTgw==","signatures":[{"sig":"MEQCIH7BAzq1+G/6kmFGptxTd3bz5rvBYRag0lz7CGGRZoExAiAW7ktRHLFrO6tdXSShsldtKnQHXikxG5cAAqJWRmDYJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80152},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"91eaee2ace67cc4c0f5f5b15cd19db35d6fba737","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"repository":{"url":"git+https://github.com/Luccas-carvalho/react-anchorlist.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.3.15_1774731979444_0.13035317015199244","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"react-anchorlist","version":"0.4.1","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.1","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"homepage":"https://github.com/Luccas-carvalho/react-anchorlist#readme","bugs":{"url":"https://github.com/Luccas-carvalho/react-anchorlist/issues"},"dist":{"shasum":"563681bf7759e8c9392f24e34b7742123014d79d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.1.tgz","fileCount":38,"integrity":"sha512-jZ5e8S+DGx6Mo9sEshOPEMiFcKacUWXLieTSFgM6YrQDliQLaf5bPN1Oy+nOEd7Zvg0lxmjJbcXp9/RKj4qelA==","signatures":[{"sig":"MEUCIQCeZsIRIgt3SwjWZPYgK/TEMnWcbR/CSYB1f0cTPheqDgIgRbaVuept0vHtHhrFncsvXWYXo/nPHFaI2wt2b4VgR24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82255},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"91eaee2ace67cc4c0f5f5b15cd19db35d6fba737","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"repository":{"url":"git+https://github.com/Luccas-carvalho/react-anchorlist.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.1_1775150839416_0.7099715432796971","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"react-anchorlist","version":"0.4.2","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.2","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"6032a00374f6aa50b3c7f7ff80a9b7bcec9e4d52","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.2.tgz","fileCount":50,"integrity":"sha512-g1lLuGRr109HP/cQhdpF2whLnVsYLUBZh91yj+X9PXfzVr2M7E4Gco+a/guy4cokqwuG4GPCqJREUKuHvwtEow==","signatures":[{"sig":"MEUCIQCAnM1c2Rw/PuHMaxfmrrpksFPun1zVXZQDRWtjobcFtAIgKO2+47a0IVdfMsvBcdskZKO+65J4mxyyH/DkBgmAzSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95614},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a26b2680f8191c756f8a125df06123e5963fd13e","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.2_1777291619578_0.8620202689019485","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"react-anchorlist","version":"0.4.3","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.3","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"eb48e8c036007fa880c14851f7ff5d69e020f68e","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.3.tgz","fileCount":50,"integrity":"sha512-Ff7OLf/F70f9uTlIAjhPWnMwtTmIJP2sFt1PbDikYCc/YMZH4B8yyw97rE1e5B+xRxDvOIl6Po0TIszK0ULTbQ==","signatures":[{"sig":"MEUCIDk/FKvlVF3W0OMGcp8co/Cdn39e2c9Q7RG+wNj3tJPhAiEAogWRN16LyvG8lLTpn9+af+ip2bf3fKdRANLCbuf6Vv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95970},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a26b2680f8191c756f8a125df06123e5963fd13e","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.3_1777293087968_0.044146720685843244","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"react-anchorlist","version":"0.4.4","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.4","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"6a569d79159109c1b87bdbeac4c2fd59ac08eb75","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.4.tgz","fileCount":52,"integrity":"sha512-WTv0M+SBkZkifORAVon35TArZLba+Vj1Asx4//phRzevgGgxXGtAgddoF2YH0z8Veq0606khPWQpuUY3tHL+sg==","signatures":[{"sig":"MEUCIQD1IuFXF4ZMrrZm6GH560t8yIKYqOZAVM7KkcTqg8BelgIgXIXa1Os064Fe36bnBD4Qa3XKSBLjcu6W/Z6gv++r8QU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103804},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ce74ccf1ad6360346618c2a2af326b46595c3b25","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.4_1777306860137_0.18424085066663665","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"react-anchorlist","version":"0.4.5","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.5","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"5f7e7ffbe6882bd94ec716f70e32e80b8b9d11a4","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.5.tgz","fileCount":52,"integrity":"sha512-/REqho6PfkOQqHqhyG2jkCe1699alNIUf34F24iiJRLZ5cNxyX/ajHqP2B16IkKhYzzS4Zv191eHmz3whtRMQQ==","signatures":[{"sig":"MEQCIG++HKtIjned+3xSwyypUKSEaYDvy1t7CoR8o5gN8bmyAiABZ7esH6Xe5oUy0lmgQ43hqMEDLe1I6VeuQWorDgCO3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108086},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.5_1777308917657_0.007676393703669682","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"react-anchorlist","version":"0.4.6","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.6","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"4eca839d2ab294a5f9d6cf8677e807db80000064","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.6.tgz","fileCount":52,"integrity":"sha512-ya0+k8QhAFXTm+WODwzyzfZzWW4XWL2V/AEQSU1EF+VhDp/c1Bf/h20hP9v7y2OJ3Ta+/5AIy6VdBJh4QTFEPA==","signatures":[{"sig":"MEYCIQCGSpTXAVzPLZaFWJIDaZBkzC830AG0zx7xMHR5QmoHfAIhAPPCFUIrNWNG1GeET1NYvwsB9Ai6K0WBB1U38VW8ziUg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113364},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.6_1777309511924_0.7574663031867765","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"react-anchorlist","version":"0.4.7","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.7","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"8b7ad276123993a8c32032e662ff9322c743f708","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.7.tgz","fileCount":52,"integrity":"sha512-0T8qZGOaqILgnkpwXRDho9wJdNPUrGYcScyTWdeM37QsSWvVFiegpZf54N5y8ssq7tLOLw4EfbE6woYwr3CPlA==","signatures":[{"sig":"MEUCIGaZfHeGX9gUod4y0jkgiW0Ts82nrd9oI3Q7ufSkI8BcAiEA3K7w2ypCMxAZC32h+WVZkC4iiPrW7uHIaxbqNefkbzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114188},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.7_1777310224057_0.29104042097321314","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"react-anchorlist","version":"0.4.8","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.8","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"39669a7d9904105467b1dfcaee52602153b3b36f","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.8.tgz","fileCount":52,"integrity":"sha512-oOU+UgHa+unfmnNLj3U3aglhfUEC4up+lfDaPDl1PCdAwMj46GdOwDsZBZRQsqWXs90OZimEpDMgqME3IXh/MQ==","signatures":[{"sig":"MEYCIQDaTgNl0iK/b3WYRe8Z9or1NX41tEBBVWbDRA6qidAc+wIhAJhpK2OFLlqQ1SKMm1OHjI1D67Yj5nRs90gLw39ds1Z0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115359},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.8_1777311014698_0.42656792215689143","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"react-anchorlist","version":"0.4.9","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.9","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"feedac1ee301f320c4ab53340f368ff8907e5728","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.9.tgz","fileCount":52,"integrity":"sha512-wmQmT1B3He8iRgd9llfuC1CMcMc1NzAWJNYlFaZ0RYaKBGdEjz5A8IY+DWGNfKXxL7My5Vr+UpyXGcN9ceyD6A==","signatures":[{"sig":"MEYCIQCogLrlNaG4qFu7kPPAyc4UEerAlBbRYFvSsY8fu1F+GgIhAMyLrDD4GqosZtbD6jyNj/+PUrZ43zlR4WeGvh+Wzw7L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116547},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.9_1777313253924_0.24687995988335776","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"react-anchorlist","version":"0.4.10","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.4.10","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"01a816888d71354cbb6ce1204afb141156d7392f","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.4.10.tgz","fileCount":52,"integrity":"sha512-7Durk1kUynVD0gq+1e0Egg5Xn5hg8toSl4/KG7lKTFfx76vi0cXElGUcPpoxV45pkMFGkZ4p6vn5nFh8D4c3EQ==","signatures":[{"sig":"MEUCIESDLITbXLuoGnmcOcKnENWEZgXr6u/G45gBV/ankgP3AiEAkWsgeyS6LcZ7IukfoQRS/Rp3gCKQ9YPya4ko0fda9uI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118665},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be8d4fd3f2f3d7ee1971d873aaa154e7dc51f7da","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.4.10_1777314569915_0.8162722558406972","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"react-anchorlist","version":"0.5.0","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.5.0","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"c9008063df1e51f58ce78697023744dbf446a286","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.5.0.tgz","fileCount":68,"integrity":"sha512-6vpGDSa80n9HCa4rUt1GI0oqbJG6sgIr/XU+z9+OajfPCp6YZEKx4pVE05sjDqfSUqYrQaMHkhReVNmckkyEQg==","signatures":[{"sig":"MEUCIEJP3Tql/B06lqmzQ3A/Er7Vk4B754nIRdZkpFu7JvO0AiEA58cCF9Pv3ZeGC2NOxIMYRHYIN8MCNHFHGaYnLhqSFsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129209},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ee19d1d9b0864207f0a8fae2ba676da07432cb62","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.5.0_1777317363219_0.9342762788408703","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"react-anchorlist","version":"0.6.0","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.6.0","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"71813f60fe7552a54b8e454520341bb3f06a3138","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.6.0.tgz","fileCount":68,"integrity":"sha512-s9vvsVnjhKM+06wpud2e4BGwydbHx7wXK1Z29XrBCfLqQUily9uIRiVZtgrOg5S8FFu3/fafjz7pLj+uMcm6Kg==","signatures":[{"sig":"MEUCIC6MoxXJUC1dmGt+O2GFuphmj5TpKRjxdeYw/NaJJQmXAiEA8h3v9Wr5WpWZAsJx+fOqFmY/vULlJEWO0+/GcdiMf8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135247},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0d7d190bf3b5221036719c3269c2341f2054e198","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.6.0_1777329912610_0.6186921968825712","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"react-anchorlist","version":"0.7.1","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.7.1","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"030dfdba1a91dfa866bee9fb9e6855c686c40c52","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.1.tgz","fileCount":68,"integrity":"sha512-oSZQ+xXwlIUdCNq3DI3exO6LpY5zf4B1Z89hLuibYmgevKoK6yz2iJgHxslZCjm/cgoi7aHP6yr7GFCLSHhDkg==","signatures":[{"sig":"MEYCIQC/oYLGioz+JJylFb2VEd9XPowx9c5QYGlI6x01PaUuNwIhAL27rIuOqtd4PPYdYxmlkeTHqgRnE4Ki7JuTZ9N8hQ3o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137003},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c0d0c331024de39309070624796a7bf3db87515","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.7.1_1777331410829_0.8495026309092568","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"react-anchorlist","version":"0.7.2","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.7.2","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"eb1a01085a33bacb8b7ae3376588d16d1c6cd80f","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.2.tgz","fileCount":68,"integrity":"sha512-MpRItGpgZRHUfuYUs0w81gRl4wvorgtqzXLU5wpOiS6WCJYOtrdC/ffjKO0AxvliNzLN4XsrxSMKqSGe1p88Zw==","signatures":[{"sig":"MEQCIEVWeUlmcfHkOeqZ5Tt1lICqsZhasIZMkFF65FD2vL4NAiAfZwR0WLjxQaNBC7lTXcVM/kf30YyxmdqoCUoYW8saUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137003},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c0d0c331024de39309070624796a7bf3db87515","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.7.2_1777335787964_0.25638447092977423","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"react-anchorlist","version":"0.7.3","keywords":["react","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","infinite-scroll","scroll-anchor","prepend","feed","typescript"],"_id":"react-anchorlist@0.7.3","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"ad6c4fb86877bb97e9c6da9962567cb45f2fdc1d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.3.tgz","fileCount":68,"integrity":"sha512-+EdKnvPk1VpSS4Y0UYgpuNWIbmDNNRwtfiAudwBkjCplkCxqWZXoXce32GoFI0fRQEz+kP8+KKVIzgo1LDq+hw==","signatures":[{"sig":"MEQCIGyay+M8kCjDTe6a2RiOhWMD9DY8Yoyoa6YgYWL4t6PkAiBQkmJzK+sK/2EtWYmGlOdvKxCZ5Zai6fbq/QINTT4TwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137003},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c0d0c331024de39309070624796a7bf3db87515","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"High-performance chat virtualizer for React — no flicker, no hacks","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.7.3_1777338132750_0.773639683682106","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"react-anchorlist","version":"0.7.4","keywords":["react","react18","react19","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","messaging","infinite-scroll","scroll-anchor","anchor-scroll","prepend","pixel-perfect","no-flicker","feed","timeline","message-list","typescript","react-virtualizer","intersection-observer","resize-observer"],"_id":"react-anchorlist@0.7.4","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"297db56133ff93c3e6dfc8177166967aff636b8d","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.4.tgz","fileCount":68,"integrity":"sha512-fwqwmWZMyPWqrw0nT/deLC03tMkVRmQLX/yHyo/e1/2GpUU1ytmM5rQPaq0ih/Rd5bKO8JVw9lL9omJQkYHyYQ==","signatures":[{"sig":"MEUCIQDXXXNsWs1w/S1O7MiWo2xiAArvThLdUO+a4wGkYP7RfQIgVWqscgFcMp7Udw08N0dmD54faxG+T+ygs1rTWAGt8bA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b64a3c867ad1d9822dda88a0a1f66b781f452ce9","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"Pixel-perfect virtualized lists for React. Zero flicker on prepend. Built for chat, feeds, and infinite scroll.","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.7.4_1777394382931_0.5522276770347023","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"react-anchorlist","version":"0.7.5","keywords":["react","react18","react19","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","messaging","infinite-scroll","scroll-anchor","anchor-scroll","prepend","pixel-perfect","no-flicker","feed","timeline","message-list","typescript","react-virtualizer","intersection-observer","resize-observer"],"license":"MIT","_id":"react-anchorlist@0.7.5","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"dist":{"shasum":"d503637b1e0b82de90202bfbc52143a2295fe9e2","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.5.tgz","fileCount":69,"integrity":"sha512-K3id81kuAyOzYfaMy4b254Dann3sCoCBvyeHSFPWvQdwwM9hMXtffkrkZ8pitkAn0z+9PI6jLqGJmAka4j1lkg==","signatures":[{"sig":"MEUCIDhQcqTVdtxiWPvR/ifx+LubykNe8DMOkeTBeM4u8QXlAiEAwGZwzXoRFXSGcn0HTaw50w5MA2HgX0VzG6+Xsq3XTYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201787},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f2e88d02ab2f5b1d9afb5004ef0ff34b8dd1a7bf","scripts":{"dev":"vite build --watch","test":"vitest run","build":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"_npmVersion":"11.6.2","description":"Pixel-perfect virtualized lists for React. Zero flicker on prepend. Built for chat, feeds, and infinite scroll.","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","jsdom":"^24.1.0","react":"^18.3.1","vitest":"^1.6.0","react-dom":"^18.3.1","typescript":"^5.4.5","@types/react":"^18.3.3","vite-plugin-dts":"^3.9.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^14.3.1","@testing-library/jest-dom":"^6.4.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-anchorlist_0.7.5_1777396737846_0.13080006104853337","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"react-anchorlist","version":"0.7.6","license":"MIT","description":"Pixel-perfect virtualized lists for React. Zero flicker on prepend. Built for chat, feeds, and infinite scroll.","keywords":["react","react18","react19","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","messaging","infinite-scroll","scroll-anchor","anchor-scroll","prepend","pixel-perfect","no-flicker","feed","timeline","message-list","typescript","react-virtualizer","intersection-observer","resize-observer"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/Luccas-carvalho/react-anchorlist.git"},"homepage":"https://react-anchorlist-web-ebon.vercel.app/","bugs":{"url":"https://github.com/Luccas-carvalho/react-anchorlist/issues"},"sideEffects":false,"scripts":{"dev":"vite build --watch","build":"vite build","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@testing-library/jest-dom":"^6.4.2","@testing-library/react":"^14.3.1","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","jsdom":"^24.1.0","react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.4.5","vite":"^5.2.11","vite-plugin-dts":"^3.9.1","vitest":"^1.6.0"},"gitHead":"f2e88d02ab2f5b1d9afb5004ef0ff34b8dd1a7bf","_id":"react-anchorlist@0.7.6","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-d0viVd2bX80q67Ynw9WhSGm6XTEb453jDeSR4D6ykO9B6h/VXqrnvASJJQblXk8cP/Pfd/N+mK3nW/8i8XDo1A==","shasum":"43a9e6bedf44bc3c6883eb9f2082ec2e2ed0e69a","tarball":"https://registry.npmjs.org/react-anchorlist/-/react-anchorlist-0.7.6.tgz","fileCount":69,"unpackedSize":202050,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFe7Npnj4leEkPBqg7f68EG9RWQo9d0bbUHLkke0fHEoAiEAiYKeJwlqM3/jGCoXhxUTfWgenc3vVi7suDci7fqFCk4="}]},"_npmUser":{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"},"directories":{},"maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-anchorlist_0.7.6_1777552319128_0.8951199143619606"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-26T18:34:51.606Z","modified":"2026-04-30T12:31:59.400Z","0.1.0":"2026-03-26T18:34:51.881Z","0.1.1":"2026-03-26T18:43:55.181Z","0.2.0":"2026-03-26T20:12:06.861Z","0.2.1":"2026-03-26T23:56:49.985Z","0.2.3":"2026-03-27T12:09:36.484Z","0.2.4":"2026-03-27T12:32:54.303Z","0.2.5":"2026-03-27T12:50:20.075Z","0.3.1":"2026-03-27T16:21:16.156Z","0.3.2":"2026-03-27T17:06:57.682Z","0.3.3":"2026-03-27T17:14:20.728Z","0.3.4":"2026-03-27T17:17:31.570Z","0.3.5":"2026-03-27T17:36:37.577Z","0.3.6":"2026-03-27T18:21:09.680Z","0.3.7":"2026-03-27T18:30:21.164Z","0.3.8":"2026-03-27T18:35:08.384Z","0.3.9":"2026-03-27T18:53:36.770Z","0.3.10":"2026-03-27T20:01:17.134Z","0.3.11":"2026-03-27T20:06:17.200Z","0.3.12":"2026-03-27T20:08:57.649Z","0.3.13":"2026-03-27T20:10:36.938Z","0.3.14":"2026-03-28T21:02:13.106Z","0.3.15":"2026-03-28T21:06:19.595Z","0.4.1":"2026-04-02T17:27:19.548Z","0.4.2":"2026-04-27T12:06:59.763Z","0.4.3":"2026-04-27T12:31:28.108Z","0.4.4":"2026-04-27T16:21:00.270Z","0.4.5":"2026-04-27T16:55:17.814Z","0.4.6":"2026-04-27T17:05:12.080Z","0.4.7":"2026-04-27T17:17:04.196Z","0.4.8":"2026-04-27T17:30:14.825Z","0.4.9":"2026-04-27T18:07:34.051Z","0.4.10":"2026-04-27T18:29:30.058Z","0.5.0":"2026-04-27T19:16:03.368Z","0.6.0":"2026-04-27T22:45:12.746Z","0.7.1":"2026-04-27T23:10:10.984Z","0.7.2":"2026-04-28T00:23:08.110Z","0.7.3":"2026-04-28T01:02:12.910Z","0.7.4":"2026-04-28T16:39:43.100Z","0.7.5":"2026-04-28T17:18:58.091Z","0.7.6":"2026-04-30T12:31:59.304Z"},"license":"MIT","keywords":["react","react18","react19","virtual-list","virtualization","virtual-scroll","windowing","chat","chat-ui","messaging","infinite-scroll","scroll-anchor","anchor-scroll","prepend","pixel-perfect","no-flicker","feed","timeline","message-list","typescript","react-virtualizer","intersection-observer","resize-observer"],"description":"Pixel-perfect virtualized lists for React. Zero flicker on prepend. Built for chat, feeds, and infinite scroll.","maintainers":[{"name":"luccas-carvalho","email":"luccascarvalho.dev@gmail.com"}],"readme":"# react-anchorlist\n\n**Pixel-perfect virtualized lists for React.** Built for chat, feeds, and any scroll-anchored UI.\n\nZero flicker on prepend. Zero hacks. Tested with thousands of items, mixed media types, and high-frequency real-time updates.\n\n```bash\nnpm install react-anchorlist\n```\n\n---\n\n## Why use it\n\n- **Pixel-perfect anchor restore on prepend** — measure-then-commit pattern + force-render-on-prepend + deviation system means the viewport never moves a pixel when older items load above\n- Virtualizes large lists (renders only what's visible + overscan)\n- Top/bottom pagination callbacks with sentinels (`IntersectionObserver` based, with scroll-math fallback)\n- Chat-focused behavior: `followOutput`, declarative `scrollModifier` commands, hysteresis on bottom detection\n- Dynamic row heights via `ResizeObserver` + per-type estimate hints\n- Imperative `prefetchMeasure` API for the strictest pixel-perfect cases\n- TypeScript-first, zero runtime dependencies, tree-shakeable\n- React 18 + React 19 compatible\n\n---\n\n## 60-second setup\n\n### Chat list (recommended pattern)\n\n```tsx\nimport { useState } from \"react\"\nimport { ChatVirtualList } from \"react-anchorlist\"\nimport type { ChatScrollModifier } from \"react-anchorlist\"\n\nconst [scrollModifier, setScrollModifier] = useState<ChatScrollModifier | null>(null)\n\n<ChatVirtualList\n  data={messages}\n  computeItemKey={(_, item) => item._id}\n  itemContent={(_, item) => <Message data={item} />}\n  scrollModifier={scrollModifier}\n  followOutput=\"auto\"\n  onStartReached={async () => {\n    // Just prepend older messages to your state — anchor is captured automatically.\n    await loadOlderMessages()\n  }}\n  onAtBottomChange={setIsAtBottom}\n  // Recommended for production:\n  preMeasureMode=\"aggressive\"\n  getItemEstimate={(item) => ESTIMATES_BY_TYPE[item.type] ?? 80}\n  startReachedThreshold={1500}\n  style={{ height: \"100%\" }}\n/>\n```\n\n### Generic list (non-chat)\n\n```tsx\nimport { VirtualList } from \"react-anchorlist\"\n\n<VirtualList\n  data={tickets}\n  computeItemKey={(_, item) => item.id}\n  itemContent={(_, item) => <TicketRow ticket={item} />}\n  onEndReached={loadMore}\n  style={{ height: \"100%\" }}\n/>\n```\n\n---\n\n## How pixel-perfect works (brief)\n\nWhen older items prepend, three mechanisms work together:\n\n1. **Force-render-on-prepend** — newly prepended items are temporarily included in the render window so their actual heights are measured before the anchor restore runs. They unmount on the next frame, leaving real sizes in the cache.\n\n2. **Aggressive pre-measure (`preMeasureMode=\"aggressive\"`)** — items already in the data array but not in the visible window are measured in idle frames via a hidden DOM container. Heights are populated before the user scrolls past them.\n\n3. **DeviationController** — when measurements arrive late (image decode, font load), the lib applies an instant CSS transform compensation, then reconciles via `scrollBy` on the next animation frame. No visible jump.\n\nCombine with `prefetchMeasure` (below) for the measure-then-commit pattern when you want absolutely zero flicker even under heavy estimate variance.\n\n---\n\n## Pixel-perfect on demand: `prefetchMeasure` (imperative)\n\nFor chat apps that fetch the next page reactively, the cleanest pattern is **fetch → measure hidden → commit**:\n\n```tsx\nconst handleLoadMore = async () => {\n  // 1. Fetch next page (don't commit to state yet)\n  const olderMessages = await api.fetchOlderPage(ticketId)\n\n  // 2. Pre-measure in hidden container — sizes go into the lib's cache\n  await listRef.current?.prefetchMeasure(\n    olderMessages.map((m, i) => ({ key: m._id, data: m, index: i }))\n  )\n\n  // 3. Now commit to state. Sizes are already cached → anchor restore is exact.\n  prependMessages(olderMessages)\n}\n```\n\nThe visible scroll height does not grow during step 2 (items mount in a hidden container). Step 3 is instant because measurements are already done. Result: zero pixel of jump, regardless of item content variance.\n\nTrade-off: ~10–30 ms added between network arrival and visible commit (imperceptible compared to fetch latency).\n\n---\n\n## Core concept: `scrollModifier`\n\nDeclarative scroll commands. Set the modifier; the lib reacts:\n\n```ts\ntype ChatScrollModifier =\n  | { id: string | number; type: \"prepend\" }\n  | { id: string | number; type: \"append\"; behavior?: \"auto\" | \"smooth\"; ifAtBottomOnly?: boolean }\n  | { id: string | number; type: \"items-change\" }\n  | { id: string | number; type: \"jump-to-key\"; key: string | number; align?: \"start\" | \"center\" | \"end\"; behavior?: ScrollBehavior }\n```\n\n- `id` must be unique per command (used to dedupe).\n- `prepend` keeps viewport position stable while older items are added on top.\n- `append` auto-scrolls to bottom (with optional `ifAtBottomOnly` guard).\n- `items-change` keeps user at bottom if they were already at bottom.\n- `jump-to-key` scrolls to a specific item.\n\nFor most chat use cases you don't need `scrollModifier` at all — just use `onStartReached` (anchor captured automatically) and `followOutput`.\n\n---\n\n## API reference\n\n### Exports\n\n```ts\nimport {\n  ChatVirtualList,\n  VirtualList,\n  useChatVirtualizer,\n  usePagination,\n} from \"react-anchorlist\"\n\nimport type {\n  ChatVirtualListProps,\n  ChatVirtualListHandle,\n  ChatScrollModifier,\n  VirtualListProps,\n  ReachedThreshold,\n  AtBottomHysteresis,\n} from \"react-anchorlist\"\n```\n\n### `ChatVirtualList` props\n\n| Prop | Type | Default | Notes |\n|---|---|---|---|\n| `data` | `T[]` | required | Item array. Use stable references. |\n| `itemContent` | `(index, item) => ReactNode` | required | Renderer per item. Keep lightweight. |\n| `computeItemKey` | `(index, item) => string \\| number` | required | Stable unique key per item. |\n| `estimatedItemSize` | `number` | `80` | Fallback height in px. |\n| `getItemEstimate` | `(item, index) => number` | — | Per-item height hint. Set this when items vary significantly (text vs image vs video). Reduces flicker before measurement runs. |\n| `preMeasureMode` | `\"lazy\" \\| \"aggressive\"` | `\"lazy\"` | `\"aggressive\"` measures unmeasured items in idle frames via hidden container. Recommended for production chat. |\n| `overscan` | `number` | `20` | Items rendered above/below viewport. |\n| `followOutput` | `\"auto\" \\| \"smooth\" \\| false` | `\"auto\"` | Auto-scroll on new items at bottom. |\n| `initialAlignment` | `\"top\" \\| \"bottom\"` | `\"top\"` | Where to start. Use `\"bottom\"` for chat. |\n| `scrollModifier` | `ChatScrollModifier \\| null` | `null` | Imperative scroll commands. |\n| `onStartReached` | `() => void \\| Promise<void>` | — | Fires when user nears top. Anchor captured automatically before callback runs. |\n| `onEndReached` | `() => void \\| Promise<void>` | — | Fires when user nears bottom. |\n| `startReachedThreshold` | `number \\| string` | `300` | Distance from top to trigger. Accepts `number` (px), `\"30%\"`, `\"120px\"`. **Tip**: set higher (e.g. `1500`) so prefetch has time to complete before user reaches top. |\n| `endReachedThreshold` | `number \\| string` | `300` | Distance from bottom. |\n| `atBottomThreshold` | `number` | `200` | Px from bottom to be considered \"at bottom\". |\n| `atBottomHysteresis` | `{enter, leave}` | `{80, 160}` | Prevents flicker when isAtBottom toggles. |\n| `onAtBottomChange` | `(isAtBottom) => void` | — | Fires on transition. |\n| `components` | `{Header, Footer, EmptyPlaceholder}` | — | Optional render slots. |\n| `className`, `style`, `context` | — | — | Pass-throughs. |\n\n### `VirtualList` props (non-chat)\n\n`data`, `itemContent`, `computeItemKey`, `estimatedItemSize` (default `60`), `overscan` (default `20`), `onEndReached`, `endReachedThreshold` (default `300`), `components`, `className`, `style`.\n\n### `ChatVirtualList` ref handle\n\n```tsx\nlistRef.current?.scrollToBottom(\"auto\")\nlistRef.current?.scrollToIndex(42, { align: \"center\", behavior: \"smooth\" })\nlistRef.current?.scrollToKey(\"msg-123\", { align: \"center\" })\nlistRef.current?.getScrollTop()\nlistRef.current?.isAtBottom()\n\n// Imperative pre-measure (measure-then-commit pattern):\nawait listRef.current?.prefetchMeasure(\n  items.map((m, i) => ({ key: m._id, data: m, index: i }))\n)\n```\n\n---\n\n## Production recipe\n\nFor a chat-like app with mixed media and pagination, this is the optimal config:\n\n```tsx\n<ChatVirtualList\n  data={messages}\n  computeItemKey={(_, m) => m._id}\n  itemContent={(_, m) => <Message data={m} />}\n  initialAlignment=\"bottom\"\n  overscan={30}\n  estimatedItemSize={80}\n  preMeasureMode=\"aggressive\"\n  getItemEstimate={(item) => {\n    // Per-content-type hints. Tune based on your app.\n    switch (item.message?.type) {\n      case \"image\": return 280\n      case \"video\": return 260\n      case \"audio\": return 90\n      case \"sticker\": return 160\n      case \"file\": return 100\n      default: return 70 // text\n    }\n  }}\n  startReachedThreshold={1500}    // fires earlier; prefetch has time\n  endReachedThreshold={300}\n  followOutput=\"auto\"\n  onStartReached={loadOlderMessages}\n  onAtBottomChange={setIsAtBottom}\n  style={{ height: \"100%\" }}\n/>\n```\n\nFor absolute zero flicker (matters when you can't tune estimates well), wrap your fetch in the measure-then-commit pattern:\n\n```tsx\nonStartReached={async () => {\n  const olderMessages = await api.fetchOlderPage()\n  await listRef.current?.prefetchMeasure(\n    olderMessages.map((m, i) => ({ key: m._id, data: m, index: i }))\n  )\n  // commit to state after measure → pixel-perfect on visible commit\n  prependMessages(olderMessages)\n}}\n```\n\n---\n\n## `usePagination` helper (optional)\n\n```tsx\nimport { useEffect } from \"react\"\nimport { usePagination, ChatVirtualList } from \"react-anchorlist\"\n\nconst { items, hasPrevPage, loadPrevPage, loadingMore, refresh } = usePagination({\n  fetcher: async (page) => {\n    const res = await api.get(`/messages?page=${page}&per_page=50`)\n    return {\n      data: res.messages,\n      hasNextPage: res.pagination.current_page < res.pagination.last_page,\n      hasPrevPage: res.pagination.current_page > 1,\n      currentPage: res.pagination.current_page,\n    }\n  },\n  direction: \"prepend\",\n  getKey: (msg) => msg._id,\n})\n\nuseEffect(() => { refresh() }, [refresh])\n\n<ChatVirtualList\n  data={items}\n  computeItemKey={(_, item) => item._id}\n  itemContent={(_, item) => <Message data={item} />}\n  onStartReached={hasPrevPage ? loadPrevPage : undefined}\n  components={{ Header: () => loadingMore ? <Spinner /> : null }}\n/>\n```\n\n---\n\n## Best practices\n\n- **Stable keys.** Always use a stable unique key in `computeItemKey`. Index keys break virtualization.\n- **Lightweight `itemContent`.** Heavy components in the row slow scrolling. Memoize.\n- **Realistic estimates.** Set `getItemEstimate` per content type for variable-height lists (chat with text + media). Reduces residual flicker before measurement converges.\n- **Aggressive pre-measure.** Set `preMeasureMode=\"aggressive\"` for chat. Default `\"lazy\"` is fine for uniform lists.\n- **Earlier sentinel.** Increase `startReachedThreshold` (e.g. to `1500`) so the next page fetches while the user is still scrolling — measurements complete before they reach the top.\n- **Avoid deprecated APIs.** Don't use `prepareAnchor()` directly or `scrollToMessageKey`. Prefer `scrollModifier` + automatic anchor capture from `onStartReached`.\n- **Page size 30–50.** Larger pages mean fewer fetches but bigger measure batches. 50 is a good default with `startReachedThreshold={1500}`.\n\n---\n\n## Internals (architecture)\n\n| Component | Role |\n|---|---|\n| `OffsetMap` | Fenwick BIT for O(log n) cumulative offset queries |\n| `ItemSizeCache` | LRU cache of measured heights; survives re-renders and item reordering |\n| `KeyIndex` | Bidirectional map `key ↔ index` for fast lookups |\n| `ScrollStateMachine` | `idle / restoring / animating` states; gates compensation logic |\n| `DeviationController` | CSS transform compensation + `scrollBy` reconciliation (Virtuoso-style dual-RAF) |\n| `MeasureBatch` | Hidden render container for off-screen measurement (used by `preMeasureMode` and `prefetchMeasure`) |\n| `useScrollAnchor` | Captures snapshot before mutation, restores after with settle loop |\n| `useMeasurePipeline` | RAF-batched ResizeObserver flush; tracks above-viewport size deltas |\n\nThe library is built around the \"measure-then-commit\" principle: real DOM measurements are guaranteed before the anchor target is computed, eliminating estimate-error drift on prepend.\n\n---\n\n## Migration notes\n\n### `0.4 → 0.5+`\n- `prepareAnchor` is deprecated. Anchor capture is automatic before `onStartReached` runs. Remove manual calls.\n- Force-render-on-prepend now built in. No config needed.\n\n### `0.5 → 0.6+`\n- New: `preMeasureMode` prop. Set to `\"aggressive\"` for production chat.\n- New: `getItemEstimate` callback for per-item height hints.\n\n### `0.6 → 0.7+`\n- New: `ref.current.prefetchMeasure(items)` for measure-then-commit pattern.\n- API stable. No breaking changes.\n\n---\n\n## Browser compatibility\n\n- Chrome/Edge 88+, Firefox 87+, Safari 14+\n- Modern features used: `IntersectionObserver`, `ResizeObserver`, `requestIdleCallback` (with `setTimeout` fallback)\n- React 18+ and React 19+\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://react-anchorlist-web-ebon.vercel.app/","repository":{"type":"git","url":"git+https://github.com/Luccas-carvalho/react-anchorlist.git"},"bugs":{"url":"https://github.com/Luccas-carvalho/react-anchorlist/issues"}}