From 8b0b53029c5242daef68945524e7b7d55913d099 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Wed, 21 Jan 2026 16:17:00 -0800 Subject: [PATCH] fix missing autoscroll cleanup on ScrollArea --- src/shared/components/scroll-area/scroll-area.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/shared/components/scroll-area/scroll-area.tsx b/src/shared/components/scroll-area/scroll-area.tsx index 0e7be2d07..a3e0707ed 100644 --- a/src/shared/components/scroll-area/scroll-area.tsx +++ b/src/shared/components/scroll-area/scroll-area.tsx @@ -48,6 +48,8 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref { const { current: root } = containerRef; + let autoScrollCleanup: (() => void) | null = null; + if (scroller && root) { initialize({ elements: { viewport: scroller as HTMLElement }, @@ -55,7 +57,7 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref { const data = args.source.data as unknown as DragData; if (data.type === DragTarget.TABLE_COLUMN) return false; @@ -68,7 +70,13 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref osInstance()?.destroy(); + return () => { + if (autoScrollCleanup) { + autoScrollCleanup(); + } + + osInstance()?.destroy(); + }; }, [allowDragScroll, initialize, osInstance, scroller]); const mergedRef = useMergedRef(ref, containerRef);