fix(ui-primitives): keep two-digit source markers out of the scroll clip
Making `.sources` a scroll container turned its `padding-left` from spacing into a correctness constraint. A scroll container clips inline-start overflow with no way to scroll it back, and `::marker` is right-aligned to the content edge, so past nine sources the markers rendered as `0.` and `1.` where `10.` and `11.` belonged. `searchMaxResults` is an unbounded positive integer, so size the padding in `em` against the list's own font to hold a three-digit marker. The browser e2e measures a `999. ` marker in that inherited font and requires the computed padding to be at least that wide, pinning the room against the widest marker rather than one fixture's source count.
This commit is contained in:
6 files changed
+41
-7
No files matched your search
@@ -33,10 +33,19 @@
|
||||
renders here; a max-height caps the card so a long list scrolls in place
|
||||
rather than growing the card unbounded. The height is a design constant of the
|
||||
card's geometry, not a deployment choice, so it lives here rather than a plugin
|
||||
config field. */
|
||||
config field.
|
||||
|
||||
`overflow-y` makes this a scroll container, which also clips inline-start
|
||||
overflow: a marker wider than `padding-left` loses its leading digits with no
|
||||
way to scroll them back. Markers are right-aligned to the content edge, so the
|
||||
padding must fit the widest one the list can produce. `searchMaxResults` is an
|
||||
unbounded positive integer, so the padding is sized in `em` — against this
|
||||
element's own font, the one a marker inherits — to hold a three-digit marker
|
||||
(`999. ` measures 2.35em in the app font stack) plus the gap the one-digit
|
||||
case already had. */
|
||||
.sources {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
padding-left: 2.5em;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
|
||||
Reference in New Issue
Block a user