fix(checkbox): corrects invalid+checked+hover background color#3617
Conversation
🦋 Changeset detectedLatest commit: b39b168 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
🚀 Deployed on https://pr-3617--spectrum-css.netlify.app |
File metricsSummaryTotal size: 2.25 MB*
checkbox
* An ASCII character in UTF-8 is 8 bits or 1 byte. |
f25d38b to
6c75a63
Compare
a5ab9df to
b7c348a
Compare
| } | ||
| } | ||
|
|
||
| /* TODO: Because this selector was moved to the default variant's styles, this selector block can be deleted when it is safe to make changes to selectors. */ |
There was a problem hiding this comment.
This is a note that we could refactor in the future. I experimented with copying this selector into the default .spectrum-Checkbox block, around line 168, and commented out this selector at line 287 nested within the --emphasized variant. The styles seemed to cascade correctly in both variants.
I thought that was too much repetition WITH new selectors, so I opted instead for just reorganizing the selector in the default block.
b7c348a to
94640f4
Compare
|
|
||
| &:hover { | ||
| .spectrum-Checkbox-input:checked + .spectrum-Checkbox-box, | ||
| .spectrum-Checkbox-input:checked + .spectrum-Checkbox-box::before, |
There was a problem hiding this comment.
I think the reason these styles weren't working is because we need the .spectrum-Checkbox-input:checked + .spectrum-Checkbox-box::before selector.
As I was looking through the other hover styles, trying to understand why they were working but this one wasn't, it seems like every other hover instance is referencing the entire .spectrum-Checkbox-input:checked + .spectrum-Checkbox-box::before selector. Am I missing anything?
I'm not sure I can correct this bug without it, but I'm very open to other ideas and happy to brainstorm!
|
TODO: run VRTs |
c68f4e3 to
d2272ea
Compare
|
What do you think about separating the bug fixes out into their own PR(s)? This seems to be combining a couple distinct changes into one. Would adding/merging just the test coverage additions first and getting a VRT baseline help with validating the bug fixes afterwards? |
94640f4 to
4acee00
Compare
4acee00 to
cfa9c01
Compare
cdransf
left a comment
There was a problem hiding this comment.
Ran through all the validation steps and everything looks good! ✨
cfa9c01 to
1dade0e
Compare
- add missing ::before pseudo to target the before element in the invalid/checked/hover state - update metadata.json - create changeset
1dade0e to
b39b168
Compare
* feat(actionbutton): use s2 colors in spectrum-two theme (#3606) * feat(actionbutton): use closer to s2 colors in spectrum-two theme Requested colors update for action button, aligning the colors closer to the S2 design, post-foundations. In the foundations spectrum-two theme: - Removes the border - Changes the default background colors to match s2 specs - Updates the background colors used for static black and static white SWC-497 * fix(actionbutton): fix high contrast styles for selected disabled The selected + disabled button was not showing up as the disabled colors in high contrast mode. Fixed by adjusting the source order slightly in the high contrast media query so disabled is after selected and takes precedence. * fix(search): update disabled state in spectrum two (#3593) Co-authored-by: rise-erpelding <54716846+rise-erpelding@users.noreply.github.com> Co-authored-by: [ Cassondra ] <castastrophe@users.noreply.github.com> * chore(deps): bump the npm_and_yarn group with 2 updates (#3618) Bumps the npm_and_yarn group with 2 updates: [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) and [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime). Updates `@babel/helpers` from 7.26.0 to 7.26.10 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-helpers) Updates `@babel/runtime` from 7.24.4 to 7.26.10 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime) --- updated-dependencies: - dependency-name: "@babel/helpers" dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: "@babel/runtime" dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: update release script install settings * fix(button): adjust s2 static colors [SWC-496] (#3613) * chore: release (#3619) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(slider): corrects contrast bug caused by template default arg (#3614) * fix(stepper): fast follows for focus/focus+hover/keyboardFocus borders (#3621) * fix(stepper): focus/focus+hover/keyboardFocus border colors * chore(stepper): add changeset * fix(slider): offset variant border radius bug fix (#3611) * feat(slider): offset variant border radius bug fix * feat(slider): fix range slider * fix(combobox): border color fast follows swc-582 (#3609) * fix(combobox): correct s1/legacy container variable * fix(combobox): fast follow border color remapping - add mods for s2 foundations disabled picker button BG/border colors - correct disabled+read-only border color - add read-only border custom property - fixes express read-only border from gray-500 to gray-400 - update metadata.json * chore(combobox): create changeset * chore: release (#3623) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore: patch tj-actions vulnerability (#3626) * fix(alertbanner): change system variable from spectrum to legacy (#3624) * fix(alertbanner): change system: spectrum to legacy * chore(alertbanner): create changeset * test(checkbox): add more coverage for checkbox (#3625) * chore(checkbox): add isHovered state to checkbox - adds isHovered shared type and control to checkbox stories - adds several isHovered test cases - updates checkbox template to include isHovered arg * chore(form): fix the fieldgroup component input and labels * chore: release (#3631) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(checkbox): add invalid+checked+hover checkbox styles (#3617) - add missing ::before pseudo to target the before element in the invalid/checked/hover state - update metadata.json - create changeset * chore: release (#3632) * chore: release --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: undefined and duplicated variable after merging main fix(slider): remove duplicated values Remove a large number of duplicate values causing stylelint "Unexpected duplicate" warnings. It looks like things got doubled up somehow in a previous rebase or merge. This included duplicate t-shirt size classes. Also moves root styles block under the custom property definitions to be consistent with other components. fix(combobox): fixes undefined and duplicated values --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: TaraT <ttomar@adobe.com> Co-authored-by: rise-erpelding <54716846+rise-erpelding@users.noreply.github.com> Co-authored-by: [ Cassondra ] <castastrophe@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Cory Dransfeldt <cdransfeldt@adobe.com> Co-authored-by: Marissa Huysentruyt <69602589+marissahuysentruyt@users.noreply.github.com> Co-authored-by: aramos-adobe <abdulr@adobe.com>
Description
This PR addresses the regression we noticed in the invalid checkboxes, where the default hover color was "winning" out over the invalid hover color. To avoid this bug in the future, #3625 adds several tests and more Storybook support for hovers through the shared type control.
This PR includes adding a
::beforeselector in theis-invalidhover state.It should be noted that there is more opportunity to refactor here. I noticed that the emphasized+invalid+checked+hovered state was behaving as expected. If that selector block (marked with a
TODOin commit ea8741a) gets consolidated or moved into the default.spectrum-Checkbox, it seemed like it could safely be removed and all the styles would cascade as expected. The first commit in this PR reorganizes the emphasized invalid+checked+hovered css to be included with the default invalid+checked+hovered css, but that felt too repetitive. So instead, adding a::beforepseudo element appropriately targeted the invalid hovered checkboxes. Both approaches unfortunately led to selector changes.Jira/Specs
CSS-1139
How and where has this been tested?
Please tag yourself on the tests you've marked complete to confirm the tests have been run by someone other than the author.
Validation steps
.spectrum-Checkboxelement is hovered, the.spectrum-Checkbox-box::beforepseudo element has a border color of--spectrum-checkbox-invalid-color-hover: var(--spectrum-negative-color-1000);. This applies to all 3 states (unchecked, checked, indeterminate). [@cdransf]Regression testing
Validate:
Screenshots
Before 🚫

After ✅

To-do list