Skip to content

Commit 49b9d7d

Browse files
[charts-pro] Update zoom slider nomenclature (#17938)
1 parent 44b2fd6 commit 49b9d7d

File tree

7 files changed

+214
-215
lines changed

7 files changed

+214
-215
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export * from './ChartZoomSlider';
22
export {
3-
type ChartAxisZoomSliderHandleClasses,
4-
type ChartAxisZoomSliderHandleClassKey,
5-
chartAxisZoomSliderHandleClasses,
6-
} from './internals/chartAxisZoomSliderHandleClasses';
3+
type ChartAxisZoomSliderThumbClasses,
4+
type ChartAxisZoomSliderThumbClassKey,
5+
chartAxisZoomSliderThumbClasses,
6+
} from './internals/chartAxisZoomSliderThumbClasses';

packages/x-charts-pro/src/ChartZoomSlider/internals/ChartAxisZoomSlider.tsx

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import {
2121
selectorChartAxisZoomData,
2222
UseChartProZoomSignature,
2323
} from '../../internals/plugins/useChartProZoom';
24-
import { ChartAxisZoomSliderHandle } from './ChartAxisZoomSliderHandle';
24+
import { ChartAxisZoomSliderThumb } from './ChartAxisZoomSliderThumb';
2525

26-
const BackgroundRect = styled('rect')(({ theme }) => ({
26+
const ZoomSliderTrack = styled('rect')(({ theme }) => ({
2727
'&': {
2828
fill:
2929
theme.palette.mode === 'dark'
@@ -32,7 +32,7 @@ const BackgroundRect = styled('rect')(({ theme }) => ({
3232
},
3333
}));
3434

35-
const ZoomRangePreviewRect = styled('rect')(({ theme }) => ({
35+
const ZoomSliderActiveTrackRect = styled('rect')(({ theme }) => ({
3636
'&': {
3737
fill:
3838
theme.palette.mode === 'dark'
@@ -53,15 +53,15 @@ interface ChartZoomSliderProps {
5353
axisDirection: 'x' | 'y';
5454
}
5555

56-
const ZOOM_SLIDER_BACKGROUND_SIZE = 8;
57-
const ZOOM_SLIDER_FOREGROUND_SIZE = 10;
58-
const ZOOM_SLIDER_HANDLE_HEIGHT = 20;
59-
const ZOOM_SLIDER_HANDLE_WIDTH = 10;
56+
const ZOOM_SLIDER_TRACK_SIZE = 8;
57+
const ZOOM_SLIDER_ACTIVE_TRACK_SIZE = 10;
58+
const ZOOM_SLIDER_THUMB_HEIGHT = 20;
59+
const ZOOM_SLIDER_THUMB_WIDTH = 10;
6060
const ZOOM_SLIDER_SIZE = Math.max(
61-
ZOOM_SLIDER_BACKGROUND_SIZE,
62-
ZOOM_SLIDER_FOREGROUND_SIZE,
63-
ZOOM_SLIDER_HANDLE_HEIGHT,
64-
ZOOM_SLIDER_HANDLE_WIDTH,
61+
ZOOM_SLIDER_TRACK_SIZE,
62+
ZOOM_SLIDER_ACTIVE_TRACK_SIZE,
63+
ZOOM_SLIDER_THUMB_HEIGHT,
64+
ZOOM_SLIDER_THUMB_WIDTH,
6565
);
6666

6767
/**
@@ -118,19 +118,19 @@ export function ChartAxisZoomSlider({ axisDirection, axisId }: ChartZoomSliderPr
118118
axisPosition = axis.position ?? 'left';
119119
}
120120

121-
const backgroundRectOffset = (ZOOM_SLIDER_SIZE - ZOOM_SLIDER_BACKGROUND_SIZE) / 2;
121+
const backgroundRectOffset = (ZOOM_SLIDER_SIZE - ZOOM_SLIDER_TRACK_SIZE) / 2;
122122

123123
return (
124124
<g transform={`translate(${x} ${y})`}>
125-
<BackgroundRect
125+
<ZoomSliderTrack
126126
x={axisDirection === 'x' ? 0 : backgroundRectOffset}
127127
y={axisDirection === 'x' ? backgroundRectOffset : 0}
128-
height={axisDirection === 'x' ? ZOOM_SLIDER_BACKGROUND_SIZE : drawingArea.height}
129-
width={axisDirection === 'x' ? drawingArea.width : ZOOM_SLIDER_BACKGROUND_SIZE}
130-
rx={ZOOM_SLIDER_BACKGROUND_SIZE / 2}
131-
ry={ZOOM_SLIDER_BACKGROUND_SIZE / 2}
128+
height={axisDirection === 'x' ? ZOOM_SLIDER_TRACK_SIZE : drawingArea.height}
129+
width={axisDirection === 'x' ? drawingArea.width : ZOOM_SLIDER_TRACK_SIZE}
130+
rx={ZOOM_SLIDER_TRACK_SIZE / 2}
131+
ry={ZOOM_SLIDER_TRACK_SIZE / 2}
132132
/>
133-
<ChartAxisZoomSliderSpan
133+
<ChartAxisZoomSliderActiveTrack
134134
zoomData={zoomData}
135135
axisId={axisId}
136136
axisPosition={axisPosition}
@@ -144,7 +144,7 @@ export function ChartAxisZoomSlider({ axisDirection, axisId }: ChartZoomSliderPr
144144
const formatter = Intl.NumberFormat(undefined, { maximumFractionDigits: 0 });
145145
const zoomValueFormatter = (value: number) => formatter.format(value);
146146

147-
function ChartAxisZoomSliderSpan({
147+
function ChartAxisZoomSliderActiveTrack({
148148
axisId,
149149
axisDirection,
150150
axisPosition,
@@ -163,14 +163,14 @@ function ChartAxisZoomSliderSpan({
163163
const store = useStore<[UseChartProZoomSignature]>();
164164
const drawingArea = useDrawingArea();
165165
const activePreviewRectRef = React.useRef<SVGRectElement>(null);
166-
const [startHandleEl, setStartHandleEl] = React.useState<SVGRectElement | null>(null);
167-
const [endHandleEl, setEndHandleEl] = React.useState<SVGRectElement | null>(null);
166+
const [startThumbEl, setStartThumbEl] = React.useState<SVGRectElement | null>(null);
167+
const [endThumbEl, setEndThumbEl] = React.useState<SVGRectElement | null>(null);
168168
const [showTooltip, setShowTooltip] = React.useState<null | 'start' | 'end' | 'both'>(null);
169169

170-
const previewHandleWidth =
171-
axisDirection === 'x' ? ZOOM_SLIDER_HANDLE_WIDTH : ZOOM_SLIDER_HANDLE_HEIGHT;
172-
const previewHandleHeight =
173-
axisDirection === 'x' ? ZOOM_SLIDER_HANDLE_HEIGHT : ZOOM_SLIDER_HANDLE_WIDTH;
170+
const previewThumbWidth =
171+
axisDirection === 'x' ? ZOOM_SLIDER_THUMB_WIDTH : ZOOM_SLIDER_THUMB_HEIGHT;
172+
const previewThumbHeight =
173+
axisDirection === 'x' ? ZOOM_SLIDER_THUMB_HEIGHT : ZOOM_SLIDER_THUMB_WIDTH;
174174

175175
React.useEffect(() => {
176176
const activePreviewRect = activePreviewRectRef.current;
@@ -265,7 +265,7 @@ function ChartAxisZoomSliderSpan({
265265
};
266266
}, [axisDirection, axisId, instance, reverse, store, svgRef]);
267267

268-
const onStartHandleMove = (event: PointerEvent) => {
268+
const onStartThumbMove = (event: PointerEvent) => {
269269
const element = svgRef.current;
270270

271271
if (!element) {
@@ -304,7 +304,7 @@ function ChartAxisZoomSliderSpan({
304304
});
305305
};
306306

307-
const onEndHandleMove = (event: PointerEvent) => {
307+
const onEndThumbMove = (event: PointerEvent) => {
308308
const element = svgRef.current;
309309

310310
if (!element) {
@@ -347,58 +347,58 @@ function ChartAxisZoomSliderSpan({
347347
let previewY: number;
348348
let previewWidth: number;
349349
let previewHeight: number;
350-
let startHandleX: number;
351-
let startHandleY: number;
352-
let endHandleX: number;
353-
let endHandleY: number;
350+
let startThumbX: number;
351+
let startThumbY: number;
352+
let endThumbX: number;
353+
let endThumbY: number;
354354

355355
if (axisDirection === 'x') {
356356
previewX = (zoomData.start / 100) * drawingArea.width;
357357
previewY = 0;
358358
previewWidth = (drawingArea.width * (zoomData.end - zoomData.start)) / 100;
359-
previewHeight = ZOOM_SLIDER_FOREGROUND_SIZE;
359+
previewHeight = ZOOM_SLIDER_ACTIVE_TRACK_SIZE;
360360

361-
startHandleX = (zoomData.start / 100) * drawingArea.width;
362-
startHandleY = 0;
363-
endHandleX = (zoomData.end / 100) * drawingArea.width;
364-
endHandleY = 0;
361+
startThumbX = (zoomData.start / 100) * drawingArea.width;
362+
startThumbY = 0;
363+
endThumbX = (zoomData.end / 100) * drawingArea.width;
364+
endThumbY = 0;
365365

366366
if (reverse) {
367367
previewX = drawingArea.width - previewX - previewWidth;
368368

369-
startHandleX = drawingArea.width - startHandleX;
370-
endHandleX = drawingArea.width - endHandleX;
369+
startThumbX = drawingArea.width - startThumbX;
370+
endThumbX = drawingArea.width - endThumbX;
371371
}
372372

373-
startHandleX -= previewHandleWidth / 2;
374-
endHandleX -= previewHandleWidth / 2;
373+
startThumbX -= previewThumbWidth / 2;
374+
endThumbX -= previewThumbWidth / 2;
375375
} else {
376376
previewX = 0;
377377
previewY = drawingArea.height - (zoomData.end / 100) * drawingArea.height;
378-
previewWidth = ZOOM_SLIDER_FOREGROUND_SIZE;
378+
previewWidth = ZOOM_SLIDER_ACTIVE_TRACK_SIZE;
379379
previewHeight = (drawingArea.height * (zoomData.end - zoomData.start)) / 100;
380380

381-
startHandleX = 0;
382-
startHandleY = drawingArea.height - (zoomData.start / 100) * drawingArea.height;
383-
endHandleX = 0;
384-
endHandleY = drawingArea.height - (zoomData.end / 100) * drawingArea.height;
381+
startThumbX = 0;
382+
startThumbY = drawingArea.height - (zoomData.start / 100) * drawingArea.height;
383+
endThumbX = 0;
384+
endThumbY = drawingArea.height - (zoomData.end / 100) * drawingArea.height;
385385

386386
if (reverse) {
387387
previewY = drawingArea.height - previewY - previewHeight;
388388

389-
startHandleY = drawingArea.height - startHandleY;
390-
endHandleY = drawingArea.height - endHandleY;
389+
startThumbY = drawingArea.height - startThumbY;
390+
endThumbY = drawingArea.height - endThumbY;
391391
}
392392

393-
startHandleY -= previewHandleHeight / 2;
394-
endHandleY -= previewHandleHeight / 2;
393+
startThumbY -= previewThumbHeight / 2;
394+
endThumbY -= previewThumbHeight / 2;
395395
}
396396

397-
const previewOffset = (ZOOM_SLIDER_HANDLE_HEIGHT - ZOOM_SLIDER_FOREGROUND_SIZE) / 2;
397+
const previewOffset = (ZOOM_SLIDER_THUMB_HEIGHT - ZOOM_SLIDER_ACTIVE_TRACK_SIZE) / 2;
398398

399399
return (
400400
<React.Fragment>
401-
<ZoomRangePreviewRect
401+
<ZoomSliderActiveTrackRect
402402
ref={activePreviewRectRef}
403403
x={previewX + (axisDirection === 'x' ? 0 : previewOffset)}
404404
y={previewY + (axisDirection === 'x' ? previewOffset : 0)}
@@ -407,39 +407,39 @@ function ChartAxisZoomSliderSpan({
407407
onPointerEnter={() => setShowTooltip('both')}
408408
onPointerLeave={() => setShowTooltip(null)}
409409
/>
410-
<ChartAxisZoomSliderHandle
411-
ref={setStartHandleEl}
412-
x={startHandleX}
413-
y={startHandleY}
414-
width={previewHandleWidth}
415-
height={previewHandleHeight}
410+
<ChartAxisZoomSliderThumb
411+
ref={setStartThumbEl}
412+
x={startThumbX}
413+
y={startThumbY}
414+
width={previewThumbWidth}
415+
height={previewThumbHeight}
416416
orientation={axisDirection === 'x' ? 'horizontal' : 'vertical'}
417-
onMove={onStartHandleMove}
417+
onMove={onStartThumbMove}
418418
onPointerEnter={() => setShowTooltip('start')}
419419
onPointerLeave={() => setShowTooltip(null)}
420420
placement="start"
421421
/>
422-
<ChartAxisZoomSliderHandle
423-
ref={setEndHandleEl}
424-
x={endHandleX}
425-
y={endHandleY}
426-
width={previewHandleWidth}
427-
height={previewHandleHeight}
422+
<ChartAxisZoomSliderThumb
423+
ref={setEndThumbEl}
424+
x={endThumbX}
425+
y={endThumbY}
426+
width={previewThumbWidth}
427+
height={previewThumbHeight}
428428
orientation={axisDirection === 'x' ? 'horizontal' : 'vertical'}
429-
onMove={onEndHandleMove}
429+
onMove={onEndThumbMove}
430430
onPointerEnter={() => setShowTooltip('end')}
431431
onPointerLeave={() => setShowTooltip(null)}
432432
placement="end"
433433
/>
434434
<ChartsTooltipZoomSliderValue
435-
anchorEl={startHandleEl}
435+
anchorEl={startThumbEl}
436436
open={showTooltip === 'start' || showTooltip === 'both'}
437437
placement={axisPosition}
438438
>
439439
{valueFormatter(zoomData.start)}
440440
</ChartsTooltipZoomSliderValue>
441441
<ChartsTooltipZoomSliderValue
442-
anchorEl={endHandleEl}
442+
anchorEl={endThumbEl}
443443
open={showTooltip === 'end' || showTooltip === 'both'}
444444
placement={axisPosition}
445445
>

packages/x-charts-pro/src/ChartZoomSlider/internals/ChartAxisZoomSliderHandle.tsx

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)