Skip to content

[charts-pro] Add keyboard navigation to funnel#20766

Merged
alexfauquette merged 17 commits intomui:masterfrom
alexfauquette:keyboard-funnel
Jan 13, 2026
Merged

[charts-pro] Add keyboard navigation to funnel#20766
alexfauquette merged 17 commits intomui:masterfrom
alexfauquette:keyboard-funnel

Conversation

@alexfauquette
Copy link
Copy Markdown
Member

For now the keyboard navigation behavior is similar to the other ones:

  • right/left => modify item
  • top/bottom => modify series

Since by default funnel are vertical we could do the oposit

We could also adapt to the layout.

The code might look weird, but not a big deal :)

const isHorizontal = (currentItem, state) => state.series.funnel.series[currentItem.seriesId].layout === 'horizontal'

const keyboardFocusHandler: KeyboardFocusHandler<'funnel', 'funnel'> = (event) => {
  switch (event.key) {
    case 'ArrowRight':
      return (currentItem, state) => isHorizontal(currentItem, state) ? createGetNextIndexFocusedItem(outSeriesTypes)(currentItem, state) : createGetNextSeriesFocusedItem(outSeriesTypes)(currentItem, state);

You might also notice that arrow right/left remove the focus. We have the same issue with pie chart.
I will fix it after merging #20757 since it will probably impact exactly the same files

@alexfauquette alexfauquette requested review from a team and prakhargupta1 as code owners December 24, 2025 11:05
@alexfauquette alexfauquette added type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. scope: charts Changes related to the charts. labels Dec 24, 2025
@mui-bot
Copy link
Copy Markdown

mui-bot commented Dec 24, 2025

Deploy preview: https://deploy-preview-20766--material-ui-x.netlify.app/

Updated pages:

Bundle size report

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-premium 0B(0.00%) 0B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 🔺+1.07KB(+0.23%) 🔺+453B(+0.32%)
@mui/x-charts-premium 🔺+1.07KB(+0.23%) 🔺+420B(+0.30%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 0B(0.00%) 0B(0.00%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro 0B(0.00%) 0B(0.00%)

Details of bundle changes

Generated by 🚫 dangerJS against f5fb267

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Dec 24, 2025

CodSpeed Performance Report

Merging this PR will not alter performance

Comparing alexfauquette:keyboard-funnel (f5fb267) with master (699784f)

Summary

✅ 14 untouched benchmarks

@bernardobelchior
Copy link
Copy Markdown
Member

bernardobelchior commented Dec 24, 2025

We could also adapt to the layout.

If I recall correctly, we had already discussed this before. I also initially thought that it would make sense, but there were good points for keeping it consistent, i.e., not change with the layout.

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 24, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@alexfauquette
Copy link
Copy Markdown
Member Author

If I recall correctly, we had already discussed this before. I also initially thought that it would make sense, but there were good points for keeping it consistent, i.e., not change with the layout.

Yes, we got this discussion for the bar chart. Since it was oral I write down a brief resume:

The point was: Arrow are better if you consider them as a sementic navigation, like if you were navigating inside a table

  • up/down: moves series focus
  • left/right: moves item focus

If we want to match the visible aspect, we open a pandora box with 50 shades of complexity 😈

  • level 1: up and down should matches stacked lines
  • level 2: up and down should matches stacked bares with multiple stacking groups
  • level 3: up and down should matches lines that crosses each other (sometime series A is on top of B. Somtime it's the oposit)
  • level 4: defines what arrow down odes on a scatter chart

Doing the layout adaptation is the level 0. So I mention the tradeoff to be sure we all agree on this aspect and not just approve the PR because we missed this particular aspect :)

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 29, 2025

// FIXME gap should be obtained from the store.
// Maybe moving it to the series would be a good idea similar to what we do with bar charts and their stackingGroups
const gap = 0;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we use store.use(selectorFunnelGap) here?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

up

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, that came from the tooltip position getter but no reason to keep it here 👍

Copy link
Copy Markdown
Member

@JCQuintas JCQuintas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The behaviour seems mostly correct apart from the left/right arrow issue

@JCQuintas
Copy link
Copy Markdown
Member

the keyboard navigation behavior is similar to the other ones

It's probably better to be consistent which arrows affect which domains, so I'm good with the current solution

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 30, 2025
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Jan 6, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 7, 2026

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jan 9, 2026
y: -Infinity,
};

funnelSeries.dataPoints.forEach((section) => {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This logic is basically a duplicate of FunnelPlot's useAggregatedData. Could we find a way to reuse some of the logic? Otherwise we might forget to update this component when we update the main funnel logic.

Can be done as a follow-up

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 5ef0b85

@JCQuintas
Copy link
Copy Markdown
Member

It seems like the gap is not aligned properly.

Screenshot 2026-01-12 at 16 20 28

Copy link
Copy Markdown
Member

@bernardobelchior bernardobelchior left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor things, code looks good 👍

scale: D3Scale,
isCategoryDirection: boolean,
gap: number,
baseScaleData?: readonly any[],
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is baseScaleData optional? Should the caller default to [] instead?

If not, I'd suggest using | undefined instead of ? so we don't forget to pass the data. | undefined and ? have slightly different semantics.

import type { Point, PositionGetter } from './curves';
import type { FunnelDataPoints } from './funnel.types';

export const getCornerPoints = (
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function returns the extrema (min and max) in every direction, so an alternative name could be get2DExtrema or computeExtrema2D, if you think that's clearer

@alexfauquette
Copy link
Copy Markdown
Member Author

It seems like the gap is not aligned properly.

Tricky to debug. That's because I used the useXAxis() instead of the funnel selectors. Only the second one takes into account the gap when computing the scale

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jan 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jan 13, 2026
@alexfauquette alexfauquette enabled auto-merge (squash) January 13, 2026 10:30
@alexfauquette alexfauquette merged commit d1ccc97 into mui:master Jan 13, 2026
21 checks passed
736-c41-2c1-e464fc974 pushed a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 18, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.24.0` → `8.25.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.24.0` → `8.25.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.7.4` → `3.8.0`](https://renovatebot.com/diffs/npm/prettier/3.7.4/3.8.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/prettier/prettier/badge)](https://securityscorecards.dev/viewer/?uri=github.com/prettier/prettier) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;mui/x-charts)</summary>

### [`v8.25.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8250)

[Compare Source](mui/mui-x@v8.24.0...v8.25.0)

<!-- generated comparing v8.24.0..master -->

*Jan 14, 2026*

We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:

- 📊 The Chart legend now has an option that enables [click to toggle visibility](https://mui.com/x/react-charts/legend/#toggle-visibility) of series.

  ![Image](https://github.com/user-attachments/assets/c8250287-1318-4581-ac5d-07e7ee01341c)

- 🐞 Bugfixes

- 📚 Documentation improvements

The following team members contributed to this release:
[@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;cherniavskii](https://github.com/cherniavskii), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;rita-codes](https://github.com/rita-codes), [@&#8203;Janpot](https://github.com/Janpot)

##### Data Grid

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Date and Time Pickers

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Charts

##### `@mui/[email protected]`

- \[charts] Add Legend actions ([#&#8203;20404](mui/mui-x#20404)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `initialHiddenItems` prop to set initial state ([#&#8203;20894](mui/mui-x#20894)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Control the item tooltip ([#&#8203;20617](mui/mui-x#20617)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Export plugins from premium ([#&#8203;20866](mui/mui-x#20866)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix node anchor on iOS ([#&#8203;20848](mui/mui-x#20848)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix test inconsistency in charts ([#&#8203;20907](mui/mui-x#20907)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Revert `touch-action: pan-y` removal when zoom is disabled ([#&#8203;20852](mui/mui-x#20852)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Use React event handler to detect pointer type ([#&#8203;20849](mui/mui-x#20849)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Enable keyboard navigation in radar chart ([#&#8203;20765](mui/mui-x#20765)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix tooltip position for stacked line series ([#&#8203;20901](mui/mui-x#20901)) [@&#8203;alexfauquette](https://github.com/alexfauquette)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-pro] Add keyboard navigation to funnel ([#&#8203;20766](mui/mui-x#20766)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Add keyboard navigation to heatmap ([#&#8203;20786](mui/mui-x#20786)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Add keyboard navigation to sankey ([#&#8203;20777](mui/mui-x#20777)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Prefer global pointer interaction tracker in Heatmap ([#&#8203;20697](mui/mui-x#20697)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts-pro] Support composition for Sankey ([#&#8203;20604](mui/mui-x#20604)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Fix crash when two same-direction axes have a zoom preview ([#&#8203;20916](mui/mui-x#20916)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add `ChartContainerPremium` ([#&#8203;20910](mui/mui-x#20910)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts-premium] Fix `ChartDataProviderPremium` tests ([#&#8203;20868](mui/mui-x#20868)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Codemod

##### `@mui/[email protected]`

Internal changes.

##### Docs

- \[docs] Fix Waterfall Chart documentation badge from Pro to Premium ([#&#8203;20888](mui/mui-x#20888)) [@&#8203;Copilot](https://github.com/Copilot)
- \[docs] Fix broken links on Data Grid Editing sub-pages ([#&#8203;20911](mui/mui-x#20911)) [@&#8203;arminmeh](https://github.com/arminmeh)
- \[docs] Increase chart axis size in docs to fit in Ubuntu Firefox ([#&#8203;20844](mui/mui-x#20844)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Simplify heatmap zoom demo ([#&#8203;20851](mui/mui-x#20851)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Revise the Charts Composition doc ([#&#8203;20032](mui/mui-x#20032)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Localization doc ([#&#8203;20800](mui/mui-x#20800)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Stacking doc ([#&#8203;20830](mui/mui-x#20830)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Fix broken links ([#&#8203;20914](mui/mui-x#20914)) [@&#8203;Janpot](https://github.com/Janpot)

##### Core

- \[code-infra] Fix `material-ui/disallow-react-api-in-server-components` ([#&#8203;20909](mui/mui-x#20909)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[code-infra] Prepare for v9 ([#&#8203;20860](mui/mui-x#20860)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[code-infra] Update codeowners ([#&#8203;20886](mui/mui-x#20886)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Remove local Claude settings from the repo ([#&#8203;20853](mui/mui-x#20853)) [@&#8203;cherniavskii](https://github.com/cherniavskii)

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.8.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#380)

[Compare Source](prettier/prettier@3.7.4...3.8.0)

[diff](prettier/prettier@3.7.4...3.8.0)

🔗 [Release Notes](https://prettier.io/blog/2026/01/14/3.8.0)

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuODQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!253

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 18, 2026
chore(deps): update frontend dependencies (minor) (minor)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.24.0` → `8.25.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.24.0` → `8.25.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.7.4` → `3.8.0`](https://renovatebot.com/diffs/npm/prettier/3.7.4/3.8.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/prettier/prettier/badge)](https://securityscorecards.dev/viewer/?uri=github.com/prettier/prettier) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;mui/x-charts)</summary>

### [`v8.25.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8250)

[Compare Source](mui/mui-x@v8.24.0...v8.25.0)

<!-- generated comparing v8.24.0..master -->

*Jan 14, 2026*

We'd like to extend a big thank you to the 8 contributors who made this release possible. Here are some highlights ✨:

- 📊 The Chart legend now has an option that enables [click to toggle visibility](https://mui.com/x/react-charts/legend/#toggle-visibility) of series.

  ![Image](https://github.com/user-attachments/assets/c8250287-1318-4581-ac5d-07e7ee01341c)

- 🐞 Bugfixes

- 📚 Documentation improvements

The following team members contributed to this release:
[@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;cherniavskii](https://github.com/cherniavskii), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;rita-codes](https://github.com/rita-codes), [@&#8203;Janpot](https://github.com/Janpot)

##### Data Grid

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Date and Time Pickers

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Charts

##### `@mui/[email protected]`

- \[charts] Add Legend actions ([#&#8203;20404](mui/mui-x#20404)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `initialHiddenItems` prop to set initial state ([#&#8203;20894](mui/mui-x#20894)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Control the item tooltip ([#&#8203;20617](mui/mui-x#20617)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Export plugins from premium ([#&#8203;20866](mui/mui-x#20866)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix node anchor on iOS ([#&#8203;20848](mui/mui-x#20848)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix test inconsistency in charts ([#&#8203;20907](mui/mui-x#20907)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Revert `touch-action: pan-y` removal when zoom is disabled ([#&#8203;20852](mui/mui-x#20852)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Use React event handler to detect pointer type ([#&#8203;20849](mui/mui-x#20849)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Enable keyboard navigation in radar chart ([#&#8203;20765](mui/mui-x#20765)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix tooltip position for stacked line series ([#&#8203;20901](mui/mui-x#20901)) [@&#8203;alexfauquette](https://github.com/alexfauquette)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-pro] Add keyboard navigation to funnel ([#&#8203;20766](mui/mui-x#20766)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Add keyboard navigation to heatmap ([#&#8203;20786](mui/mui-x#20786)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Add keyboard navigation to sankey ([#&#8203;20777](mui/mui-x#20777)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Prefer global pointer interaction tracker in Heatmap ([#&#8203;20697](mui/mui-x#20697)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts-pro] Support composition for Sankey ([#&#8203;20604](mui/mui-x#20604)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts-pro] Fix crash when two same-direction axes have a zoom preview ([#&#8203;20916](mui/mui-x#20916)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add `ChartContainerPremium` ([#&#8203;20910](mui/mui-x#20910)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts-premium] Fix `ChartDataProviderPremium` tests ([#&#8203;20868](mui/mui-x#20868)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Codemod

##### `@mui/[email protected]`

Internal changes.

##### Docs

- \[docs] Fix Waterfall Chart documentation badge from Pro to Premium ([#&#8203;20888](mui/mui-x#20888)) [@&#8203;Copilot](https://github.com/Copilot)
- \[docs] Fix broken links on Data Grid Editing sub-pages ([#&#8203;20911](mui/mui-x#20911)) [@&#8203;arminmeh](https://github.com/arminmeh)
- \[docs] Increase chart axis size in docs to fit in Ubuntu Firefox ([#&#8203;20844](mui/mui-x#20844)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Simplify heatmap zoom demo ([#&#8203;20851](mui/mui-x#20851)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Revise the Charts Composition doc ([#&#8203;20032](mui/mui-x#20032)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Localization doc ([#&#8203;20800](mui/mui-x#20800)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Stacking doc ([#&#8203;20830](mui/mui-x#20830)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Fix broken links ([#&#8203;20914](mui/mui-x#20914)) [@&#8203;Janpot](https://github.com/Janpot)

##### Core

- \[code-infra] Fix `material-ui/disallow-react-api-in-server-components` ([#&#8203;20909](mui/mui-x#20909)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[code-infra] Prepare for v9 ([#&#8203;20860](mui/mui-x#20860)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[code-infra] Update codeowners ([#&#8203;20886](mui/mui-x#20886)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Remove local Claude settings from the repo ([#&#8203;20853](mui/mui-x#20853)) [@&#8203;cherniavskii](https://github.com/cherniavskii)

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.8.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#380)

[Compare Source](prettier/prettier@3.7.4...3.8.0)

[diff](prettier/prettier@3.7.4...3.8.0)

🔗 [Release Notes](https://prettier.io/blog/2026/01/14/3.8.0)

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuODQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!253

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: charts Changes related to the charts. type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants