perf(BaseStyles): Remove expensive :has([data-color-mode]) selectors #7325
+14
−13
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.
Summary
Remove expensive
:has([data-color-mode])selectors that scanned the entire DOM on every style recalculation.Changes
Removed redundant CSS rules that used
:has([data-color-mode='light'])and:has([data-color-mode='dark'])selectors. Input color-scheme is already handled by global selectors in the codebase.Expected INP Impact
Why this matters
These were the most expensive selectors in the entire codebase:
:has([data-color-mode])on the root element forces a full DOM traversalThis single change likely has the highest INP impact of all the optimizations.
Part of the INP performance optimization effort. See #7312 for full context.