doxa-maps/plugin-designs/poster-sections/index.html
Doxa Maps 790d7d2400 Poster Sections: a plugin page that sets up <dxm-poster-section> and hands out the tag to embed it
A new bundle, plugin-designs/poster-sections, with one profile, Poster Sections.
A panel of choices (poster type from the registry at runtime, region or All
regions, language, posters per row, start collapsed) drives the library's
<dxm-poster-section> elements shown live below it, and Copy embed gives the
bundle script plus the exact tags for those choices, with absolute URLs so they
work on another site. The bundle also registers <dxm-poster-section>, so a site
that loads only poster-sections.js can place the tags.

Library: the element takes a columns attribute (posters per row, 1-5), passed
to the wall's existing columns prop; absent keeps today's default, so existing
importers are unchanged. New catalogue area posterSections in all 11 locales.

check:poster-sections (in gates:pre) reads every panel choice back through the
element's own attribute reader; its self-test proves a builder that drops
columns, drops collapsed, or repeats a region under All regions fails.
2026-10-02 08:16:40 +00:00

34 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>doxa-maps · poster-sections staging</title>
<link rel="icon" href="data:,">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: #f3f3f1; color: #3b463d; min-height: 100%;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }
.wrap { max-width: 1280px; margin: 0 auto; padding: 32px 20px; }
h1 { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.sub { color: #6d766e; font-size: 13px; margin: 6px 0 24px; }
.slot { border: 1px solid #d1d4cd; border-radius: 12px; overflow: hidden; background: #fff; margin-bottom: 24px; }
.slot .label { font: 12px/1 ui-monospace, monospace; color: #6d766e; padding: 8px 12px;
background: #f3f3f1; border-bottom: 1px solid #d1d4cd; }
.frame { height: 900px; position: relative; }
poster-sections { display: block; width: 100%; height: 100%; }
</style>
</head>
<body>
<div class="wrap">
<h1>poster-sections · staging</h1>
<p class="sub">One bundle, one profile: the Poster Sections page over the library's
<code>&lt;dxm-poster-section&gt;</code>. Compiles into <code>poster-sections.js</code>.</p>
<div class="slot">
<div class="label">profile-config.profile = "poster-sections"</div>
<div class="frame"><poster-sections profile-config='{"profile":"poster-sections"}'></poster-sections></div>
</div>
</div>
<script type="module" src="./index.js"></script>
</body>
</html>