fix: Add :where selector to classes that land on nodes that have a sx prop #4870
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.
This addresses a regression found in the last release of PRC https://github.com/github/github/pull/338276#issuecomment-2301557787
The problem is when the component has an
sx=prop applied to it, the styled-components styles are being overridden by the CSS modules styles. This is because the two classes have equal specificity0,1,0.The solution here is to add the
:whereselector to the CSS modules classes whenever they might exist on the same dom node as a sx prop. This will give the CSS modules classes a lower specificity0,0,0and will prevent the styled-components styles from being overridden.Before
After
Changelog
Changed
Add
:where()selector to classes that land on nodes that have asxprop.Rollout strategy
Testing & Reviewing
I'm going to test this locally, then also on a review-lab instance.
Merge checklist