[charts] Refactor useRegisterPointerEventHandlers#20824
[charts] Refactor useRegisterPointerEventHandlers#20824bernardobelchior merged 2 commits intomui:masterfrom
useRegisterPointerEventHandlers#20824Conversation
|
Deploy preview: https://deploy-preview-20824--material-ui-x.netlify.app/ Bundle size report
|
CodSpeed Performance ReportMerging #20824 will not alter performanceComparing Summary
Footnotes |
packages/x-charts/src/internals/plugins/featurePlugins/shared/useRegisterPointerInteractions.ts
Outdated
Show resolved
Hide resolved
| ? () => { | ||
| if (prevCursorRef.current == null) { | ||
| prevCursorRef.current = document.body.style.cursor; | ||
| document.body.style.cursor = 'pointer'; |
There was a problem hiding this comment.
Why are we changing the cursor of the body? 🤔
There was a problem hiding this comment.
I can also change the cursor of the SVG, I think. I'll do that instead
4faa064 to
20d6f21
Compare
20d6f21 to
10d2424
Compare
JCQuintas
left a comment
There was a problem hiding this comment.
small suggestions to simplify logic
| if (!svg) { | ||
| return; | ||
| } | ||
|
|
||
| if (prevCursorRef.current == null) { | ||
| prevCursorRef.current = svg.style.cursor; | ||
| // eslint-disable-next-line react-compiler/react-compiler | ||
| svg.style.cursor = 'pointer'; | ||
| } |
There was a problem hiding this comment.
| if (!svg) { | |
| return; | |
| } | |
| if (prevCursorRef.current == null) { | |
| prevCursorRef.current = svg.style.cursor; | |
| // eslint-disable-next-line react-compiler/react-compiler | |
| svg.style.cursor = 'pointer'; | |
| } | |
| if (!svg || prevCursorRef.current) { | |
| return; | |
| } | |
| prevCursorRef.current = svg.style.cursor; | |
| // eslint-disable-next-line react-compiler/react-compiler | |
| svg.style.cursor = 'pointer'; |
There was a problem hiding this comment.
This does shorten the number of lines of code, but I find it harder to read, so if you don't mind I'll keep it as is.
We can discuss this here and I'll change it in a follow-up if needed.
There was a problem hiding this comment.
Yeah my point was mostly regarding the == null which is a bit useless
There was a problem hiding this comment.
I don't think it is. If you get the cursor style of an element, it can be an empty string, so we want to make the distinction between an empty string (the style of the element) and null/undefined (the cursor hasn't been set previously)
| if (!svg) { | ||
| return; | ||
| } | ||
|
|
||
| if (prevCursorRef.current != null) { | ||
| svg.style.cursor = prevCursorRef.current; | ||
| prevCursorRef.current = null; | ||
| } |
There was a problem hiding this comment.
| if (!svg) { | |
| return; | |
| } | |
| if (prevCursorRef.current != null) { | |
| svg.style.cursor = prevCursorRef.current; | |
| prevCursorRef.current = null; | |
| } | |
| if (!svg || !prevCursorRef.current) { | |
| return; | |
| } | |
| svg.style.cursor = prevCursorRef.current; | |
| prevCursorRef.current = null; |
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.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [](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.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) | --- ### Release Notes <details> <summary>mui/mui-x (@​mui/x-charts)</summary> ### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240) [Compare Source](mui/mui-x@v8.23.0...v8.24.0) *Jan 8, 2026* We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨: - ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars - 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render  - 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid Special thanks go out to these community members for their valuable contributions: [@​anders-noerrelykke](https://github.com/anders-noerrelykke), [@​auloin](https://github.com/auloin), [@​sai6855](https://github.com/sai6855), [@​yuito-it](https://github.com/yuito-it) The following team members contributed to this release: [@​alelthomas](https://github.com/alelthomas), [@​alexfauquette](https://github.com/alexfauquette), [@​arminmeh](https://github.com/arminmeh), [@​bernardobelchior](https://github.com/bernardobelchior), [@​flaviendelangle](https://github.com/flaviendelangle), [@​JCQuintas](https://github.com/JCQuintas), [@​mapache-salvaje](https://github.com/mapache-salvaje), [@​siriwatknp](https://github.com/siriwatknp) ##### Data Grid ##### `@mui/[email protected]` - \[l10n] Improve Danish (da-DK) locale ([#​20828](mui/mui-x#20828)) [@​anders-noerrelykke](https://github.com/anders-noerrelykke) - \[l10n] Improve Japanese (ja-JP) locale ([#​20251](mui/mui-x#20251)) [@​yuito-it](https://github.com/yuito-it) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[DataGridPro] Fix header filter height for `density="compact"` ([#​20834](mui/mui-x#20834)) [@​arminmeh](https://github.com/arminmeh) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`. ##### Date and Time Pickers ##### `@mui/[email protected]` - \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#​20719](mui/mui-x#20719)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Charts ##### `@mui/[email protected]` - \[charts] Add `VisibilityManager` logic to allow managing series/items ([#​20571](mui/mui-x#20571)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `identifierSerializer` configuration ([#​20775](mui/mui-x#20775)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `serializeIdentifier` instance function ([#​20791](mui/mui-x#20791)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add bar batch renderer ([#​20457](mui/mui-x#20457)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Allow animating bar, line, and pie elements to hidden state ([#​20798](mui/mui-x#20798)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Fix failing lint step ([#​20813](mui/mui-x#20813)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Fix tooltip anchored to item ([#​20783](mui/mui-x#20783)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#​20797](mui/mui-x#20797)) [@​sai6855](https://github.com/sai6855) - \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#​20757](mui/mui-x#20757)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#​20795](mui/mui-x#20795)) [@​sai6855](https://github.com/sai6855) - \[charts] Refactor `useRegisterPointerEventHandlers` ([#​20824](mui/mui-x#20824)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Update legend types to allow hiding/showing items ([#​20784](mui/mui-x#20784)) [@​JCQuintas](https://github.com/JCQuintas) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#​20796](mui/mui-x#20796)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-premium] Add range bar chart ([#​20275](mui/mui-x#20275)) [@​bernardobelchior](https://github.com/bernardobelchior) ##### Tree View ##### `@mui/[email protected]` - \[tree view] Introduce a Tree View Store to clean the internals ([#​20051](mui/mui-x#20051)) [@​flaviendelangle](https://github.com/flaviendelangle) ##### `@mui/[email protected]` [](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 axis size default values ([#​20799](mui/mui-x#20799)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#​20787](mui/mui-x#20787)) [@​alelthomas](https://github.com/alelthomas) - \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#​20465](mui/mui-x#20465)) [@​auloin](https://github.com/auloin) - \[docs] Revise the Charts Brush doc ([#​20792](mui/mui-x#20792)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Highlighting doc ([#​20788](mui/mui-x#20788)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Label doc ([#​20794](mui/mui-x#20794)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Export doc ([#​20779](mui/mui-x#20779)) [@​mapache-salvaje](https://github.com/mapache-salvaje) ##### Core - \[code-infra] Fix v8.23.0 release date ([#​20767](mui/mui-x#20767)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `glob-gitignore` ([#​20801](mui/mui-x#20801)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `nyc` ([#​20804](mui/mui-x#20804)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stream-browserify` and `null-loader` ([#​20805](mui/mui-x#20805)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stylelint-config-tailwindcss` ([#​20807](mui/mui-x#20807)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove unused `path` package ([#​20802](mui/mui-x#20802)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Retry flaky e2e test on webkit ([#​20806](mui/mui-x#20806)) [@​JCQuintas](https://github.com/JCQuintas) - \[internal] Add `internal` slot to properly generate components CSS layer ([#​20763](mui/mui-x#20763)) [@​siriwatknp](https://github.com/siriwatknp) </details> <details> <summary>OpenAPITools/openapi-generator-cli (@​openapitools/openapi-generator-cli)</summary> ### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0) [Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0) ##### Features - **config:** add support for environment variable placeholders in config ([#​1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) ##### 🚀 Features - **eslint-plugin:** add rule \[strict-void-return] ([#​9707](typescript-eslint/typescript-eslint#9707)) - **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#​11922](typescript-eslint/typescript-eslint#11922)) ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#​11916](typescript-eslint/typescript-eslint#11916)) - **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#​11704](typescript-eslint/typescript-eslint#11704)) - **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#​11935](typescript-eslint/typescript-eslint#11935)) - **typescript-estree:** forbid invalid class implements ([#​11934](typescript-eslint/typescript-eslint#11934)) - **typescript-estree:** forbid type-only import with both default and named specifiers ([#​11930](typescript-eslint/typescript-eslint#11930)) ##### ❤️ Thank You - Brad Zacher [@​bradzacher](https://github.com/bradzacher) - fisker Cheung [@​fisker](https://github.com/fisker) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger - Niki [@​phaux](https://github.com/phaux) - Nikita - SungHyun627 [@​SungHyun627](https://github.com/SungHyun627) - Will Harney [@​wjhsf](https://github.com/wjhsf) You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) ##### 🚀 Features - **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#​11899](typescript-eslint/typescript-eslint#11899)) ##### 🩹 Fixes - **eslint-plugin:** \[no-base-to-string] detect @​[@​toPrimitive](https://github.com/toPrimitive) and valueOf ([#​11901](typescript-eslint/typescript-eslint#11901)) - **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#​11908](typescript-eslint/typescript-eslint#11908)) ##### ❤️ Thank You - Josh Goldberg ✨ - Ulrich Stark You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120) [Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0) ##### Patch Changes - Updated dependencies: - `[email protected]` </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!243 Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch> Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
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.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [](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.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) | | [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) | --- ### Release Notes <details> <summary>mui/mui-x (@​mui/x-charts)</summary> ### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240) [Compare Source](mui/mui-x@v8.23.0...v8.24.0) *Jan 8, 2026* We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨: - ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars - 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render  - 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid Special thanks go out to these community members for their valuable contributions: [@​anders-noerrelykke](https://github.com/anders-noerrelykke), [@​auloin](https://github.com/auloin), [@​sai6855](https://github.com/sai6855), [@​yuito-it](https://github.com/yuito-it) The following team members contributed to this release: [@​alelthomas](https://github.com/alelthomas), [@​alexfauquette](https://github.com/alexfauquette), [@​arminmeh](https://github.com/arminmeh), [@​bernardobelchior](https://github.com/bernardobelchior), [@​flaviendelangle](https://github.com/flaviendelangle), [@​JCQuintas](https://github.com/JCQuintas), [@​mapache-salvaje](https://github.com/mapache-salvaje), [@​siriwatknp](https://github.com/siriwatknp) ##### Data Grid ##### `@mui/[email protected]` - \[l10n] Improve Danish (da-DK) locale ([#​20828](mui/mui-x#20828)) [@​anders-noerrelykke](https://github.com/anders-noerrelykke) - \[l10n] Improve Japanese (ja-JP) locale ([#​20251](mui/mui-x#20251)) [@​yuito-it](https://github.com/yuito-it) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[DataGridPro] Fix header filter height for `density="compact"` ([#​20834](mui/mui-x#20834)) [@​arminmeh](https://github.com/arminmeh) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`. ##### Date and Time Pickers ##### `@mui/[email protected]` - \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#​20719](mui/mui-x#20719)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`. ##### Charts ##### `@mui/[email protected]` - \[charts] Add `VisibilityManager` logic to allow managing series/items ([#​20571](mui/mui-x#20571)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `identifierSerializer` configuration ([#​20775](mui/mui-x#20775)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add `serializeIdentifier` instance function ([#​20791](mui/mui-x#20791)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Add bar batch renderer ([#​20457](mui/mui-x#20457)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Allow animating bar, line, and pie elements to hidden state ([#​20798](mui/mui-x#20798)) [@​JCQuintas](https://github.com/JCQuintas) - \[charts] Fix failing lint step ([#​20813](mui/mui-x#20813)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Fix tooltip anchored to item ([#​20783](mui/mui-x#20783)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#​20797](mui/mui-x#20797)) [@​sai6855](https://github.com/sai6855) - \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#​20757](mui/mui-x#20757)) [@​alexfauquette](https://github.com/alexfauquette) - \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#​20795](mui/mui-x#20795)) [@​sai6855](https://github.com/sai6855) - \[charts] Refactor `useRegisterPointerEventHandlers` ([#​20824](mui/mui-x#20824)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[charts] Update legend types to allow hiding/showing items ([#​20784](mui/mui-x#20784)) [@​JCQuintas](https://github.com/JCQuintas) ##### `@mui/[email protected]` [](https://mui.com/r/x-pro-svg-link "Pro plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#​20796](mui/mui-x#20796)) [@​sai6855](https://github.com/sai6855) ##### `@mui/[email protected]` [](https://mui.com/r/x-premium-svg-link "Premium plan") Same changes as in `@mui/[email protected]`, plus: - \[charts-premium] Add range bar chart ([#​20275](mui/mui-x#20275)) [@​bernardobelchior](https://github.com/bernardobelchior) ##### Tree View ##### `@mui/[email protected]` - \[tree view] Introduce a Tree View Store to clean the internals ([#​20051](mui/mui-x#20051)) [@​flaviendelangle](https://github.com/flaviendelangle) ##### `@mui/[email protected]` [](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 axis size default values ([#​20799](mui/mui-x#20799)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#​20787](mui/mui-x#20787)) [@​alelthomas](https://github.com/alelthomas) - \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#​20465](mui/mui-x#20465)) [@​auloin](https://github.com/auloin) - \[docs] Revise the Charts Brush doc ([#​20792](mui/mui-x#20792)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Highlighting doc ([#​20788](mui/mui-x#20788)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Label doc ([#​20794](mui/mui-x#20794)) [@​mapache-salvaje](https://github.com/mapache-salvaje) - \[docs] Revise the Charts Export doc ([#​20779](mui/mui-x#20779)) [@​mapache-salvaje](https://github.com/mapache-salvaje) ##### Core - \[code-infra] Fix v8.23.0 release date ([#​20767](mui/mui-x#20767)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `glob-gitignore` ([#​20801](mui/mui-x#20801)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `nyc` ([#​20804](mui/mui-x#20804)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stream-browserify` and `null-loader` ([#​20805](mui/mui-x#20805)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove `stylelint-config-tailwindcss` ([#​20807](mui/mui-x#20807)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Remove unused `path` package ([#​20802](mui/mui-x#20802)) [@​bernardobelchior](https://github.com/bernardobelchior) - \[code-infra] Retry flaky e2e test on webkit ([#​20806](mui/mui-x#20806)) [@​JCQuintas](https://github.com/JCQuintas) - \[internal] Add `internal` slot to properly generate components CSS layer ([#​20763](mui/mui-x#20763)) [@​siriwatknp](https://github.com/siriwatknp) </details> <details> <summary>OpenAPITools/openapi-generator-cli (@​openapitools/openapi-generator-cli)</summary> ### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0) [Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0) ##### Features - **config:** add support for environment variable placeholders in config ([#​1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) ##### 🚀 Features - **eslint-plugin:** add rule \[strict-void-return] ([#​9707](typescript-eslint/typescript-eslint#9707)) - **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#​11922](typescript-eslint/typescript-eslint#11922)) ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#​11916](typescript-eslint/typescript-eslint#11916)) - **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#​11704](typescript-eslint/typescript-eslint#11704)) - **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#​11935](typescript-eslint/typescript-eslint#11935)) - **typescript-estree:** forbid invalid class implements ([#​11934](typescript-eslint/typescript-eslint#11934)) - **typescript-estree:** forbid type-only import with both default and named specifiers ([#​11930](typescript-eslint/typescript-eslint#11930)) ##### ❤️ Thank You - Brad Zacher [@​bradzacher](https://github.com/bradzacher) - fisker Cheung [@​fisker](https://github.com/fisker) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger - Niki [@​phaux](https://github.com/phaux) - Nikita - SungHyun627 [@​SungHyun627](https://github.com/SungHyun627) - Will Harney [@​wjhsf](https://github.com/wjhsf) You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) ##### 🚀 Features - **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#​11899](typescript-eslint/typescript-eslint#11899)) ##### 🩹 Fixes - **eslint-plugin:** \[no-base-to-string] detect @​[@​toPrimitive](https://github.com/toPrimitive) and valueOf ([#​11901](typescript-eslint/typescript-eslint#11901)) - **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#​11908](typescript-eslint/typescript-eslint#11908)) ##### ❤️ Thank You - Josh Goldberg ✨ - Ulrich Stark You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12) [Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05) [Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120) [Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0) ##### Patch Changes - Updated dependencies: - `[email protected]` </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!243 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>
Refactor
useRegisterPointerEventHandlersinto two hooks:useRegisterPointerInteractionsthat listens to pointer movements and will be shared by the batch bar and heatmap charts.useRegisterItemClickHandlersthat handles the item click on batch bar chartsScreen.Recording.2026-01-05.at.17.40.15.mov