doxa-maps/library/components
Doxa Maps 3c87d5c033 The pin-hint pill counts the map credit only when it lies below the pill
A host may move the engine's credit to the TOP of the map (a phone layout with the sheet flush at the
bottom). creditFloor() would then have used a credit near y=10 as the floor, and syncAttribClearance()
would have reserved the whole map height (capped at 120px), so the pill lifted itself for nothing. Now
a credit in the upper half of the pill's layout parent is not counted: no floor, and the 20px default
clearance. Every credit is at the bottom today, so this changes nothing yet.
Every bundle rebuilt (PinHint ships through ProfileLoader), composites after their children, then the
tree and SRI.
2026-09-30 06:35:15 +00:00
..
charts Drop three resurrected library components, and re-home a doc comment 2026-09-29 16:06:28 +00:00
dashboards A filter chip with several values says "or", in the reader's language 2026-09-29 13:29:19 +00:00
hints The pin-hint pill counts the map credit only when it lies below the pill 2026-09-30 06:35:15 +00:00
info The ⓘ panel on a phone is a bottom sheet over the map, not a full white page 2026-09-30 05:35:46 +00:00
legends Phones: only the sheet's handle resizes it, and its list keeps a fling to itself 2026-09-30 03:44:22 +00:00
map-controls Full tree rebuild on merged development (BP-C3 header buttons + PP2 grace) 2026-09-30 04:48:50 +00:00
maps The popup pan clears the map's bottom controls, not just the clip 2026-09-29 13:31:24 +00:00
poster Regions: two country posters per row on a phone 2026-09-30 02:33:24 +00:00
qa Comments state their findings instead of citing files outside the repo 2026-09-29 03:46:37 +00:00
regions The region card stops overwriting the regions list's stylesheet 2026-09-29 16:32:15 +00:00
search The browser-side generator keeps the reason and drops the speaker 2026-09-29 05:26:27 +00:00
tables A table row's detail sheet names itself in the reader's language when its first column is empty 2026-09-29 12:44:25 +00:00
BackToTopButton.vue Shipped comments describe the behaviour instead of quoting a person 2026-09-28 17:40:35 +00:00
LargerScreenNotice.vue The phone notice holds its place above any profile, and pads the right side in Arabic 2026-09-29 08:11:49 +00:00
PeopleGroupDetail.vue Merge branch 'bundler-2/driver-1650' into bundler-2/handoff 2026-09-29 14:50:44 +00:00
README.md consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
ResearchMapFilterPanel.vue Four shared controls get a 24x24 target at every pointer, not only on touch (WCAG 2.5.8) 2026-09-26 13:35:57 +00:00
ResearchMapSideMenu.vue Every animating library component now honours prefers-reduced-motion itself 2026-09-29 01:38:07 +00:00
SideMenuDrawer.vue Every animating library component now honours prefers-reduced-motion itself 2026-09-29 01:38:07 +00:00
ViewSelect.vue Every animating library component now honours prefers-reduced-motion itself 2026-09-29 01:38:07 +00:00
WARNING.md Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00

library/components/ — shared Vue components

The map UI, built from parameterized pieces every app-profile reuses. Fix one here and every map benefits — never edit a shared component to customize one map.

  library/components/
  ┌───────────────────────────────────────────┐
  │ legends/        map-controls/   poster/      │
  │ charts/         tables/                       │
  │ PeopleGroupDetail.vue   SideMenuDrawer.vue    │
  │ ResearchMapFilterPanel.vue  …SideMenu.vue     │
  └───────────────────────────────────────────┘
     reused by every app-profile via @map/components/…
  • legends/, map-controls/, poster/ each have their own README.
  • Every component uses <script setup>, calls useShadowStyles(), and reaches stores via inject('mapStore' | 'uiStore' | 'dataStore') — never a direct store import.

Full catalog + conventions: ../../documentation/architecture/components.md · per-file roles: ../../documentation/reference.md.