Changelog

All notable changes to the project.

  • 0.13.1

    Bug Fixes

    • VirtualScroll: autodetect changes in starting scroll position of first item in the list


  • 0.13.0

    Features

    • playground: add async content pattern example
    • playground: add code viewer pattern example
    • playground: add live streaming pattern example
    • playground: add log viewer pattern example
    • playground: cerious-scroll comparison section and masonry rows
    • playground: flow table essential example and regrouped examples
    • playground: masonry essential example with measured-heights showcase
    • playground: masonry example cards on the home page
    • playground: masonry gallery pattern with bounded image prefetch
    • playground: masonry renderer in the configurator generator
    • playground: show live DOM item count in example status
    • playground: table renderer in the configurator
    • virtual-scroll: dedicated VirtualScrollTable and semantic tag props
    • virtual-scroll: masonry column layout module
    • virtual-scroll: masonry virtualization in one scroll container
    • virtual-scroll: re-clamp end-anchored scrolls as measurements settle
    • virtual-scroll: support sparse index-only items arrays
    • virtual-scroll: drop per-row storage and re-walks for uniform axes
    • virtual-scroll: grow Fenwick tree incrementally on resize

    Bug Fixes

    • playground: accept masonry scroll details in ScrollStatus
    • playground: drop native lazy loading from virtualized images
    • virtual-scroll: anchor scroll targets at the container padding box
    • virtual-scroll: opt out of browser scroll anchoring


  • 0.12.0

    Features

    • add AGENTS.md for users and update llms.txt


  • 0.11.6

    Bug Fixes

    • guard against reading window on SSR


  • 0.11.5

    Bug Fixes

    • jump to header with sticky headers
    • re-sync internal scroll when size changes without scroll event
    • recalculate item sizes when gap changes in dynamic mode


  • 0.11.4

    Bug Fixes

    • account for container padding when positioning virtual scrollbars
    • scroll positioning to bottom while content is still showing
    • show the loading slot as soon as loading is trigerred in infinite scroll


  • 0.11.3

    Bug Fixes

    • do not clamp scroll before the loading slot when scrolling to end
    • keep sticky section headers below the sticky header if it exists
    • scroll while loading new content and pg_up/down scroll for large items


  • 0.11.2

    Bug Fixes

    • build: adapt to changes in vite config to fix location of generated d.ts file ([6a7a85b](https://github.com/pdanpdan/virtual-scroll/commit/6a7a85b1bc7f3fb44fbaa2044aed7fa25effa9ea)), closes [#2](https://github.com/pdanpdan/virtual-scroll/issues/2)


  • 0.11.1

    Bug Fixes

    • dead CSS, doc corrections, expose missing methods


  • 0.11.0

    Features

    • extract scroll inertia, kbd interactions, and observers in composables
    • playground: add side-by-side diff example


  • 0.10.3

    Bug Fixes

    • initial scroll to bottom


  • 0.10.2

    Bug Fixes

    • corner case where initial content was not initially rendered if screen was resized


  • 0.10.1

    Bug Fixes

    • prevent auto scroll on android when snap is enabled


  • 0.10.0

    Features

    • add a new scroll snap mode 'next'
    • expose handleScrollCorrection and component properties
    • implement modular extension system
    • support array-based circular sizing patterns
    • use smooth scrolling for final snap scroll

    Bug Fixes

    • resolve typechecking and build issues


  • 0.9.1

    Features

    • internal optimization for sticky items


  • 0.9.0

    Features

    • changelog: support basic markdown formatting in changelog items
    • core: allow optional indices in scrollToIndex and simplify scroll utilities
    • navigation: ensure PageUp/PageDown respect snap mode
    • navigation: improve PageUp/PageDown behavior by using scrollToIndex with snapping
    • playground: hide dev-only settings when not viewing an example page

    Bug Fixes

    • tests: resolve event target mismatches and stabilize scroll snap timing


  • 0.8.0

    Features

    • use lightningcss with profile widely-available to compile css


  • 0.7.0

    Features

    • playground: enhance accessibility across all examples
    • virtual-scroll: implement comprehensive ARIA support

    Bug Fixes

    • docs: revert optimization for class names (tailwind :) )


  • 0.6.0

    Features

    • virtual-scroll: add universal scrollTo utility and improve element detection

    Bug Fixes

    • virtual-scroll: improve sticky logic and axis-specific active states


  • 0.5.0

    Features

    • add VirtualScrollbar component and useVirtualScrollbar composable
    • code optimization - reduce duplication
    • enhance VirtualScroll component with scrollbars and emulated touch
    • implement coordinate scaling and RTL support for massive lists
    • remove duplicate code
    • virtual-scrollbar: reorganize props exported by useVirtualScrollbar composable
    • virtual-scroll: improve SSR visual accuracy and scaling synchronization
    • virtual-scroll: move styles in components layer

    Bug Fixes

    • add defensive guards to watchers and safety checks for calculations
    • playground: improve active link scrolling logic in navigation drawer


  • 0.4.0

    Features

    • improve scroll logic and add tests
    • refactor virtual scroll logic and enhance DX


  • 0.3.0

    Features

    • add cjs and umb build artifacts
    • enhances dynamic sizing and refresh logic
    • refactors slot handling using defineSlots


  • 0.2.1

    Bug Fixes

    • keyboard scroll clamping should only apply to virtualized direction
    • keyboard scroll wrong calculations
    • prevent keyboard scroll after end of list


  • 0.2.0

    Features

    • create d.ts files for published package


  • 0.1.0

    Features

    • complete implementation of core and playground


  • 0.0.1

    Features

    • Initial project structure with pnpm monorepo.
    • Core @pdanpdan/virtual-scroll library:
    • VirtualScroll component for Vue 3.
    • useVirtualScroll composable for custom implementations.
    • Fenwick Tree utility for efficient size calculations.
    • Support for vertical, horizontal, and grid scrolling.
    • Support for dynamic item sizes via ResizeObserver.
    • SSR support with ssrRange.
    • Sticky items and push-style headers.
    • Full keyboard navigation support (Arrows, PageUp, PageDown, Home, End).
    • Comprehensive unit tests for the core library.
    • Playground application for demonstrating library features:
    • Vertical and horizontal scrolling examples.
    • Bidirectional grid scrolling with fixed and dynamic sizes.
    • SSR demonstration for grid scrolling.
    • Documentation page with API reference.
    • Advanced feature demonstrations:
    • Chat interface with history loading and scroll restoration.
    • Infinite scrolling (append/prepend) examples.
    • Sticky sections and headers demonstration.
    • Table-based virtual scrolling.
    • Window/Body scroll integration.