${ut(L)}
@@ -180,13 +180,13 @@
${ut(r("popup.country.wagfBlock"))}: ${ut(F)}
- ${ut(r("popup.country.country"))}: ${ut(L)} (${ut(y)})
+ ${ut(r("popup.country.country"))}: ${ut(L)} (${ut(_)})
${ut(r("popup.country.uupgCount"))}: ${ut(O)}
- `}function d(m){const y=t();if(!y)return;const k=m||"language-family-pins";if(!y.getLayer(k))return;const L=C=>{try{const E=C.features[0],_=E.properties,O=E.geometry.coordinates.slice();for(;Math.abs(C.lngLat.lng-O[0])>180;)O[0]+=C.lngLat.lng>O[0]?360:-360;if(i&&i.legendMode!==void 0){i.selectPeopleGroup(E),i.isMobile&&i.legendState==="collapsed"&&i.setLegendState("open"),i.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(Ys(y)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(O).setHTML(c(_)).addTo(y)}catch(E){console.error(` [${o}] Pin click handler error:`,E)}};y.on("click",k,L),l.value.push({event:"click",layer:k,handler:L})}function g(){const m=t();if(!m)return;const y="regions-fill";if(!m.getLayer(y))return;const k=L=>{const C=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const E of C)if(m.getLayer(E)){const _=m.queryRenderedFeatures(L.point,{layers:[E]});if(_&&_.length>0)return}if(L.features&&L.features.length>0){const E=L.features[0].properties;new(Ys(m)).Popup().setLngLat(L.lngLat).setHTML(u(E)).addTo(m)}};m.on("click",y,k),l.value.push({event:"click",layer:y,handler:k})}function w(){const m=t();if(!m)return;const y="clusters";if(!m.getLayer(y))return;const k=L=>{const C=m.queryRenderedFeatures(L.point,{layers:[y]});if(!C.length)return;const E=C[0].properties.cluster_id,_=C[0].source;m.getSource(_).getClusterExpansionZoom(E,(O,H)=>{O||m.easeTo({center:C[0].geometry.coordinates,zoom:H})})};m.on("click",y,k),l.value.push({event:"click",layer:y,handler:k})}function x(m){const y=t();if(!y||!y.getLayer(m))return;const k=()=>{y.getCanvas().style.cursor="pointer"},L=()=>{y.getCanvas().style.cursor=""};y.on("mouseenter",m,k),y.on("mouseleave",m,L),l.value.push({event:"mouseenter",layer:m,handler:k}),l.value.push({event:"mouseleave",layer:m,handler:L})}function h(){d("language-family-pins-hitbox"),x("language-family-pins"),x("language-family-pins-hitbox"),w(),x("clusters")}function v(){g(),x("regions-fill")}function b(){const m=t();m&&(m.getLayer("language-family-pins")&&h(),m.getLayer("regions-fill")&&v(),m.getLayer("people-groups-pins")&&(d("people-groups-pins"),x("people-groups-pins")))}function p(){const m=t();if(m){for(const{event:y,layer:k,handler:L}of l.value)try{m.off(y,k,L)}catch{}l.value=[]}}return{attachAllEventHandlers:b,attachLanguageFamilyEvents:h,attachRegionEvents:v,attachPinClickHandler:d,attachRegionClickHandler:g,attachClusterClickHandler:w,attachCursorHandlers:x,detachAllEventHandlers:p,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const ol=[">",["to-number",["get","peoplePraying"],0],0],nl={0:.25,8:.4,14:.5},On={0:.1,8:.18,14:.22},zn={0:1.2,8:1.6,14:2},rg=["interpolate",["linear"],["zoom"],0,["case",ol,nl[0],On[0]],8,["case",ol,nl[8],On[8]],14,["case",ol,nl[14],On[14]]],jy=["interpolate",["linear"],["zoom"],0,zn[0],8,zn[8],14,zn[14]],sg=["==",["to-number",["get","peoplePraying"],0],0],Gy={prayer:[sg],prayerProgress:[sg],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function Hy(e){const t=Gy[e]||[];if(!t.length)return jy;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,On[0],zn[0]],8,["case",o,On[8],zn[8]],14,["case",o,On[14],zn[14]]]}const Uy=[[/ sign language$/i,"Sign Language"]];function Wy(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(ct[a])return ct[a];if(o.length>=3){const i=[o[1],o[0]].join(" ");if(ct[i])return ct[i]}}if(ct[t])return ct[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&ct[n])return ct[n];for(const[a,i]of Uy)if(a.test(t))return i;return null}function qy(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,i=()=>{const de=t();return de?qe(de):null},r=By({getMap:i,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),s=fe({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=fe({});function c(de,be="languageFamily"){const X=i();if(!X||!(de!=null&&de.length))return;const me=Vs(be),A=de.map(R=>{var ue,se,$,f,G,ne,$e,pe,j,Z,xe,Ce,He,et,We,ie,le,re,_e;return{type:"Feature",properties:{uniqueId:R.id||R.uniqueId,slug:R.slug||((ue=R._normalized)==null?void 0:ue.slug)||"",rop3:R.rop3||R.peopleGroupId,peopleId3:R.peopleId3||"",name:R.name,language:R.language,languageFamily:R.languageFamily||((se=R._normalized)==null?void 0:se.languageFamily)||Wy(R.language)||"Unknown",affinityBlock:R.affinityBlock||R.affbloc||R.Affbloc||(($=R._normalized)==null?void 0:$.affinityBlock)||"Unknown",affinityBlockLabel:R.affinityBlockLabel||((f=R._normalized)==null?void 0:f.affinityBlockLabel)||"",cluster:R.cluster||((G=R._normalized)==null?void 0:G.cluster)||"",clusterLabel:R.clusterLabel||((ne=R._normalized)==null?void 0:ne.clusterLabel)||"",peopleGroup:R.peopleGroup||(($e=R._normalized)==null?void 0:$e.peopleGroup)||"",peopleGroupLabel:R.peopleGroupLabel||((pe=R._normalized)==null?void 0:pe.peopleGroupLabel)||"",doxaRegion:R.doxaRegion||((j=R._normalized)==null?void 0:j.doxaRegion)||"Unknown",wagfBlock:R.wagfBlock||((Z=R._normalized)==null?void 0:Z.wagfBlock)||"",wagfBlockLabel:R.wagfBlockLabel||((xe=R._normalized)==null?void 0:xe.wagfBlockLabel)||"",wagfRegionLabel:R.wagfRegionLabel||((Ce=R._normalized)==null?void 0:Ce.wagfRegionLabel)||"",country:R.country,countryIso:R.countryIso,countryIsoLabel:R.countryIsoLabel,countryName:R.countryName,religion:R.religion,religionCode:R.religionCode,religionLabel:R.religionLabel,religionName:R.religionName,population:R.population,status:R.status,description:R.description||"",imageUrl:R.imageUrl||"",peoplePraying:Number(R.peoplePraying??((He=R._normalized)==null?void 0:He.peoplePraying)??0),engagementStatus:R.engagementStatus===!0||R.engagementStatus===1||!1,adoptionStatus:R.adoptionStatus===!0||R.adoptionStatus===1||!1,bible:R.bible||((et=R._normalized)==null?void 0:et.bible)||"Not Available",jesusFilm:R.jesusFilm||((We=R._normalized)==null?void 0:We.jesusFilm)||"Not Available",radio:R.radio||((ie=R._normalized)==null?void 0:ie.radio)||"Not Available",gospel:R.gospel||((le=R._normalized)==null?void 0:le.gospel)||"Not Available",audio:R.audio||((re=R._normalized)==null?void 0:re.audio)||"Not Available",stories:R.stories||((_e=R._normalized)==null?void 0:_e.stories)||"Not Available",lng:parseFloat(R.longitude||R.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(R.longitude||R.lng),parseFloat(R.latitude||R.lat)]}}}).filter(R=>!isNaN(R.geometry.coordinates[0])&&!isNaN(R.geometry.coordinates[1])),M=.04,S=R=>`${R.geometry.coordinates[0]},${R.geometry.coordinates[1]}`,U=new Map;for(const R of A){const ue=S(R);U.has(ue)||U.set(ue,[]),U.get(ue).push(R)}for(const R of U.values()){if(R.length<2)continue;const[ue,se]=R[0].geometry.coordinates,$=R.length;for(let f=0;f<$;f++){const G=2*Math.PI*f/$;R[f].geometry.coordinates=[ue+M*Math.cos(G),se+M*Math.sin(G)]}}const oe={type:"FeatureCollection",features:A};X.addSource("language-families",{type:"geojson",data:oe,promoteId:"uniqueId"}),X.addLayer({id:"language-family-pins-shadow",type:"circle",source:"language-families",paint:{"circle-radius":tl("standard"),"circle-color":"rgba(0,0,0,0.12)","circle-blur":.8,"circle-translate":[0,1],"circle-stroke-width":0,"circle-opacity":1}}),X.addLayer({id:"language-family-pins",type:"circle",source:"language-families",paint:{"circle-radius":tl("standard"),"circle-color":me,...Qo(X),"circle-stroke-width":rg,"circle-stroke-color":["case",[">",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),X.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":tl("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),s.value.languageFamilyPins=!0,r.attachLanguageFamilyEvents()}function u(de,be="doxa-regions"){const X=i();if(!X)return;X.getLayer("regions-fill")&&X.removeLayer("regions-fill"),X.getLayer("regions-border")&&X.removeLayer("regions-border"),X.getSource("regions")&&X.removeSource("regions");const me={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},A="#cccccc",M=de&&de.isoToRegion?de.isoToRegion:{},S=[],U={};for(const[se,$]of Object.entries(M)){const f=me[String($).toLowerCase()];f&&S.push(se,f),U[$]||(U[$]=[]),U[$].push(se)}l.value=U;const oe=S.length?["match",["get","iso_3166_1_alpha_3"],...S,A]:A,R=X.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":X.getLayer("language-family-pins")?"language-family-pins":void 0,ue=(()=>{var se,$,f;try{return!!((f=($=(se=X.getContainer)==null?void 0:se.call(X))==null?void 0:$.classList)!=null&&f.contains("maplibregl-map"))}catch{return!1}})();ue?(X.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),Tn(`${el(null)}/boundaries/world-adm0-web.geojson`).then(se=>se.json()).then(se=>{for(const f of se.features||[])f.properties&&f.properties.iso3&&(f.properties.iso_3166_1_alpha_3=f.properties.iso3);const $=X.getSource("regions");$&&$.setData(se)}).catch(se=>console.warn("[map-layers] region boundaries failed to load",se))):X.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),X.addLayer({id:"regions-fill",type:"fill",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":oe,"fill-opacity":be==="none"?.1:.7,"fill-antialias":!0,...Qo(X,"fill"),"fill-opacity-transition":{duration:300}}},R),X.addLayer({id:"regions-border",type:"line",source:"regions",...ue?{}:{"source-layer":"country_boundaries"},paint:{"line-color":oe,"line-width":1,"line-opacity":.9,...Qo(X,"line")}},R),s.value.regions=!0,r.attachRegionEvents()}function d(de,be){const X=i();if(!X||!de||!(be!=null&&be.length))return;g();const me=be.filter(oe=>{var ue;return(oe.languageFamily||((ue=oe._normalized)==null?void 0:ue.languageFamily)||"Unknown")===de});if(me.length<2)return;const A=n(de),M=[],S=15,U=[...me].sort((oe,R)=>(oe.longitude||oe.lng)-(R.longitude||R.lng));for(let oe=0;oe