Changelog

All notable changes to the project.

  • 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.