From ce4c90cbc7b90d3e979bf789b5a9c1bbb550de1a Mon Sep 17 00:00:00 2001 From: izawartka <59137928+izawartka@users.noreply.github.com> Date: Fri, 14 Aug 2026 01:24:58 +0200 Subject: [PATCH] Fix ZoomPanWrapper stuck at panning - Fixed ZoomPanWrapper getting stuck at panning when the cursor leaves the map area while mouse key is pressed --- src/components/map/ZoomPanWrapper.jsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/map/ZoomPanWrapper.jsx b/src/components/map/ZoomPanWrapper.jsx index 0109263..1afdac0 100644 --- a/src/components/map/ZoomPanWrapper.jsx +++ b/src/components/map/ZoomPanWrapper.jsx @@ -220,9 +220,15 @@ export default function ZoomPanWrapper({children}) { const onPointerCancel = onPointerUp; useEffect(() => { + window.addEventListener('pointermove', onPointerMove); + window.addEventListener('pointerup', onPointerUp); + window.addEventListener('pointercancel', onPointerCancel); window.addEventListener('resize', handleResize); handleResize(); // Initial call to set the viewBox return () => { + window.removeEventListener('pointermove', onPointerMove); + window.removeEventListener('pointerup', onPointerUp); + window.removeEventListener('pointercancel', onPointerCancel); window.removeEventListener('resize', handleResize); }; }, [handleResize]); @@ -293,9 +299,6 @@ export default function ZoomPanWrapper({children}) { viewBox={getViewBoxString()} onWheel={onWheel} onPointerDown={onPointerDown} - onPointerMove={onPointerMove} - onPointerUp={onPointerUp} - onPointerCancel={onPointerCancel} > {children}