- Add support for explicit scroll parent in page mode + find nearest parent scroller, fix #928 (#928)
- Better handle identity change in dynamic scroller, fix #924 (#924)
- useRecycleScroller: Preserve last good range during transient sparse cache states to prevent viewport blanking, fix #925 (#925)
- useRecycleScroller: Prevent blank rows during transient cache states, fix #906 (#906)
- lint: Fix (f52e916)
- Guillaume Chau (@Akryum)
- Add
enabledoption to all scroller composables and components (fd592eb)
- useRecycleScroller: Guard accumulator reads against transient sparse size cache (396e736)
- Guillaume Chau (@Akryum)
- Revert size measurement freeze while scrolling (8cea22d)
- Demo style fix (66f4109)
- Guillaume Chau (@Akryum)
- Add stability checks for view ids in dynamic and recycle scrollers (20e284f)
- Deprecate sizeDependencies prop and update related documentation (e5e0550)
- Improve package tree shaking (29541d4)
- Fix (2fbb14c)
- Guillaume Chau (@Akryum)
- KeyField can be a function, closes #900 (#900)
- DisableTransform, closes #891 (#891)
- Functiong etter for itemSize, closes #848 (#848)
- Regen skills (640beb6)
- Simplify headless usage, /!\ removed handleScroll from return (820099e)
- Improve performance and shape of composable options (33711fb)
- FlowMode + useTableColumnWidths (726721c)
- Add migration guide from v2 to v3 and link in documentation (725a563)
- General improvement + no major GC anymore (36f0e1d)
- Increase hidden view position, closes #855 (#855)
- Add support for variable-size scroll window detection, closes #834 (#834)
- More flexible key field type checking (4ea0a68)
- Duplicated views (dd39816)
- Items watcher not firing when upstream array mutates in place (34b002a)
- Simplified useDynamicScroller API (90b1762)
- Fix demo leaking background (a20c863)
- Improve index documentation (f5e7254)
- With/without demo, closes #852 (#852)
- Regen skills (db0a17d)
- Fix (9b0e4ff)
- Fix release changelog (cd575f9)
- Guillaume Chau (@Akryum)
- Clear requested frames and timeouts on unmount, closes #920 (#920)
- Guard for undefined el, closes #919 (#919)
- Guillaume Chau (@Akryum)
- Enhance useRecycleScroller with visiblePool and style stamping (411f4c1)
- WindowScroller, shift, cache restore, size handling improvements (36bcd97)
- Virtualize grid scrolling across both axes (f49d7ae)
- Improved types with generics (31b0ed0)
- Window Scroller fixes (d590a50)
- Add window scroller guide and demo (fd596cc)
- Simplify demos and refresh guide copy (cb8b028)
- Remove @next tag (8ccbe1c)
- Added e2e tests (673692b)
- Typecheck (a67bc47)
- Move the vitest browser test to playwright tests (be28e0d)
- Fix flaky (531a597)
- Guillaume Chau (@Akryum)
- Empty slot (5791945)
- Changelog (2ae2195)
- Guillaume Chau (@Akryum)
- Items ref (#789)
- New
disableTransformprop to use top/left instead of translate (#138) - Typescript / composition rewrite, new docs (dff69e8)
- AI skills (8e58315)
- Index lost, fix #783 (#784, #783)
- Avoid rendering when slot is unused (#787)
- Rewrite view (re-)assignment logic (#743)
- RecycleScroller: Introduce an item wrapper to reduce re-render (#742)
- Flicker issue in ios when scrolling up (#864)
- Hide view to avoid overlap when position is set to -9999px; (#837)
- Prevent empty gaps on fast scrolling, fix (#863, #882) (#890, #863, #882)
- Recycle scroller visible gaps computation (5940707)
- Small improvements (013279c)
- Build (8efdef2)
- Esm only (4ffe378)
- Fix cherrypick of rewrite (c9ccc34)
- Update lockfile (0f2e362)
- Update pnpm + pin pnpm in package.json (#885)
- Add pkg.pr.new (#886)
- Add test workflow (#887)
- Update pnpm and refresh lockfile (47efc94)
- Guillaume Chau (@Akryum)
- Ferflores507 (@ferflores507)
- KaygNas 597857074@QQ.COM
- Hobywhan (@hobywhan)
- Wan Zulsarhan Wan Shaari zulsarhan.shaari@gmail.com
- Tatsuyuki Ishi (@ishitatsuyuki)
- AousAnwar (@AousAnwar)
- Alex Liu (@Mini-ghost)
- Reynaldiaznan123 reynaldiaznan450@gmail.com
- Vito (@liu-lihao)
2.0.0-beta.8 (2023-02-06)
- borderBoxSize not available in older browsers (8f90971)
2.0.0-beta.7 (2022-12-14)
2.0.0-beta.6 (2022-12-14)
- keyField issue for class instances, fix #770 (#771) (1559ca8)
- RecycleScroller: gridItems is undefined when scrollToItem, fix #773 (#761) (7c809ad)
- sorting views not working, #772 (0b199d1)
- view not unused if item no longer present, fix #774 (bd51403)
- views not reused correctly (d5a8d75)
2.0.0-beta.5 (2022-12-07)
- duplicate active views (1ef796b)
- DynamicScroller: gaps caused by DOM reusing not triggering ResizeObserver (a21e191)
- inconsistent state on reused view (a14747d)
- views map corruption + view not removed from unusedPool (cef8860)
- unnecessary loop (86d0d07)
2.0.0-beta.4 (2022-12-06)
- improved dynamic scroller resize observer logic (40f58b3)
- item sizes getting 'disabled' resulting in gaps (55b4ab1)
- unusing views after non-continuous scroll (11488b7)
- views incorrectly unused (proxy identity comparison) (395bbfb)
2.0.0-beta.3 (2022-10-18)
- small code changes to maximize performance (3b4dbf3)
2.0.0-beta.2 (2022-10-17)
- fix: height NaN, fix #757
2.0.0-beta.1 (2022-10-15)
- Account for the height of the leading and trailing slots when calculating visible items, fix #685 (24ab3ba)
- avoid jumping scroll position when upper item size is calculated (#374) (fd58a95)
- clamp endIndex if less items than prerender (#473) (f9124aa)
- DynamicScroller should pass its own keyField prop to child RecycleScroller (#732) (9673679)
- DynamicScrollerItem: watch item prop (#700) (4d3b956)
- issue with beforeDestroy hook (#748) (59f3f1b)
- merge (c8363b1)
- restore scroll in keep-alive (#724) (5011e06)
- scrollToItem works with pageMode (#396) (c9772bf)
- wrap the callback in requestAnimationFrame, fix #516 (#517) (6f359ab)
- add an empty slot (#398) (5c2715c)
- add skipHover prop to deactive the hover detection (#752) (b613318)
- adds configurable list/item tags for semantic html (#203) (3d24dc3)
- custom classes for list wrapper and list items. (#397) (32b285d)
- Emit events for scroll to begin and end of list (#364) (2a7bfd4)
- gridItems prop (#27) (6339e72)
- itemSecondarySize (43d311c)
- throw error when key field does not exist in item (#265) (c63129f)
- update event provide range of the visible items (#115) (f19af6c)
- skipHover: don't add event listeners (6b623b5)