Drop the two RTL rules the library now owns, keep the three it does not
studio's c79aae95 converts BOTH physical insets in SemanticTreeLegend to logical
ones — :619 .stl-panel and :925 .stl-reopen are now `inset-inline-start: 8px` — so
the panel and its reopen button mirror for EVERY profile rather than just this one.
My overrides for those two are deleted.
Two mechanisms doing one job is worse than either: the next reader cannot tell
which is load-bearing, and deleting the wrong one looks safe right up until an
Arabic page is opened.
THREE RULES REMAIN, and each is something c79aae95 demonstrably does not do —
verified by reading it rather than trusting the summary:
· .upg-detail-panel is THIS file's own CSS (:449), not a legend class. The
library cannot reach it, and it must swap or it collides with the
now-mirrored legend on the opposite side.
· direction:rtl on the panel's rows, and unicode-bidi:isolate on the counts.
c79aae95 has ZERO occurrences of direction:rtl or unicode-bidi. It mirrors the
panel's POSITION; these set its CONTENT direction — a different property. repo
reported BOTH symptoms ("the panel is on the left" AND "the rows stay LTR"),
so dropping these would fix the first and silently restore the second.
⚠ THE SECOND PAIR MAY YET BE REDUNDANT, and the comment says so rather than
implying they are settled. studio's argument is that dir on .profile-loader
(ProfileLoader.vue:282) inherits into the legend, since `direction` is inherited
and crosses the shadow boundary. Plausible, and they declined to add a library
rule without a measurement — correctly. rega will read the rows on Simple Research
and Prayer Progress, which carry NO override, after landing 5. If they read RTL
there, these two go too.
Verified after the cut: 3 [dir=rtl] rules in the built bundle, and the specificity
that matters still holds — `[dir=rtl] .stl-panel .stl-count` is (0,3,0) against
`[dir=rtl] .stl-panel *` at (0,2,0), so the universal direction:rtl does not
override the digit isolation. Had that inverted, numbers in the Arabic panel would
reorder and the fix would look correct while being wrong exactly where a reader
checks. BUNDLE=my-upg-100-list vite build clean.
This commit is contained in:
parent
998a75352d
commit
fa1ab52a0a
2 changed files with 21 additions and 4 deletions
|
|
@ -572,7 +572,26 @@ useShadowStyles(
|
|||
'.stl-panel{--stl-top:8px!important}' +
|
||||
'.upg-root:has(.mapboxgl-ctrl-geocoder) .stl-panel{--stl-top:58px!important}' +
|
||||
|
||||
// ── RTL: MIRROR THE LEGEND PANEL, OR IT COLLIDES WITH THE CONTROLS ──────────
|
||||
// ── RTL: WHAT THE LIBRARY DOES NOT DO ──────────────────────────────────────
|
||||
// ⚠ THE TWO POSITION RULES THAT USED TO LIVE HERE ARE GONE, deleted deliberately rather than left as a
|
||||
// belt-and-braces duplicate. studio's c79aae95 converts BOTH physical insets in SemanticTreeLegend to
|
||||
// logical ones — :619 .stl-panel and :925 .stl-reopen are now `inset-inline-start: 8px` — so the panel
|
||||
// and its reopen button mirror for EVERY profile, not just this one. Two mechanisms doing one job is
|
||||
// worse than either: the next reader cannot tell which is load-bearing, and deleting the wrong one
|
||||
// looks safe.
|
||||
// WHAT REMAINS BELOW IS ONLY WHAT c79aae95 DOES NOT COVER — verified by reading it, twice:
|
||||
// · .upg-detail-panel is THIS file's own CSS (:449), not a legend class. The library cannot reach it,
|
||||
// and it must swap or it collides with the now-mirrored legend on the other side.
|
||||
// · content DIRECTION. c79aae95 has ZERO occurrences of direction:rtl or unicode-bidi. It mirrors the
|
||||
// panel's POSITION; these set its CONTENT direction, which is a different property. repo reported
|
||||
// BOTH symptoms — "the panel is on the left" AND "the rows stay LTR" — so dropping these would fix
|
||||
// the first and silently restore the second.
|
||||
// ⚠ AND THIS PAIR MAY YET BECOME REDUNDANT: studio's argument is that dir on .profile-loader
|
||||
// (ProfileLoader.vue:282) inherits into the legend, since `direction` is an inherited property that
|
||||
// crosses the shadow boundary. That is plausible and they declined to add a library rule without a
|
||||
// measurement — correctly. rega will read the rows on Simple Research and Prayer Progress, which
|
||||
// have NO override, after landing 5. If they read RTL there, DELETE the two rules below too.
|
||||
// ── the original finding, kept because it explains the shape ────────────────
|
||||
// Driver-reported via repo, 2026-09-26, from the README's Arabic picture: under ?lang=ar the legend
|
||||
// panel stayed on the LEFT and the map controls sat on top of its top-left corner.
|
||||
//
|
||||
|
|
@ -590,7 +609,6 @@ useShadowStyles(
|
|||
//
|
||||
// Scoped to [dir=rtl] so the LTR layout is untouched: ProfileLoader.vue:282 binds dir on the
|
||||
// .profile-loader wrapper from RTL_LOCALES, so this activates exactly when the document says so.
|
||||
'[dir="rtl"] .stl-panel{left:auto!important;right:8px!important}' +
|
||||
// The detail panel is the legend's mirror image (it sits top-RIGHT in LTR), so it has to swap too or
|
||||
// the two would trade places and collide on the other side.
|
||||
'[dir="rtl"] .upg-detail-panel{right:auto!important;left:8px!important}' +
|
||||
|
|
@ -609,7 +627,6 @@ useShadowStyles(
|
|||
// deliberate.
|
||||
// The lesson is mine: I told studio to sweep for other physical insets and did not run the sweep
|
||||
// myself before reporting. `grep -nE '(^|[^-])(left|right):' library/components/legends/*.vue`.
|
||||
'[dir="rtl"] .stl-reopen{left:auto!important;right:8px!important}' +
|
||||
// Geocoder suggestion metadata layout (clone — bold field labels for PG rows).
|
||||
'.dg-main{font:13px/1.3 ui-monospace,monospace}' +
|
||||
'.dg-meta{margin-top:2px;font-size:11px;color:#475569;display:flex;flex-wrap:wrap;gap:8px}' +
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue