diff --git a/library/components/hints/PinHint.vue b/library/components/hints/PinHint.vue
index d8a05d6c8..720715d86 100644
--- a/library/components/hints/PinHint.vue
+++ b/library/components/hints/PinHint.vue
@@ -279,13 +279,17 @@ function syncAttribClearance(root) {
if (!el || !root?.querySelector) return
let h = 0
try {
- // TWO attribution flavours ship in this repo and the pill must clear EITHER:
- // .mapboxgl-ctrl-attrib — Mapbox's own control (useMapInstance, attributionControl:true)
- // .doxa-attribution — our own credit line (useMapAttribution.js) on the profiles
- // that construct with attributionControl:false
- // Both are licence-required credit, so both are obstacles, never things to cover.
+ // THREE attribution flavours ship in this repo and the pill must clear ANY of them:
+ // .mapboxgl-ctrl-attrib — Mapbox's own control (useMapInstance, attributionControl:true)
+ // .maplibregl-ctrl-attrib — MapLibre's, the DEFAULT engine. Missing from this list, the pill
+ // kept the 20px fallback and, on a 390px phone where the credit wraps
+ // to two lines (37px), covered it by 35px on every map. Mapbox measured 0.
+ // .doxa-attribution — our own credit line (useMapAttribution.js) on the profiles
+ // that construct with attributionControl:false
+ // All are licence-required credit, so all are obstacles, never things to cover.
const a = root.querySelector(
- '.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution')
+ '.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib, '
+ + '.mapboxgl-ctrl-bottom-right .doxa-attribution, .maplibregl-ctrl-bottom-right .doxa-attribution, .doxa-attribution')
if (a) {
// Measure the strip the control OCCUPIES from the bottom of the box we are anchored
// in, not the control's own height: Mapbox adds a margin inside
diff --git a/library/components/info/MapInfo.vue b/library/components/info/MapInfo.vue
index e90cf1cba..b45550325 100644
--- a/library/components/info/MapInfo.vue
+++ b/library/components/info/MapInfo.vue
@@ -252,6 +252,41 @@ useShadowStyles(`
.mi-foot input{ width:20px; height:20px; }
/* A phone gets the whole screen: a floating card with margins leaves too little room for a page. */
+ /* ★ THE ONE-TIME NUDGE IS DESKTOP-ONLY, AND THE THRESHOLD IS MEASURED, NOT CHOSEN. The pointer
+ is anchored beside the button and extends ~213px INWARD, straight across whatever the tab puts
+ in its top strip. Measured on Deep Research, on the shared browser, worst overlap per width:
+ 390 Regions "Region Dashboards" 1416px^2 UPG-100 1428px^2
+ 768 Cities legend 6560 Gospel legend 6560 + input 6240 Regions selector 4200
+ 900 Cities legend 2432 Gospel legend 2496 + input 2176 Regions selector 3696
+ 1024 Cities CLEAN Gospel CLEAN Regions selector 2100
+ 1200 CLEAN CLEAN CLEAN
+ 1280 CLEAN CLEAN CLEAN
+ UPG-100 measures the same shape independently: 768 over "Prayer Resources" AND "Map", 1024 over
+ "Map", clear at 1200/1280/1440 -- in en AND ar.
+ So it is not a phone problem, which is how it was first reported and first fixed: it persists
+ to 1024 and only clears near 1200. A max-width:600px rule would have left 768, 900 and 1024
+ broken on four tabs -- found because gospel counted PANELS (.gm-legend/.gm-sheet) as well as
+ controls, which a control-only probe misses entirely.
+ ARABIC IS MEASURED, not argued: via DX Life's /ar/ route (dir=rtl confirmed), the pointer is
+ hidden and clean at 390, 768 and 1024, and at 1440 it mirrors to the start side (x=104) and is
+ clean there too.
+ THE RULE IS ITS OWN BLOCK, deliberately: the 600px block below also full-screens the dialog,
+ and this has nothing to do with the phone sheet. The .98 covers fractional viewport widths
+ under browser zoom.
+ Hiding it below the measured clear width is the only rule that holds everywhere: the button it
+ points at is untouched, so nothing becomes unreachable, and a hint that covers a map's own
+ legend, search box or view switcher is worse than no hint.
+ Two other shapes were measured and both were worse: stacking it below the button traded one
+ collision for five (Gospel's "Resources found" 2010px^2, plus the zoom +/- of three tabs), and
+ hiding only its text still left 675px^2 on "Region Dashboards" and 900px^2 on Gospel's input.
+ ⚠ NOT A PLACEMENT CHANGE. The per-tab pos.narrow values in the shell's tabInfo are measured per
+ tab (the buttons sit at x=8, 12, 294 and 346 across the seven tabs at 390); an inset-inline-*
+ pinned here would win by specificity and silently flatten all of them. The button is
+ placement's business; this rule is only about the hint. */
+ @media (max-width:1199.98px){
+ .mi-pointer{ display:none; }
+ }
+
@media (max-width:600px){
.mi-scrim{ padding:0; align-items:stretch; }
.mi-dialog{ width:100%; max-height:none; height:100%; border-radius:0; }
diff --git a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue
index 79746f554..bd676c404 100644
--- a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue
+++ b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue
@@ -138,7 +138,7 @@
-
{{ tr('loading', { label: tabLabel(t) }) }}
@@ -1659,6 +1659,11 @@ export default defineComponent({
documents this opt-out for exactly this case, and .vtl-host and plugin-studio's .ps-pane both set
it. This pane was ported from .vtl-host and took two of its three lines. */
.dms-pane { position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; --profile-min-h: 0; }
+/* A tab whose free corner lies over a positioned bar of the map's own (Big Picture's filter bar, z-index 55)
+ raises the info BUTTON above that bar (src/tabInfo.js pos.raise). Only the button: the one-time pointer
+ stays under the bar, so it covers no filter even visually. Measured: nothing interactive under the button,
+ the button topmost at its centre, and a click opens the popup, at 1440, 1024 and 800, en and ar. */
+.mi.dms-info-raise .mi-btn { z-index: 60; }
.dms-slot { position: relative; min-height: 100%; }
.dms-hint {
position: absolute; inset: 0; display: grid; place-items: center; text-align: center;
diff --git a/plugin-designs/doxa-maps-spa/src/tabInfo.js b/plugin-designs/doxa-maps-spa/src/tabInfo.js
index a99b82a64..80e311951 100644
--- a/plugin-designs/doxa-maps-spa/src/tabInfo.js
+++ b/plugin-designs/doxa-maps-spa/src/tabInfo.js
@@ -22,23 +22,32 @@
* pos.narrow overrides on a phone (the shell's `narrow`, max-width:760px), where the chrome differs:
* Regions' and UPG-100's strip is full at its END (selector + Share) and empty at its START, so the
* button goes to the start (placement 'top-left', which MapInfo resolves to the logical start, so
- * Arabic mirrors); Gospel's panel spans to 345px of 390, so its button takes the corner above the
- * zoom column. Measured with the same probe at 390 in en and ar.
- * ★ ADD AN EXAMPLE ONLY WHEN ITS FILE IS IN THE TREE. A missing file renders the popup's "not
- * available" box in front of the audience; an example that is not there yet is simply left out.
+ * Arabic mirrors); Gospel's and Cities' legend panels span to 344px of 390, so their button takes the corner
+ * above the zoom column. Measured with the same probe at 390 in en and ar.
+ * ★ AN EXAMPLE'S FILES SHIP WITH IT. MapInfo drops an example whose lead image fails to load (quietly,
+ * title and all), so a link can land before its files; but a popup is only worth opening once they are
+ * in the tree, so land the two together.
* ★ KEYS MUST NOT CONTAIN A DOT beyond the area separator: the gallery has no vue-i18n, so MapInfo
* resolves through tStatic, which splits the path on "." and would never find a sentence-shaped key.
*/
+// The UPG-100 zone's pre-generated packet ('full' variant) and card deck, shot once and shared: Simple
+// Research's packet is the same renderer, method and variant (usePosterPrints.printPacket, 'full'), so it
+// shows these pages too, CAPTIONED as an example zone, because their data is a UPG-100 zone and not a
+// Simple Research selection.
+const MEC = 'previews/examples/middle-east-core'
+const MEC_PAGES = Array.from({ length: 12 }, (_, i) => `${MEC}/packet-p${String(i + 1).padStart(2, '0')}.webp`)
+const MEC_CARDS = Array.from({ length: 70 }, (_, i) => `${MEC}/card-${String(i + 1).padStart(2, '0')}.webp`)
+
export const TAB_INFO = {
'upg-100': {
storageKey: 'upg-100',
pos: { side: '56px', narrow: { placement: 'top-left', side: '12px' } },
leadKey: 'mapInfo.tab.upg-100.lead',
takeawayKey: 'mapInfo.tab.upg-100.takeaway',
- // The packet pages (12) and the card deck (70) join this list when their pre-generated shots land
- // in assets/previews/examples/middle-east-core/.
examples: [
{ kind: 'image', src: 'previews/middle-east-core.webp', full: 'posters/middle-east-core.html' },
+ { kind: 'pages', pages: MEC_PAGES },
+ { kind: 'deck', cards: MEC_CARDS },
],
},
'regions-dashboard': {
@@ -58,7 +67,10 @@ export const TAB_INFO = {
},
'dashboard-plus-grid': {
storageKey: 'dashboard-plus-grid',
- pos: { top: '46px' },
+ // top 46px is the empty END of Big Picture's filter area at every width (1 row at 1440, 2 at 1024,
+ // 3 at 800), but that bar is a positioned layer (z-index 55) painted above the button, which left it
+ // unclickable (rega, 1440). raise lifts the BUTTON over the bar; the pointer stays under it.
+ pos: { top: '46px', raise: true },
leadKey: 'mapInfo.tab.dashboard-plus-grid.lead',
takeawayKey: 'mapInfo.tab.dashboard-plus-grid.takeaway',
// Big Picture's export is a spreadsheet, so its example is a real excerpt of one (sr): the six
@@ -87,7 +99,10 @@ export const TAB_INFO = {
pos: { top: '56px', side: '56px' },
leadKey: 'mapInfo.tab.research-map-plus-grid.lead',
takeawayKey: 'mapInfo.tab.research-map-plus-grid.takeaway',
- examples: [],
+ // Its own poster joins when rega's shot is in the tree.
+ examples: [
+ { kind: 'pages', pages: MEC_PAGES, titleKey: 'mapInfo.tab.research-map-plus-grid.examplePacket' },
+ ],
},
'prayer-map': {
storageKey: 'prayer-map',
@@ -98,7 +113,7 @@ export const TAB_INFO = {
},
'cities-internet': {
storageKey: 'cities-internet',
- pos: { side: '56px' },
+ pos: { side: '56px', narrow: { side: '4px' } },
leadKey: 'mapInfo.tab.cities-internet.lead',
takeawayKey: 'mapInfo.tab.cities-internet.takeaway',
examples: [],
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-01.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-01.webp
new file mode 100644
index 000000000..cee1e9646
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-01.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-02.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-02.webp
new file mode 100644
index 000000000..dff9be66d
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-02.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-03.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-03.webp
new file mode 100644
index 000000000..d2e74f078
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-03.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-04.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-04.webp
new file mode 100644
index 000000000..3f46c2ba5
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-04.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-05.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-05.webp
new file mode 100644
index 000000000..df148eb8a
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-05.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-06.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-06.webp
new file mode 100644
index 000000000..8d397389c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-06.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-07.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-07.webp
new file mode 100644
index 000000000..1c0590c6e
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-07.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-08.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-08.webp
new file mode 100644
index 000000000..784850680
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-08.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-09.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-09.webp
new file mode 100644
index 000000000..aa2b78b22
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-09.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-10.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-10.webp
new file mode 100644
index 000000000..c02069d56
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-10.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-11.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-11.webp
new file mode 100644
index 000000000..40c16e89d
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-11.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-12.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-12.webp
new file mode 100644
index 000000000..2cfae4bf5
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-12.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-13.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-13.webp
new file mode 100644
index 000000000..074b0eeba
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-13.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-14.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-14.webp
new file mode 100644
index 000000000..4471ca50a
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-14.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-15.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-15.webp
new file mode 100644
index 000000000..bffdba7ac
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-15.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-16.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-16.webp
new file mode 100644
index 000000000..ba1a6f158
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-16.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-17.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-17.webp
new file mode 100644
index 000000000..b74f2617c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-17.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-18.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-18.webp
new file mode 100644
index 000000000..736b8e24c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-18.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-19.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-19.webp
new file mode 100644
index 000000000..4b3e8ad1c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-19.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-20.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-20.webp
new file mode 100644
index 000000000..7e8191d90
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-20.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-21.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-21.webp
new file mode 100644
index 000000000..9cdfbfad1
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-21.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-22.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-22.webp
new file mode 100644
index 000000000..ec13799f6
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-22.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-23.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-23.webp
new file mode 100644
index 000000000..ad226b23e
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-23.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-24.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-24.webp
new file mode 100644
index 000000000..ea0f8cc74
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-24.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-25.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-25.webp
new file mode 100644
index 000000000..47fa8702f
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-25.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-26.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-26.webp
new file mode 100644
index 000000000..50ddf6b2c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-26.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-27.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-27.webp
new file mode 100644
index 000000000..e37939caf
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-27.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-28.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-28.webp
new file mode 100644
index 000000000..9bc297862
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-28.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-29.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-29.webp
new file mode 100644
index 000000000..f3a03a4fe
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-29.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-30.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-30.webp
new file mode 100644
index 000000000..0a0ceaa32
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-30.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-31.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-31.webp
new file mode 100644
index 000000000..47cb8f72d
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-31.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-32.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-32.webp
new file mode 100644
index 000000000..2a979551d
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-32.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-33.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-33.webp
new file mode 100644
index 000000000..665be61c8
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-33.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-34.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-34.webp
new file mode 100644
index 000000000..57d890c99
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-34.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-35.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-35.webp
new file mode 100644
index 000000000..6594dafc2
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-35.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-36.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-36.webp
new file mode 100644
index 000000000..1da276ec1
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-36.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-37.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-37.webp
new file mode 100644
index 000000000..91ec7bf71
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-37.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-38.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-38.webp
new file mode 100644
index 000000000..d7a1b4050
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-38.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-39.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-39.webp
new file mode 100644
index 000000000..08e73aee0
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-39.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-40.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-40.webp
new file mode 100644
index 000000000..7d50bd7ef
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-40.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-41.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-41.webp
new file mode 100644
index 000000000..b41662e00
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-41.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-42.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-42.webp
new file mode 100644
index 000000000..8c065592a
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-42.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-43.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-43.webp
new file mode 100644
index 000000000..7c8109f0d
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-43.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-44.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-44.webp
new file mode 100644
index 000000000..c0d023848
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-44.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-45.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-45.webp
new file mode 100644
index 000000000..bb02c3252
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-45.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-46.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-46.webp
new file mode 100644
index 000000000..dfae8e8d9
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-46.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-47.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-47.webp
new file mode 100644
index 000000000..8490c56c3
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-47.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-48.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-48.webp
new file mode 100644
index 000000000..a41caf3bb
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-48.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-49.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-49.webp
new file mode 100644
index 000000000..f0ca07e98
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-49.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-50.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-50.webp
new file mode 100644
index 000000000..2f626b376
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-50.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-51.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-51.webp
new file mode 100644
index 000000000..40f1c2675
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-51.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-52.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-52.webp
new file mode 100644
index 000000000..2e97dd520
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-52.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-53.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-53.webp
new file mode 100644
index 000000000..d0dbf57b0
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-53.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-54.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-54.webp
new file mode 100644
index 000000000..05e6c0f69
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-54.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-55.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-55.webp
new file mode 100644
index 000000000..99ab1aae3
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-55.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-56.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-56.webp
new file mode 100644
index 000000000..92ec61d7f
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-56.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-57.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-57.webp
new file mode 100644
index 000000000..e9956a6c9
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-57.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-58.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-58.webp
new file mode 100644
index 000000000..fcf171ad4
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-58.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-59.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-59.webp
new file mode 100644
index 000000000..93958d556
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-59.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-60.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-60.webp
new file mode 100644
index 000000000..face3c846
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-60.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-61.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-61.webp
new file mode 100644
index 000000000..8abd0aec5
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-61.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-62.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-62.webp
new file mode 100644
index 000000000..069e9146b
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-62.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-63.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-63.webp
new file mode 100644
index 000000000..678dd0c47
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-63.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-64.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-64.webp
new file mode 100644
index 000000000..f009ab6da
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-64.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-65.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-65.webp
new file mode 100644
index 000000000..9d929c53f
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-65.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-66.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-66.webp
new file mode 100644
index 000000000..e32d215b0
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-66.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-67.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-67.webp
new file mode 100644
index 000000000..de5dd023f
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-67.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-68.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-68.webp
new file mode 100644
index 000000000..895861a72
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-68.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-69.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-69.webp
new file mode 100644
index 000000000..f798e9157
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-69.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-70.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-70.webp
new file mode 100644
index 000000000..1cd21f50e
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/card-70.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p01.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p01.webp
new file mode 100644
index 000000000..bf61a335c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p01.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p02.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p02.webp
new file mode 100644
index 000000000..49d11acfa
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p02.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p03.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p03.webp
new file mode 100644
index 000000000..0c8996282
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p03.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p04.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p04.webp
new file mode 100644
index 000000000..74a275887
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p04.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p05.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p05.webp
new file mode 100644
index 000000000..a3fe8c26b
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p05.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p06.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p06.webp
new file mode 100644
index 000000000..a5b40ce95
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p06.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p07.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p07.webp
new file mode 100644
index 000000000..e32a706ef
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p07.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p08.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p08.webp
new file mode 100644
index 000000000..e4ef35601
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p08.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p09.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p09.webp
new file mode 100644
index 000000000..6f98ca6d3
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p09.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p10.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p10.webp
new file mode 100644
index 000000000..fe5579eb0
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p10.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p11.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p11.webp
new file mode 100644
index 000000000..d8ac1f60c
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p11.webp differ
diff --git a/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p12.webp b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p12.webp
new file mode 100644
index 000000000..084c60833
Binary files /dev/null and b/plugin-designs/my-upg-100-list/assets/previews/examples/middle-east-core/packet-p12.webp differ
diff --git a/public/dx-maps/all-people-groups/all-people-groups.js b/public/dx-maps/all-people-groups/all-people-groups.js
index d26722a57..c51ca3590 100644
--- a/public/dx-maps/all-people-groups/all-people-groups.js
+++ b/public/dx-maps/all-people-groups/all-people-groups.js
@@ -46,7 +46,7 @@
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
-}`;function Lm(e){let t=0;for(let o=0;oqt(H)||j,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=iu("",{fallback:H=>o[H]}),s=De("uiStore",null),i=De("profileConfig",null),r=ce(()=>(s==null?void 0:s.theme)==="dark"),l=ce(()=>{var Q;const H=(Q=i==null?void 0:i.value)==null?void 0:Q.pinHintLabel;if(H)return H;const j="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):j}catch{return j}}),c=oe(!1),u=oe(!0);let f=null;const b=oe(!0);let v=[];const k=["inert","hidden","aria-hidden"];function A(H){const j=[];let Q=H;for(;Q;)Q.nodeType===1&&j.push(Q),Q=Q.parentNode||Q.host||null;return j}function N(H){return A(H).some(j=>j.hasAttribute("inert")||j.hasAttribute("hidden")||j.getAttribute("aria-hidden")==="true")}function x(H){const j=()=>{const Q=!N(H);Q!==b.value&&(b.value=Q,Q&&mo(z))};if(j(),!(typeof MutationObserver>"u"))for(const Q of A(H))try{const re=new MutationObserver(j);re.observe(Q,{attributes:!0,attributeFilter:k}),v.push(re)}catch{}}const w=oe(null);let $=null,_=null,S=null,M=null,T=null,P=null,y=[],K=null,q=null;function B(){c.value=!1}function R(H,j){var re;let Q=H==null?void 0:H.parentElement;for(let de=0;Q&&de<12;de++,Q=Q.parentElement){if(Q===j||(re=Q.classList)!=null&&re.contains("profile-loader"))return null;let me="";try{me=getComputedStyle(Q).position}catch{}if(me&&me!=="static"){const Ne=Q.getBoundingClientRect();if(Ne.height>=120&&Ne.width>=160)return Q}}return null}function J(H){var Q;const j=(Q=M==null?void 0:M.querySelector)==null?void 0:Q.call(M,".legend-mobile-sheet");if(!j)return 1/0;if(T&&P!==j){try{T.disconnect()}catch{}T=null}if(!T&&typeof ResizeObserver<"u")try{T=new ResizeObserver(()=>z()),T.observe(j),P=j}catch{T=null}try{const re=j.getBoundingClientRect();return!(re.height>16)||!(re.width>16)||H.right<=re.left||re.right<=H.left?1/0:re.top}catch{return 1/0}}function z(){const H=w.value;if(!(!H||!u.value||!b.value))try{H.style.removeProperty("--pin-hint-lift");const j=H.getBoundingClientRect();if(!j.height)return;const Q=Math.min(window.innerHeight,J(j)),re=Math.round(j.bottom-Q);re>0&&H.style.setProperty("--pin-hint-lift",re+8+"px")}catch{}}function X(H){const j=w.value;if(!j||!(H!=null&&H.querySelector))return;let Q=0;try{const de=H.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(de){const me=de.getBoundingClientRect(),Ne=j.parentElement,ke=Ne?Ne.getBoundingClientRect():null;if(Q=ke?Math.max(me.height||0,ke.bottom-me.top):me.height||0,q!==de&&typeof ResizeObserver<"u"){if(S)try{S.disconnect()}catch{}q=de,S=new ResizeObserver(()=>X(H)),S.observe(de)}}}catch{}const re=Math.min(Math.max(Math.ceil(Q)||20,20),72);j.style.setProperty("--pin-hint-attrib-clear",re+"px"),z()}return $o(()=>{var re,de,me;const H=ft(),j=(me=(de=(re=H==null?void 0:H.proxy)==null?void 0:re.$el)==null?void 0:de.getRootNode)==null?void 0:me.call(de);if(!j||typeof j.querySelector!="function")return;M=j;let Q=0;$=setInterval(()=>{Q++;const Ne=j.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");Ne?(clearInterval($),$=null,c.value=!0,mo(()=>{const ke=R(Ne,j),Ve=w.value;if(ke&&Ve&&Ve.parentElement!==ke)try{ke.appendChild(Ve),_=ke}catch{}if(ke&&x(ke),ke&&typeof IntersectionObserver<"u")try{f=new IntersectionObserver(xe=>{const $e=xe[xe.length-1],Ue=!!$e&&$e.isIntersecting&&$e.intersectionRatio>=.2;Ue!==u.value&&(u.value=Ue,Ue&&mo(z))},{threshold:[0,.2,.5]}),f.observe(ke)}catch{}X(j),z(),y.push(setTimeout(z,1200),setTimeout(z,3e3),setTimeout(z,6e3));try{const xe=w.value&&w.value.offsetParent||null;if(xe&&typeof ResizeObserver<"u"){if(K)try{K.disconnect()}catch{}K=new ResizeObserver(()=>z()),K.observe(xe)}}catch{}})):Q>40&&(clearInterval($),$=null)},300)}),Fo(()=>{var H;if($&&clearInterval($),f){try{f.disconnect()}catch{}f=null}for(const j of v)try{j.disconnect()}catch{}if(v=[],S){try{S.disconnect()}catch{}S=null}if(q=null,K){try{K.disconnect()}catch{}K=null}if(T){try{T.disconnect()}catch{}T=null}P=null;for(const j of y)clearTimeout(j);if(y=[],M=null,_&&((H=w.value)==null?void 0:H.parentElement)===_)try{_.removeChild(w.value)}catch{}_=null}),Uo(`
+}`;function Lm(e){let t=0;for(let o=0;oqt(H)||j,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=iu("",{fallback:H=>o[H]}),s=De("uiStore",null),i=De("profileConfig",null),r=ce(()=>(s==null?void 0:s.theme)==="dark"),l=ce(()=>{var Q;const H=(Q=i==null?void 0:i.value)==null?void 0:Q.pinHintLabel;if(H)return H;const j="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):j}catch{return j}}),c=oe(!1),u=oe(!0);let f=null;const b=oe(!0);let v=[];const k=["inert","hidden","aria-hidden"];function A(H){const j=[];let Q=H;for(;Q;)Q.nodeType===1&&j.push(Q),Q=Q.parentNode||Q.host||null;return j}function N(H){return A(H).some(j=>j.hasAttribute("inert")||j.hasAttribute("hidden")||j.getAttribute("aria-hidden")==="true")}function x(H){const j=()=>{const Q=!N(H);Q!==b.value&&(b.value=Q,Q&&mo(z))};if(j(),!(typeof MutationObserver>"u"))for(const Q of A(H))try{const re=new MutationObserver(j);re.observe(Q,{attributes:!0,attributeFilter:k}),v.push(re)}catch{}}const w=oe(null);let $=null,_=null,S=null,M=null,T=null,P=null,y=[],K=null,q=null;function B(){c.value=!1}function R(H,j){var re;let Q=H==null?void 0:H.parentElement;for(let de=0;Q&&de<12;de++,Q=Q.parentElement){if(Q===j||(re=Q.classList)!=null&&re.contains("profile-loader"))return null;let me="";try{me=getComputedStyle(Q).position}catch{}if(me&&me!=="static"){const Ne=Q.getBoundingClientRect();if(Ne.height>=120&&Ne.width>=160)return Q}}return null}function J(H){var Q;const j=(Q=M==null?void 0:M.querySelector)==null?void 0:Q.call(M,".legend-mobile-sheet");if(!j)return 1/0;if(T&&P!==j){try{T.disconnect()}catch{}T=null}if(!T&&typeof ResizeObserver<"u")try{T=new ResizeObserver(()=>z()),T.observe(j),P=j}catch{T=null}try{const re=j.getBoundingClientRect();return!(re.height>16)||!(re.width>16)||H.right<=re.left||re.right<=H.left?1/0:re.top}catch{return 1/0}}function z(){const H=w.value;if(!(!H||!u.value||!b.value))try{H.style.removeProperty("--pin-hint-lift");const j=H.getBoundingClientRect();if(!j.height)return;const Q=Math.min(window.innerHeight,J(j)),re=Math.round(j.bottom-Q);re>0&&H.style.setProperty("--pin-hint-lift",re+8+"px")}catch{}}function X(H){const j=w.value;if(!j||!(H!=null&&H.querySelector))return;let Q=0;try{const de=H.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .maplibregl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(de){const me=de.getBoundingClientRect(),Ne=j.parentElement,ke=Ne?Ne.getBoundingClientRect():null;if(Q=ke?Math.max(me.height||0,ke.bottom-me.top):me.height||0,q!==de&&typeof ResizeObserver<"u"){if(S)try{S.disconnect()}catch{}q=de,S=new ResizeObserver(()=>X(H)),S.observe(de)}}}catch{}const re=Math.min(Math.max(Math.ceil(Q)||20,20),72);j.style.setProperty("--pin-hint-attrib-clear",re+"px"),z()}return $o(()=>{var re,de,me;const H=ft(),j=(me=(de=(re=H==null?void 0:H.proxy)==null?void 0:re.$el)==null?void 0:de.getRootNode)==null?void 0:me.call(de);if(!j||typeof j.querySelector!="function")return;M=j;let Q=0;$=setInterval(()=>{Q++;const Ne=j.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");Ne?(clearInterval($),$=null,c.value=!0,mo(()=>{const ke=R(Ne,j),Ve=w.value;if(ke&&Ve&&Ve.parentElement!==ke)try{ke.appendChild(Ve),_=ke}catch{}if(ke&&x(ke),ke&&typeof IntersectionObserver<"u")try{f=new IntersectionObserver(xe=>{const $e=xe[xe.length-1],Ue=!!$e&&$e.isIntersecting&&$e.intersectionRatio>=.2;Ue!==u.value&&(u.value=Ue,Ue&&mo(z))},{threshold:[0,.2,.5]}),f.observe(ke)}catch{}X(j),z(),y.push(setTimeout(z,1200),setTimeout(z,3e3),setTimeout(z,6e3));try{const xe=w.value&&w.value.offsetParent||null;if(xe&&typeof ResizeObserver<"u"){if(K)try{K.disconnect()}catch{}K=new ResizeObserver(()=>z()),K.observe(xe)}}catch{}})):Q>40&&(clearInterval($),$=null)},300)}),Fo(()=>{var H;if($&&clearInterval($),f){try{f.disconnect()}catch{}f=null}for(const j of v)try{j.disconnect()}catch{}if(v=[],S){try{S.disconnect()}catch{}S=null}if(q=null,K){try{K.disconnect()}catch{}K=null}if(T){try{T.disconnect()}catch{}T=null}P=null;for(const j of y)clearTimeout(j);if(y=[],M=null,_&&((H=w.value)==null?void 0:H.parentElement)===_)try{_.removeChild(w.value)}catch{}_=null}),Uo(`
@media print { .pin-hint { display: none !important; } }
.pin-hint { position: absolute; left: 50%;
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
diff --git a/public/dx-maps/all-people-groups/all-people-groups/index.html b/public/dx-maps/all-people-groups/all-people-groups/index.html
index fdca1f5c2..69e73da34 100644
--- a/public/dx-maps/all-people-groups/all-people-groups/index.html
+++ b/public/dx-maps/all-people-groups/all-people-groups/index.html
@@ -70,7 +70,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "all-people-groups"
}
@@ -110,7 +110,7 @@
"bundle": "cities-internet",
"scriptUrl": "./cities-internet/cities-internet.js",
"output": "dx-maps/cities-internet/cities-internet.js",
- "integrity": "sha384-TmAgW03mRZH+Ns2IqnV6YiDeXwN9qkLB4qsobdhA6RGGB8FVsFz4p1Kuf/Ds8syd",
+ "integrity": "sha384-V+wDvlrCGuMDGuJy6Npp78sUIsQS9STWeJlqBoG0au5X7biKBc05mlJkZCdHNmlu",
"elements": [
"cities-internet-map"
],
@@ -129,7 +129,7 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -145,8 +145,8 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -162,7 +162,7 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
}
]
@@ -171,7 +171,7 @@
"bundle": "country-map",
"scriptUrl": "./country-map/country-map.js",
"output": "dx-maps/country-map/country-map.js",
- "integrity": "sha384-rrNa6+diqtDgoDdA8P+eWx3SNf+w0ezopQCbmSStuthicoiR1WqTrfCk1Afnn9YE",
+ "integrity": "sha384-QBZcA11EcHPDS8Alf68LlPMcK3KV4daNBBcRVwfmb1JUJ6pN2iV8b3Km/eUJFtF8",
"elements": [
"doxa-country-map"
],
@@ -190,8 +190,8 @@
"scriptUrl": "./country-map/country-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -200,7 +200,7 @@
"bundle": "country-posters",
"scriptUrl": "./country-posters/country-posters.js",
"output": "dx-maps/country-posters/country-posters.js",
- "integrity": "sha384-IxGi8DGFhyybFhAMPW1g3D8dXfEW5yKclB1oMAgRFb/0kxsNR0et9iLqBomeQOQK",
+ "integrity": "sha384-qtqqJXJq07zYeSzKKfjfyfZlHSRKaVjJ/d70DoSJNK7CdaBlBzkKYF3DQCU13Rc5",
"elements": [
"country-posters-map"
],
@@ -223,8 +223,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -240,7 +240,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -256,8 +256,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -315,7 +315,7 @@
"bundle": "demo-map",
"scriptUrl": "./demo-map/demo-map.js",
"output": "dx-maps/demo-map/demo-map.js",
- "integrity": "sha384-F27phG0KO23M0tvm/6x3M6UYYYqwBOM7aWxTWgQuVQ6FXUazPSDqw8Kt1YkUmg8Q",
+ "integrity": "sha384-1EQWW8YNIoGszQwh4boXoq/bW5w7zhK3iL4D/O68tQZt2aD4mS6BtJkOFfyKnWs7",
"elements": [
"demo-map"
],
@@ -333,8 +333,8 @@
"scriptUrl": "./demo-map/demo-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -361,7 +361,7 @@
"bundle": "doxa-maps-spa",
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js",
- "integrity": "sha384-WxibTNX89Sfqh9wxX9qWVWrINtWvf5XGsrF2el7XnSHshIC+Yr9rmWl0CWxp3ml3",
+ "integrity": "sha384-l0KgKm78Z0sFN89JuPlrk1KnI/9+3Vllm+91Udhh8QrAKHpdSAZP1Dfx2YWAn+HF",
"elements": [
"doxa-maps-spa"
],
@@ -389,7 +389,7 @@
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
},
"instances": [
{
@@ -416,7 +416,7 @@
"bundle": "doxa-research-map",
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"output": "dx-maps/doxa-research-map/doxa-research-map.js",
- "integrity": "sha384-RVtF1L14eNTXhVV4Gayxs93RFsVT5lEV6CDWeDFs7ASMBHBo9rZOz78C5hiC6Yk6",
+ "integrity": "sha384-NM5HdvfY3Y8TyU3cf7s5jsKKZCyOm1Cw3OUYIEN4MlFDfJlwNomNG7G0+BfWq0af",
"elements": [
"doxa-research-map"
],
@@ -435,8 +435,8 @@
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -462,7 +462,7 @@
"bundle": "doxa-simple-map",
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
- "integrity": "sha384-9DC6IjuVnKHJrXixRzkEyt4XKBfhkhD4xT0aAcXzOJWSMSZFsoA4576Fn6+C0nMV",
+ "integrity": "sha384-MSMSogoOEMZiYG3ELfaRV39jNESHNjOFeNhovF2vPeK4BAcZtFTUCfeFK362cDCK",
"elements": [
"doxa-map",
"doxa-simple-map"
@@ -482,8 +482,8 @@
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -653,7 +653,7 @@
"bundle": "gospel-internet",
"scriptUrl": "./gospel-internet/gospel-internet.js",
"output": "dx-maps/gospel-internet/gospel-internet.js",
- "integrity": "sha384-Am71KpIldVP+NCbCYsNAGQzGIQh5O5TFQbO8fAFJmAk4s51OLJ2D3oIUK7lhrabX",
+ "integrity": "sha384-0RxF1PDPEPqujqqV92PBouhy6jtyIdi2o6csqSfWNoqU01vS3qGU1+hiKlEbhKDy",
"elements": [
"gospel-internet-board"
],
@@ -674,8 +674,8 @@
"scriptUrl": "./gospel-internet/gospel-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -782,7 +782,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "dx-maps/gospel-resources/gospel-resources.js",
- "integrity": "sha384-geA9Q3eGsrQBf1s4ZKyliRh0onPop4ww8Jl9XmlX4BdYETzxH95dCD8Ru5LNHZji",
+ "integrity": "sha384-wQSHMaJMVR2Gtly2WHJggVUem6v8wNxaMX7k3YY/3db1dpjR5U2u0W+KRZU9Ik5z",
"elements": [
"gospel-resources-map"
],
@@ -805,7 +805,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -821,7 +821,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -837,8 +837,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -854,7 +854,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -870,8 +870,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -880,7 +880,7 @@
"bundle": "my-upg-100-list",
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"output": "dx-maps/my-upg-100-list/my-upg-100-list.js",
- "integrity": "sha384-gtaUMqeH9nhyhJJ7j24sUd5eoXsNtjs7x5EZJHR2ARH6SZFIXCfzm1NyqLc9IoVg",
+ "integrity": "sha384-ySzWcZdnrOVm/B2S5piorTA1ZfFO/Lt99FsgVEMi5guC9bV1DQoTzapHRtaZUlQt",
"elements": [
"my-upg-100-list-map"
],
@@ -903,7 +903,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -919,8 +919,8 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -936,8 +936,8 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -1068,7 +1068,7 @@
"bundle": "pplr-data-maps",
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
- "integrity": "sha384-ZVMNckykEu4yD0bU7TBDk8ya8Wc0hsLyFkTTJK0pCveTciIicMepusDtiKM5dADL",
+ "integrity": "sha384-XjNZbb1/auMkTs8bySafObmt0tHLwSCFMXjc/i8dKz+rs0m0r8b6WZ1qBK9D1f3I",
"elements": [
"pplr-data-maps"
],
@@ -1087,8 +1087,8 @@
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "pplr-data-maps"
}
@@ -1126,7 +1126,7 @@
"bundle": "regions-dashboard",
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
- "integrity": "sha384-WBDhqdo5pu7TqxtK3bd8uRX8EIjHUdCXgyybAY/z4i5mwB5lF8dQgN+ivd5eiRl+",
+ "integrity": "sha384-zKzWK88YvNIyLixXenrfJevOrwg1+DIIQtL0X3lNNPGCcQRN5djlCMAw/6k2jnXq",
"elements": [
"regions-dashboard"
],
@@ -1149,8 +1149,8 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -1166,7 +1166,7 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -1182,8 +1182,8 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -1192,7 +1192,7 @@
"bundle": "research-dashboard",
"scriptUrl": "./research-dashboard/research-dashboard.js",
"output": "dx-maps/research-dashboard/research-dashboard.js",
- "integrity": "sha384-tjSeDLqgYXJDYVvYhrtotk/cxUcSKIEcY35mACTr5T3WzazDE/310XBYtj69GM9F",
+ "integrity": "sha384-UGM3sjF8PjsWB+I61++7Q+RVMJF36bntba5M8J6xQpjW8QQYMVmpsN41O5Ra6y5P",
"elements": [
"research-dashboard-map"
],
@@ -1211,8 +1211,8 @@
"scriptUrl": "./research-dashboard/research-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "research-dashboard"
}
@@ -1317,7 +1317,7 @@
"bundle": "upg-neighbor",
"scriptUrl": "./upg-neighbor/upg-neighbor.js",
"output": "dx-maps/upg-neighbor/upg-neighbor.js",
- "integrity": "sha384-LQit2q5py5W5AyvsXbGfTluiTh33WcBCXVdoxQNdGuOHHGxEqPRxEUj78pGUJ7A6",
+ "integrity": "sha384-aMkfg4nHf6cvV9MTsZ5DILfqIFiMDf1q9kTpU1UI4VP6JdmOT2toDdIhLtpVJdSI",
"elements": [
"upg-neighbor"
],
@@ -1336,8 +1336,8 @@
"scriptUrl": "./upg-neighbor/upg-neighbor.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -1419,7 +1419,7 @@
"bundle": "wall-of-people-groups",
"scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js",
"output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js",
- "integrity": "sha384-QZT3hGKDM5PrIEhMFcCfEgbGUBsEZxM0mXo7W6a+0a/7jkUtG34AMyPQY0p9z5uL",
+ "integrity": "sha384-jx/9gBiK8Ciewl8HsYbIhNHwPGYD6QGEEzcdW3w/BezihHjeV2xU2XdPZA8ndiAZ",
"elements": [
"wall-of-people-groups"
],
@@ -1438,7 +1438,7 @@
"scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
},
"bundle": "wall-of-people-groups"
}
diff --git a/public/dx-maps/doxa-research-map/doxa-research-map.js b/public/dx-maps/doxa-research-map/doxa-research-map.js
index fc6d398ba..2c0449a0a 100644
--- a/public/dx-maps/doxa-research-map/doxa-research-map.js
+++ b/public/dx-maps/doxa-research-map/doxa-research-map.js
@@ -47,7 +47,7 @@
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
-}`;function Dy(e){let t=0;for(let o=0;oao(R)||F,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=ac("",{fallback:R=>o[R]}),r=je("uiStore",null),s=je("profileConfig",null),i=te(()=>(r==null?void 0:r.theme)==="dark"),l=te(()=>{var U;const R=(U=s==null?void 0:s.value)==null?void 0:U.pinHintLabel;if(R)return R;const F="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):F}catch{return F}}),c=ve(!1),u=ve(!0);let p=null;const f=ve(!0);let x=[];const A=["inert","hidden","aria-hidden"];function _(R){const F=[];let U=R;for(;U;)U.nodeType===1&&F.push(U),U=U.parentNode||U.host||null;return F}function g(R){return _(R).some(F=>F.hasAttribute("inert")||F.hasAttribute("hidden")||F.getAttribute("aria-hidden")==="true")}function b(R){const F=()=>{const U=!g(R);U!==f.value&&(f.value=U,U&&eo(S))};if(F(),!(typeof MutationObserver>"u"))for(const U of _(R))try{const z=new MutationObserver(F);z.observe(U,{attributes:!0,attributeFilter:A}),x.push(z)}catch{}}const m=ve(null);let $=null,d=null,w=null,h=null,k=null,P=null,L=[],H=null,K=null;function J(){c.value=!1}function y(R,F){var z;let U=R==null?void 0:R.parentElement;for(let Z=0;U&&Z<12;Z++,U=U.parentElement){if(U===F||(z=U.classList)!=null&&z.contains("profile-loader"))return null;let j="";try{j=getComputedStyle(U).position}catch{}if(j&&j!=="static"){const ne=U.getBoundingClientRect();if(ne.height>=120&&ne.width>=160)return U}}return null}function I(R){var U;const F=(U=h==null?void 0:h.querySelector)==null?void 0:U.call(h,".legend-mobile-sheet");if(!F)return 1/0;if(k&&P!==F){try{k.disconnect()}catch{}k=null}if(!k&&typeof ResizeObserver<"u")try{k=new ResizeObserver(()=>S()),k.observe(F),P=F}catch{k=null}try{const z=F.getBoundingClientRect();return!(z.height>16)||!(z.width>16)||R.right<=z.left||z.right<=R.left?1/0:z.top}catch{return 1/0}}function S(){const R=m.value;if(!(!R||!u.value||!f.value))try{R.style.removeProperty("--pin-hint-lift");const F=R.getBoundingClientRect();if(!F.height)return;const U=Math.min(window.innerHeight,I(F)),z=Math.round(F.bottom-U);z>0&&R.style.setProperty("--pin-hint-lift",z+8+"px")}catch{}}function v(R){const F=m.value;if(!F||!(R!=null&&R.querySelector))return;let U=0;try{const Z=R.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(Z){const j=Z.getBoundingClientRect(),ne=F.parentElement,$e=ne?ne.getBoundingClientRect():null;if(U=$e?Math.max(j.height||0,$e.bottom-j.top):j.height||0,K!==Z&&typeof ResizeObserver<"u"){if(w)try{w.disconnect()}catch{}K=Z,w=new ResizeObserver(()=>v(R)),w.observe(Z)}}}catch{}const z=Math.min(Math.max(Math.ceil(U)||20,20),72);F.style.setProperty("--pin-hint-attrib-clear",z+"px"),S()}return tn(()=>{var z,Z,j;const R=Mo(),F=(j=(Z=(z=R==null?void 0:R.proxy)==null?void 0:z.$el)==null?void 0:Z.getRootNode)==null?void 0:j.call(Z);if(!F||typeof F.querySelector!="function")return;h=F;let U=0;$=setInterval(()=>{U++;const ne=F.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");ne?(clearInterval($),$=null,c.value=!0,eo(()=>{const $e=y(ne,F),Ce=m.value;if($e&&Ce&&Ce.parentElement!==$e)try{$e.appendChild(Ce),d=$e}catch{}if($e&&b($e),$e&&typeof IntersectionObserver<"u")try{p=new IntersectionObserver(xe=>{const Se=xe[xe.length-1],Q=!!Se&&Se.isIntersecting&&Se.intersectionRatio>=.2;Q!==u.value&&(u.value=Q,Q&&eo(S))},{threshold:[0,.2,.5]}),p.observe($e)}catch{}v(F),S(),L.push(setTimeout(S,1200),setTimeout(S,3e3),setTimeout(S,6e3));try{const xe=m.value&&m.value.offsetParent||null;if(xe&&typeof ResizeObserver<"u"){if(H)try{H.disconnect()}catch{}H=new ResizeObserver(()=>S()),H.observe(xe)}}catch{}})):U>40&&(clearInterval($),$=null)},300)}),So(()=>{var R;if($&&clearInterval($),p){try{p.disconnect()}catch{}p=null}for(const F of x)try{F.disconnect()}catch{}if(x=[],w){try{w.disconnect()}catch{}w=null}if(K=null,H){try{H.disconnect()}catch{}H=null}if(k){try{k.disconnect()}catch{}k=null}P=null;for(const F of L)clearTimeout(F);if(L=[],h=null,d&&((R=m.value)==null?void 0:R.parentElement)===d)try{d.removeChild(m.value)}catch{}d=null}),qt(`
+}`;function Dy(e){let t=0;for(let o=0;oao(R)||F,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:n,te:a}=ac("",{fallback:R=>o[R]}),r=je("uiStore",null),s=je("profileConfig",null),i=te(()=>(r==null?void 0:r.theme)==="dark"),l=te(()=>{var U;const R=(U=s==null?void 0:s.value)==null?void 0:U.pinHintLabel;if(R)return R;const F="Tap a coloured dot — someone still needs prayer";try{return a("messages.pinHint.tapDot")?n("messages.pinHint.tapDot"):F}catch{return F}}),c=ve(!1),u=ve(!0);let p=null;const f=ve(!0);let x=[];const A=["inert","hidden","aria-hidden"];function _(R){const F=[];let U=R;for(;U;)U.nodeType===1&&F.push(U),U=U.parentNode||U.host||null;return F}function g(R){return _(R).some(F=>F.hasAttribute("inert")||F.hasAttribute("hidden")||F.getAttribute("aria-hidden")==="true")}function b(R){const F=()=>{const U=!g(R);U!==f.value&&(f.value=U,U&&eo(S))};if(F(),!(typeof MutationObserver>"u"))for(const U of _(R))try{const z=new MutationObserver(F);z.observe(U,{attributes:!0,attributeFilter:A}),x.push(z)}catch{}}const m=ve(null);let $=null,d=null,w=null,h=null,k=null,P=null,L=[],H=null,K=null;function J(){c.value=!1}function y(R,F){var z;let U=R==null?void 0:R.parentElement;for(let Z=0;U&&Z<12;Z++,U=U.parentElement){if(U===F||(z=U.classList)!=null&&z.contains("profile-loader"))return null;let j="";try{j=getComputedStyle(U).position}catch{}if(j&&j!=="static"){const ne=U.getBoundingClientRect();if(ne.height>=120&&ne.width>=160)return U}}return null}function I(R){var U;const F=(U=h==null?void 0:h.querySelector)==null?void 0:U.call(h,".legend-mobile-sheet");if(!F)return 1/0;if(k&&P!==F){try{k.disconnect()}catch{}k=null}if(!k&&typeof ResizeObserver<"u")try{k=new ResizeObserver(()=>S()),k.observe(F),P=F}catch{k=null}try{const z=F.getBoundingClientRect();return!(z.height>16)||!(z.width>16)||R.right<=z.left||z.right<=R.left?1/0:z.top}catch{return 1/0}}function S(){const R=m.value;if(!(!R||!u.value||!f.value))try{R.style.removeProperty("--pin-hint-lift");const F=R.getBoundingClientRect();if(!F.height)return;const U=Math.min(window.innerHeight,I(F)),z=Math.round(F.bottom-U);z>0&&R.style.setProperty("--pin-hint-lift",z+8+"px")}catch{}}function v(R){const F=m.value;if(!F||!(R!=null&&R.querySelector))return;let U=0;try{const Z=R.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .maplibregl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(Z){const j=Z.getBoundingClientRect(),ne=F.parentElement,$e=ne?ne.getBoundingClientRect():null;if(U=$e?Math.max(j.height||0,$e.bottom-j.top):j.height||0,K!==Z&&typeof ResizeObserver<"u"){if(w)try{w.disconnect()}catch{}K=Z,w=new ResizeObserver(()=>v(R)),w.observe(Z)}}}catch{}const z=Math.min(Math.max(Math.ceil(U)||20,20),72);F.style.setProperty("--pin-hint-attrib-clear",z+"px"),S()}return tn(()=>{var z,Z,j;const R=Mo(),F=(j=(Z=(z=R==null?void 0:R.proxy)==null?void 0:z.$el)==null?void 0:Z.getRootNode)==null?void 0:j.call(Z);if(!F||typeof F.querySelector!="function")return;h=F;let U=0;$=setInterval(()=>{U++;const ne=F.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");ne?(clearInterval($),$=null,c.value=!0,eo(()=>{const $e=y(ne,F),Ce=m.value;if($e&&Ce&&Ce.parentElement!==$e)try{$e.appendChild(Ce),d=$e}catch{}if($e&&b($e),$e&&typeof IntersectionObserver<"u")try{p=new IntersectionObserver(xe=>{const Se=xe[xe.length-1],Q=!!Se&&Se.isIntersecting&&Se.intersectionRatio>=.2;Q!==u.value&&(u.value=Q,Q&&eo(S))},{threshold:[0,.2,.5]}),p.observe($e)}catch{}v(F),S(),L.push(setTimeout(S,1200),setTimeout(S,3e3),setTimeout(S,6e3));try{const xe=m.value&&m.value.offsetParent||null;if(xe&&typeof ResizeObserver<"u"){if(H)try{H.disconnect()}catch{}H=new ResizeObserver(()=>S()),H.observe(xe)}}catch{}})):U>40&&(clearInterval($),$=null)},300)}),So(()=>{var R;if($&&clearInterval($),p){try{p.disconnect()}catch{}p=null}for(const F of x)try{F.disconnect()}catch{}if(x=[],w){try{w.disconnect()}catch{}w=null}if(K=null,H){try{H.disconnect()}catch{}H=null}if(k){try{k.disconnect()}catch{}k=null}P=null;for(const F of L)clearTimeout(F);if(L=[],h=null,d&&((R=m.value)==null?void 0:R.parentElement)===d)try{d.removeChild(m.value)}catch{}d=null}),qt(`
@media print { .pin-hint { display: none !important; } }
.pin-hint { position: absolute; left: 50%;
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
diff --git a/public/dx-maps/doxa-research-map/research-map/index.html b/public/dx-maps/doxa-research-map/research-map/index.html
index b1ecee177..c76a27432 100644
--- a/public/dx-maps/doxa-research-map/research-map/index.html
+++ b/public/dx-maps/doxa-research-map/research-map/index.html
@@ -70,7 +70,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "all-people-groups"
}
@@ -110,7 +110,7 @@
"bundle": "cities-internet",
"scriptUrl": "./cities-internet/cities-internet.js",
"output": "dx-maps/cities-internet/cities-internet.js",
- "integrity": "sha384-TmAgW03mRZH+Ns2IqnV6YiDeXwN9qkLB4qsobdhA6RGGB8FVsFz4p1Kuf/Ds8syd",
+ "integrity": "sha384-V+wDvlrCGuMDGuJy6Npp78sUIsQS9STWeJlqBoG0au5X7biKBc05mlJkZCdHNmlu",
"elements": [
"cities-internet-map"
],
@@ -129,7 +129,7 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -145,8 +145,8 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -162,7 +162,7 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
}
]
@@ -171,7 +171,7 @@
"bundle": "country-map",
"scriptUrl": "./country-map/country-map.js",
"output": "dx-maps/country-map/country-map.js",
- "integrity": "sha384-rrNa6+diqtDgoDdA8P+eWx3SNf+w0ezopQCbmSStuthicoiR1WqTrfCk1Afnn9YE",
+ "integrity": "sha384-QBZcA11EcHPDS8Alf68LlPMcK3KV4daNBBcRVwfmb1JUJ6pN2iV8b3Km/eUJFtF8",
"elements": [
"doxa-country-map"
],
@@ -190,8 +190,8 @@
"scriptUrl": "./country-map/country-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -200,7 +200,7 @@
"bundle": "country-posters",
"scriptUrl": "./country-posters/country-posters.js",
"output": "dx-maps/country-posters/country-posters.js",
- "integrity": "sha384-IxGi8DGFhyybFhAMPW1g3D8dXfEW5yKclB1oMAgRFb/0kxsNR0et9iLqBomeQOQK",
+ "integrity": "sha384-qtqqJXJq07zYeSzKKfjfyfZlHSRKaVjJ/d70DoSJNK7CdaBlBzkKYF3DQCU13Rc5",
"elements": [
"country-posters-map"
],
@@ -223,8 +223,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -240,7 +240,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -256,8 +256,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -315,7 +315,7 @@
"bundle": "demo-map",
"scriptUrl": "./demo-map/demo-map.js",
"output": "dx-maps/demo-map/demo-map.js",
- "integrity": "sha384-F27phG0KO23M0tvm/6x3M6UYYYqwBOM7aWxTWgQuVQ6FXUazPSDqw8Kt1YkUmg8Q",
+ "integrity": "sha384-1EQWW8YNIoGszQwh4boXoq/bW5w7zhK3iL4D/O68tQZt2aD4mS6BtJkOFfyKnWs7",
"elements": [
"demo-map"
],
@@ -333,8 +333,8 @@
"scriptUrl": "./demo-map/demo-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -361,7 +361,7 @@
"bundle": "doxa-maps-spa",
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js",
- "integrity": "sha384-WxibTNX89Sfqh9wxX9qWVWrINtWvf5XGsrF2el7XnSHshIC+Yr9rmWl0CWxp3ml3",
+ "integrity": "sha384-l0KgKm78Z0sFN89JuPlrk1KnI/9+3Vllm+91Udhh8QrAKHpdSAZP1Dfx2YWAn+HF",
"elements": [
"doxa-maps-spa"
],
@@ -389,7 +389,7 @@
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
},
"instances": [
{
@@ -416,7 +416,7 @@
"bundle": "doxa-research-map",
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"output": "dx-maps/doxa-research-map/doxa-research-map.js",
- "integrity": "sha384-RVtF1L14eNTXhVV4Gayxs93RFsVT5lEV6CDWeDFs7ASMBHBo9rZOz78C5hiC6Yk6",
+ "integrity": "sha384-NM5HdvfY3Y8TyU3cf7s5jsKKZCyOm1Cw3OUYIEN4MlFDfJlwNomNG7G0+BfWq0af",
"elements": [
"doxa-research-map"
],
@@ -435,8 +435,8 @@
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -462,7 +462,7 @@
"bundle": "doxa-simple-map",
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
- "integrity": "sha384-9DC6IjuVnKHJrXixRzkEyt4XKBfhkhD4xT0aAcXzOJWSMSZFsoA4576Fn6+C0nMV",
+ "integrity": "sha384-MSMSogoOEMZiYG3ELfaRV39jNESHNjOFeNhovF2vPeK4BAcZtFTUCfeFK362cDCK",
"elements": [
"doxa-map",
"doxa-simple-map"
@@ -482,8 +482,8 @@
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -653,7 +653,7 @@
"bundle": "gospel-internet",
"scriptUrl": "./gospel-internet/gospel-internet.js",
"output": "dx-maps/gospel-internet/gospel-internet.js",
- "integrity": "sha384-Am71KpIldVP+NCbCYsNAGQzGIQh5O5TFQbO8fAFJmAk4s51OLJ2D3oIUK7lhrabX",
+ "integrity": "sha384-0RxF1PDPEPqujqqV92PBouhy6jtyIdi2o6csqSfWNoqU01vS3qGU1+hiKlEbhKDy",
"elements": [
"gospel-internet-board"
],
@@ -674,8 +674,8 @@
"scriptUrl": "./gospel-internet/gospel-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -782,7 +782,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "dx-maps/gospel-resources/gospel-resources.js",
- "integrity": "sha384-geA9Q3eGsrQBf1s4ZKyliRh0onPop4ww8Jl9XmlX4BdYETzxH95dCD8Ru5LNHZji",
+ "integrity": "sha384-wQSHMaJMVR2Gtly2WHJggVUem6v8wNxaMX7k3YY/3db1dpjR5U2u0W+KRZU9Ik5z",
"elements": [
"gospel-resources-map"
],
@@ -805,7 +805,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -821,7 +821,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -837,8 +837,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -854,7 +854,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -870,8 +870,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -880,7 +880,7 @@
"bundle": "my-upg-100-list",
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"output": "dx-maps/my-upg-100-list/my-upg-100-list.js",
- "integrity": "sha384-gtaUMqeH9nhyhJJ7j24sUd5eoXsNtjs7x5EZJHR2ARH6SZFIXCfzm1NyqLc9IoVg",
+ "integrity": "sha384-ySzWcZdnrOVm/B2S5piorTA1ZfFO/Lt99FsgVEMi5guC9bV1DQoTzapHRtaZUlQt",
"elements": [
"my-upg-100-list-map"
],
@@ -903,7 +903,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -919,8 +919,8 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -936,8 +936,8 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -1068,7 +1068,7 @@
"bundle": "pplr-data-maps",
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
- "integrity": "sha384-ZVMNckykEu4yD0bU7TBDk8ya8Wc0hsLyFkTTJK0pCveTciIicMepusDtiKM5dADL",
+ "integrity": "sha384-XjNZbb1/auMkTs8bySafObmt0tHLwSCFMXjc/i8dKz+rs0m0r8b6WZ1qBK9D1f3I",
"elements": [
"pplr-data-maps"
],
@@ -1087,8 +1087,8 @@
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "pplr-data-maps"
}
@@ -1126,7 +1126,7 @@
"bundle": "regions-dashboard",
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
- "integrity": "sha384-WBDhqdo5pu7TqxtK3bd8uRX8EIjHUdCXgyybAY/z4i5mwB5lF8dQgN+ivd5eiRl+",
+ "integrity": "sha384-zKzWK88YvNIyLixXenrfJevOrwg1+DIIQtL0X3lNNPGCcQRN5djlCMAw/6k2jnXq",
"elements": [
"regions-dashboard"
],
@@ -1149,8 +1149,8 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -1166,7 +1166,7 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -1182,8 +1182,8 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -1192,7 +1192,7 @@
"bundle": "research-dashboard",
"scriptUrl": "./research-dashboard/research-dashboard.js",
"output": "dx-maps/research-dashboard/research-dashboard.js",
- "integrity": "sha384-tjSeDLqgYXJDYVvYhrtotk/cxUcSKIEcY35mACTr5T3WzazDE/310XBYtj69GM9F",
+ "integrity": "sha384-UGM3sjF8PjsWB+I61++7Q+RVMJF36bntba5M8J6xQpjW8QQYMVmpsN41O5Ra6y5P",
"elements": [
"research-dashboard-map"
],
@@ -1211,8 +1211,8 @@
"scriptUrl": "./research-dashboard/research-dashboard.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"bundle": "research-dashboard"
}
@@ -1317,7 +1317,7 @@
"bundle": "upg-neighbor",
"scriptUrl": "./upg-neighbor/upg-neighbor.js",
"output": "dx-maps/upg-neighbor/upg-neighbor.js",
- "integrity": "sha384-LQit2q5py5W5AyvsXbGfTluiTh33WcBCXVdoxQNdGuOHHGxEqPRxEUj78pGUJ7A6",
+ "integrity": "sha384-aMkfg4nHf6cvV9MTsZ5DILfqIFiMDf1q9kTpU1UI4VP6JdmOT2toDdIhLtpVJdSI",
"elements": [
"upg-neighbor"
],
@@ -1336,8 +1336,8 @@
"scriptUrl": "./upg-neighbor/upg-neighbor.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -1419,7 +1419,7 @@
"bundle": "wall-of-people-groups",
"scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js",
"output": "dx-maps/wall-of-people-groups/wall-of-people-groups.js",
- "integrity": "sha384-QZT3hGKDM5PrIEhMFcCfEgbGUBsEZxM0mXo7W6a+0a/7jkUtG34AMyPQY0p9z5uL",
+ "integrity": "sha384-jx/9gBiK8Ciewl8HsYbIhNHwPGYD6QGEEzcdW3w/BezihHjeV2xU2XdPZA8ndiAZ",
"elements": [
"wall-of-people-groups"
],
@@ -1438,7 +1438,7 @@
"scriptUrl": "./wall-of-people-groups/wall-of-people-groups.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
},
"bundle": "wall-of-people-groups"
}
diff --git a/public/dx-maps/my-upg-100-list/my-upg-100-list.js b/public/dx-maps/my-upg-100-list/my-upg-100-list.js
index 94ac2d214..11b36eebc 100644
--- a/public/dx-maps/my-upg-100-list/my-upg-100-list.js
+++ b/public/dx-maps/my-upg-100-list/my-upg-100-list.js
@@ -46,7 +46,7 @@
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
-}`;function Y_(e){let t=0;for(let o=0;oAa(U)||O,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:a,te:n}=gr("",{fallback:U=>o[U]}),r=qe("uiStore",null),i=qe("profileConfig",null),s=oe(()=>(r==null?void 0:r.theme)==="dark"),l=oe(()=>{var Q;const U=(Q=i==null?void 0:i.value)==null?void 0:Q.pinHintLabel;if(U)return U;const O="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?a("messages.pinHint.tapDot"):O}catch{return O}}),c=$e(!1),u=$e(!0);let d=null;const p=$e(!0);let y=[];const v=["inert","hidden","aria-hidden"];function $(U){const O=[];let Q=U;for(;Q;)Q.nodeType===1&&O.push(Q),Q=Q.parentNode||Q.host||null;return O}function f(U){return $(U).some(O=>O.hasAttribute("inert")||O.hasAttribute("hidden")||O.getAttribute("aria-hidden")==="true")}function _(U){const O=()=>{const Q=!f(U);Q!==p.value&&(p.value=Q,Q&&po(K))};if(O(),!(typeof MutationObserver>"u"))for(const Q of $(U))try{const B=new MutationObserver(O);B.observe(Q,{attributes:!0,attributeFilter:v}),y.push(B)}catch{}}const x=$e(null);let k=null,g=null,b=null,w=null,L=null,S=null,C=[],J=null,X=null;function I(){c.value=!1}function P(U,O){var B;let Q=U==null?void 0:U.parentElement;for(let N=0;Q&&N<12;N++,Q=Q.parentElement){if(Q===O||(B=Q.classList)!=null&&B.contains("profile-loader"))return null;let ue="";try{ue=getComputedStyle(Q).position}catch{}if(ue&&ue!=="static"){const fe=Q.getBoundingClientRect();if(fe.height>=120&&fe.width>=160)return Q}}return null}function le(U){var Q;const O=(Q=w==null?void 0:w.querySelector)==null?void 0:Q.call(w,".legend-mobile-sheet");if(!O)return 1/0;if(L&&S!==O){try{L.disconnect()}catch{}L=null}if(!L&&typeof ResizeObserver<"u")try{L=new ResizeObserver(()=>K()),L.observe(O),S=O}catch{L=null}try{const B=O.getBoundingClientRect();return!(B.height>16)||!(B.width>16)||U.right<=B.left||B.right<=U.left?1/0:B.top}catch{return 1/0}}function K(){const U=x.value;if(!(!U||!u.value||!p.value))try{U.style.removeProperty("--pin-hint-lift");const O=U.getBoundingClientRect();if(!O.height)return;const Q=Math.min(window.innerHeight,le(O)),B=Math.round(O.bottom-Q);B>0&&U.style.setProperty("--pin-hint-lift",B+8+"px")}catch{}}function T(U){const O=x.value;if(!O||!(U!=null&&U.querySelector))return;let Q=0;try{const N=U.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(N){const ue=N.getBoundingClientRect(),fe=O.parentElement,xe=fe?fe.getBoundingClientRect():null;if(Q=xe?Math.max(ue.height||0,xe.bottom-ue.top):ue.height||0,X!==N&&typeof ResizeObserver<"u"){if(b)try{b.disconnect()}catch{}X=N,b=new ResizeObserver(()=>T(U)),b.observe(N)}}}catch{}const B=Math.min(Math.max(Math.ceil(Q)||20,20),72);O.style.setProperty("--pin-hint-attrib-clear",B+"px"),K()}return To(()=>{var B,N,ue;const U=Wo(),O=(ue=(N=(B=U==null?void 0:U.proxy)==null?void 0:B.$el)==null?void 0:N.getRootNode)==null?void 0:ue.call(N);if(!O||typeof O.querySelector!="function")return;w=O;let Q=0;k=setInterval(()=>{Q++;const fe=O.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");fe?(clearInterval(k),k=null,c.value=!0,po(()=>{const xe=P(fe,O),Ce=x.value;if(xe&&Ce&&Ce.parentElement!==xe)try{xe.appendChild(Ce),g=xe}catch{}if(xe&&_(xe),xe&&typeof IntersectionObserver<"u")try{d=new IntersectionObserver(Se=>{const Re=Se[Se.length-1],ke=!!Re&&Re.isIntersecting&&Re.intersectionRatio>=.2;ke!==u.value&&(u.value=ke,ke&&po(K))},{threshold:[0,.2,.5]}),d.observe(xe)}catch{}T(O),K(),C.push(setTimeout(K,1200),setTimeout(K,3e3),setTimeout(K,6e3));try{const Se=x.value&&x.value.offsetParent||null;if(Se&&typeof ResizeObserver<"u"){if(J)try{J.disconnect()}catch{}J=new ResizeObserver(()=>K()),J.observe(Se)}}catch{}})):Q>40&&(clearInterval(k),k=null)},300)}),go(()=>{var U;if(k&&clearInterval(k),d){try{d.disconnect()}catch{}d=null}for(const O of y)try{O.disconnect()}catch{}if(y=[],b){try{b.disconnect()}catch{}b=null}if(X=null,J){try{J.disconnect()}catch{}J=null}if(L){try{L.disconnect()}catch{}L=null}S=null;for(const O of C)clearTimeout(O);if(C=[],w=null,g&&((U=x.value)==null?void 0:U.parentElement)===g)try{g.removeChild(x.value)}catch{}g=null}),Ht(`
+}`;function Y_(e){let t=0;for(let o=0;oAa(U)||O,o={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"},{t:a,te:n}=gr("",{fallback:U=>o[U]}),r=qe("uiStore",null),i=qe("profileConfig",null),s=oe(()=>(r==null?void 0:r.theme)==="dark"),l=oe(()=>{var Q;const U=(Q=i==null?void 0:i.value)==null?void 0:Q.pinHintLabel;if(U)return U;const O="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?a("messages.pinHint.tapDot"):O}catch{return O}}),c=$e(!1),u=$e(!0);let d=null;const p=$e(!0);let y=[];const v=["inert","hidden","aria-hidden"];function $(U){const O=[];let Q=U;for(;Q;)Q.nodeType===1&&O.push(Q),Q=Q.parentNode||Q.host||null;return O}function f(U){return $(U).some(O=>O.hasAttribute("inert")||O.hasAttribute("hidden")||O.getAttribute("aria-hidden")==="true")}function _(U){const O=()=>{const Q=!f(U);Q!==p.value&&(p.value=Q,Q&&po(K))};if(O(),!(typeof MutationObserver>"u"))for(const Q of $(U))try{const B=new MutationObserver(O);B.observe(Q,{attributes:!0,attributeFilter:v}),y.push(B)}catch{}}const x=$e(null);let k=null,g=null,b=null,w=null,L=null,S=null,C=[],J=null,X=null;function I(){c.value=!1}function P(U,O){var B;let Q=U==null?void 0:U.parentElement;for(let N=0;Q&&N<12;N++,Q=Q.parentElement){if(Q===O||(B=Q.classList)!=null&&B.contains("profile-loader"))return null;let ue="";try{ue=getComputedStyle(Q).position}catch{}if(ue&&ue!=="static"){const fe=Q.getBoundingClientRect();if(fe.height>=120&&fe.width>=160)return Q}}return null}function le(U){var Q;const O=(Q=w==null?void 0:w.querySelector)==null?void 0:Q.call(w,".legend-mobile-sheet");if(!O)return 1/0;if(L&&S!==O){try{L.disconnect()}catch{}L=null}if(!L&&typeof ResizeObserver<"u")try{L=new ResizeObserver(()=>K()),L.observe(O),S=O}catch{L=null}try{const B=O.getBoundingClientRect();return!(B.height>16)||!(B.width>16)||U.right<=B.left||B.right<=U.left?1/0:B.top}catch{return 1/0}}function K(){const U=x.value;if(!(!U||!u.value||!p.value))try{U.style.removeProperty("--pin-hint-lift");const O=U.getBoundingClientRect();if(!O.height)return;const Q=Math.min(window.innerHeight,le(O)),B=Math.round(O.bottom-Q);B>0&&U.style.setProperty("--pin-hint-lift",B+8+"px")}catch{}}function T(U){const O=x.value;if(!O||!(U!=null&&U.querySelector))return;let Q=0;try{const N=U.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .maplibregl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(N){const ue=N.getBoundingClientRect(),fe=O.parentElement,xe=fe?fe.getBoundingClientRect():null;if(Q=xe?Math.max(ue.height||0,xe.bottom-ue.top):ue.height||0,X!==N&&typeof ResizeObserver<"u"){if(b)try{b.disconnect()}catch{}X=N,b=new ResizeObserver(()=>T(U)),b.observe(N)}}}catch{}const B=Math.min(Math.max(Math.ceil(Q)||20,20),72);O.style.setProperty("--pin-hint-attrib-clear",B+"px"),K()}return To(()=>{var B,N,ue;const U=Wo(),O=(ue=(N=(B=U==null?void 0:U.proxy)==null?void 0:B.$el)==null?void 0:N.getRootNode)==null?void 0:ue.call(N);if(!O||typeof O.querySelector!="function")return;w=O;let Q=0;k=setInterval(()=>{Q++;const fe=O.querySelector("canvas.maplibregl-canvas, canvas.mapboxgl-canvas");fe?(clearInterval(k),k=null,c.value=!0,po(()=>{const xe=P(fe,O),Ce=x.value;if(xe&&Ce&&Ce.parentElement!==xe)try{xe.appendChild(Ce),g=xe}catch{}if(xe&&_(xe),xe&&typeof IntersectionObserver<"u")try{d=new IntersectionObserver(Se=>{const Re=Se[Se.length-1],ke=!!Re&&Re.isIntersecting&&Re.intersectionRatio>=.2;ke!==u.value&&(u.value=ke,ke&&po(K))},{threshold:[0,.2,.5]}),d.observe(xe)}catch{}T(O),K(),C.push(setTimeout(K,1200),setTimeout(K,3e3),setTimeout(K,6e3));try{const Se=x.value&&x.value.offsetParent||null;if(Se&&typeof ResizeObserver<"u"){if(J)try{J.disconnect()}catch{}J=new ResizeObserver(()=>K()),J.observe(Se)}}catch{}})):Q>40&&(clearInterval(k),k=null)},300)}),go(()=>{var U;if(k&&clearInterval(k),d){try{d.disconnect()}catch{}d=null}for(const O of y)try{O.disconnect()}catch{}if(y=[],b){try{b.disconnect()}catch{}b=null}if(X=null,J){try{J.disconnect()}catch{}J=null}if(L){try{L.disconnect()}catch{}L=null}S=null;for(const O of C)clearTimeout(O);if(C=[],w=null,g&&((U=x.value)==null?void 0:U.parentElement)===g)try{g.removeChild(x.value)}catch{}g=null}),Ht(`
@media print { .pin-hint { display: none !important; } }
.pin-hint { position: absolute; left: 50%;
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
diff --git a/public/dx-maps/my-upg-100-list/poster-wall/index.html b/public/dx-maps/my-upg-100-list/poster-wall/index.html
index 2ee31f18f..c30196d31 100644
--- a/public/dx-maps/my-upg-100-list/poster-wall/index.html
+++ b/public/dx-maps/my-upg-100-list/poster-wall/index.html
@@ -61,7 +61,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+