chore(minimap): use 1 as a default for zoom step

This commit is contained in:
moklick
2025-08-12 12:44:49 +02:00
parent 144f8feb0f
commit 9fa0779664
2 changed files with 6 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ import { type D3ZoomEvent, zoom } from 'd3-zoom';
import { select, pointer } from 'd3-selection';
import type { CoordinateExtent, PanZoomInstance, Transform } from '../types';
import { isMacOs } from '../utils';
export type XYMinimapInstance = {
update: (params: XYMinimapUpdate) => void;
@@ -33,25 +34,23 @@ export function XYMinimap({ domNode, panZoom, getTransform, getViewScale }: XYMi
translateExtent,
width,
height,
zoomStep = 10,
zoomStep = 1,
pannable = true,
zoomable = true,
inversePan = false,
}: XYMinimapUpdate) {
const _zoomStep = zoomStep / 10;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const zoomHandler = (event: D3ZoomEvent<SVGSVGElement, any>) => {
if (event.sourceEvent.type !== 'wheel' || !panZoom) {
return;
}
const transform = getTransform();
const factor = event.sourceEvent.ctrlKey && isMacOs() ? 10 : 1;
const pinchDelta =
-event.sourceEvent.deltaY *
(event.sourceEvent.deltaMode === 1 ? 0.05 : event.sourceEvent.deltaMode ? 1 : 0.002) *
_zoomStep;
const nextZoom = transform[2] * Math.pow(2, pinchDelta);
zoomStep;
const nextZoom = transform[2] * Math.pow(2, pinchDelta * factor);
panZoom.scaleTo(nextZoom);
};