Repository navigation
fix(multi-selector): remove doubled focus ring on the trigger - #4576
Merged
Merged
Conversation
freddymeta
requested review from
cixzhang,
ejhammond and
imdreamrunner
as code owners
July 31, 2026 04:37
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
github-actions
Bot
requested review from
cvkxx,
ernestt,
kentonquatman and
rubyycheung
July 31, 2026 04:37
Contributor
PR Analysis Report📚 Storybook PreviewView Storybook for this PR 🧪 Sandbox PreviewView Sandbox for this PR Modified ComponentsMultiSelector (@astryxdesign/core) · View in Storybook
Bundle Size Summary
Accessibility AuditStatus: No accessibility violations detected. Generated by PR Enrichment workflow | Storybook | Sandbox | View full report |
cixzhang
approved these changes
Jul 31, 2026
cixzhang
enabled auto-merge (squash)
July 31, 2026 05:16
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The bug
Focusing the
MultiSelectortrigger renders two stacked accent rings: the field wrapper's:focus-withinring plus the inner trigger button's own:focus-visibleoutline. They overlap into a doubled border on the trigger.Root cause
Bordered inputs render their focus ring once, via the shared field wrapper (
inputWrapperStyles.base) — its border goes accent on:focus-withinplus an inset accent box-shadow ring. TheMultiSelectortrigger container already composes that wrapper, but the inner trigger button also drew its own:focus-visibleoutline. That inner outline is the duplicate.Selectorwas already migrated off this pattern (its trigger usesoutline: 'none'and defers to the wrapper);MultiSelectorwas left on the pre-fix version.The fix
Set the trigger button's
outlinetononeand rely on the wrapper's single:focus-withinring — matchingSelector,TextInput, andNumberInput. Dropped the now-unusedoutlineOffsetthat only existed for the removed outline.Notes
MultiSelectorclear button keeps its own:focus-visibleoutline (a separate control, unchanged), matchingSelector.Selectorfix (fix(core): remove doubled focus ring on Selector trigger #3088), which shipped with a changeset and no unit test. The existing focus/keyboard tests forMultiSelectorstill pass.