diff --git a/packages/x-charts/src/BarChart/checkClickEvent.test.tsx b/packages/x-charts/src/BarChart/checkClickEvent.test.tsx
index 7804217e7402a..b485c1e43062d 100644
--- a/packages/x-charts/src/BarChart/checkClickEvent.test.tsx
+++ b/packages/x-charts/src/BarChart/checkClickEvent.test.tsx
@@ -80,6 +80,59 @@ describe('BarChart - click event', () => {
seriesValues: { s1: 1, s2: 1 },
});
});
+
+ it('should provide the right context as second argument with layout="horizontal"', function test() {
+ if (isJSDOM) {
+ // can't do Pointer event with JSDom https://github.com/jsdom/jsdom/issues/2527
+ this.skip();
+ }
+ const onAxisClick = spy();
+ render(
+
+
+
,
+ );
+ const svg = document.querySelector('svg')!;
+
+ firePointerEvent(svg, 'pointermove', {
+ clientX: 60,
+ clientY: 198,
+ });
+ fireEvent.click(svg);
+
+ expect(onAxisClick.lastCall.args[1]).to.deep.equal({
+ dataIndex: 0,
+ axisValue: 'A',
+ seriesValues: { s1: 4, s2: 2 },
+ });
+
+ firePointerEvent(svg, 'pointermove', {
+ clientX: 60,
+ clientY: 201,
+ });
+ fireEvent.click(svg);
+
+ expect(onAxisClick.lastCall.args[1]).to.deep.equal({
+ dataIndex: 1,
+ axisValue: 'B',
+ seriesValues: { s1: 1, s2: 1 },
+ });
+ });
});
describe('onItemClick', () => {
diff --git a/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx b/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx
index 66dd4c1f68168..c53130c8c2365 100644
--- a/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx
+++ b/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx
@@ -38,7 +38,7 @@ function ChartsOnAxisClickHandler(props: ChartsOnAxisClickHandlerProps) {
const handleMouseClick = (event: MouseEvent) => {
event.preventDefault();
- const isXaxis = (axis.x && axis.x.index) !== undefined;
+ const isXaxis = axis.x && axis.x.index !== -1;
const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
const dataIndex = isXaxis ? axis.x && axis.x.index : axis.y && axis.y.index;