doxa-maps/library/components/poster
Doxa Maps 1ad2929849 PosterWall: a collapsible wall no longer scrolls sideways by 4px
A collapsible section head is a <button> with width:100%, but it keeps the
2px side margins of .sec-head, so it overflowed the wall's content box by 4px.
Its full-bleed ::before (left/right -20px) then reached 2px past the wall on each
side, so every collapsible wall (Poster Design's Styles, Country Posters) had
scrollWidth = clientWidth + 4 at 390, 768 and 1024. The head is now
calc(100% - 4px), the width a non-collapsible head already gets.

Measured on the built poster-design and country-posters bundles (div.wall
scrollWidth vs clientWidth at 390/768/1024/1440): before, +4 at the first three
widths on both walls; after, equal at all four. UPG-100's wall (no toggles)
was already equal.
2026-10-01 11:46:43 +00:00
..
slots consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
MapPrintProgress.vue Regions header: the ⓘ follows the dark theme as Share does; the print progress bar honours reduced motion 2026-09-30 11:04:49 +00:00
panelSheets.js PanelSheets: say that sheets are numbered from 0, in the docs and in sliceFor's error 2026-09-30 22:08:23 +00:00
PanelSheets.vue PanelSheets: a plain style id, and the library index lists the new poster files 2026-09-30 22:18:46 +00:00
PosterDialog.vue Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
PosterPreview.vue The last of the shared-library English: legend, poster preview and tab loading states 2026-09-26 13:04:16 +00:00
PosterWall.vue PosterWall: a collapsible wall no longer scrolls sideways by 4px 2026-10-01 11:46:43 +00:00
README.md consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00

library/components/poster/ — poster export UI

The dialog and preview surfaces that turn a live map into a printable poster. Used by research-map.vue.

  PosterDialog.vue   ← pick size, orientation, title → export
  PosterPreview.vue  ← live preview, updates as you change settings
  PosterWall.vue     ← grid of poster previews
  slots/             ← the composable regions of a poster (own README)
        fed by useMapPoster() · sizes from constants/posterSizes.js
  • Open/close state comes from inject('uiStore'); the preview is fed by useMapPoster().
  • Page sizes: library/constants/posterSizes.js. Defaults: library/constants/posterDefaults.js.

Full wiring + slot contract: ../../../documentation/architecture/components.md.