Poster print options: two per line, clear of the blue hover outline
Some checks are pending
build-gate / build (push) Waiting to run

The fieldset is anchored bottom:-26px and grows UPWARD as content wraps, so
at one-button-per-line (three lines tall) its top reached into the image --
which is where the blue hover outline lives. Widened the row from 82% to 96%
so two labels share a line.

Measured on all three poster cards at 1440x900: 2 button lines, height 50px,
top 3px BELOW the image bottom, zero overlap with the outline.

Includes the tree regeneration so every leaf's SRI matches its bundle
(a scoped BUNDLE= build alone leaves leaves stale -- check:sri PASS 45/45).
This commit is contained in:
doxa-maps-88655c70 2026-09-23 18:10:35 +00:00
parent 22ceabd4b5
commit 5d87bd9db1
15 changed files with 108 additions and 96 deletions

View file

@ -617,9 +617,17 @@ useShadowStyles(
// top border grazes the card edge — "slightly overlapping the white edge" as asked. The negative
// offset is kept (rather than moving the row into flow) because the tape-header at top:-11px uses
// the same overhang idiom, and the 26px row gap noted at :542 was sized for this pairing.
// ★ TWO BUTTONS PER LINE, NEVER THREE LINES (Driver, 2026-09-23, second pass on this row):
// "nothing should overlap that blue outline... it shouldn't have one option per line, because
// that's 3 lines of height — increase the width of the print options slightly so you can fit two
// per line." The mechanism that made 3 lines overlap the outline: this fieldset is anchored
// bottom:-26px and GROWS UPWARD as content wraps, so every extra line pushes its top further into
// the image — and the blue hover outline lives on the image (.img.is-clickable:hover, line ~661).
// At width:82% the three labels fell one per line; 96% lets two share a line, so the box stays
// two lines tall and its top stays below the artwork. Same overhang idiom, wider row.
'.pfs{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);' +
'width:82%;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);' +
'border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:2px 4px;' +
'width:96%;margin:0;padding:0 3px 3px;border:1px solid rgba(0,0,0,.14);' +
'border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:1px 2px;' +
'justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}' +
'.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}' +
'.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;' +

File diff suppressed because one or more lines are too long

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
<script src="../../dashboard-plus-grid.js" integrity="sha384-yFl0NfQts+GAff7HVWmG1l2tBNvPhoDAj4peCyO7uuavUVCpW1Dd9s1bro6uh7S3" crossorigin="anonymous"></script>
<script src="../../dashboard-plus-grid.js" integrity="sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
<script src="../dashboard-plus-grid.js" integrity="sha384-yFl0NfQts+GAff7HVWmG1l2tBNvPhoDAj4peCyO7uuavUVCpW1Dd9s1bro6uh7S3" crossorigin="anonymous"></script>
<script src="../dashboard-plus-grid.js" integrity="sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -193,7 +193,7 @@
"bundle": "dashboard-plus-grid",
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
"output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js",
"integrity": "sha384-yFl0NfQts+GAff7HVWmG1l2tBNvPhoDAj4peCyO7uuavUVCpW1Dd9s1bro6uh7S3",
"integrity": "sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw",
"elements": [
"dashboard-plus-grid"
],
@ -213,7 +213,7 @@
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
"embed": {
"iframe": "<iframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-yFl0NfQts+GAff7HVWmG1l2tBNvPhoDAj4peCyO7uuavUVCpW1Dd9s1bro6uh7S3\" crossorigin=\"anonymous\"></script>\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw\" crossorigin=\"anonymous\"></script>\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
},
"instances": [
{
@ -623,7 +623,7 @@
"bundle": "my-upg-100-list",
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"output": "doxa-maps/my-upg-100-list/my-upg-100-list.js",
"integrity": "sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6",
"integrity": "sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL",
"elements": [
"my-upg-100-list-map"
],
@ -643,7 +643,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
},
{
@ -657,7 +657,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
},
{
@ -671,7 +671,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
}
]
@ -741,7 +741,7 @@
"bundle": "plugin-studio",
"scriptUrl": "./plugin-studio/plugin-studio.js",
"output": "doxa-maps/plugin-studio/plugin-studio.js",
"integrity": "sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh",
"integrity": "sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz",
"elements": [
"plugin-studio"
],
@ -769,7 +769,7 @@
"scriptUrl": "./plugin-studio/plugin-studio.js",
"embed": {
"iframe": "<iframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
},
"instances": [
{
@ -846,7 +846,7 @@
"bundle": "research-dashboard",
"scriptUrl": "./research-dashboard/research-dashboard.js",
"output": "doxa-maps/research-dashboard/research-dashboard.js",
"integrity": "sha384-bMlXnX3T3wamNv7zckjPeNmL15R5hH4QrpdehOaQ4y8Qme36PGftft1tzh2sUf6P",
"integrity": "sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc",
"elements": [
"research-dashboard-map"
],
@ -862,7 +862,7 @@
"scriptUrl": "./research-dashboard/research-dashboard.js",
"embed": {
"iframe": "<iframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-bMlXnX3T3wamNv7zckjPeNmL15R5hH4QrpdehOaQ4y8Qme36PGftft1tzh2sUf6P\" crossorigin=\"anonymous\"></script>\n<research-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></research-dashboard-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc\" crossorigin=\"anonymous\"></script>\n<research-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></research-dashboard-map>"
},
"bundle": "research-dashboard"
}

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <plugin-studio> custom element. -->
<script src="../plugin-studio.js" integrity="sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh" crossorigin="anonymous"></script>
<script src="../plugin-studio.js" integrity="sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <plugin-studio> custom element. -->
<script src="../../plugin-studio.js" integrity="sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh" crossorigin="anonymous"></script>
<script src="../../plugin-studio.js" integrity="sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <research-dashboard-map> custom element. -->
<script src="../research-dashboard.js" integrity="sha384-bMlXnX3T3wamNv7zckjPeNmL15R5hH4QrpdehOaQ4y8Qme36PGftft1tzh2sUf6P" crossorigin="anonymous"></script>
<script src="../research-dashboard.js" integrity="sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order: