Changelog

All notable changes to the project.

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