Draw the badge whole, with one ring around the selected one - #205
Merged
Merged
Conversation
Both halves came from the hairline #196 gave the badge, and neither had the cause I wrote in the ticket. The crop was not the extra two pixels. The band was 17px holding a 19px child, which is not something a flex container sized on its content does: .lang-tag is a span with no display, so it is inline, and an inline box's padding and border hang outside the line box its host is sized to. The band is overflow hidden, so they were cut. It already overflowed by about a pixel and a half before the hairline existed. The ring is the chip drawing a box of its own around a badge that now has one, two pixels further out and at a different radius. The chip keeps its padding — that is what it is clickable by — and the badge's own border takes the amber. The hairline could not simply go: --bg-3 sits at 1.1:1 against every light surface, and without it the badge is bare text again. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
# Conflicts: # e2e/pageobjects/canvas.page.ts
This was referenced Sep 18, 2026
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.
Closes #201.⚠️ Both halves are mine, from #196 — and neither had the cause I put in the ticket.
The crop was not the extra two pixels
The ticket said the hairline made the badge taller than the band. Measured, the band was 17px holding a 19px child, which is not something a flex container sized on its content does.
.lang-tagis a<span>with nodisplay, so it is inline. An inline box's padding and border do not count toward the line box its host is sized to — they simply hang outside it..card-headisoverflow: hidden, so they were cut.display: inline-flexon the badge.cutByBand3 → 0, and the band grows to 20 to hold its child.The ring
The chip keeps its padding — that is what it is clickable by — but stops drawing a box of its own. The badge's border takes the amber on selection, so there is one ring and it hugs what it is selecting.
--bg-3sits at 1.1:1 against every light surface, and without it the badge is bare text again. That is what #196 was for, and I only found it by looking at a screenshot rather than at the numbers.Incidentally the chip goes from 23px to 26px, clearing the 24px #176 asks of a control — it was not in the seven that ticket listed, which was an oversight.
The assertion
outlinescounts borders that are actually visible: a transparent border is not an outline whatever its width says, and the chip still declares one so its box stays the size a pointer expects.Reproduced and measured before the fix, measured again after, and looked at in both states — the two concentric rings are unmistakable in the before.
🤖 Generated with Claude Code