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. |
||
|---|---|---|
| .. | ||
| slots | ||
| MapPrintProgress.vue | ||
| panelSheets.js | ||
| PanelSheets.vue | ||
| PosterDialog.vue | ||
| PosterPreview.vue | ||
| PosterWall.vue | ||
| README.md | ||
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 byuseMapPoster(). - Page sizes:
library/constants/posterSizes.js. Defaults:library/constants/posterDefaults.js.
Full wiring + slot contract: ../../../documentation/architecture/components.md.