doxa-maps/library/components/poster
Doxa Maps cc6e7cb6c4 PosterDialog prints by default instead of downloading, like PosterWall
The poster dialog had only a download path: its Render button saved a file, the
same trap PosterWall's old default was (gospel's Driver-lens audit, card 7).
A new action prop defaults to 'print': a PNG poster opens the print dialog in
place (printImageBlob, sized to the chosen page), a PDF opens in the browser's
viewer, and a blocked print frame or popup falls back to the file. 'download'
stays an explicit opt-in.
2026-09-28 05:30:58 +00:00
..
slots consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
PosterDialog.vue PosterDialog prints by default instead of downloading, like PosterWall 2026-09-28 05:30:58 +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 A poster button opens the print dialog by default; downloading is an explicit, explained opt-in 2026-09-28 04:41:00 +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.