From 55bdcc5ea892cfb3861ecb69842a0979906ee689 Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Fri, 17 Jul 2026 15:18:37 -0500 Subject: [PATCH] fix column resizing in alternate documents --- .../columnResizingFeature.utils.ts | 2 +- .../columnResizingFeature.utils.test.ts | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/table-core/src/features/column-resizing/columnResizingFeature.utils.ts b/packages/table-core/src/features/column-resizing/columnResizingFeature.utils.ts index b4d15dc939..76bcb5d8e3 100644 --- a/packages/table-core/src/features/column-resizing/columnResizingFeature.utils.ts +++ b/packages/table-core/src/features/column-resizing/columnResizingFeature.utils.ts @@ -239,7 +239,7 @@ export function header_getResizeHandler< } const contextDocument = - _contextDocument || typeof document !== 'undefined' ? document : null + _contextDocument || (typeof document !== 'undefined' ? document : null) const mouseEvents = { moveHandler: (e: MouseEvent) => onMove(e.clientX), diff --git a/packages/table-core/tests/unit/features/column-resizing/columnResizingFeature.utils.test.ts b/packages/table-core/tests/unit/features/column-resizing/columnResizingFeature.utils.test.ts index 825d00177e..01c8ea8dfd 100644 --- a/packages/table-core/tests/unit/features/column-resizing/columnResizingFeature.utils.test.ts +++ b/packages/table-core/tests/unit/features/column-resizing/columnResizingFeature.utils.test.ts @@ -259,6 +259,27 @@ describe('header_getResizeHandler', () => { expect(typeof handler).toBe('function') }) + it('should attach listeners to an explicit context document', () => { + const table = makeTable(1) + const header = createTestResizeHeader(table) + const contextDocument = document.implementation.createHTMLDocument() + const addEventListener = vi.spyOn(contextDocument, 'addEventListener') + const handler = header_getResizeHandler(header as any, contextDocument) + + handler({ type: 'mousedown', clientX: 100 }) + + expect(addEventListener).toHaveBeenCalledWith( + 'mousemove', + expect.any(Function), + expect.anything(), + ) + expect(addEventListener).toHaveBeenCalledWith( + 'mouseup', + expect.any(Function), + expect.anything(), + ) + }) + it('should not resize when column resizing is disabled', () => { const table = makeTable(1, { enableColumnResizing: false,