-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
Fixes emotion compat, className overwriting more specific classes #33866
Conversation
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.
This will complicate things too much, it would mean that in each component we will need to merge the className
prop at specific location. More over, how do we decide what "more specific classes" mean? I am saying this because there is no such thing as a more specific class, there are more specific selectors.
|
||
const slots = { | ||
root: [ | ||
'root', | ||
'className', |
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.
'className', |
This will generate class name: MuiTab-className
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.
This will generate class name: MuiTab-className
Sorry my implementation was naive, obviousy we dont wantMuiTab-className
.
OK I understand why you don't see it as being worth fixing.
While I agree that I didn't phrase it correctly, I disagree on the fact that there is an ambiguity on what the expected behavior is. <Tab
icon={<PhoneIcon />}
label="Background should be green"
className={css({ backgroundColor: 'red' })}
classes={{
labelIcon: css({ backgroundColor: 'green' })
}}
/> Any classes specified in the Anyway, I can make this work with a hack on TSS side so, no worries, feel free to close. As always, thanks for reviewing @mnajdova! |
Let's try to go with this first.
Sure |
Hi,
This PR is related to #33205.
What is happening is that
classNames
overwrites theclasses
that applies to the root component.I have implemented a fix for the
Tab
component. If you are fine with it I can generalize it.The visual test case can be run with:
Then accessing: http://localhost:3000/regression-Table/EmotionCompat#no-dev
With this branch you'll get:
With
mui/material-ui#master
:Best regard,