I&&(I=J)}return[[y,k],[$,I]]}function ce(){const K=b.value;if(!K)return;if(!Object.keys(r).length){try{K.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const le=te(i.value);if(le)try{K.fitBounds(le,{padding:70,duration:1200,maxZoom:5.5})}catch{}}let Se=null;return bt(()=>JSON.stringify(r),()=>{clearTimeout(Se),Se=setTimeout(ce,260)}),ut(`
.rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:#dfe6ef; }
.rd-mapwrap .rd-mapc{ position:absolute; inset:0; }
.rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; }
@@ -221,7 +221,7 @@
.rd-legend-map .lg-h{ font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--rd-muted,#6b7686); margin-bottom:4px; }
.rd-legend-map .lg-row{ display:flex; align-items:center; gap:6px; font-size:10px; color:#3a4456; line-height:1.5; }
.rd-legend-map .lg-sw{ width:11px; height:11px; border-radius:2px; flex:0 0 auto; border:1px solid #00000014; }
-`,"rd-mappanel"),(K,le)=>(ae(),ie("div",{class:"rd-mapwrap","data-sub":"map","data-projection":J.value},[R("div",{ref_key:"mapContainer",ref:b,class:"rd-mapc","data-map-canvas":""},null,512),R("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:G},de(J.value==="globe"?"🌐 Globe":"▭ Flat"),1),le[1]||(le[1]=R("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),R("div",Py,[le[0]||(le[0]=R("div",{class:"lg-h"},"UPGs / country",-1)),(ae(!0),ie(Ae,null,et(re(C),he=>(ae(),ie("div",{key:he.l,class:"lg-row"},[R("span",{class:"lg-sw",style:Bt({background:he.c})},null,4),R("span",null,de(he.l),1)]))),128))])],8,xy))}},mn={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},My=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],Iy={"people-groups":["blocs","clusters","peopleGroups","people","places","families","languages","dialects","regions","religions"],language:["families","languages","dialects","people","blocs","clusters","peopleGroups","places","regions","religions"],regions:["regions","wagfBlocks","places","blocs","clusters","peopleGroups","people","families","languages","dialects","religions"],religion:["religions","people","blocs","clusters","peopleGroups","places","families","languages","dialects","regions"]};function Ry(e){return Iy[e]||My}const Fy={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},$a=["peopleGroups","people","places","languages","religions"],Oy={regions:[...$a,"regions","wagfBlocks"],"people-groups":[...$a,"blocs","clusters"],language:[...$a,"dialects","families"],religion:[...$a]},Dy=100,By=50,Uy=25,jy=10,Zr=5,Hc=20,Ky=[[/ sign language$/i,"Sign Language"]];function Gy(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function Hy(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function zy(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(o=>o.trim()).filter(Boolean);if(t.length>=2){const o=[...t].reverse().join(" ");if(mn[o])return mn[o];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(mn[a])return mn[a]}}if(mn[e])return mn[e];const n=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==e&&mn[n])return mn[n];for(const[o,a]of Ky)if(o.test(e))return a;return null}function zc(e,t){return{id:`doxa-section-header-${Qr(e)}`,place_name:e,text:e,center:[0,0],place_type:["doxa-section-header"],geometry:{type:"Point",coordinates:[0,0]},properties:{headerLabel:e,isHeader:!0,isAllDataSection:!!t},feature:null}}function Qr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function be(e){return e==null?"":typeof e=="string"?e.toLowerCase():typeof e=="object"&&"label"in e?String(e.label||"").toLowerCase():typeof e=="object"&&"value"in e?String(e.value||"").toLowerCase():String(e).toLowerCase()}function Aa(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function Vy(e){var n,o,a,r,s;if(!Array.isArray(e))return[];const t=[];for(const i of e){if(!i)continue;const l=Number(i.latitude),c=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(c))continue;const u=be(i.name)+" "+be(i.displayName)+" "+be(i.alternateName),f=be(i.countryName)+" "+be(i.country)+" "+be(i.countryIso)+" "+be(i.countryIsoLabel),d=be(i.religionName)+" "+be(i.religion)+" "+be(i.religionLabel)+" "+be(i.religionCode),b=be(i.language)+" "+be(i.languageFamily)+" "+be(i.languageCode),_=be(i.doxaRegion)+" "+be(i.wagfRegion)+" "+be(i.wagfBlock),v=be(i.affinityBlock)+" "+be(i.affinityBlockLabel)+" "+be((n=i._raw)==null?void 0:n.rop1),E=be(i.cluster)+" "+be(i.clusterLabel)+" "+be((o=i._raw)==null?void 0:o.imb_reg_of_people_2),k=be(i.peopleGroup)+" "+be(i.peopleGroupLabel)+" "+be((a=i._raw)==null?void 0:a.imb_reg_of_people_25),A=((r=i._raw)==null?void 0:r.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),h=A&&(typeof A=="object"?A.label||A.value:A)||Aa(i.language)||Aa(i.primaryLanguage)||"",m=Gy(h),w=Hy(h);t.push({feature:i,nameHay:u,countryHay:f,religionHay:d,languageHay:b,regionHay:_,haystack:u+" "+f+" "+d+" "+b+" "+_+" "+v+" "+E+" "+k,blocHay:v,clusterHay:E,pgHay:k,lat:l,lng:c,familyDerived:zy(h)||null,languageLabel:h,baseLang:m,dialectLabel:w})}return t}function Wy(e){const t=(n,o,a)=>{const r=new Map;for(const s of e){const i=n(s);if(!i)continue;const l=r.get(i);if(l)l.count+=1,l.lngSum+=s.lng,l.latSum+=s.lat,l.memberIds.push(String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")),l.minLng=Math.min(l.minLng,s.lng),l.maxLng=Math.max(l.maxLng,s.lng),l.minLat=Math.min(l.minLat,s.lat),l.maxLat=Math.max(l.maxLat,s.lat),a&&a(l,s,!1);else{const c={key:i,label:Aa(o(s))||i,count:1,lngSum:s.lng,latSum:s.lat,minLng:s.lng,maxLng:s.lng,minLat:s.lat,maxLat:s.lat,memberIds:[String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")]};a&&a(c,s,!0),r.set(i,c)}}for(const s of r.values())s.lng=s.lngSum/s.count,s.lat=s.latSum/s.count;return Array.from(r.values())};return{countries:t(n=>be(n.feature.countryName)||be(n.feature.country)||be(n.feature.countryIso),n=>n.feature.countryName||n.feature.country||n.feature.countryIso||""),families:t(n=>be(n.familyDerived),n=>n.familyDerived||""),languages:t(n=>be(n.baseLang),n=>n.baseLang||""),dialects:t(n=>n.dialectLabel?`${be(n.baseLang)}__${be(n.dialectLabel)}`:"",n=>`${n.baseLang}, ${n.dialectLabel}`,(n,o,a)=>{a?(n.originalLabels=new Set([o.languageLabel]),n.familyDerived=o.familyDerived||"",n.baseLang=o.baseLang||"",n.dialectLabel=o.dialectLabel||""):(n.originalLabels.add(o.languageLabel),!n.familyDerived&&o.familyDerived&&(n.familyDerived=o.familyDerived))}),religions:t(n=>{var o,a,r;return wa(n.feature.religion||((a=(o=n.feature._raw)==null?void 0:o.religion)==null?void 0:a.value)||((r=n.feature._raw)==null?void 0:r.religion)||"")},n=>{var o,a,r;return Sa[wa(n.feature.religion||((a=(o=n.feature._raw)==null?void 0:o.religion)==null?void 0:a.value)||((r=n.feature._raw)==null?void 0:r.religion)||"")]||"Unknown"}),regions:t(n=>be(n.feature.doxaRegion)||be(n.feature.wagfRegion),n=>{var o,a;return n.feature.wagfRegionLabel||n.feature.doxaRegionLabel||((a=(o=n.feature._raw)==null?void 0:o.wagf_region)==null?void 0:a.label)||n.feature.doxaRegion||n.feature.wagfRegion||""}),wagfBlocks:t(n=>be(n.feature.wagfBlock),n=>{var o,a;return n.feature.wagfBlockLabel||((a=(o=n.feature._raw)==null?void 0:o.wagf_block)==null?void 0:a.label)||n.feature.wagfBlock||""}),blocs:t(n=>be(n.feature.affinityBlockLabel)||be(n.feature.affinityBlock),n=>n.feature.affinityBlockLabel||n.feature.affinityBlock||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"")}),clusters:t(n=>{const o=n.feature.affinityBlock||"",a=n.feature.cluster||"";return a?`${o}__${a}`:""},n=>n.feature.clusterLabel||n.feature.cluster||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"",n.blocLabel=o.feature.affinityBlockLabel||"",n.clusterCode=o.feature.cluster||"")}),peopleGroups:t(n=>be(n.feature.peopleGroup)||be(n.feature.peopleGroupLabel),n=>n.feature.peopleGroupLabel||n.feature.peopleGroup||n.feature.name||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"",n.blocLabel=o.feature.affinityBlockLabel||"",n.clusterCode=o.feature.cluster||"",n.clusterLabel=o.feature.clusterLabel||"",n.peopleGroupCode=o.feature.peopleGroup||"")})}}function Yy(e){const t=e.feature,n=t.name||t.displayName||t.slug||"Unknown",o=t.countryName||t.country||t.countryIso||"",a=t.religionName||t.religion||"",r=t.slug||t.uniqueId||Qr(n+"-"+o),s=[e.lng,e.lat],i=[o,a].filter(Boolean).join(" — "),l=i?`${n}, ${i}`:n;return{id:`doxa-pg-${r}`,place_name:l,text:n,center:s,place_type:["people-group"],geometry:{type:"Point",coordinates:s},properties:{slug:r,...t},feature:t}}function Ot(e,t){let n,o;switch(e){case"country":n="doxa-country",o="doxa-country-";break;case"region":n="doxa-region",o="doxa-region-";break;case"language-family":n="doxa-language-family",o="doxa-language-family-";break;case"language":n="doxa-language",o="doxa-language-";break;case"dialect":n="doxa-dialect",o="doxa-dialect-";break;case"religion":n="doxa-religion",o="doxa-religion-";break;case"affinity-bloc":n="doxa-affinity-bloc",o="doxa-affinity-bloc-";break;case"cluster":n="doxa-cluster",o="doxa-cluster-";break;case"people-group":n="doxa-people-group",o="doxa-people-group-";break;default:n="doxa",o="doxa-"}const a=Aa(t.label)||t.key,r=Qr(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],c=l?`${a} (${l}) · ${t.count}`:`${a} (${t.count})`,u=t.originalLabels?Array.from(t.originalLabels):void 0,f=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${o}${r}`,place_name:c,text:a,center:s,bbox:[t.minLng,t.minLat,t.maxLng,t.maxLat],place_type:[n],geometry:{type:"Point",coordinates:s},properties:{slug:r,doxaAggregate:e,count:t.count,label:a,memberIds:t.memberIds,bounds:[t.minLng,t.minLat,t.maxLng,t.maxLat],...u?{originalLabels:u}:{},...f||{},...e==="affinity-bloc"?{blocCode:t.blocCode||""}:{},...e==="cluster"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||""}:{},...e==="people-group"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||"",clusterLabel:t.clusterLabel||"",peopleGroupCode:t.peopleGroupCode||""}:{}},feature:null}}function qy(e={}){const{dataStore:t,dataSourceId:n,getActiveFilter:o,getActiveContext:a}=e,{t:r}=vo(),s=se(()=>{var f,d;if(!t||!t.sources)return[];if(n&&((f=t.sources[n])!=null&&f.features))return t.sources[n].features;for(const b of Object.keys(t.sources)){const _=t.sources[b];if((d=_==null?void 0:_.features)!=null&&d.length)return _.features}return[]}),i=se(()=>Vy(s.value)),l=se(()=>Wy(i.value));function c(f){const d=String(f||"").trim().toLowerCase(),b={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(d.length<2)return b;const _=d.split(/[\s,;]+/).filter(Boolean);if(!_.length)return b;const v=i.value;if(!v.length)return b;const E=l.value,k=[];for(const U of v){let Y=!0;for(const te of _)if(!U.haystack.includes(te)){Y=!1;break}if(!Y)continue;let J=0;_.some(te=>U.nameHay.includes(te))&&(J+=Dy),_.some(te=>U.countryHay.includes(te))&&(J+=By),_.some(te=>U.religionHay.includes(te))&&(J+=Uy),_.some(te=>U.languageHay.includes(te))&&(J+=jy),k.push({entry:U,score:J})}k.sort((U,Y)=>Y.score-U.score);const A=k.slice(0,Zr).map(U=>Yy(U.entry)),h=U=>U.filter(Y=>_.every(J=>Y.key.includes(J)||be(Y.label).includes(J))).sort((Y,J)=>J.count-Y.count).slice(0,Zr),m=h(E.countries).map(U=>Ot("country",U)),w=h(E.regions).map(U=>Ot("region",U)),S=h(E.wagfBlocks).map(U=>Ot("region",U)),T=h(E.families).map(U=>Ot("language-family",U)),C=h(E.languages).map(U=>Ot("language",U)),x=h(E.dialects).map(U=>Ot("dialect",U)),F=h(E.religions).map(U=>Ot("religion",U)),W=h(E.blocs).map(U=>Ot("affinity-bloc",U));let z=h(E.clusters).map(U=>Ot("cluster",U)),P=h(E.peopleGroups).map(U=>Ot("people-group",U));const H=new Set(W.map(U=>be(U.text)));z=z.filter(U=>!H.has(be(U.text)));const ne=new Set(z.map(U=>be(U.text)));return P=P.filter(U=>!H.has(be(U.text))&&!ne.has(be(U.text))),{people:A,places:m,regions:w,wagfBlocks:S,families:T,languages:C,dialects:x,religions:F,blocs:W,clusters:z,peopleGroups:P}}function u(f){const d=typeof o=="function"?o():null,b=typeof a=="function"?a():null,_=c(f),v=Ry(b),E=Oy[b],k=E?Object.fromEntries(E.filter(T=>_[T]).map(T=>[T,_[T]])):_,A=v.flatMap(T=>k[T]||[]);if(!(d!=null&&d.key)||!A.length)return A.slice(0,Hc);const h=[];for(const T of _.people){const C=i.value.find(F=>F.feature===T.feature);let x=!1;C&&(d.kind==="family"?x=(C.familyDerived||"").toLowerCase()===d.key.toLowerCase():d.kind==="language"&&(x=C.languageLabel.toLowerCase()===d.key.toLowerCase())),x&&h.push(T)}const m=[],w=d.key;h.length&&(m.push(zc(r("search.sections.within",{selection:w}),!1)),m.push(...h.slice(0,Zr)));const S=v.flatMap(T=>(k[T]||[]).slice(0,Fy[T]??3)).map(T=>({...T,properties:{...T.properties,_allDataSection:!0}}));return m.push(zc(r("search.sections.allData"),!0)),m.push(...S),m.slice(0,Hc+8)}return{search:u,searchGrouped:c,index:i,aggregates:l}}const Vc="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",Jy={__name:"GeocoderComponent",props:{mapInstance:{type:Object,required:!1,default:null},accessToken:{type:String,required:!0},provider:{type:String,default:"mapbox"},isDark:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},placeholder:{type:String,default:""},dataSourceId:{type:String,default:""},activeContext:{type:String,default:""}},emits:["result","people-group-result","aggregate-result","clear","error"],setup(e,{expose:t,emit:n}){function o(F){return F+F.replace(/mapboxgl/g,"maplibregl")}dt(o('.mapboxgl-ctrl-geocoder--input,.mapboxgl-ctrl-geocoder input[type="text"],.mapboxgl-ctrl-geocoder input[type="search"]{font-size:16px !important;line-height:1.3;}'),"geocoder-ios-zoom-fix"),dt(o(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),dt(o(".mapboxgl-ctrl-geocoder{height:35px!important;min-height:35px!important;box-sizing:border-box!important;}.mapboxgl-ctrl-geocoder--input{height:35px!important;min-height:35px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important;}.mapboxgl-ctrl-geocoder--icon-search{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;left:7px!important;}"),"geocoder-height-35"),dt(o(".mapboxgl-ctrl-geocoder{width:100%!important;max-width:100%!important;min-width:0!important;}@media(max-width:767px){.mapboxgl-ctrl-top-left{top:10px!important;left:3px!important;right:3px!important;width:calc(100% - 6px)!important;max-width:none!important;}}.mapboxgl-ctrl-geocoder{border-radius:999px!important;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;transition:box-shadow .12s,border-color .12s;}.mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important;}.mapboxgl-ctrl-geocoder--input{border-radius:999px!important;font-size:13px!important;}.mapboxgl-ctrl-geocoder--input::placeholder{font-size:12px!important;}.mapboxgl-ctrl-geocoder--button{display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important;}.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button{display:block!important;}.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important;}.mapboxgl-ctrl-geocoder--suggestions,.mapboxgl-ctrl-geocoder .suggestions{z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important;}.geocoder-dark.mapboxgl-ctrl-geocoder,.dsm-dark .mapboxgl-ctrl-geocoder{background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important;}.geocoder-dark.mapboxgl-ctrl-geocoder:focus-within,.dsm-dark .mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input,.dsm-dark .mapboxgl-ctrl-geocoder--input{color:#F3F3F1!important;background:transparent!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input::placeholder,.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder{color:rgba(243,243,241,0.65)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--icon,.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon{fill:rgba(243,243,241,0.75)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--button,.dsm-dark .mapboxgl-ctrl-geocoder--button{background:transparent!important;}"),"geocoder-skin");const{t:a,locale:r}=vo(),s=e,i=se(()=>s.placeholder||a("search.placeholder")),l=n,c={"&":"&","<":"<",">":">",'"':""","'":"'"};function u(F){return String(F??"").replace(/[&<>"']/g,W=>c[W])}function f(F){return F==null?"":typeof F=="string"?F:typeof F=="object"?F.label||F.value||"":String(F)}const d={"people-group":"people","doxa-people-group":"peopleGroup","doxa-affinity-bloc":"bloc","doxa-cluster":"cluster","doxa-country":"country","doxa-region":"region","doxa-language-family":"family","doxa-language":"languageKind","doxa-dialect":"dialect","doxa-religion":"religionKind"};function b(F){const W=d[F];if(!W)return"";const z=a("search.kinds."+W);return`${u(z)} `}function _(F){var P;if(!F)return"";const W=F.place_type||[];if(W.includes("doxa-section-header"))return``;if(W.includes("people-group")){const H=F.properties||{},ne=f(H.name)||f(H.displayName)||f(F.text)||"",U=f(H.countryName)||f(H.country)||f(H.countryIso)||"",Y=f(H.language)||f(H.primaryLanguage)||f(H.languageFamily)||"",J=f(H.religionName)||f(H.religion)||"",te=a("search.labels.place"),G=a("search.labels.language"),q=a("search.labels.religion"),ee=[];return U&&ee.push(`${u(te)} ${u(U)} `),Y&&ee.push(`${u(G)} ${u(Y)} `),J&&ee.push(`${u(q)} ${u(J)} `),`${b("people-group")}${u(ne)}
`+(ee.length?`${ee.join("")}
`:"")}const z=W.find(H=>H.startsWith("doxa-"));if(z){const H=F.properties||{},ne=u(f(H.label)||F.text||""),U=Number(H.count)||0,Y=U?` ${U} `:"";return`${b(z)}${ne} ${Y}
`}return`${u(F.place_name||F.text||"")}
`}const v=ve("dataStore",null),E=ve("mapStore",null),k=ve("uiStore",null);function A(){return E?E.selectedFamily?{kind:"family",key:E.selectedFamily}:E.selectedLanguage?{kind:"language",key:E.selectedLanguage}:null:null}const{search:h}=qy({dataStore:v,dataSourceId:s.dataSourceId||void 0,getActiveFilter:A,getActiveContext:()=>s.activeContext||null}),m=pe(null),w=pe(null),S={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",maplibre:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.css"};function T(F,W){const z=S[W]||S.mapbox;if(F.querySelector(`link[href="${z}"]`))return;const P=document.createElement("link");P.rel="stylesheet",P.href=z,F.prepend(P)}async function C(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const F=document.querySelector(`script[src="${Vc}"]`);if(F){if(window.MaplibreGeocoder)return;await new Promise(W=>{F.addEventListener("load",W,{once:!0}),F.addEventListener("error",W,{once:!0})});return}await new Promise((W,z)=>{const P=document.createElement("script");P.src=Vc,P.async=!1,P.addEventListener("load",W,{once:!0}),P.addEventListener("error",()=>z(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(P)})}function x(F,W){return async z=>{const P={features:[]};if(!F||!(z!=null&&z.query))return P;try{const H=Array.isArray(z.language)?z.language[0]:z.language||W()||"en",ne=new URLSearchParams({access_token:F,autocomplete:"true",limit:String(z.limit||5)});H&&ne.set("language",H);const U=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(z.query)}.json?${ne.toString()}`,Y=await fetch(U);if(!Y.ok)return P;const J=await Y.json();return J&&Array.isArray(J.features)?J:P}catch{return P}}}return it(async()=>{var H,ne,U,Y,J;const F=s.provider==="maplibre";if(F){if(await C(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u")return;const W=s.mapInstance;if(!s.standalone&&!W)return;const z=s.standalone?(ne=(H=w.value)==null?void 0:H.getRootNode)==null?void 0:ne.call(H):(J=(Y=(U=W.getContainer)==null?void 0:U.call(W))==null?void 0:Y.getRootNode)==null?void 0:J.call(Y);z instanceof ShadowRoot&&T(z,s.provider);const P={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:r.value||"en",localGeocoder:h,limit:20,zoom:6,render:_};if(F){const te=typeof maplibregl<"u"?maplibregl:void 0,G={forwardGeocode:x(s.accessToken,()=>r.value)};m.value=new MaplibreGeocoder(G,{...P,maplibregl:te,showResultsWhileTyping:!0,reverseGeocode:!1})}else m.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...P});if(m.value.on("result",te=>{var q,ee,ce,we,Pe,Ge,Ue,je,K,le,he,y,L,$,I,B,j,Z,X,g,p,M,O,Q,V,N,D,ue,ye,Te;const G=te==null?void 0:te.result;G&&((q=G.place_type)!=null&&q.includes("doxa-section-header")||(E&&(E.selectedRegion=null,E.selectedResource=null,E.selectedAffinityBlock=null,E.selectedDialect=null),k&&((ee=k.setPrayerFilter)==null||ee.call(k,null),(ce=k.setEngagementFilter)==null||ce.call(k,null),(we=k.setAdoptionFilter)==null||we.call(k,null),(Pe=k.setReligionFilter)==null||Pe.call(k,null)),(Ge=G.properties)!=null&&Ge._allDataSection&&E&&(E.selectedFamily=null,E.selectedLanguage=null),l("result",te),(Ue=G.place_type)!=null&&Ue.includes("people-group")&&G.feature?l("people-group-result",{type:"Feature",properties:G.properties||G.feature,geometry:G.geometry||{type:"Point",coordinates:G.center}}):((je=G.place_type)!=null&&je.includes("doxa-country")||(K=G.place_type)!=null&&K.includes("doxa-region")||(le=G.place_type)!=null&&le.includes("doxa-language-family")||(he=G.place_type)!=null&&he.includes("doxa-language")||(y=G.place_type)!=null&&y.includes("doxa-dialect")||(L=G.place_type)!=null&&L.includes("doxa-religion")||($=G.place_type)!=null&&$.includes("doxa-affinity-bloc")||(I=G.place_type)!=null&&I.includes("doxa-cluster")||(B=G.place_type)!=null&&B.includes("doxa-people-group"))&&l("aggregate-result",{kind:G.place_type[0].replace(/^doxa-/,""),label:((j=G.properties)==null?void 0:j.label)||G.text,count:((Z=G.properties)==null?void 0:Z.count)||0,memberIds:((X=G.properties)==null?void 0:X.memberIds)||[],bounds:((g=G.properties)==null?void 0:g.bounds)||null,center:G.center,originalLabels:((p=G.properties)==null?void 0:p.originalLabels)||null,familyDerived:((M=G.properties)==null?void 0:M.familyDerived)||"",baseLang:((O=G.properties)==null?void 0:O.baseLang)||"",dialectLabel:((Q=G.properties)==null?void 0:Q.dialectLabel)||"",slug:((V=G.properties)==null?void 0:V.slug)||null,id:G.id||null,blocCode:((N=G.properties)==null?void 0:N.blocCode)||"",blocLabel:((D=G.properties)==null?void 0:D.blocLabel)||"",clusterCode:((ue=G.properties)==null?void 0:ue.clusterCode)||"",clusterLabel:((ye=G.properties)==null?void 0:ye.clusterLabel)||"",peopleGroupCode:((Te=G.properties)==null?void 0:Te.peopleGroupCode)||"",properties:G.properties||null})))}),m.value.on("clear",()=>l("clear")),m.value.on("error",te=>l("error",te)),s.standalone){if(w.value){const te={on(){},off(){},fire(){},getContainer:()=>w.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const G=m.value.onAdd(s.mapInstance||te);G&&w.value.appendChild(G)}catch(G){l("error",G)}}}else W.addControl(m.value,"top-left")}),bt(i,F=>{var P,H;const W=m.value;if(!W)return;const z=W._inputEl||((H=(P=W.container)==null?void 0:P.querySelector)==null?void 0:H.call(P,"input.mapboxgl-ctrl-geocoder--input"));z&&(z.placeholder=F,z.setAttribute("placeholder",F)),W.options&&(W.options.placeholder=F)}),bt(r,F=>{const W=m.value;W!=null&&W.options&&(W.options.language=F||"en")}),on(()=>{var F,W;if(m.value){try{s.standalone?(W=(F=m.value).onRemove)==null||W.call(F):s.mapInstance&&s.mapInstance.removeControl(m.value)}catch{}m.value=null}}),t({geocoder:m}),(F,W)=>e.standalone?(ae(),ie("div",{key:0,ref_key:"standaloneContainer",ref:w,class:"dg-standalone-geocoder"},null,512)):gd(F.$slots,"default",{},void 0,void 0,1)}};function Xy(e){const{map:t,geocoderRef:n,clustering:o,mapStore:a,uiStore:r,mapLayers:s,pplrInstance:i,onSemanticTreeSelect:l,switchTab:c,activeTabId:u,clearAllHighlights:f,clearCountryHighlight:d,mapId:b,supportedKinds:_,legendRouters:v={},peopleGroupResult:E,busAdapter:k}=e,A=e.filterLayerId||"language-family-pins";let h=!1;function m(){var ne,U,Y,J,te;h=!0;const P=(U=(ne=n.value)==null?void 0:ne.geocoder)==null?void 0:U.value;(Y=P==null?void 0:P.clear)==null||Y.call(P);const H=(P==null?void 0:P._inputEl)||((te=(J=P==null?void 0:P.container)==null?void 0:J.querySelector)==null?void 0:te.call(J,"input.mapboxgl-ctrl-geocoder--input"));if(H){H.value="";try{H.dispatchEvent(new Event("input",{bubbles:!0}))}catch{}}h=!1}function w(P,H){const ne=`${A}-hitbox`;if(P!=null&&P.getLayer(ne))try{P.setFilter(ne,H)}catch{}}function S(){typeof window>"u"||typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:reveal-selected",{detail:{mapId:b}}))}const T={country:"countryName","language-family":"languageFamily",language:"language",dialect:"language",religion:"religionName",region:"doxaRegion","affinity-bloc":"affinityBlock",cluster:"cluster","people-group":"peopleGroup"};function C(P,H,ne){var U,Y,J;if(P.kind==="language")return["any",["==",["get",H],ne],["==",["slice",["get",H],0,ne.length+1],ne+","],["in"," "+ne,["get",H]]];if(P.kind==="dialect"){const te=Array.isArray(P.originalLabels)?P.originalLabels:[];return te.length===1?["==",["get",H],te[0]]:te.length>1?["in",["get",H],["literal",te]]:["==",["get",H],ne]}else if(P.kind==="affinity-bloc"){const te=P.blocCode||((U=P.properties)==null?void 0:U.blocCode)||"";return te?["==",["get","affinityBlock"],te]:["==",["get","affinityBlockLabel"],ne]}else if(P.kind==="cluster"){const te=P.clusterCode||((Y=P.properties)==null?void 0:Y.clusterCode)||"",G=P.blocCode||((J=P.properties)==null?void 0:J.blocCode)||"";return te&&G?["all",["==",["get","affinityBlock"],G],["==",["get","cluster"],te]]:["==",["get","clusterLabel"],ne]}else return["==",["get",H],ne]}function x(P){if(!P||_&&!_.includes(P.kind))return null;const H=T[P.kind]||null,ne=P.label;return!H||ne==null||ne===""?null:{kind:P.kind,value:ne,property:H,expr:C(P,H,ne)}}function F(P){var U,Y,J,te;if(!P)return;d==null||d();const H=re(t),ne=((U=P.properties)==null?void 0:U.id)||((Y=P.properties)==null?void 0:Y.uniqueId)||null;if((J=r==null?void 0:r.selectPeopleGroup)==null||J.call(r,{...P,properties:{...P.properties,uniqueId:ne}}),H&&ne!=null&&H.getLayer(A)){const G=["==",["get","uniqueId"],ne];try{H.setFilter(A,null)}catch{}w(H,G),H.setPaintProperty(A,"circle-opacity",["case",G,1,0]),H.setPaintProperty(A,"circle-stroke-opacity",["case",G,1,0]),H.getLayer(`${A}-shadow`)&&H.setPaintProperty(`${A}-shadow`,"circle-opacity",["case",G,1,0]),(te=s==null?void 0:s.syncGlowFilter)==null||te.call(s,G)}}function W(P){var te;if(k){const G=x(P);if(!G)return;k.aggregate(G,P);return}const H=re(t);if(!P||!H||!H.getLayer(A)||_&&!_.includes(P.kind))return;P.kind!=="country"&&(d==null||d());const ne=x(P);if(!ne)return;const{property:U,value:Y}=ne;try{H.setFilter(A,ne.expr)}catch{}o.setSelectionFilter({property:U,value:Y});let J=!1;if(P.kind==="language-family"||P.kind==="family")a.selectFamily(P.label),a.setActiveLegendTab("family"),J=!0;else if(P.kind==="language")a.selectLanguage(P.label),a.setActiveLegendTab("language"),J=!0;else if(P.kind==="dialect"){const G=Array.isArray(P.originalLabels)?P.originalLabels:[],q=P.familyDerived||"",ee=P.baseLang||"",ce=P.dialectLabel||"",we=`${q}__${ee}__${ce}`;(te=a.selectDialect)==null||te.call(a,{key:we,originalLabels:G}),a.setActiveLegendTab("dialect"),J=!0}else if(P.kind==="affinity-bloc"||P.kind==="cluster"||P.kind==="people-group"){let G=null;if(P.kind==="affinity-bloc"){const q=P.blocCode||"";G={id:`bloc:${q}`,label:P.label,depth:0,filter:q?["==",["get","affinityBlock"],q]:null}}else if(P.kind==="cluster"){const q=P.blocCode||"",ee=P.clusterCode||"";G={id:`cluster:${q}__${ee}`,label:P.label,depth:1,filter:ee?["==",["get","cluster"],ee]:null}}else if(P.kind==="people-group"){const q=P.blocCode||"",ee=P.clusterCode||"",ce=P.peopleGroupCode||"";G={id:`pg:${q}__${ee}__${ce}`,label:P.label,depth:2,filter:ce?["==",["get","peopleGroup"],ce]:null}}if(G&&G.filter){const q=()=>{try{H.setFilter(A,null)}catch{}l(G),i&&i.selection&&(i.selection.value=G)};u.value!=="affinity-blocks"?(c("affinity-blocks"),Ho(q)):q()}J=!0}else v[P.kind]&&(v[P.kind](P,{map:H,filterLayerId:A,clearGeocoder:m,emitLegendReveal:S,property:U,value:Y}),J=!0);J&&(m(),S())}function z(){var H,ne,U;if(k){k.clear();return}if(h)return;d==null||d();const P=re(t);a.selectedRegion&&((H=a.selectRegion)==null||H.call(a,null)),a.selectedResource&&((ne=a.selectResource)==null||ne.call(a,null)),P&&P.getLayer(A)?f(P):(a.selectFamily(null),a.selectLanguage(null),(U=a.selectDialect)==null||U.call(a,null),o.setSelectionFilter(null))}return{onPeopleGroupResult:k?P=>k.peopleGroup(P):E||F,onAggregateResult:W,onClear:z,clearGeocoderProgrammatic:m}}const Zy={class:"rd-searchbar-header","data-region":"search","data-sub":"search-header"},Qy=["data-search-bar"],Wc="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",ev={__name:"DashboardSearchHeader",setup(e){const t=ve("selectionBus",null),n=ve("dashboardData",null),o=ve("dashboardConfig",{}),a=ve("mapboxToken",pe("")),r=ve("searchSourceId",""),s=se(()=>re(a)||""),i=pe(!1);function l(){if(typeof window>"u")return;if(typeof window.MapboxGeocoder<"u"){i.value=!0;return}let d=document.querySelector(`script[src="${Wc}"]`);d||(d=document.createElement("script"),d.src=Wc,d.async=!0,document.head.appendChild(d)),d.addEventListener("load",()=>{i.value=!0}),typeof window.MapboxGeocoder<"u"&&(i.value=!0)}it(l);const c={region:"wagf_region",country:"country_code",block:"wagf_block",province:"wagf_block",religion:"religion","language-family":"primary_language",language:"primary_language",dialect:"primary_language"};function u(d,b,_){var A,h,m;const v=(h=(A=o.facets)==null?void 0:A[d])==null?void 0:h.get,E=(m=n==null?void 0:n.rowStore)==null?void 0:m.value,k=(_==null?void 0:_.memberIds)&&_.memberIds[0]||(_==null?void 0:_.slug);if(v&&E&&k){const w=E.get(k);if(w){const S=v(w);if(S!=null&&S!=="")return S}}return(b==null?void 0:b.value)!=null&&b.value!==""?b.value:_==null?void 0:_.label}const f=(o.search||[]).map(d=>{const b=pe(null),_={_lastFacet:null,_selectedMembers:!1};function v(A,h){const m=Array.isArray(A)?A.filter(Boolean):[];if(!m.length||!t)return!1;t.selectionSet.clear();for(const w of m)t.selectionSet.add(w);return t.emit("select",t.selectionSet),t.emit("focusRow",{slug:m[0],name:h}),!0}const k=Xy({busAdapter:{aggregate(A,h){if(!t)return;const m=c[A.kind];if(m){const w=u(m,A,h);if(w==null||w==="")return;t.setFilter(m,w),_._lastFacet=m;return}v(h==null?void 0:h.memberIds,A.value)&&(_._selectedMembers=!0)},peopleGroup(A){var m,w;const h=((m=A==null?void 0:A.properties)==null?void 0:m.slug)||(A==null?void 0:A.slug);!h||!t||(t.toggleSelect(h),t.emit("focusRow",{slug:h,name:(w=A==null?void 0:A.properties)==null?void 0:w.name}))},clear(){t&&(_._lastFacet&&(t.setFilter(_._lastFacet,null),_._lastFacet=null),_._selectedMembers&&(t.clearSelection(),_._selectedMembers=!1))}},supportedKinds:d.kinds,geocoderRef:b,mapId:d.id});return{entry:d,geocoderRef:b,handlers:k}});return dt(`
+`,"rd-mappanel"),(K,le)=>(ae(),ie("div",{class:"rd-mapwrap","data-sub":"map","data-projection":Q.value},[F("div",{ref_key:"mapContainer",ref:m,class:"rd-mapc","data-map-canvas":""},null,512),F("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:q},de(Q.value==="globe"?"🌐 Globe":"▭ Flat"),1),le[1]||(le[1]=F("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),F("div",Py,[le[0]||(le[0]=F("div",{class:"lg-h"},"UPGs / country",-1)),(ae(!0),ie($e,null,Qe(re(x),y=>(ae(),ie("div",{key:y.l,class:"lg-row"},[F("span",{class:"lg-sw",style:Bt({background:y.c})},null,4),F("span",null,de(y.l),1)]))),128))])],8,xy))}},mn={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},My=["blocs","clusters","peopleGroups","families","languages","dialects","people","places","regions","wagfBlocks","religions"],Iy={"people-groups":["blocs","clusters","peopleGroups","people","places","families","languages","dialects","regions","religions"],language:["families","languages","dialects","people","blocs","clusters","peopleGroups","places","regions","religions"],regions:["regions","wagfBlocks","places","blocs","clusters","peopleGroups","people","families","languages","dialects","religions"],religion:["religions","people","blocs","clusters","peopleGroups","places","families","languages","dialects","regions"]};function Ry(e){return Iy[e]||My}const Fy={blocs:3,clusters:3,peopleGroups:3,families:3,languages:3,dialects:3,people:5,places:2,regions:3,wagfBlocks:3,religions:2},$a=["peopleGroups","people","places","languages","religions"],Oy={regions:[...$a,"regions","wagfBlocks"],"people-groups":[...$a,"blocs","clusters"],language:[...$a,"dialects","families"],religion:[...$a]},Dy=100,By=50,Uy=25,jy=10,Zr=5,Hc=20,Ky=[[/ sign language$/i,"Sign Language"]];function Gy(e){if(!e||typeof e!="string")return"";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function Hy(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function zy(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(o=>o.trim()).filter(Boolean);if(t.length>=2){const o=[...t].reverse().join(" ");if(mn[o])return mn[o];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(mn[a])return mn[a]}}if(mn[e])return mn[e];const n=e.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==e&&mn[n])return mn[n];for(const[o,a]of Ky)if(o.test(e))return a;return null}function zc(e,t){return{id:`doxa-section-header-${Qr(e)}`,place_name:e,text:e,center:[0,0],place_type:["doxa-section-header"],geometry:{type:"Point",coordinates:[0,0]},properties:{headerLabel:e,isHeader:!0,isAllDataSection:!!t},feature:null}}function Qr(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function me(e){return e==null?"":typeof e=="string"?e.toLowerCase():typeof e=="object"&&"label"in e?String(e.label||"").toLowerCase():typeof e=="object"&&"value"in e?String(e.value||"").toLowerCase():String(e).toLowerCase()}function Aa(e){return e==null?"":typeof e=="string"?e:typeof e=="object"?e.label||e.value||"":String(e)}function Vy(e){var n,o,a,r,s;if(!Array.isArray(e))return[];const t=[];for(const i of e){if(!i)continue;const l=Number(i.latitude),c=Number(i.longitude);if(!Number.isFinite(l)||!Number.isFinite(c))continue;const u=me(i.name)+" "+me(i.displayName)+" "+me(i.alternateName),f=me(i.countryName)+" "+me(i.country)+" "+me(i.countryIso)+" "+me(i.countryIsoLabel),d=me(i.religionName)+" "+me(i.religion)+" "+me(i.religionLabel)+" "+me(i.religionCode),m=me(i.language)+" "+me(i.languageFamily)+" "+me(i.languageCode),b=me(i.doxaRegion)+" "+me(i.wagfRegion)+" "+me(i.wagfBlock),v=me(i.affinityBlock)+" "+me(i.affinityBlockLabel)+" "+me((n=i._raw)==null?void 0:n.rop1),E=me(i.cluster)+" "+me(i.clusterLabel)+" "+me((o=i._raw)==null?void 0:o.imb_reg_of_people_2),L=me(i.peopleGroup)+" "+me(i.peopleGroupLabel)+" "+me((a=i._raw)==null?void 0:a.imb_reg_of_people_25),A=((r=i._raw)==null?void 0:r.primary_language)??((s=i._raw)==null?void 0:s.PrimaryLanguage),h=A&&(typeof A=="object"?A.label||A.value:A)||Aa(i.language)||Aa(i.primaryLanguage)||"",_=Gy(h),w=Hy(h);t.push({feature:i,nameHay:u,countryHay:f,religionHay:d,languageHay:m,regionHay:b,haystack:u+" "+f+" "+d+" "+m+" "+b+" "+v+" "+E+" "+L,blocHay:v,clusterHay:E,pgHay:L,lat:l,lng:c,familyDerived:zy(h)||null,languageLabel:h,baseLang:_,dialectLabel:w})}return t}function Wy(e){const t=(n,o,a)=>{const r=new Map;for(const s of e){const i=n(s);if(!i)continue;const l=r.get(i);if(l)l.count+=1,l.lngSum+=s.lng,l.latSum+=s.lat,l.memberIds.push(String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")),l.minLng=Math.min(l.minLng,s.lng),l.maxLng=Math.max(l.maxLng,s.lng),l.minLat=Math.min(l.minLat,s.lat),l.maxLat=Math.max(l.maxLat,s.lat),a&&a(l,s,!1);else{const c={key:i,label:Aa(o(s))||i,count:1,lngSum:s.lng,latSum:s.lat,minLng:s.lng,maxLng:s.lng,minLat:s.lat,maxLat:s.lat,memberIds:[String(s.feature.uniqueId??s.feature.id??s.feature.slug??"")]};a&&a(c,s,!0),r.set(i,c)}}for(const s of r.values())s.lng=s.lngSum/s.count,s.lat=s.latSum/s.count;return Array.from(r.values())};return{countries:t(n=>me(n.feature.countryName)||me(n.feature.country)||me(n.feature.countryIso),n=>n.feature.countryName||n.feature.country||n.feature.countryIso||""),families:t(n=>me(n.familyDerived),n=>n.familyDerived||""),languages:t(n=>me(n.baseLang),n=>n.baseLang||""),dialects:t(n=>n.dialectLabel?`${me(n.baseLang)}__${me(n.dialectLabel)}`:"",n=>`${n.baseLang}, ${n.dialectLabel}`,(n,o,a)=>{a?(n.originalLabels=new Set([o.languageLabel]),n.familyDerived=o.familyDerived||"",n.baseLang=o.baseLang||"",n.dialectLabel=o.dialectLabel||""):(n.originalLabels.add(o.languageLabel),!n.familyDerived&&o.familyDerived&&(n.familyDerived=o.familyDerived))}),religions:t(n=>{var o,a,r;return wa(n.feature.religion||((a=(o=n.feature._raw)==null?void 0:o.religion)==null?void 0:a.value)||((r=n.feature._raw)==null?void 0:r.religion)||"")},n=>{var o,a,r;return Sa[wa(n.feature.religion||((a=(o=n.feature._raw)==null?void 0:o.religion)==null?void 0:a.value)||((r=n.feature._raw)==null?void 0:r.religion)||"")]||"Unknown"}),regions:t(n=>me(n.feature.doxaRegion)||me(n.feature.wagfRegion),n=>{var o,a;return n.feature.wagfRegionLabel||n.feature.doxaRegionLabel||((a=(o=n.feature._raw)==null?void 0:o.wagf_region)==null?void 0:a.label)||n.feature.doxaRegion||n.feature.wagfRegion||""}),wagfBlocks:t(n=>me(n.feature.wagfBlock),n=>{var o,a;return n.feature.wagfBlockLabel||((a=(o=n.feature._raw)==null?void 0:o.wagf_block)==null?void 0:a.label)||n.feature.wagfBlock||""}),blocs:t(n=>me(n.feature.affinityBlockLabel)||me(n.feature.affinityBlock),n=>n.feature.affinityBlockLabel||n.feature.affinityBlock||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"")}),clusters:t(n=>{const o=n.feature.affinityBlock||"",a=n.feature.cluster||"";return a?`${o}__${a}`:""},n=>n.feature.clusterLabel||n.feature.cluster||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"",n.blocLabel=o.feature.affinityBlockLabel||"",n.clusterCode=o.feature.cluster||"")}),peopleGroups:t(n=>me(n.feature.peopleGroup)||me(n.feature.peopleGroupLabel),n=>n.feature.peopleGroupLabel||n.feature.peopleGroup||n.feature.name||"",(n,o,a)=>{a&&(n.blocCode=o.feature.affinityBlock||"",n.blocLabel=o.feature.affinityBlockLabel||"",n.clusterCode=o.feature.cluster||"",n.clusterLabel=o.feature.clusterLabel||"",n.peopleGroupCode=o.feature.peopleGroup||"")})}}function Yy(e){const t=e.feature,n=t.name||t.displayName||t.slug||"Unknown",o=t.countryName||t.country||t.countryIso||"",a=t.religionName||t.religion||"",r=t.slug||t.uniqueId||Qr(n+"-"+o),s=[e.lng,e.lat],i=[o,a].filter(Boolean).join(" — "),l=i?`${n}, ${i}`:n;return{id:`doxa-pg-${r}`,place_name:l,text:n,center:s,place_type:["people-group"],geometry:{type:"Point",coordinates:s},properties:{slug:r,...t},feature:t}}function Ot(e,t){let n,o;switch(e){case"country":n="doxa-country",o="doxa-country-";break;case"region":n="doxa-region",o="doxa-region-";break;case"language-family":n="doxa-language-family",o="doxa-language-family-";break;case"language":n="doxa-language",o="doxa-language-";break;case"dialect":n="doxa-dialect",o="doxa-dialect-";break;case"religion":n="doxa-religion",o="doxa-religion-";break;case"affinity-bloc":n="doxa-affinity-bloc",o="doxa-affinity-bloc-";break;case"cluster":n="doxa-cluster",o="doxa-cluster-";break;case"people-group":n="doxa-people-group",o="doxa-people-group-";break;default:n="doxa",o="doxa-"}const a=Aa(t.label)||t.key,r=Qr(t.key),s=[t.lng,t.lat],l={"affinity-bloc":"Affinity Block",cluster:"Cluster","people-group":"PG","pg-in-country":"PGIC"}[e],c=l?`${a} (${l}) · ${t.count}`:`${a} (${t.count})`,u=t.originalLabels?Array.from(t.originalLabels):void 0,f=e==="dialect"?{familyDerived:t.familyDerived||"",baseLang:t.baseLang||"",dialectLabel:t.dialectLabel||""}:null;return{id:`${o}${r}`,place_name:c,text:a,center:s,bbox:[t.minLng,t.minLat,t.maxLng,t.maxLat],place_type:[n],geometry:{type:"Point",coordinates:s},properties:{slug:r,doxaAggregate:e,count:t.count,label:a,memberIds:t.memberIds,bounds:[t.minLng,t.minLat,t.maxLng,t.maxLat],...u?{originalLabels:u}:{},...f||{},...e==="affinity-bloc"?{blocCode:t.blocCode||""}:{},...e==="cluster"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||""}:{},...e==="people-group"?{blocCode:t.blocCode||"",blocLabel:t.blocLabel||"",clusterCode:t.clusterCode||"",clusterLabel:t.clusterLabel||"",peopleGroupCode:t.peopleGroupCode||""}:{}},feature:null}}function qy(e={}){const{dataStore:t,dataSourceId:n,getActiveFilter:o,getActiveContext:a}=e,{t:r}=vo(),s=se(()=>{var f,d;if(!t||!t.sources)return[];if(n&&((f=t.sources[n])!=null&&f.features))return t.sources[n].features;for(const m of Object.keys(t.sources)){const b=t.sources[m];if((d=b==null?void 0:b.features)!=null&&d.length)return b.features}return[]}),i=se(()=>Vy(s.value)),l=se(()=>Wy(i.value));function c(f){const d=String(f||"").trim().toLowerCase(),m={people:[],places:[],regions:[],wagfBlocks:[],families:[],languages:[],dialects:[],religions:[],blocs:[],clusters:[],peopleGroups:[]};if(d.length<2)return m;const b=d.split(/[\s,;]+/).filter(Boolean);if(!b.length)return m;const v=i.value;if(!v.length)return m;const E=l.value,L=[];for(const j of v){let Y=!0;for(const Q of b)if(!j.haystack.includes(Q)){Y=!1;break}if(!Y)continue;let X=0;b.some(Q=>j.nameHay.includes(Q))&&(X+=Dy),b.some(Q=>j.countryHay.includes(Q))&&(X+=By),b.some(Q=>j.religionHay.includes(Q))&&(X+=Uy),b.some(Q=>j.languageHay.includes(Q))&&(X+=jy),L.push({entry:j,score:X})}L.sort((j,Y)=>Y.score-j.score);const A=L.slice(0,Zr).map(j=>Yy(j.entry)),h=j=>j.filter(Y=>b.every(X=>Y.key.includes(X)||me(Y.label).includes(X))).sort((Y,X)=>X.count-Y.count).slice(0,Zr),_=h(E.countries).map(j=>Ot("country",j)),w=h(E.regions).map(j=>Ot("region",j)),S=h(E.wagfBlocks).map(j=>Ot("region",j)),T=h(E.families).map(j=>Ot("language-family",j)),C=h(E.languages).map(j=>Ot("language",j)),x=h(E.dialects).map(j=>Ot("dialect",j)),O=h(E.religions).map(j=>Ot("religion",j)),V=h(E.blocs).map(j=>Ot("affinity-bloc",j));let z=h(E.clusters).map(j=>Ot("cluster",j)),P=h(E.peopleGroups).map(j=>Ot("people-group",j));const H=new Set(V.map(j=>me(j.text)));z=z.filter(j=>!H.has(me(j.text)));const oe=new Set(z.map(j=>me(j.text)));return P=P.filter(j=>!H.has(me(j.text))&&!oe.has(me(j.text))),{people:A,places:_,regions:w,wagfBlocks:S,families:T,languages:C,dialects:x,religions:O,blocs:V,clusters:z,peopleGroups:P}}function u(f){const d=typeof o=="function"?o():null,m=typeof a=="function"?a():null,b=c(f),v=Ry(m),E=Oy[m],L=E?Object.fromEntries(E.filter(T=>b[T]).map(T=>[T,b[T]])):b,A=v.flatMap(T=>L[T]||[]);if(!(d!=null&&d.key)||!A.length)return A.slice(0,Hc);const h=[];for(const T of b.people){const C=i.value.find(O=>O.feature===T.feature);let x=!1;C&&(d.kind==="family"?x=(C.familyDerived||"").toLowerCase()===d.key.toLowerCase():d.kind==="language"&&(x=C.languageLabel.toLowerCase()===d.key.toLowerCase())),x&&h.push(T)}const _=[],w=d.key;h.length&&(_.push(zc(r("search.sections.within",{selection:w}),!1)),_.push(...h.slice(0,Zr)));const S=v.flatMap(T=>(L[T]||[]).slice(0,Fy[T]??3)).map(T=>({...T,properties:{...T.properties,_allDataSection:!0}}));return _.push(zc(r("search.sections.allData"),!0)),_.push(...S),_.slice(0,Hc+8)}return{search:u,searchGrouped:c,index:i,aggregates:l}}const Vc="https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.min.js",Jy={__name:"GeocoderComponent",props:{mapInstance:{type:Object,required:!1,default:null},accessToken:{type:String,required:!0},provider:{type:String,default:"mapbox"},isDark:{type:Boolean,default:!1},standalone:{type:Boolean,default:!1},placeholder:{type:String,default:""},dataSourceId:{type:String,default:""},activeContext:{type:String,default:""}},emits:["result","people-group-result","aggregate-result","clear","error"],setup(e,{expose:t,emit:n}){function o(O){return O+O.replace(/mapboxgl/g,"maplibregl")}ut(o('.mapboxgl-ctrl-geocoder--input,.mapboxgl-ctrl-geocoder input[type="text"],.mapboxgl-ctrl-geocoder input[type="search"]{font-size:16px !important;line-height:1.3;}'),"geocoder-ios-zoom-fix"),ut(o(".mapboxgl-ctrl-geocoder--icon-loading{display:none !important;}"),"geocoder-hide-loading"),ut(o(".mapboxgl-ctrl-geocoder{height:35px!important;min-height:35px!important;box-sizing:border-box!important;}.mapboxgl-ctrl-geocoder--input{height:35px!important;min-height:35px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important;}.mapboxgl-ctrl-geocoder--icon-search{top:50%!important;transform:translateY(-50%)!important;margin-top:0!important;left:7px!important;}"),"geocoder-height-35"),ut(o(".mapboxgl-ctrl-geocoder{width:100%!important;max-width:100%!important;min-width:0!important;}@media(max-width:767px){.mapboxgl-ctrl-top-left{top:10px!important;left:3px!important;right:3px!important;width:calc(100% - 6px)!important;max-width:none!important;}}.mapboxgl-ctrl-geocoder{border-radius:999px!important;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.15)!important;transition:box-shadow .12s,border-color .12s;}.mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.15),0 0 0 3px rgba(59,70,61,0.18)!important;}.mapboxgl-ctrl-geocoder--input{border-radius:999px!important;font-size:13px!important;}.mapboxgl-ctrl-geocoder--input::placeholder{font-size:12px!important;}.mapboxgl-ctrl-geocoder--button{display:none!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;width:24px!important;height:24px!important;background:transparent!important;border:none!important;box-shadow:none!important;}.mapboxgl-ctrl-geocoder:has(.mapboxgl-ctrl-geocoder--input:not(:placeholder-shown)) .mapboxgl-ctrl-geocoder--button{display:block!important;}.mapboxgl-ctrl-geocoder--button .mapboxgl-ctrl-geocoder--icon-close{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:16px!important;height:16px!important;}.mapboxgl-ctrl-geocoder--suggestions,.mapboxgl-ctrl-geocoder .suggestions{z-index:1200!important;position:absolute;max-height:60vh!important;overflow-y:auto!important;}.geocoder-dark.mapboxgl-ctrl-geocoder,.dsm-dark .mapboxgl-ctrl-geocoder{background:#4e594f!important;border:1px solid rgba(255,255,255,0.14)!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important;}.geocoder-dark.mapboxgl-ctrl-geocoder:focus-within,.dsm-dark .mapboxgl-ctrl-geocoder:focus-within{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 0 0 3px rgba(115,161,127,0.22)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input,.dsm-dark .mapboxgl-ctrl-geocoder--input{color:#F3F3F1!important;background:transparent!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--input::placeholder,.dsm-dark .mapboxgl-ctrl-geocoder--input::placeholder{color:rgba(243,243,241,0.65)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--icon,.dsm-dark .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon{fill:rgba(243,243,241,0.75)!important;}.geocoder-dark .mapboxgl-ctrl-geocoder--button,.dsm-dark .mapboxgl-ctrl-geocoder--button{background:transparent!important;}"),"geocoder-skin");const{t:a,locale:r}=vo(),s=e,i=se(()=>s.placeholder||a("search.placeholder")),l=n,c={"&":"&","<":"<",">":">",'"':""","'":"'"};function u(O){return String(O??"").replace(/[&<>"']/g,V=>c[V])}function f(O){return O==null?"":typeof O=="string"?O:typeof O=="object"?O.label||O.value||"":String(O)}const d={"people-group":"people","doxa-people-group":"peopleGroup","doxa-affinity-bloc":"bloc","doxa-cluster":"cluster","doxa-country":"country","doxa-region":"region","doxa-language-family":"family","doxa-language":"languageKind","doxa-dialect":"dialect","doxa-religion":"religionKind"};function m(O){const V=d[O];if(!V)return"";const z=a("search.kinds."+V);return`${u(z)} `}function b(O){var P;if(!O)return"";const V=O.place_type||[];if(V.includes("doxa-section-header"))return``;if(V.includes("people-group")){const H=O.properties||{},oe=f(H.name)||f(H.displayName)||f(O.text)||"",j=f(H.countryName)||f(H.country)||f(H.countryIso)||"",Y=f(H.language)||f(H.primaryLanguage)||f(H.languageFamily)||"",X=f(H.religionName)||f(H.religion)||"",Q=a("search.labels.place"),G=a("search.labels.language"),q=a("search.labels.religion"),te=[];return j&&te.push(`${u(Q)} ${u(j)} `),Y&&te.push(`${u(G)} ${u(Y)} `),X&&te.push(`${u(q)} ${u(X)} `),`${m("people-group")}${u(oe)}
`+(te.length?`${te.join("")}
`:"")}const z=V.find(H=>H.startsWith("doxa-"));if(z){const H=O.properties||{},oe=u(f(H.label)||O.text||""),j=Number(H.count)||0,Y=j?` ${j} `:"";return`${m(z)}${oe} ${Y}
`}return`${u(O.place_name||O.text||"")}
`}const v=ye("dataStore",null),E=ye("mapStore",null),L=ye("uiStore",null);function A(){return E?E.selectedFamily?{kind:"family",key:E.selectedFamily}:E.selectedLanguage?{kind:"language",key:E.selectedLanguage}:null:null}const{search:h}=qy({dataStore:v,dataSourceId:s.dataSourceId||void 0,getActiveFilter:A,getActiveContext:()=>s.activeContext||null}),_=pe(null),w=pe(null),S={mapbox:"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.css",maplibre:"https://cdn.jsdelivr.net/npm/@maplibre/maplibre-gl-geocoder@1/dist/maplibre-gl-geocoder.css"};function T(O,V){const z=S[V]||S.mapbox;if(O.querySelector(`link[href="${z}"]`))return;const P=document.createElement("link");P.rel="stylesheet",P.href=z,O.prepend(P)}async function C(){if(typeof window<"u"&&window.MaplibreGeocoder||typeof document>"u")return;const O=document.querySelector(`script[src="${Vc}"]`);if(O){if(window.MaplibreGeocoder)return;await new Promise(V=>{O.addEventListener("load",V,{once:!0}),O.addEventListener("error",V,{once:!0})});return}await new Promise((V,z)=>{const P=document.createElement("script");P.src=Vc,P.async=!1,P.addEventListener("load",V,{once:!0}),P.addEventListener("error",()=>z(new Error("[GeocoderComponent] Failed to load MapLibre geocoder")),{once:!0}),document.head.appendChild(P)})}function x(O,V){return async z=>{const P={features:[]};if(!O||!(z!=null&&z.query))return P;try{const H=Array.isArray(z.language)?z.language[0]:z.language||V()||"en",oe=new URLSearchParams({access_token:O,autocomplete:"true",limit:String(z.limit||5)});H&&oe.set("language",H);const j=`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(z.query)}.json?${oe.toString()}`,Y=await fetch(j);if(!Y.ok)return P;const X=await Y.json();return X&&Array.isArray(X.features)?X:P}catch{return P}}}return st(async()=>{var H,oe,j,Y,X;const O=s.provider==="maplibre";if(O){if(await C(),typeof MaplibreGeocoder>"u"){console.error("[GeocoderComponent] MaplibreGeocoder global unavailable.");return}}else if(typeof MapboxGeocoder>"u")return;const V=s.mapInstance;if(!s.standalone&&!V)return;const z=s.standalone?(oe=(H=w.value)==null?void 0:H.getRootNode)==null?void 0:oe.call(H):(X=(Y=(j=V.getContainer)==null?void 0:j.call(V))==null?void 0:Y.getRootNode)==null?void 0:X.call(Y);z instanceof ShadowRoot&&T(z,s.provider);const P={marker:!1,flyTo:!s.standalone,trackProximity:!s.standalone,placeholder:i.value,language:r.value||"en",localGeocoder:h,limit:20,zoom:6,render:b};if(O){const Q=typeof maplibregl<"u"?maplibregl:void 0,G={forwardGeocode:x(s.accessToken,()=>r.value)};_.value=new MaplibreGeocoder(G,{...P,maplibregl:Q,showResultsWhileTyping:!0,reverseGeocode:!1})}else _.value=new MapboxGeocoder({accessToken:s.accessToken,mapboxgl,...P});if(_.value.on("result",Q=>{var q,te,ce,Se,xe,Ke,Be,Ue,dt,K,le,y,k,$,I,R,U,J,Z,g,p,M,D,ee,W,N,B,ue,_e,Ee;const G=Q==null?void 0:Q.result;G&&((q=G.place_type)!=null&&q.includes("doxa-section-header")||(E&&(E.selectedRegion=null,E.selectedResource=null,E.selectedAffinityBlock=null,E.selectedDialect=null),L&&((te=L.setPrayerFilter)==null||te.call(L,null),(ce=L.setEngagementFilter)==null||ce.call(L,null),(Se=L.setAdoptionFilter)==null||Se.call(L,null),(xe=L.setReligionFilter)==null||xe.call(L,null)),(Ke=G.properties)!=null&&Ke._allDataSection&&E&&(E.selectedFamily=null,E.selectedLanguage=null),l("result",Q),(Be=G.place_type)!=null&&Be.includes("people-group")&&G.feature?l("people-group-result",{type:"Feature",properties:G.properties||G.feature,geometry:G.geometry||{type:"Point",coordinates:G.center}}):((Ue=G.place_type)!=null&&Ue.includes("doxa-country")||(dt=G.place_type)!=null&&dt.includes("doxa-region")||(K=G.place_type)!=null&&K.includes("doxa-language-family")||(le=G.place_type)!=null&&le.includes("doxa-language")||(y=G.place_type)!=null&&y.includes("doxa-dialect")||(k=G.place_type)!=null&&k.includes("doxa-religion")||($=G.place_type)!=null&&$.includes("doxa-affinity-bloc")||(I=G.place_type)!=null&&I.includes("doxa-cluster")||(R=G.place_type)!=null&&R.includes("doxa-people-group"))&&l("aggregate-result",{kind:G.place_type[0].replace(/^doxa-/,""),label:((U=G.properties)==null?void 0:U.label)||G.text,count:((J=G.properties)==null?void 0:J.count)||0,memberIds:((Z=G.properties)==null?void 0:Z.memberIds)||[],bounds:((g=G.properties)==null?void 0:g.bounds)||null,center:G.center,originalLabels:((p=G.properties)==null?void 0:p.originalLabels)||null,familyDerived:((M=G.properties)==null?void 0:M.familyDerived)||"",baseLang:((D=G.properties)==null?void 0:D.baseLang)||"",dialectLabel:((ee=G.properties)==null?void 0:ee.dialectLabel)||"",slug:((W=G.properties)==null?void 0:W.slug)||null,id:G.id||null,blocCode:((N=G.properties)==null?void 0:N.blocCode)||"",blocLabel:((B=G.properties)==null?void 0:B.blocLabel)||"",clusterCode:((ue=G.properties)==null?void 0:ue.clusterCode)||"",clusterLabel:((_e=G.properties)==null?void 0:_e.clusterLabel)||"",peopleGroupCode:((Ee=G.properties)==null?void 0:Ee.peopleGroupCode)||"",properties:G.properties||null})))}),_.value.on("clear",()=>l("clear")),_.value.on("error",Q=>l("error",Q)),s.standalone){if(w.value){const Q={on(){},off(){},fire(){},getContainer:()=>w.value,getZoom:()=>0,getCenter:()=>({lng:0,lat:0}),getBounds:()=>null,flyTo(){},fitBounds(){},addControl(){},removeControl(){},hasControl:()=>!1};try{const G=_.value.onAdd(s.mapInstance||Q);G&&w.value.appendChild(G)}catch(G){l("error",G)}}}else V.addControl(_.value,"top-left")}),bt(i,O=>{var P,H;const V=_.value;if(!V)return;const z=V._inputEl||((H=(P=V.container)==null?void 0:P.querySelector)==null?void 0:H.call(P,"input.mapboxgl-ctrl-geocoder--input"));z&&(z.placeholder=O,z.setAttribute("placeholder",O)),V.options&&(V.options.placeholder=O)}),bt(r,O=>{const V=_.value;V!=null&&V.options&&(V.options.language=O||"en")}),on(()=>{var O,V;if(_.value){try{s.standalone?(V=(O=_.value).onRemove)==null||V.call(O):s.mapInstance&&s.mapInstance.removeControl(_.value)}catch{}_.value=null}}),t({geocoder:_}),(O,V)=>e.standalone?(ae(),ie("div",{key:0,ref_key:"standaloneContainer",ref:w,class:"dg-standalone-geocoder"},null,512)):gd(O.$slots,"default",{},void 0,void 0,1)}};function Xy(e){const{map:t,geocoderRef:n,clustering:o,mapStore:a,uiStore:r,mapLayers:s,pplrInstance:i,onSemanticTreeSelect:l,switchTab:c,activeTabId:u,clearAllHighlights:f,clearCountryHighlight:d,mapId:m,supportedKinds:b,legendRouters:v={},peopleGroupResult:E,busAdapter:L}=e,A=e.filterLayerId||"language-family-pins";let h=!1;function _(){var oe,j,Y,X,Q;h=!0;const P=(j=(oe=n.value)==null?void 0:oe.geocoder)==null?void 0:j.value;(Y=P==null?void 0:P.clear)==null||Y.call(P);const H=(P==null?void 0:P._inputEl)||((Q=(X=P==null?void 0:P.container)==null?void 0:X.querySelector)==null?void 0:Q.call(X,"input.mapboxgl-ctrl-geocoder--input"));if(H){H.value="";try{H.dispatchEvent(new Event("input",{bubbles:!0}))}catch{}}h=!1}function w(P,H){const oe=`${A}-hitbox`;if(P!=null&&P.getLayer(oe))try{P.setFilter(oe,H)}catch{}}function S(){typeof window>"u"||typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:reveal-selected",{detail:{mapId:m}}))}const T={country:"countryName","language-family":"languageFamily",language:"language",dialect:"language",religion:"religionName",region:"doxaRegion","affinity-bloc":"affinityBlock",cluster:"cluster","people-group":"peopleGroup"};function C(P,H,oe){var j,Y,X;if(P.kind==="language")return["any",["==",["get",H],oe],["==",["slice",["get",H],0,oe.length+1],oe+","],["in"," "+oe,["get",H]]];if(P.kind==="dialect"){const Q=Array.isArray(P.originalLabels)?P.originalLabels:[];return Q.length===1?["==",["get",H],Q[0]]:Q.length>1?["in",["get",H],["literal",Q]]:["==",["get",H],oe]}else if(P.kind==="affinity-bloc"){const Q=P.blocCode||((j=P.properties)==null?void 0:j.blocCode)||"";return Q?["==",["get","affinityBlock"],Q]:["==",["get","affinityBlockLabel"],oe]}else if(P.kind==="cluster"){const Q=P.clusterCode||((Y=P.properties)==null?void 0:Y.clusterCode)||"",G=P.blocCode||((X=P.properties)==null?void 0:X.blocCode)||"";return Q&&G?["all",["==",["get","affinityBlock"],G],["==",["get","cluster"],Q]]:["==",["get","clusterLabel"],oe]}else return["==",["get",H],oe]}function x(P){if(!P||b&&!b.includes(P.kind))return null;const H=T[P.kind]||null,oe=P.label;return!H||oe==null||oe===""?null:{kind:P.kind,value:oe,property:H,expr:C(P,H,oe)}}function O(P){var j,Y,X,Q;if(!P)return;d==null||d();const H=re(t),oe=((j=P.properties)==null?void 0:j.id)||((Y=P.properties)==null?void 0:Y.uniqueId)||null;if((X=r==null?void 0:r.selectPeopleGroup)==null||X.call(r,{...P,properties:{...P.properties,uniqueId:oe}}),H&&oe!=null&&H.getLayer(A)){const G=["==",["get","uniqueId"],oe];try{H.setFilter(A,null)}catch{}w(H,G),H.setPaintProperty(A,"circle-opacity",["case",G,1,0]),H.setPaintProperty(A,"circle-stroke-opacity",["case",G,1,0]),H.getLayer(`${A}-shadow`)&&H.setPaintProperty(`${A}-shadow`,"circle-opacity",["case",G,1,0]),(Q=s==null?void 0:s.syncGlowFilter)==null||Q.call(s,G)}}function V(P){var Q;if(L){const G=x(P);if(!G)return;L.aggregate(G,P);return}const H=re(t);if(!P||!H||!H.getLayer(A)||b&&!b.includes(P.kind))return;P.kind!=="country"&&(d==null||d());const oe=x(P);if(!oe)return;const{property:j,value:Y}=oe;try{H.setFilter(A,oe.expr)}catch{}o.setSelectionFilter({property:j,value:Y});let X=!1;if(P.kind==="language-family"||P.kind==="family")a.selectFamily(P.label),a.setActiveLegendTab("family"),X=!0;else if(P.kind==="language")a.selectLanguage(P.label),a.setActiveLegendTab("language"),X=!0;else if(P.kind==="dialect"){const G=Array.isArray(P.originalLabels)?P.originalLabels:[],q=P.familyDerived||"",te=P.baseLang||"",ce=P.dialectLabel||"",Se=`${q}__${te}__${ce}`;(Q=a.selectDialect)==null||Q.call(a,{key:Se,originalLabels:G}),a.setActiveLegendTab("dialect"),X=!0}else if(P.kind==="affinity-bloc"||P.kind==="cluster"||P.kind==="people-group"){let G=null;if(P.kind==="affinity-bloc"){const q=P.blocCode||"";G={id:`bloc:${q}`,label:P.label,depth:0,filter:q?["==",["get","affinityBlock"],q]:null}}else if(P.kind==="cluster"){const q=P.blocCode||"",te=P.clusterCode||"";G={id:`cluster:${q}__${te}`,label:P.label,depth:1,filter:te?["==",["get","cluster"],te]:null}}else if(P.kind==="people-group"){const q=P.blocCode||"",te=P.clusterCode||"",ce=P.peopleGroupCode||"";G={id:`pg:${q}__${te}__${ce}`,label:P.label,depth:2,filter:ce?["==",["get","peopleGroup"],ce]:null}}if(G&&G.filter){const q=()=>{try{H.setFilter(A,null)}catch{}l(G),i&&i.selection&&(i.selection.value=G)};u.value!=="affinity-blocks"?(c("affinity-blocks"),Ho(q)):q()}X=!0}else v[P.kind]&&(v[P.kind](P,{map:H,filterLayerId:A,clearGeocoder:_,emitLegendReveal:S,property:j,value:Y}),X=!0);X&&(_(),S())}function z(){var H,oe,j;if(L){L.clear();return}if(h)return;d==null||d();const P=re(t);a.selectedRegion&&((H=a.selectRegion)==null||H.call(a,null)),a.selectedResource&&((oe=a.selectResource)==null||oe.call(a,null)),P&&P.getLayer(A)?f(P):(a.selectFamily(null),a.selectLanguage(null),(j=a.selectDialect)==null||j.call(a,null),o.setSelectionFilter(null))}return{onPeopleGroupResult:L?P=>L.peopleGroup(P):E||O,onAggregateResult:V,onClear:z,clearGeocoderProgrammatic:_}}const Zy={class:"rd-searchbar-header","data-region":"search","data-sub":"search-header"},Qy=["data-search-bar"],Wc="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.0/mapbox-gl-geocoder.min.js",ev={__name:"DashboardSearchHeader",setup(e){const t=ye("selectionBus",null),n=ye("dashboardData",null),o=ye("dashboardConfig",{}),a=ye("mapboxToken",pe("")),r=ye("searchSourceId",""),s=se(()=>re(a)||""),i=pe(!1);function l(){if(typeof window>"u")return;if(typeof window.MapboxGeocoder<"u"){i.value=!0;return}let d=document.querySelector(`script[src="${Wc}"]`);d||(d=document.createElement("script"),d.src=Wc,d.async=!0,document.head.appendChild(d)),d.addEventListener("load",()=>{i.value=!0}),typeof window.MapboxGeocoder<"u"&&(i.value=!0)}st(l);const c={region:"wagf_region",country:"country_code",block:"wagf_block",province:"wagf_block",religion:"religion","language-family":"primary_language",language:"primary_language",dialect:"primary_language"};function u(d,m,b){var A,h,_;const v=(h=(A=o.facets)==null?void 0:A[d])==null?void 0:h.get,E=(_=n==null?void 0:n.rowStore)==null?void 0:_.value,L=(b==null?void 0:b.memberIds)&&b.memberIds[0]||(b==null?void 0:b.slug);if(v&&E&&L){const w=E.get(L);if(w){const S=v(w);if(S!=null&&S!=="")return S}}return(m==null?void 0:m.value)!=null&&m.value!==""?m.value:b==null?void 0:b.label}const f=(o.search||[]).map(d=>{const m=pe(null),b={_lastFacet:null,_selectedMembers:!1};function v(A,h){const _=Array.isArray(A)?A.filter(Boolean):[];if(!_.length||!t)return!1;t.selectionSet.clear();for(const w of _)t.selectionSet.add(w);return t.emit("select",t.selectionSet),t.emit("focusRow",{slug:_[0],name:h}),!0}const L=Xy({busAdapter:{aggregate(A,h){if(!t)return;const _=c[A.kind];if(_){const w=u(_,A,h);if(w==null||w==="")return;t.setFilter(_,w),b._lastFacet=_;return}v(h==null?void 0:h.memberIds,A.value)&&(b._selectedMembers=!0)},peopleGroup(A){var _,w;const h=((_=A==null?void 0:A.properties)==null?void 0:_.slug)||(A==null?void 0:A.slug);!h||!t||(t.toggleSelect(h),t.emit("focusRow",{slug:h,name:(w=A==null?void 0:A.properties)==null?void 0:w.name}))},clear(){t&&(b._lastFacet&&(t.setFilter(b._lastFacet,null),b._lastFacet=null),b._selectedMembers&&(t.clearSelection(),b._selectedMembers=!1))}},supportedKinds:d.kinds,geocoderRef:m,mapId:d.id});return{entry:d,geocoderRef:m,handlers:L}});return ut(`
/* position:relative + high z-index so the absolutely-positioned geocoder
suggestion dropdowns render ABOVE the stats/map/table rows below this header.
overflow MUST be visible — overflow-x:auto created a clipping context that
@@ -238,7 +238,7 @@
.rd-searchbar .mapboxgl-ctrl-geocoder .suggestions,
.rd-searchbar .mapboxgl-ctrl-geocoder ul.suggestions,
.rd-searchbar .mapboxgl-ctrl-geocoder--results{ z-index:200!important; }
-`,"rd-search-header"),(d,b)=>(ae(),ie("div",Zy,[(ae(!0),ie(Ae,null,et(re(f),_=>(ae(),ie("div",{key:_.entry.id,class:"rd-searchbar","data-search-bar":_.entry.id},[i.value?(ae(),io(Jy,{key:0,ref_for:!0,ref:v=>{_.geocoderRef.value=v},standalone:"","access-token":s.value,"data-source-id":re(r),placeholder:_.entry.label,"active-context":_.entry.context,onAggregateResult:_.handlers.onAggregateResult,onPeopleGroupResult:_.handlers.onPeopleGroupResult,onClear:_.handlers.onClear},null,8,["access-token","data-source-id","placeholder","active-context","onAggregateResult","onPeopleGroupResult","onClear"])):tt("",!0)],8,Qy))),128))]))}},Yc=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},es=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",tv={id:"doxa-research-dashboard",title:"Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{religion:{label:"Religion",get:e=>Be(e.religion)},wagf_region:{label:"Region",get:e=>Be(e.wagf_region)},wagf_block:{label:"Block",get:e=>Be(e.wagf_block)},country_code:{label:"Country",get:e=>Be(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Be(e.engagement_status)},language_family:{label:"Language Family",get:e=>Be(e.imb_language_family)},primary_language:{label:"Language",get:e=>Be(e.primary_language)},affinity_bloc:{label:"Affinity Bloc",get:e=>es(e.rop1)},cluster:{label:"Cluster",get:e=>es(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>es(e.imb_reg_of_people_25)}},facetRail:[{id:"people",title:"People",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",facet:"religion",topN:24},{id:"status",title:"Status",facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"% unreached",kind:"pct",test:e=>!/engaged/i.test(Be(e.engagement_status))||/unengaged/i.test(Be(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"Adopted %",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str"},{key:"country",label:"Country",get:e=>Be(e.country_code),type:"str"},{key:"region",label:"Region",get:e=>Be(e.wagf_region),type:"str"},{key:"language",label:"Language",get:e=>Be(e.primary_language),type:"str"},{key:"religion",label:"Religion",get:e=>Be(e.religion),type:"str"},{key:"population",label:"Population",get:e=>Yc(e.population),type:"num"},{key:"people_praying",label:"Praying",get:e=>Yc(e.people_praying),type:"num"},{key:"engagement",label:"Engagement",get:e=>Be(e.engagement_status),type:"str"}],charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},nv=["data-row-count","data-loading","data-error","data-narrow"],ov={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},av=["data-kpi"],rv={class:"l"},sv={key:0,class:"d","data-kpi-delta":""},iv={class:"rd-cell-map","data-region":"map"},lv=["title"],cv=["title"],uv={class:"rd-cell-table","data-region":"table"},dv={class:"rd-rail","data-region":"rail"},fv=["data-view"],gv=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",setup(e){const{bus:t,data:n,kpis:o,exporter:a,responsive:r}=tb(tv),s=n.total,i=n.loading,l=n.error,{shell:c,isNarrow:u,slimRail:f,slimFacet:d,mobileView:b,SEG:_,tableCollapsed:v,facetCollapsed:E,railCollapsed:k,setView:A,showFacets:h,showMap:m,showTable:w,showCharts:S}=r,{startFacetResize:T,startRailResize:C,startTableResize:x}=ab({shellRef:c,bus:t,isNarrow:u,storageKey:"rd-dashboard-layout",defaults:{facetW:248,railW:312,tableH:"34%"}});function F(J){return J.kind==="pct"?J.value:J.kind==="distinct"?J.value||"—":yc(J.value)}const W=se(()=>t.selectionSet?t.selectionSet.size:0);function z(){a.exportCsv()}function P(){t.clearSelection()}function H(){t.emit("toggleTable",!1)}function ne(){t.emit("toggleFacet",!E.value)}function U(){t.emit("toggleRail",!k.value)}function Y(J){const te=J.target&&J.target.closest&&J.target.closest("[data-bar-export],[data-bar-clear]");te&&(te.hasAttribute("data-bar-export")?z():P())}return dt(`
+`,"rd-search-header"),(d,m)=>(ae(),ie("div",Zy,[(ae(!0),ie($e,null,Qe(re(f),b=>(ae(),ie("div",{key:b.entry.id,class:"rd-searchbar","data-search-bar":b.entry.id},[i.value?(ae(),io(Jy,{key:0,ref_for:!0,ref:v=>{b.geocoderRef.value=v},standalone:"","access-token":s.value,"data-source-id":re(r),placeholder:b.entry.label,"active-context":b.entry.context,onAggregateResult:b.handlers.onAggregateResult,onPeopleGroupResult:b.handlers.onPeopleGroupResult,onClear:b.handlers.onClear},null,8,["access-token","data-source-id","placeholder","active-context","onAggregateResult","onPeopleGroupResult","onClear"])):et("",!0)],8,Qy))),128))]))}},Yc=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},es=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",tv={id:"doxa-research-dashboard",title:"Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{religion:{label:"Religion",get:e=>De(e.religion)},wagf_region:{label:"Region",get:e=>De(e.wagf_region)},wagf_block:{label:"Block",get:e=>De(e.wagf_block)},country_code:{label:"Country",get:e=>De(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>De(e.engagement_status)},language_family:{label:"Language Family",get:e=>De(e.imb_language_family)},primary_language:{label:"Language",get:e=>De(e.primary_language)},affinity_bloc:{label:"Affinity Bloc",get:e=>es(e.rop1)},cluster:{label:"Cluster",get:e=>es(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>es(e.imb_reg_of_people_25)}},facetRail:[{id:"people",title:"People",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",facet:"religion",topN:24},{id:"status",title:"Status",facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"% unreached",kind:"pct",test:e=>!/engaged/i.test(De(e.engagement_status))||/unengaged/i.test(De(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"Adopted %",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str"},{key:"country",label:"Country",get:e=>De(e.country_code),type:"str"},{key:"region",label:"Region",get:e=>De(e.wagf_region),type:"str"},{key:"language",label:"Language",get:e=>De(e.primary_language),type:"str"},{key:"religion",label:"Religion",get:e=>De(e.religion),type:"str"},{key:"population",label:"Population",get:e=>Yc(e.population),type:"num"},{key:"people_praying",label:"Praying",get:e=>Yc(e.people_praying),type:"num"},{key:"engagement",label:"Engagement",get:e=>De(e.engagement_status),type:"str"}],charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},nv=["data-row-count","data-loading","data-error","data-narrow"],ov={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},av=["data-kpi"],rv={class:"l"},sv={key:0,class:"d","data-kpi-delta":""},iv={class:"rd-cell-map","data-region":"map"},lv=["title"],cv=["title"],uv={class:"rd-cell-table","data-region":"table"},dv={class:"rd-rail","data-region":"rail"},fv=["data-view"],gv=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",setup(e){const{bus:t,data:n,kpis:o,exporter:a,responsive:r}=tb(tv),s=n.total,i=n.loading,l=n.error,{shell:c,isNarrow:u,slimRail:f,slimFacet:d,mobileView:m,SEG:b,tableCollapsed:v,facetCollapsed:E,railCollapsed:L,setView:A,showFacets:h,showMap:_,showTable:w,showCharts:S}=r,{startFacetResize:T,startRailResize:C,startTableResize:x}=ab({shellRef:c,bus:t,isNarrow:u,storageKey:"rd-dashboard-layout",defaults:{facetW:248,railW:312,tableH:"34%"}});function O(X){return X.kind==="pct"?X.value:X.kind==="distinct"?X.value||"—":yc(X.value)}const V=se(()=>t.selectionSet?t.selectionSet.size:0);function z(){a.exportCsv()}function P(){t.clearSelection()}function H(){t.emit("toggleTable",!1)}function oe(){t.emit("toggleFacet",!E.value)}function j(){t.emit("toggleRail",!L.value)}function Y(X){const Q=X.target&&X.target.closest&&X.target.closest("[data-bar-export],[data-bar-clear]");Q&&(Q.hasAttribute("data-bar-export")?z():P())}return ut(`
:host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box;
--s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
--rd-accent:#e67e22; --rd-info:#2b6cb0; --rd-line:#e2e6ec; --rd-bg:#f7f9fb;
@@ -323,4 +323,4 @@
.rd-exportbar .x-go{ background:var(--rd-accent,#e67e22); color:#fff; } .rd-exportbar .x-clr{ background:#ffffff22; color:#fff; }
@keyframes rd-slideup{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){ .rd-shell *{ transition:none !important; animation:none !important; } }
-`,"rd-shell-layout"),(J,te)=>(ae(),ie("div",{ref_key:"shell",ref:c,class:Ze(["rd-shell",{"rd-narrow":re(u),"rd-slim-rail":re(f),"rd-slim-facet":re(d),"rd-table-collapsed":re(v),"rd-facet-collapsed":re(E),"rd-rail-collapsed":re(k)}]),"data-row-count":re(s),"data-loading":re(i)?"1":"0","data-error":re(l)||"","data-narrow":re(u)?"1":"0"},[Ce(re($b)),Ce(re(ev)),R("div",ov,[(ae(!0),ie(Ae,null,et(re(o),G=>(ae(),ie("div",{class:"kpi",key:G.id},[R("span",{class:"n","data-kpi":G.id},de(G.kind==="count"&&re(i)?"…":F(G)),9,av),R("span",rv,de(G.label),1),G.delta?(ae(),ie("span",sv,"↓"+de(re(yc)(G.delta)),1)):tt("",!0)]))),128))]),zt(Ce(re(g_),null,null,512),[[rn,re(h)]]),zt(R("div",iv,[Ce(re(Ny)),re(v)&&!re(u)?(ae(),ie("button",{key:0,class:"rd-table-restore","data-table-restore":"",type:"button",title:"Show the people-groups table",onClick:H},"▴ Show table")):tt("",!0),re(u)?tt("",!0):(ae(),ie("button",{key:1,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:re(E)?"Show filters":"Hide filters — grow the map",onClick:ne},de(re(E)?"▸":"◂"),9,lv)),re(u)?tt("",!0):(ae(),ie("button",{key:2,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:re(k)?"Show charts":"Hide charts — grow the map",onClick:U},de(re(k)?"◂":"▸"),9,cv))],512),[[rn,re(m)]]),zt(R("div",uv,[Ce(re(x_))],512),[[rn,re(w)&&(re(u)||!re(v))]]),zt(R("aside",dv,[Ce(re(by)),Ce(re(z_))],512),[[rn,re(S)]]),zt(R("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:te[0]||(te[0]=(...G)=>re(T)&&re(T)(...G))},null,544),[[rn,!re(u)&&!re(E)]]),zt(R("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:te[1]||(te[1]=(...G)=>re(C)&&re(C)(...G))},null,544),[[rn,!re(u)&&!re(k)]]),zt(R("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:te[2]||(te[2]=(...G)=>re(x)&&re(x)(...G))},null,544),[[rn,!re(u)&&!re(v)]]),R("div",{class:"rd-seg","data-segmented":"",onClick:te[3]||(te[3]=(...G)=>re(A)&&re(A)(...G))},[(ae(!0),ie(Ae,null,et(re(_),G=>(ae(),ie("button",{key:G.k,class:Ze({on:re(b)===G.k}),"data-view-btn":"","data-view":G.k},de(G.l),11,fv))),128))]),W.value?(ae(),ie("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:Y},[R("b",null,de(W.value)+" selected",1),te[4]||(te[4]=R("span",{class:"sp"},null,-1)),te[5]||(te[5]=R("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),te[6]||(te[6]=R("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):tt("",!0)],10,nv))}}},Symbol.toStringTag,{value:"Module"}))})();
+`,"rd-shell-layout"),(X,Q)=>(ae(),ie("div",{ref_key:"shell",ref:c,class:Xe(["rd-shell",{"rd-narrow":re(u),"rd-slim-rail":re(f),"rd-slim-facet":re(d),"rd-table-collapsed":re(v),"rd-facet-collapsed":re(E),"rd-rail-collapsed":re(L)}]),"data-row-count":re(s),"data-loading":re(i)?"1":"0","data-error":re(l)||"","data-narrow":re(u)?"1":"0"},[Te(re($b)),Te(re(ev)),F("div",ov,[(ae(!0),ie($e,null,Qe(re(o),G=>(ae(),ie("div",{class:"kpi",key:G.id},[F("span",{class:"n","data-kpi":G.id},de(G.kind==="count"&&re(i)?"…":O(G)),9,av),F("span",rv,de(G.label),1),G.delta?(ae(),ie("span",sv,"↓"+de(re(yc)(G.delta)),1)):et("",!0)]))),128))]),zt(Te(re(g_),null,null,512),[[rn,re(h)]]),zt(F("div",iv,[Te(re(Ny)),re(v)&&!re(u)?(ae(),ie("button",{key:0,class:"rd-table-restore","data-table-restore":"",type:"button",title:"Show the people-groups table",onClick:H},"▴ Show table")):et("",!0),re(u)?et("",!0):(ae(),ie("button",{key:1,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:re(E)?"Show filters":"Hide filters — grow the map",onClick:oe},de(re(E)?"▸":"◂"),9,lv)),re(u)?et("",!0):(ae(),ie("button",{key:2,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:re(L)?"Show charts":"Hide charts — grow the map",onClick:j},de(re(L)?"◂":"▸"),9,cv))],512),[[rn,re(_)]]),zt(F("div",uv,[Te(re(x_))],512),[[rn,re(w)&&(re(u)||!re(v))]]),zt(F("aside",dv,[Te(re(by)),Te(re(z_))],512),[[rn,re(S)]]),zt(F("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:Q[0]||(Q[0]=(...G)=>re(T)&&re(T)(...G))},null,544),[[rn,!re(u)&&!re(E)]]),zt(F("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:Q[1]||(Q[1]=(...G)=>re(C)&&re(C)(...G))},null,544),[[rn,!re(u)&&!re(L)]]),zt(F("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:Q[2]||(Q[2]=(...G)=>re(x)&&re(x)(...G))},null,544),[[rn,!re(u)&&!re(v)]]),F("div",{class:"rd-seg","data-segmented":"",onClick:Q[3]||(Q[3]=(...G)=>re(A)&&re(A)(...G))},[(ae(!0),ie($e,null,Qe(re(b),G=>(ae(),ie("button",{key:G.k,class:Xe({on:re(m)===G.k}),"data-view-btn":"","data-view":G.k},de(G.l),11,fv))),128))]),V.value?(ae(),ie("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:Y},[F("b",null,de(V.value)+" selected",1),Q[4]||(Q[4]=F("span",{class:"sp"},null,-1)),Q[5]||(Q[5]=F("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),Q[6]||(Q[6]=F("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):et("",!0)],10,nv))}}},Symbol.toStringTag,{value:"Module"}))})();
diff --git a/public/index.html b/public/index.html
index bd34b28fa..8cf1a34f4 100644
--- a/public/index.html
+++ b/public/index.html
@@ -675,11 +675,15 @@ function rowHTML(n, cur){
}
function drawSide(){
let h = ''
+ // The `sep` is a divider BETWEEN groups — the first group must not carry a
+ // leading one (a rule under the header with nothing above it to divide).
+ let firstGroup = true
for (const n of tree){
- if (n.kind === 'item'){ h += rowHTML(n, active); continue }
+ if (n.kind === 'item'){ h += rowHTML(n, active); firstGroup = false; continue }
if (n.kind === 'section'){
- h += `
- ${icon(n.icon)}${n.label}
`
+ if (!firstGroup) h += '
'
+ h += `${icon(n.icon)}${n.label}
`
+ firstGroup = false
// A section's children may be plain items OR a nested 'subgroup'
// (e.g. Laborer Mobilization > Research > Research Map).
for (const c of n.children){
@@ -694,8 +698,9 @@ function drawSide(){
}
if (n.kind === 'folder'){
const o = open.get(n.id)
- h += `
-
+ if (!firstGroup) h += '
'
+ firstGroup = false
+ h += `
${icon(n.icon)}${n.label}
${/* desktop badge removed — the folder label already conveys it */''}
${icon('chevron')}