-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[charts-pro] Update zoom slider range selection cursor #17977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
bernardobelchior
merged 6 commits into
mui:master
from
bernardobelchior:improv-zoom-slider-range-selection
May 26, 2025
Merged
Changes from 2 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
2239ca8
[charts-pro] Update zoom slider range selection cursor
bernardobelchior 43a8abc
Update cursor when selecting
bernardobelchior af7f3ea
Use variants
bernardobelchior f77dbd3
Address feedback
bernardobelchior daef724
Dedupe
bernardobelchior 14508c7
Fix lint
bernardobelchior File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
27 changes: 27 additions & 0 deletions
27
packages/x-charts-pro/src/ChartZoomSlider/internals/chartAxisZoomSliderClasses.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| import generateUtilityClass from '@mui/utils/generateUtilityClass'; | ||
| import generateUtilityClasses from '@mui/utils/generateUtilityClasses'; | ||
|
|
||
| export interface ChartAxisZoomSliderClasses { | ||
| /** Styles applied to the root element. */ | ||
| root: string; | ||
| /** Styles applied to the root element when the slider is horizontal. */ | ||
| horizontal: string; | ||
| /** Styles applied to the root element when the slider is vertical. */ | ||
| vertical: string; | ||
|
|
||
| /** Styles applied to the track of the zoom slider. */ | ||
| track: string; | ||
| /** Styles applied to the track of the zoom slider when a range selection is being made. */ | ||
| selecting: string; | ||
| } | ||
|
|
||
| export type ChartAxisZoomSliderClassKey = keyof ChartAxisZoomSliderClasses; | ||
|
|
||
| export function getChartAxisZoomSliderUtilityClass(slot: string) { | ||
| return generateUtilityClass('MuiChartAxisZoomSlider', slot); | ||
| } | ||
|
|
||
| export const chartAxisZoomSliderClasses: ChartAxisZoomSliderClasses = generateUtilityClasses( | ||
| 'MuiChartAxisZoomSlider', | ||
| ['root', 'vertical', 'horizontal', 'track', 'selecting'], | ||
| ); |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a bit weird to have that many classes. Users would need a specificity higher than
0-5-0to verride those rules.What about moving that style into the
ZoomSliderTrack?You can look at this component. In short, you pass the props of interest (the direction and the selecting state) such that it adapts its style to it, but do not propagate those props. The goal is to have only one class such that any style override wins over the default one
https://github.com/mui/mui-x/blob/master/packages/x-date-pickers/src/internals/components/PickersToolbar.tsx/#L51-L82
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the code as suggested. Is that what you had in mind?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can go further on the simplification with
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems to work 😄 done 👍