doxa-maps/plugin-designs/regions-dashboard
doxa-maps-88655c70 29063551c8 Port the switcher's last rule, so six goal cards would stack as theirs do
composition/_switcher.scss has three rules and the clone carried two. The third —
`.switcher > :nth-last-child(n + 6), .switcher > :nth-last-child(n + 6) ~ *
{ flex-basis: 100% }` — gives every child a full row once there are six or more,
instead of letting them share. It is now ported onto .rd-switcher.

It changes nothing today and that is measured, not assumed: the rendered page has
3 direct children at widths 372/372/372, the same three goal cards their
RegionDetail.vue lays out, so a threshold of 6 is out of reach. It is carried
because the brief is an exact clone, and because a fifth or sixth goal card would
otherwise diverge silently from doxa.life — a one-line rule now, or a puzzle later
about why six cards behave differently here.

The other two rules in that file are deliberately NOT ported, which is a
measurement rather than an oversight: .switcher-item{display:flex} never applies
because their switcher's children are `.stack | card`, not `.switcher-item`, and
.three-part-switcher belongs to a component the regions page does not use.

The probe proves both halves, because a rule that cannot be shown to fire is
decoration. It reads the real switcher, asserts no child has flex-basis:100% at
the live count, then clones cards INTO it until there are six and reads the basis
back as 100% before restoring it. Two of my own errors are recorded in it: a first
run drove the page with ?region=africa, got the chooser, and reported "no
.rd-switcher" — a reading of the wrong page state, since the selection comes from
the hash; and a second hardcoded "+2 clones = 6" from a static tag-count that said
4, so it only reached 5 and called the rule dead when its own arithmetic was wrong.
It now derives the clones to add from the count it just measured.
2026-09-25 09:14:25 +00:00
..
src Fill the chooser's frame: solve the globe's zoom instead of reusing a mercator formula 2026-09-24 23:37:47 +00:00
dxlife-tokens.js Copy their list bullet instead of my own, and stop shipping rounded tokens 2026-09-24 19:55:03 +00:00
index.html Regions element gets the Select View tabs, shared with UPG-100 2026-09-23 19:08:00 +00:00
index.js i18n: 408 strings copied from DX-life, 8 locales, RTL, and the data follows too 2026-09-24 03:00:38 +00:00
region-dashboards.meta.json Regions: the selected page is now an exact clone; the chooser is the one addition 2026-09-24 00:59:10 +00:00
region-dashboards.vue Port the switcher's last rule, so six goal cards would stack as theirs do 2026-09-25 09:14:25 +00:00
regions-list.meta.json Regions: the selected page is now an exact clone; the chooser is the one addition 2026-09-24 00:59:10 +00:00
regions-list.vue Honour prefers-reduced-motion: their reset never reached our shadow roots 2026-09-25 02:37:08 +00:00
regions-mfe.meta.json Regions: the selected page is now an exact clone; the chooser is the one addition 2026-09-24 00:59:10 +00:00
regions-mfe.vue Composites forward provider, so a MapLibre partner gets MapLibre 2026-09-25 08:12:20 +00:00