{"repo":"humanspeak/svelte-virtual-list","free":true,"listed":false,"github":"https://github.com/humanspeak/svelte-virtual-list","clone":"git clone https://github.com/humanspeak/svelte-virtual-list.git","description":"📜 A performant virtual list/scrolling component for Svelte applications - efficiently render large scrollable lists with minimal memory usage","language":"TypeScript","stars":101,"topics":["infinite-scroll","javascript","performance","svelte","sveltekit","typescript","ui-components","virtual-list","virtual-scroll","web-components"],"license":"MIT","category":"ui-components","readme_excerpt":"@humanspeak/svelte-virtual-list A high-performance virtual list component for Svelte 5 applications that efficiently renders large datasets with minimal memory usage. Features - 📏 Dynamic item height handling - no fixed height required - 🔄 Automatic resize handling for dynamic content - 📝 TypeScript support with full type safety - 🚀 SSR compatible with hydration support - ✨ Svelte 5 runes and snippets support - 🎨 Customizable styling with class props - 🐛 Debug mode for development - 🎯 Smooth scrolling with configurable buffer zones - 🧠 Memory-optimized for 10k+ items - 🧪 Comprehensive test coverage (vitest and playwright) - 🚀 Progressive initialization for large datasets - 🕹️ Programmatic scrolling with scroll - ♾️ Infinite scroll support with onLoadMore - ♿ Keyboard-accessible viewport (focusable labeled region, standard scroll keys) Requirements - Svelte 5 - Node.js 18+ Installation Basic Usage Props Prop Type Default Description ---------------------------- ----------------------------------- ------------------- ----------------------------------------------------------------------------- items T[] Required Array of items to render itemKey (item, index) = string \\ number - Stable identity for measurement and responsive anchor preservation orientation 'vertical' \\ 'horizontal' 'vertical' Active layout axis; may change reactively (horizontal is LTR-only) defaultEstimatedItemSize number 40 Axis-neutral initial size; takes precedence over the height alias defaultEst","default_branch":null,"files":null,"tree":[],"storefront":"/r/humanspeak","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/humanspeak/svelte-virtual-list/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}