diff --git a/packages/visx-zoom/src/Zoom.tsx b/packages/visx-zoom/src/Zoom.tsx index 36b973ae9..cd7c51070 100644 --- a/packages/visx-zoom/src/Zoom.tsx +++ b/packages/visx-zoom/src/Zoom.tsx @@ -327,10 +327,16 @@ function Zoom({ }, onDragEnd: dragEnd, onPinch: handlePinch, - onWheel: ({ event, active }) => { - // currently onWheelEnd emits one final wheel event which causes 2x scale - // updates for the last tick. ensuring that the gesture is active avoids this - if (!active) return; + onWheel: ({ event, active, pinching }) => { + if ( + // Outside of Safari, the wheel event is fired together with the pinch event + pinching || + // currently onWheelEnd emits one final wheel event which causes 2x scale + // updates for the last tick. ensuring that the gesture is active avoids this + !active + ) { + return; + } handleWheel(event); }, },