diff --git a/plugin-designs/people-groups-grid/people-groups-grid.vue b/plugin-designs/people-groups-grid/people-groups-grid.vue index c53791c0a..41d9151f0 100644 --- a/plugin-designs/people-groups-grid/people-groups-grid.vue +++ b/plugin-designs/people-groups-grid/people-groups-grid.vue @@ -51,7 +51,11 @@ const props = defineProps({ profileConfig: { type: String, default: '' }, prayBaseUrl: { type: String, default: '' }, languageCode: { type: String, default: '' }, - researchUrl: { type: String, default: '/research/' }, + // ★ default '' NOT '/research/': a non-empty prop default is ALWAYS truthy, so the computed + // below could never reach its canonical fallback -- the relative default simply moved houses + // and kept winning (measured: bundle carried the canonical branch AND default:"/research/", + // and every rendered link was still relative). Unset must mean unset. */ + researchUrl: { type: String, default: '' }, selectUrl: { type: String, default: '' }, t: { type: Object, default: () => ({}) }, @@ -194,7 +198,18 @@ const cfg = computed(() => { }) const prayBaseUrl = computed(() => props.prayBaseUrl || cfg.value.prayBaseUrl || 'https://pray.doxa.life') const languageCode = computed(() => props.languageCode || cfg.value.languageCode || '') -const researchUrl = computed(() => props.researchUrl || cfg.value.researchUrl || '/research/') +// ★ ABSOLUTE CANONICAL DEFAULT (Driver 2026-09-23, pasted from his own browser: +// http://localhost:5174/research/pitaguari/ -- "when I click view more information it does not +// send me to the proper doxa.life page"). The old default '/research/' was ROOT-RELATIVE, so it +// resolved against whatever origin happened to host the element: right on doxa.life, wrong on +// every other host -- the dev server, an iframe embed, a partner site. Same defect class as the +// ../../ child-src bug: a relative default encoding an assumption about the host. +// The shared PeopleGroupDetail already solved this exact problem (PeopleGroupDetail.vue:427): +// window.DOXA_SITE_URL override, else the absolute canonical origin. Adopting the SAME pattern +// here makes the card link and the detail panel agree on where a people group lives -- two +// surfaces, one rule. Prop and cfg still take precedence for hosts that want their own base. +const researchUrl = computed(() => props.researchUrl || cfg.value.researchUrl + || (((typeof window !== 'undefined' && window.DOXA_SITE_URL) || 'https://doxa.life').replace(/\/+$/, '') + '/research/')) const selectUrl = computed(() => props.selectUrl || cfg.value.selectUrl || '') const t = computed(() => ({ ...(cfg.value.t || {}), ...(props.t || {}) })) diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js index bb749d597..962dd167b 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js @@ -123,7 +123,13 @@ export function useDashboardLayout(options = {}) { bus = null, isNarrow = false, pageScroll = false, - storageKey = 'rd-dashboard-layout', + // ★ KEY VERSIONED v2 (2026-09-23). The Driver reported "sidebars are not equally spaced" on + // his machine AFTER the symmetric-rail change landed -- because his browser restores a layout + // SAVED under the old defaults (rail 264), and a restored value outranks any new default by + // design. When defaults change materially, the old saved layouts are prescriptions from a + // different bottle: bump the key so every reader starts from the new defaults once, and a + // fresh drag re-personalises from there. The v1 blob is left in place, inert. + storageKey = 'rd-dashboard-layout-v2', } = options const defaults = { ...DEFAULTS, ...(options.defaults || {}) } diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js index 3d7692fdd..ca51ff275 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js @@ -71,7 +71,7 @@ `)}const C={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function m(){const _=x(),k=g().length,E=(_.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let O=!1,I=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),O=!0)}catch{}try{const Z=new Blob([_],{type:"text/csv;charset=utf-8"}),K=URL.createObjectURL(Z),re=document.createElement("a");re.href=K,re.download="research-dashboard.csv",re.style.display="none",document.body.appendChild(re),re.click(),I=!0,setTimeout(()=>{try{URL.revokeObjectURL(K),re.remove()}catch{}},200)}catch{}Object.assign(C,{rows:k,clipboard:O,downloaded:I,fields:E,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:O,downloaded:I,fields:E,wide:!!l}}catch{}return{csv:_,rows:k,clipboard:O,downloaded:I,fields:E,wide:!!l}}async function f(){try{await c()}catch{}return m()}function h(){try{return c()}catch{return null}}return{exportCsv:m,exportCsvAsync:f,buildCsv:x,pickRows:g,scopeLabel:b,lastExport:C,prefetchExportFields:h,EXPORT_FIELDS:Qr}}const y_="#6b7280";function v_(){const e=Zr(ko.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function x_(e,t){const o=v_();return e&&o[e]?o[e]:y_}function w_(e){return(e==null?void 0:e.properties)||e||{}}function Ta(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function k_(e){var t;return String(e.affinityBlock||Ta((t=e._raw)==null?void 0:t.rop1)||"").trim()}function $_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function E_(e){var t;return String(e.cluster||Ta((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function S_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function A_(e){var t;return String(e.peopleGroup||Ta((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function C_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function T_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function L_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function P_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function N_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function I_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=w_(l),c=k_(i),u=$_(i)||c||"— Unknown —",g=E_(i),b=S_(i)||g||"— Unknown —",v=A_(i),S=C_(i)||v||"— Unknown —",$=T_(i),x=L_(i)||$,C=P_(i),m=N_(i);if(!$)continue;let f=a.get(c||"__unknown__");f||(f={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",f)),f.count+=1,f.pop+=C,f.memberIds.push($);let h=f.clusters.get(g||"__unknown__");h||(h={code:g,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},f.clusters.set(g||"__unknown__",h)),h.count+=1,h.pop+=C,h.memberIds.push($);let _=h.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:S,count:0,pop:0,memberIds:[],instances:[]},h.peopleGroups.set(v||"__unknown__",_)),_.count+=1,_.pop+=C,_.memberIds.push($),_.instances.push({id:$,name:x,country:m,pop:C})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=le(()=>{const s=t.value,a=[];for(const l of s.values()){const i=x_(l.code,l.label),c={id:`bloc:${l.code||l.label}`,label:l.label,color:i,count:l.count,pop:l.pop,filter:o(l.memberIds),children:[]};for(const u of l.clusters.values()){const g={id:`cluster:${l.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:i,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const v={id:`pg:${l.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:i,count:b.count,pop:b.pop,filter:o(b.memberIds),children:[]};b.instances.sort((S,$)=>$.pop-S.pop||S.country.localeCompare($.country));for(const S of b.instances)v.children.push({id:`pgic:${S.id}`,label:`${S.country?`${S.name}, ${S.country}`:S.name} (PGIC)`,color:i,count:1,pop:S.pop,filter:["==",["get","uniqueId"],S.id],children:[]});g.children.push(v)}g.children.sort((b,v)=>v.count-b.count||v.pop-b.pop),c.children.push(g)}c.children.sort((u,g)=>g.count-u.count||g.pop-u.pop),a.push(c)}return a.sort((l,i)=>i.count-l.count||i.pop-l.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),l={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?l.kind="bloc":a.startsWith("cluster:")?l.kind="cluster":a.startsWith("pg:")?l.kind="people-group":a.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function tr(e,t,o){const n=le(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=I_(n),s=le(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),a=le(()=>{const[i,c,u]=s.value,g=new Map,b=new Map,v=new Map;for(const $ of r.value.values()){$.code&&g.set($.code,$.label);for(const x of $.clusters.values()){x.code&&b.set(x.code,x.label);for(const C of x.peopleGroups.values())C.code&&v.set(C.code,C.label)}}const S={};return i&&(S[i]=g),c&&(S[c]=b),u&&(S[u]=v),S});function l(i,c){const u=a.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:l}}class ku{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Vt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],l=!0;for(let i=0;i0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const g={};n.forEach((b,v)=>{g[b]=a[v]||""}),o.push(g)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=Aa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,g]of Object.entries(a))s.push(`${u}=${encodeURIComponent(g)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${o} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(n,g));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new ku;const $u=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Eu=e=>e==null?"—":Number(e).toLocaleString("en-US");function or(e){const t=$u(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function nr(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function F_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,g)=>u+(Number(g[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],g=new Set;t.forEach(b=>{const v=u?u(b):b[s.field];v&&g.add(v)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function R_(e){const t=ie(null),o=ie(!1),n=ie(!1),r=ie(!1),s=ie("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ie(!1),c=ie(!1),u=ie(!1);bt(()=>{t.value&&(l=new ResizeObserver(()=>{const x=t.value.clientWidth;o.value=x<760,n.value=x>=760&&x<1180,r.value=x>=760&&x<980}),l.observe(t.value)),e&&e.on("toggleTable",x=>{i.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>l&&l.disconnect());function g(x){const C=x.target.closest("[data-view]");C&&(s.value=C.getAttribute("data-view"))}const b=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),S=le(()=>!o.value||s.value==="table"),$=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:g,showFacets:b,showMap:v,showTable:S,showCharts:$}}function M_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ft(()=>({...e.filterSet}),t,{deep:!0}),bt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function O_(e){var $;const t=b_();t.configureHierarchy(e);const o=__(e.data),n=$u(e.facets,x=>x.get),r=nr(t,or(e)),s=le(()=>{var f;const x=o.rows.value||[],C=Object.keys(t.filterSet),m=!!(((f=t.searchTerm)==null?void 0:f.value)||"").trim();return!C.length&&!m?x:x.filter(h=>C.every(_=>{const k=n[_];return k?k(h)===t.filterSet[_]:!0})&&r(h))}),a=le(()=>F_(e.kpis,s.value,o.rows.value||[],n,e)),l=R_(t);M_(t);const i=o.sourceId||Vt.activeSource,c=(($=Vt.sources)==null?void 0:$[i])||{},u=new ku,g=le(()=>{const x=o.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[i]:{get features(){return g.value}}}},{labelFor:v}=tr(e,b,i),S=Ca({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return fo("selectionBus",t),fo("dashboardData",o),fo("dashboardConfig",e),fo("dataStore",b),fo("searchSourceId",i),bt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:l}}const D_={facetW:296,railW:296,tableH:"34%",mapH:260,shellH:502},j_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Su=32,Au=120,$t=(e,[t,o])=>Math.min(o,Math.max(t,e)),es=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function z_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...D_,...e.defaults||{}},l={...j_,...e.clamps||{}},i=ie(a.facetW),c=ie(a.railW),u=ie(a.tableH),g=ie(a.mapH),b=ie(a.shellH),v=ie(!1),S=ie(!1),$=ie(!1),x=()=>!!de(n),C=()=>!!de(r);function m(){const j=t&&t.value;if(!j)return b.value;const T=parseFloat(getComputedStyle(j).getPropertyValue("--rd-shell-h"));if(Number.isFinite(T)&&T>0)return Math.round(T);const H=j.querySelector('[data-region="map"]'),ae=j.querySelector('[data-region="table"]');if(!H||!ae)return b.value;const ye=H.getBoundingClientRect().height+ae.getBoundingClientRect().height;return ye>0?Math.round(ye):b.value}function f(){const j=t&&t.value;j&&(v.value&&(j.style.setProperty("--facet-w",i.value+"px"),j.style.setProperty("--rail-w",c.value+"px"),j.style.setProperty("--table-h",u.value)),S.value&&j.style.setProperty("--rd-map-h",g.value+"px"),$.value&&j.style.setProperty("--rd-shell-h",b.value+"px"))}function h(){const j=t&&t.value;j&&(j.style.removeProperty("--facet-w"),j.style.removeProperty("--rail-w"),j.style.removeProperty("--table-h"),j.style.removeProperty("--rd-map-h"),j.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:g.value,shellH:b.value}))}catch{}}function k(){try{const j=localStorage.getItem(s);if(!j)return!1;const T=JSON.parse(j);return Number.isFinite(T.facetW)&&(i.value=$t(T.facetW,l.facetW)),Number.isFinite(T.railW)&&(c.value=$t(T.railW,l.railW)),T.tableH!=null&&(u.value=$t(es(T.tableH,es(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(T.shellH)&&(b.value=$t(T.shellH,l.shellH),$.value=!0),Number.isFinite(T.mapH)&&(g.value=$t(T.mapH,l.mapH),S.value=!0),!0}catch{return!1}}function E(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,g.value=a.mapH,b.value=a.shellH,v.value=!1,S.value=!1,$.value=!1,h()}const O=ie(!1);function I(){if(O.value)return;O.value=!0;const j=t&&t.value;if(j&&j.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function Z(){if(!O.value)return;O.value=!1;const j=t&&t.value;if(j&&j.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function K(j,T){if(x())return;const H=t&&t.value;if(!H)return;T.preventDefault();const ae=H.getBoundingClientRect(),ye=T.clientX,Se=i.value,Ce=c.value,Te=T.currentTarget,ve=j==="table"&&C(),ge=j==="shell"&&C();let he=0,xe=l.mapH[1];if(ve){const F=H.querySelector('[data-region="map"]'),d=F?F.getBoundingClientRect():null;he=d?d.top:T.clientY-g.value,xe=Math.max(l.mapH[0],b.value-(Su+Au))}const y=T.clientY,A=ge?m():b.value;try{Te&&Te.setPointerCapture&&Te.setPointerCapture(T.pointerId)}catch{}I();let w=0,G=null;function ee(){if(w=0,!G)return;const F=G;if(G=null,j==="facet")i.value=Math.round($t(Se+(F.clientX-ye),l.facetW)),v.value=!0;else if(j==="rail")c.value=Math.round($t(Ce-(F.clientX-ye),l.railW)),v.value=!0;else if(ve)g.value=Math.round($t(F.clientY-he,[l.mapH[0],xe])),S.value=!0;else if(j==="table"){const d=(ae.bottom-F.clientY)/ae.height*100;u.value=Math.round($t(d,l.tableH))+"%",v.value=!0}else ge&&(b.value=Math.round($t(A+(F.clientY-y),l.shellH)),$.value=!0);f()}function oe(F){G={clientX:F.clientX,clientY:F.clientY},w||(w=requestAnimationFrame(ee))}function D(F){window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",D),window.removeEventListener("pointercancel",D),w&&(cancelAnimationFrame(w),w=0),ee();try{Te&&Te.releasePointerCapture&&Te.releasePointerCapture(F.pointerId)}catch{}_(),Z()}window.addEventListener("pointermove",oe),window.addEventListener("pointerup",D),window.addEventListener("pointercancel",D)}const re=j=>K("facet",j),be=j=>K("rail",j),z=j=>K("table",j),te=j=>K("shell",j),Y={facet:16,rail:16,table:24,mapH:24,shellH:24};function q(j,T,H){if(!x()){if(j==="facet")i.value=H?T<0?l.facetW[0]:l.facetW[1]:Math.round($t(i.value+T*Y.facet,l.facetW)),v.value=!0;else if(j==="rail")c.value=H?T<0?l.railW[1]:l.railW[0]:Math.round($t(c.value-T*Y.rail,l.railW)),v.value=!0;else if(j==="table"&&C()){const ae=Math.max(l.mapH[0],b.value-(Su+Au));g.value=H?T<0?l.mapH[0]:ae:Math.round($t(g.value+T*Y.mapH,[l.mapH[0],ae])),S.value=!0}else if(j==="table"){const ae=H?T<0?l.tableH[0]:l.tableH[1]:$t(es(u.value,es(a.tableH,34))-T*Y.table/4,l.tableH);u.value=Math.round(ae)+"%",v.value=!0}else j==="shell"&&C()&&(b.value=H?T<0?l.shellH[0]:l.shellH[1]:Math.round($t(b.value+T*Y.shellH,l.shellH)),$.value=!0);f(),_()}}function L(j,T){const H=T.key;let ae=0;if(j==="table"||j==="shell"?H==="ArrowUp"?ae=-1:H==="ArrowDown"&&(ae=1):H==="ArrowLeft"?ae=-1:H==="ArrowRight"&&(ae=1),ae){T.preventDefault(),q(j,ae);return}(H==="Home"||H==="End")&&(T.preventDefault(),q(j,H==="Home"?-1:1,!0))}let U=null;return bt(()=>{k()&&f(),o&&typeof o.on=="function"&&(U=o.on("resetLayout",E))}),Ut(()=>{try{U&&U()}catch{}try{Z()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:g,shellH:b,customized:v,resizing:O,startFacetResize:re,startRailResize:be,startTableResize:z,startShellResize:te,startResize:K,reset:E,applyVars:f,stepResize:q,onResizeKeydown:L}}const U_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",B_=["value","placeholder","aria-label"],La=vn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),Q("div",{class:"search-box",style:at(r.value)},[l[0]||(l[0]=P("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),P("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,B_)],4))}},[["styles",[U_]]]),G_=["title","aria-label","disabled"],Pa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Pt(` +`&&i++,r||a.length>0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const g={};n.forEach((b,v)=>{g[b]=a[v]||""}),o.push(g)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=Aa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,g]of Object.entries(a))s.push(`${u}=${encodeURIComponent(g)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${o} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(n,g));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new ku;const $u=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Eu=e=>e==null?"—":Number(e).toLocaleString("en-US");function or(e){const t=$u(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function nr(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function F_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,g)=>u+(Number(g[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],g=new Set;t.forEach(b=>{const v=u?u(b):b[s.field];v&&g.add(v)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function R_(e){const t=ie(null),o=ie(!1),n=ie(!1),r=ie(!1),s=ie("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ie(!1),c=ie(!1),u=ie(!1);bt(()=>{t.value&&(l=new ResizeObserver(()=>{const x=t.value.clientWidth;o.value=x<760,n.value=x>=760&&x<1180,r.value=x>=760&&x<980}),l.observe(t.value)),e&&e.on("toggleTable",x=>{i.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>l&&l.disconnect());function g(x){const C=x.target.closest("[data-view]");C&&(s.value=C.getAttribute("data-view"))}const b=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),S=le(()=>!o.value||s.value==="table"),$=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:g,showFacets:b,showMap:v,showTable:S,showCharts:$}}function M_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ft(()=>({...e.filterSet}),t,{deep:!0}),bt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function O_(e){var $;const t=b_();t.configureHierarchy(e);const o=__(e.data),n=$u(e.facets,x=>x.get),r=nr(t,or(e)),s=le(()=>{var f;const x=o.rows.value||[],C=Object.keys(t.filterSet),m=!!(((f=t.searchTerm)==null?void 0:f.value)||"").trim();return!C.length&&!m?x:x.filter(h=>C.every(_=>{const k=n[_];return k?k(h)===t.filterSet[_]:!0})&&r(h))}),a=le(()=>F_(e.kpis,s.value,o.rows.value||[],n,e)),l=R_(t);M_(t);const i=o.sourceId||Vt.activeSource,c=(($=Vt.sources)==null?void 0:$[i])||{},u=new ku,g=le(()=>{const x=o.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[i]:{get features(){return g.value}}}},{labelFor:v}=tr(e,b,i),S=Ca({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return fo("selectionBus",t),fo("dashboardData",o),fo("dashboardConfig",e),fo("dataStore",b),fo("searchSourceId",i),bt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:l}}const D_={facetW:296,railW:296,tableH:"34%",mapH:260,shellH:502},j_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Su=32,Au=120,$t=(e,[t,o])=>Math.min(o,Math.max(t,e)),es=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function z_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout-v2"}=e,a={...D_,...e.defaults||{}},l={...j_,...e.clamps||{}},i=ie(a.facetW),c=ie(a.railW),u=ie(a.tableH),g=ie(a.mapH),b=ie(a.shellH),v=ie(!1),S=ie(!1),$=ie(!1),x=()=>!!de(n),C=()=>!!de(r);function m(){const j=t&&t.value;if(!j)return b.value;const T=parseFloat(getComputedStyle(j).getPropertyValue("--rd-shell-h"));if(Number.isFinite(T)&&T>0)return Math.round(T);const H=j.querySelector('[data-region="map"]'),ae=j.querySelector('[data-region="table"]');if(!H||!ae)return b.value;const ye=H.getBoundingClientRect().height+ae.getBoundingClientRect().height;return ye>0?Math.round(ye):b.value}function f(){const j=t&&t.value;j&&(v.value&&(j.style.setProperty("--facet-w",i.value+"px"),j.style.setProperty("--rail-w",c.value+"px"),j.style.setProperty("--table-h",u.value)),S.value&&j.style.setProperty("--rd-map-h",g.value+"px"),$.value&&j.style.setProperty("--rd-shell-h",b.value+"px"))}function h(){const j=t&&t.value;j&&(j.style.removeProperty("--facet-w"),j.style.removeProperty("--rail-w"),j.style.removeProperty("--table-h"),j.style.removeProperty("--rd-map-h"),j.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:g.value,shellH:b.value}))}catch{}}function k(){try{const j=localStorage.getItem(s);if(!j)return!1;const T=JSON.parse(j);return Number.isFinite(T.facetW)&&(i.value=$t(T.facetW,l.facetW)),Number.isFinite(T.railW)&&(c.value=$t(T.railW,l.railW)),T.tableH!=null&&(u.value=$t(es(T.tableH,es(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(T.shellH)&&(b.value=$t(T.shellH,l.shellH),$.value=!0),Number.isFinite(T.mapH)&&(g.value=$t(T.mapH,l.mapH),S.value=!0),!0}catch{return!1}}function E(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,g.value=a.mapH,b.value=a.shellH,v.value=!1,S.value=!1,$.value=!1,h()}const O=ie(!1);function I(){if(O.value)return;O.value=!0;const j=t&&t.value;if(j&&j.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function Z(){if(!O.value)return;O.value=!1;const j=t&&t.value;if(j&&j.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function K(j,T){if(x())return;const H=t&&t.value;if(!H)return;T.preventDefault();const ae=H.getBoundingClientRect(),ye=T.clientX,Se=i.value,Ce=c.value,Te=T.currentTarget,ve=j==="table"&&C(),ge=j==="shell"&&C();let he=0,xe=l.mapH[1];if(ve){const F=H.querySelector('[data-region="map"]'),d=F?F.getBoundingClientRect():null;he=d?d.top:T.clientY-g.value,xe=Math.max(l.mapH[0],b.value-(Su+Au))}const y=T.clientY,A=ge?m():b.value;try{Te&&Te.setPointerCapture&&Te.setPointerCapture(T.pointerId)}catch{}I();let w=0,G=null;function ee(){if(w=0,!G)return;const F=G;if(G=null,j==="facet")i.value=Math.round($t(Se+(F.clientX-ye),l.facetW)),v.value=!0;else if(j==="rail")c.value=Math.round($t(Ce-(F.clientX-ye),l.railW)),v.value=!0;else if(ve)g.value=Math.round($t(F.clientY-he,[l.mapH[0],xe])),S.value=!0;else if(j==="table"){const d=(ae.bottom-F.clientY)/ae.height*100;u.value=Math.round($t(d,l.tableH))+"%",v.value=!0}else ge&&(b.value=Math.round($t(A+(F.clientY-y),l.shellH)),$.value=!0);f()}function oe(F){G={clientX:F.clientX,clientY:F.clientY},w||(w=requestAnimationFrame(ee))}function D(F){window.removeEventListener("pointermove",oe),window.removeEventListener("pointerup",D),window.removeEventListener("pointercancel",D),w&&(cancelAnimationFrame(w),w=0),ee();try{Te&&Te.releasePointerCapture&&Te.releasePointerCapture(F.pointerId)}catch{}_(),Z()}window.addEventListener("pointermove",oe),window.addEventListener("pointerup",D),window.addEventListener("pointercancel",D)}const re=j=>K("facet",j),be=j=>K("rail",j),z=j=>K("table",j),te=j=>K("shell",j),Y={facet:16,rail:16,table:24,mapH:24,shellH:24};function q(j,T,H){if(!x()){if(j==="facet")i.value=H?T<0?l.facetW[0]:l.facetW[1]:Math.round($t(i.value+T*Y.facet,l.facetW)),v.value=!0;else if(j==="rail")c.value=H?T<0?l.railW[1]:l.railW[0]:Math.round($t(c.value-T*Y.rail,l.railW)),v.value=!0;else if(j==="table"&&C()){const ae=Math.max(l.mapH[0],b.value-(Su+Au));g.value=H?T<0?l.mapH[0]:ae:Math.round($t(g.value+T*Y.mapH,[l.mapH[0],ae])),S.value=!0}else if(j==="table"){const ae=H?T<0?l.tableH[0]:l.tableH[1]:$t(es(u.value,es(a.tableH,34))-T*Y.table/4,l.tableH);u.value=Math.round(ae)+"%",v.value=!0}else j==="shell"&&C()&&(b.value=H?T<0?l.shellH[0]:l.shellH[1]:Math.round($t(b.value+T*Y.shellH,l.shellH)),$.value=!0);f(),_()}}function L(j,T){const H=T.key;let ae=0;if(j==="table"||j==="shell"?H==="ArrowUp"?ae=-1:H==="ArrowDown"&&(ae=1):H==="ArrowLeft"?ae=-1:H==="ArrowRight"&&(ae=1),ae){T.preventDefault(),q(j,ae);return}(H==="Home"||H==="End")&&(T.preventDefault(),q(j,H==="Home"?-1:1,!0))}let U=null;return bt(()=>{k()&&f(),o&&typeof o.on=="function"&&(U=o.on("resetLayout",E))}),Ut(()=>{try{U&&U()}catch{}try{Z()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:g,shellH:b,customized:v,resizing:O,startFacetResize:re,startRailResize:be,startTableResize:z,startShellResize:te,startResize:K,reset:E,applyVars:f,stepResize:q,onResizeKeydown:L}}const U_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",B_=["value","placeholder","aria-label"],La=vn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),Q("div",{class:"search-box",style:at(r.value)},[l[0]||(l[0]=P("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),P("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,B_)],4))}},[["styles",[U_]]]),G_=["title","aria-label","disabled"],Pa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Pt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -800,4 +800,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),bt(()=>{const ge=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!ge)return;const he=xe=>ge.setAttribute("data-page-scroll",xe?"true":"false");he(de(r)),ft(()=>de(r),he)}),(ge,he)=>(V(),Q("div",{ref_key:"shell",ref:S,class:qe(["rd-shell",{"rd-narrow":de($),"rd-slim-rail":de(x),"rd-slim-facet":de(C),"rd-table-collapsed":de(h),"rd-facet-collapsed":de(_),"rd-rail-collapsed":de(k),"rd-page-scroll":r.value}]),"data-row-count":de(g),"data-loading":de(b)?"1":"0","data-error":de(v)||"","data-narrow":de($)?"1":"0"},[ze(de(Sy)),ze(de(ux)),P("div",px,[(V(!0),Q(Ae,null,Qe(de(l),xe=>(V(),Q("div",{class:"kpi",key:xe.id},[P("span",{class:"n","data-kpi":xe.id},ue(xe.kind==="count"&&de(b)?"…":H(xe)),9,gx),P("span",hx,ue(xe.label),1),xe.delta?(V(),Q("span",mx,"↓"+ue(de(Eu)(xe.delta)),1)):Re("",!0)]))),128))]),It(ze(de(Gy),null,null,512),[[Bt,de(O)]]),It(P("div",bx,[ze(de(G0)),de($)?Re("",!0):(V(),Q("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:de(_)?"Show filters":"Hide filters — grow the map",onClick:Ce},ue(de(_)?"▸":"◂"),9,_x)),de($)?Re("",!0):(V(),Q("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:de(k)?"Show charts":"Hide charts — grow the map",onClick:Te},ue(de(k)?"◂":"▸"),9,yx))],512),[[Bt,de(I)]]),It(P("div",vx,[ze(de(pv))],512),[[Bt,de(Z)]]),It(P("aside",xx,[ze(de(n0)),ze(de(Pv))],512),[[Bt,de(K)]]),It(P("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":de(q),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:he[0]||(he[0]=(...xe)=>de(re)&&de(re)(...xe)),onKeydown:he[1]||(he[1]=xe=>de(Y)("facet",xe))},null,40,wx),[[Bt,!de($)&&!de(_)]]),It(P("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":de(L),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:he[2]||(he[2]=(...xe)=>de(be)&&de(be)(...xe)),onKeydown:he[3]||(he[3]=xe=>de(Y)("rail",xe))},null,40,kx),[[Bt,!de($)&&!de(k)]]),It(P("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?de(j):parseFloat(de(U))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:he[4]||(he[4]=(...xe)=>de(z)&&de(z)(...xe)),onKeydown:he[5]||(he[5]=xe=>de(Y)("table",xe))},null,40,$x),[[Bt,!de($)&&!de(h)]]),It(P("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":de(T),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:he[6]||(he[6]=(...xe)=>de(te)&&de(te)(...xe)),onKeydown:he[7]||(he[7]=xe=>de(Y)("shell",xe))},null,40,Ex),[[Bt,!de($)&&r.value]]),P("div",{class:"rd-seg","data-segmented":"",onClick:he[8]||(he[8]=(...xe)=>de(E)&&de(E)(...xe))},[(V(!0),Q(Ae,null,Qe(de(f),xe=>(V(),Q("button",{key:xe.k,class:qe({on:de(m)===xe.k}),"data-view-btn":"","data-view":xe.k},ue(xe.l),11,Sx))),128))]),ae.value?(V(),Q("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[P("b",null,ue(ae.value)+" selected",1),he[9]||(he[9]=P("span",{class:"sp"},null,-1)),he[10]||(he[10]=P("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),he[11]||(he[11]=P("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,fx))}};function Cx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function Tx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function Lx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-b+1>=Math.min(this.minMatchCharLength,o.length));g.length&&(c=g)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function Nx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ix=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Fx={class:"pgg-root"},Rx={key:0,id:"filters",class:"filters"},Mx={key:0,class:"pgg-search"},Ox=["aria-expanded"],Dx={key:0,class:"filters__toggle-count"},jx={class:"filters__panel"},zx={class:"filters__panel"},Ux=["data-active"],Bx={key:3,class:"filters__active"},Gx=["onClick"],qx={class:"pgg-body"},Hx={key:0,class:"repel"},Vx={class:"font-size-sm"},Wx={key:1},Kx={id:"results",class:"grid uupgs-list"},Yx=["src","alt"],Xx={class:"uupg__header"},Jx=["innerHTML"],Zx={key:0,class:"uupg__country"},Qx=["href"],ew=["innerHTML"],tw=["innerHTML"],ow=["innerHTML"],nw={key:1,class:"uupg__content"},rw=["href"],sw={key:0,class:"loading"},aw={key:1,class:"pgg-empty pgg-failed",role:"status"},lw={key:2,class:"pgg-empty"},iw=vn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=D=>!(D===!1||D==="false"||D==="0"||D===0),u=le(()=>c(o.showSearch)),g=le(()=>c(o.showFilters)),b=le(()=>c(o.showTotal)),v=ie([]),S=ie([]),$=ie(0),x=ie(1),C=ie(!0),m=ie(!1),f=ie(!0),h=ie({}),_=ie(""),k=ie({}),E=le(()=>u.value?_.value:o.query||""),O=le(()=>{const D={},F=d=>d;return o.wagfRegion&&(D.wagf_region={value:o.wagfRegion,label:F(o.wagfRegion)}),o.wagfBlock&&(D.wagf_block={value:o.wagfBlock,label:F(o.wagfBlock)}),o.rop1&&(D.rop1={value:o.rop1,label:F(o.rop1)}),o.religion&&(D.religion={value:o.religion,label:F(o.religion)}),o.countryCode&&(D.country_code={value:o.countryCode,label:F(o.countryCode)}),o.primaryLanguage&&(D.primary_language={value:o.primaryLanguage,label:F(o.primaryLanguage)}),o.engagementStatus&&(D.engagement_status={value:o.engagementStatus,label:F(o.engagementStatus)}),o.cluster&&(D.imb_reg_of_people_2={value:o.cluster,label:F(o.cluster)}),o.peopleGroup&&(D.imb_reg_of_people_25={value:o.peopleGroup,label:F(o.peopleGroup)}),o.gospelAccess&&(D.imb_gsec={value:o.gospelAccess,label:F(o.gospelAccess)}),D}),I=le(()=>g.value?k.value:O.value),Z=le(()=>Object.values(I.value||{}).filter(D=>D&&D.value!==""&&D.value!=null).length),K=le(()=>Object.keys(I.value).length),re=le(()=>Z.value>0||!!(E.value||"").trim());function be(D){return D.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function z(D,F=500){let d;return(...p)=>{clearTimeout(d),d=setTimeout(()=>D(...p),F)}}const te=z(()=>{C.value=!0,x.value=1,ge()},500);function Y(D){_.value=(D==null?void 0:D.value)??"",te()}function q(){f.value=!f.value}function L(D){k.value={...k.value,[D.name]:{value:D.value,label:D.label}},x.value=1,ge()}function U(D){j(D.name)}function j(D){const F={...k.value};delete F[D],k.value=F,x.value=1,ge()}function T(){k.value={},x.value=1,ge()}function H(){if(k.value.exact)return j("exact");k.value={...k.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},x.value=1,ge()}const ae=D=>String(D??"").toLowerCase().replace(/[\s_&-]+/g,"");function ye(D,F){if(!D)return!1;const d=ae(F==null?void 0:F.value);return d?ae(D.value)===d||ae(D.label)===d:!1}function Se(D){let F=D;for(const[d,p]of Object.entries(I.value))d==="exact"?F=F:F=F.filter(R=>ye(R[d],p));return F}function Ce(){const D=F=>{const d=new Map;for(const p of v.value){const R=p[F];if(!(R!=null&&R.value))continue;const B=d.get(R.value);B?B.count++:d.set(R.value,{label:R.label,count:1})}return Array.from(d.entries()).map(([p,{label:R,count:B}])=>({value:p,label:R,count:B})).sort((p,R)=>p.label.localeCompare(R.label))};h.value={wagf_region:D("wagf_region"),wagf_block:D("wagf_block"),rop1:D("rop1"),religion:D("religion")}}function Te(){const D=Object.keys(h.value),F={};for(const d of D){const p={};for(const[ne,se]of Object.entries(I.value))ne!==d&&(p[ne]=se);const R=ve(p,v.value),B=new Map;for(const ne of R){const se=ne[d];se!=null&&se.value&&B.set(se.value,(B.get(se.value)??0)+1)}F[d]=(h.value[d]??[]).map(ne=>({...ne,count:B.get(ne.value)??0}))}h.value=F}function ve(D,F){let d=F;for(const[p,R]of Object.entries(D))p!=="exact"&&(d=d.filter(B=>ye(B[p],R)));return d}function ge(){v.value=v.value.map(B=>(B.matches=[],B.country_label="",B.rop1_label="",B));const F=Object.keys(I.value).length>0?Se(v.value):v.value,d=E.value;if(!d){S.value=F,$.value=S.value.length,C.value=!1,Te(),y();return}const R=new Px(F,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);S.value=R.map(B=>{var se;const ne={...B.item};if(!B.matches)return ne;ne.matches=[];for(const M of B.matches){const W=M.key;if(!W)continue;let me="";if(String(W).includes(".")){const[$e,Ne]=String(W).split(".");me=(se=ne[$e])==null?void 0:se[Ne]}else me=ne[String(W)];if(me&&typeof me=="string"){let $e=0,Ne="";if(M.indices.forEach((Ge,Xe)=>{const _t=Ge[0],Rt=Ge[1],X=M.indices.length-1===Xe;Ne+=be(me.slice($e,_t))+`${be(me.slice(_t,Rt+1))}`+(X?be(me.slice(Rt+1)):""),$e=Rt+1}),String(W).includes("imb_alternate_name"))ne.matches.push({key:i.value.alternate_name??"Also known as",label:Ne});else if(String(W).includes(".")){const[Ge]=String(W).split("."),Xe={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};Ge==="rop1"?ne.rop1_label=Ne:Ge==="country_code"?ne.country_label=Ne:Ge==="wagf_region"||ne.matches.push({key:Xe[Ge]??Ge,label:Ne})}else ne[String(W)]=Ne}}return ne}),$.value=S.value.length,C.value=!1,Te(),y()}const he=Lo();function xe(){var F,d;const D=((F=he==null?void 0:he.vnode)==null?void 0:F.el)||((d=he==null?void 0:he.proxy)==null?void 0:d.$el);try{const p=D&&D.getRootNode&&D.getRootNode();if(p&&p.host)return p.host}catch{}return D}function y(){const D={query:E.value,activeFilters:I.value,total:$.value,slugs:S.value.map(d=>d.slug)};n("groups-filtered",D);const F=xe();F&&typeof F.dispatchEvent=="function"&&F.dispatchEvent(new CustomEvent("groups-filtered",{detail:D,bubbles:!0,composed:!0}))}function A(){return o.morePerPage>0?$.value>o.perPage+(x.value-1)*o.morePerPage&&!C.value&&S.value.length>0:$.value>x.value*o.perPage&&!C.value&&S.value.length>0}function w(){x.value=x.value+1}const G=le(()=>o.morePerPage>0?S.value.slice(0,o.perPage+(x.value-1)*o.morePerPage):S.value.slice(0,x.value*o.perPage)),ee=le(()=>A());async function oe(){const D=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;C.value=!0,m.value=!1;try{const F=await fetch(D);if(!F.ok)throw new Error(`HTTP ${F.status}`);const d=await F.json();$.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ce(),ge()}catch(F){console.error("[people-groups-grid] fetch error:",F),m.value=!0,v.value=[],C.value=!1}}return ft(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,g.value],()=>{x.value=1,ge()}),bt(oe),(D,F)=>{var d,p,R,B;return V(),Q("div",Fx,[u.value||g.value?(V(),Q("div",Rx,[u.value?(V(),Q("div",Mx,[ze(La,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:Y},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),g.value?(V(),Q("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":f.value,onClick:q},[F[0]||(F[0]=P("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),lt(" "+ue(f.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),Z.value?(V(),Q("span",Dx,ue(Z.value),1)):Re("",!0),F[1]||(F[1]=P("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ox)):Re("",!0),g.value&&f.value?(V(),Q(Ae,{key:2},[P("div",jx,[ze(sr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:h.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:h.value.wagf_block||[],value:((p=I.value.wagf_block)==null?void 0:p.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.rop1||"People Group",name:"rop1",options:h.value.rop1||[],value:((R=I.value.rop1)==null?void 0:R.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.religion||"Religion",name:"religion",options:h.value.religion||[],value:((B=I.value.religion)==null?void 0:B.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"])]),P("div",zx,[P("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:H},ue(i.value.exact_filter||"Exact"),9,Ux)])],64)):Re("",!0),g.value&&K.value>0?(V(),Q("div",Bx,[(V(!0),Q(Ae,null,Qe(I.value,(ne,se)=>(V(),Q("span",{key:se,class:"filter-chip"},[lt(ue(ne.label)+" ",1),P("button",{class:"filter-chip__remove",type:"button",onClick:M=>j(String(se))},"×",8,Gx)]))),128)),P("button",{class:"filters__clear-all",type:"button",onClick:T},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),P("div",qx,[b.value||re.value?(V(),Q("div",Hx,[P("div",Vx,[C.value?(V(),Q("span",Wx," ")):(V(),Q(Ae,{key:0},[lt(ue(re.value&&!b.value?(i.value.showing||"Showing")+" "+$.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+$.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),P("div",Kx,[(V(!0),Q(Ae,null,Qe(G.value,ne=>(V(),Q("div",{key:ne.slug,class:"card uupg__card"},[ne.image_url?(V(),Q("img",{key:0,class:"uupg__image",src:ne.image_url,alt:ne.name},null,8,Yx)):Re("",!0),P("div",Xx,[P("h3",{class:"uupg__name",innerHTML:ne.name},null,8,Jx),ne.country_code?(V(),Q("p",Zx,[P("a",{class:"uupg__country-link",href:`${l.value}../countries/${de(Nx)(ne.country_code.value,ne.country_code.label)}`},[P("span",{innerHTML:ne.country_label?ne.country_label:ne.country_code.label},null,8,ew)],8,Qx),ne.rop1?(V(),Q(Ae,{key:0},[F[2]||(F[2]=lt(" (",-1)),P("span",{innerHTML:ne.rop1_label?ne.rop1_label:ne.rop1.label},null,8,tw),F[3]||(F[3]=lt(")",-1))],64)):Re("",!0)])):Re("",!0),ne.matches?(V(!0),Q(Ae,{key:1},Qe(ne.matches,(se,M)=>(V(),Q("p",{key:M,class:"uupg__match"},[P("strong",null,ue(se.key),1),F[4]||(F[4]=lt(": ",-1)),P("span",{innerHTML:se.label},null,8,ow)]))),128)):Re("",!0)]),ne.location_description?(V(),Q("p",nw,ue(ne.location_description),1)):Re("",!0),P("a",{class:"uupg__more-button",href:`${l.value}${ne.slug}`},ue(i.value.full_profile||"Full profile"),9,rw)]))),128)),C.value?(V(),Q("div",sw,ue(i.value.loading||"Loading…"),1)):m.value?(V(),Q("div",aw,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Re("",!0):(V(),Q("div",lw,ue(i.value.no_results||"No people groups match this filter."),1))]),ee.value?(V(),Q("button",{key:1,class:"pgg-loadmore",type:"button",onClick:w},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Ix]]]),cw=":host{display:block;width:100%}",uw="dashboard-plus-grid/dashboard-plus-grid/index.html",dw=vn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=zo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=wu(null);fo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+uw}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),To(h_,{sections:s},{"section-dashboard":Ao(()=>[ze(Ax,{onDashboardFilter:n})]),"section-grid":Ao(()=>[ze(iw,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[cw]]]);Nb({"./affinity-block.js":{default:Bb},"./doxa-region.js":{default:Vb}}),Fb();const fw=rp(dw,{configureApp(e){e.use(mp());const t=gb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",fw))})(); +`,"rd-shell-layout"),bt(()=>{const ge=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!ge)return;const he=xe=>ge.setAttribute("data-page-scroll",xe?"true":"false");he(de(r)),ft(()=>de(r),he)}),(ge,he)=>(V(),Q("div",{ref_key:"shell",ref:S,class:qe(["rd-shell",{"rd-narrow":de($),"rd-slim-rail":de(x),"rd-slim-facet":de(C),"rd-table-collapsed":de(h),"rd-facet-collapsed":de(_),"rd-rail-collapsed":de(k),"rd-page-scroll":r.value}]),"data-row-count":de(g),"data-loading":de(b)?"1":"0","data-error":de(v)||"","data-narrow":de($)?"1":"0"},[ze(de(Sy)),ze(de(ux)),P("div",px,[(V(!0),Q(Ae,null,Qe(de(l),xe=>(V(),Q("div",{class:"kpi",key:xe.id},[P("span",{class:"n","data-kpi":xe.id},ue(xe.kind==="count"&&de(b)?"…":H(xe)),9,gx),P("span",hx,ue(xe.label),1),xe.delta?(V(),Q("span",mx,"↓"+ue(de(Eu)(xe.delta)),1)):Re("",!0)]))),128))]),It(ze(de(Gy),null,null,512),[[Bt,de(O)]]),It(P("div",bx,[ze(de(G0)),de($)?Re("",!0):(V(),Q("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:de(_)?"Show filters":"Hide filters — grow the map",onClick:Ce},ue(de(_)?"▸":"◂"),9,_x)),de($)?Re("",!0):(V(),Q("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:de(k)?"Show charts":"Hide charts — grow the map",onClick:Te},ue(de(k)?"◂":"▸"),9,yx))],512),[[Bt,de(I)]]),It(P("div",vx,[ze(de(pv))],512),[[Bt,de(Z)]]),It(P("aside",xx,[ze(de(n0)),ze(de(Pv))],512),[[Bt,de(K)]]),It(P("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":de(q),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:he[0]||(he[0]=(...xe)=>de(re)&&de(re)(...xe)),onKeydown:he[1]||(he[1]=xe=>de(Y)("facet",xe))},null,40,wx),[[Bt,!de($)&&!de(_)]]),It(P("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":de(L),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:he[2]||(he[2]=(...xe)=>de(be)&&de(be)(...xe)),onKeydown:he[3]||(he[3]=xe=>de(Y)("rail",xe))},null,40,kx),[[Bt,!de($)&&!de(k)]]),It(P("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?de(j):parseFloat(de(U))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:he[4]||(he[4]=(...xe)=>de(z)&&de(z)(...xe)),onKeydown:he[5]||(he[5]=xe=>de(Y)("table",xe))},null,40,$x),[[Bt,!de($)&&!de(h)]]),It(P("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":de(T),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:he[6]||(he[6]=(...xe)=>de(te)&&de(te)(...xe)),onKeydown:he[7]||(he[7]=xe=>de(Y)("shell",xe))},null,40,Ex),[[Bt,!de($)&&r.value]]),P("div",{class:"rd-seg","data-segmented":"",onClick:he[8]||(he[8]=(...xe)=>de(E)&&de(E)(...xe))},[(V(!0),Q(Ae,null,Qe(de(f),xe=>(V(),Q("button",{key:xe.k,class:qe({on:de(m)===xe.k}),"data-view-btn":"","data-view":xe.k},ue(xe.l),11,Sx))),128))]),ae.value?(V(),Q("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[P("b",null,ue(ae.value)+" selected",1),he[9]||(he[9]=P("span",{class:"sp"},null,-1)),he[10]||(he[10]=P("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),he[11]||(he[11]=P("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,fx))}};function Cx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function Tx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function Lx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-b+1>=Math.min(this.minMatchCharLength,o.length));g.length&&(c=g)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function Nx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ix=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Fx={class:"pgg-root"},Rx={key:0,id:"filters",class:"filters"},Mx={key:0,class:"pgg-search"},Ox=["aria-expanded"],Dx={key:0,class:"filters__toggle-count"},jx={class:"filters__panel"},zx={class:"filters__panel"},Ux=["data-active"],Bx={key:3,class:"filters__active"},Gx=["onClick"],qx={class:"pgg-body"},Hx={key:0,class:"repel"},Vx={class:"font-size-sm"},Wx={key:1},Kx={id:"results",class:"grid uupgs-list"},Yx=["src","alt"],Xx={class:"uupg__header"},Jx=["innerHTML"],Zx={key:0,class:"uupg__country"},Qx=["href"],ew=["innerHTML"],tw=["innerHTML"],ow=["innerHTML"],nw={key:1,class:"uupg__content"},rw=["href"],sw={key:0,class:"loading"},aw={key:1,class:"pgg-empty pgg-failed",role:"status"},lw={key:2,class:"pgg-empty"},iw=vn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=D=>!(D===!1||D==="false"||D==="0"||D===0),u=le(()=>c(o.showSearch)),g=le(()=>c(o.showFilters)),b=le(()=>c(o.showTotal)),v=ie([]),S=ie([]),$=ie(0),x=ie(1),C=ie(!0),m=ie(!1),f=ie(!0),h=ie({}),_=ie(""),k=ie({}),E=le(()=>u.value?_.value:o.query||""),O=le(()=>{const D={},F=d=>d;return o.wagfRegion&&(D.wagf_region={value:o.wagfRegion,label:F(o.wagfRegion)}),o.wagfBlock&&(D.wagf_block={value:o.wagfBlock,label:F(o.wagfBlock)}),o.rop1&&(D.rop1={value:o.rop1,label:F(o.rop1)}),o.religion&&(D.religion={value:o.religion,label:F(o.religion)}),o.countryCode&&(D.country_code={value:o.countryCode,label:F(o.countryCode)}),o.primaryLanguage&&(D.primary_language={value:o.primaryLanguage,label:F(o.primaryLanguage)}),o.engagementStatus&&(D.engagement_status={value:o.engagementStatus,label:F(o.engagementStatus)}),o.cluster&&(D.imb_reg_of_people_2={value:o.cluster,label:F(o.cluster)}),o.peopleGroup&&(D.imb_reg_of_people_25={value:o.peopleGroup,label:F(o.peopleGroup)}),o.gospelAccess&&(D.imb_gsec={value:o.gospelAccess,label:F(o.gospelAccess)}),D}),I=le(()=>g.value?k.value:O.value),Z=le(()=>Object.values(I.value||{}).filter(D=>D&&D.value!==""&&D.value!=null).length),K=le(()=>Object.keys(I.value).length),re=le(()=>Z.value>0||!!(E.value||"").trim());function be(D){return D.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function z(D,F=500){let d;return(...p)=>{clearTimeout(d),d=setTimeout(()=>D(...p),F)}}const te=z(()=>{C.value=!0,x.value=1,ge()},500);function Y(D){_.value=(D==null?void 0:D.value)??"",te()}function q(){f.value=!f.value}function L(D){k.value={...k.value,[D.name]:{value:D.value,label:D.label}},x.value=1,ge()}function U(D){j(D.name)}function j(D){const F={...k.value};delete F[D],k.value=F,x.value=1,ge()}function T(){k.value={},x.value=1,ge()}function H(){if(k.value.exact)return j("exact");k.value={...k.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},x.value=1,ge()}const ae=D=>String(D??"").toLowerCase().replace(/[\s_&-]+/g,"");function ye(D,F){if(!D)return!1;const d=ae(F==null?void 0:F.value);return d?ae(D.value)===d||ae(D.label)===d:!1}function Se(D){let F=D;for(const[d,p]of Object.entries(I.value))d==="exact"?F=F:F=F.filter(R=>ye(R[d],p));return F}function Ce(){const D=F=>{const d=new Map;for(const p of v.value){const R=p[F];if(!(R!=null&&R.value))continue;const B=d.get(R.value);B?B.count++:d.set(R.value,{label:R.label,count:1})}return Array.from(d.entries()).map(([p,{label:R,count:B}])=>({value:p,label:R,count:B})).sort((p,R)=>p.label.localeCompare(R.label))};h.value={wagf_region:D("wagf_region"),wagf_block:D("wagf_block"),rop1:D("rop1"),religion:D("religion")}}function Te(){const D=Object.keys(h.value),F={};for(const d of D){const p={};for(const[ne,se]of Object.entries(I.value))ne!==d&&(p[ne]=se);const R=ve(p,v.value),B=new Map;for(const ne of R){const se=ne[d];se!=null&&se.value&&B.set(se.value,(B.get(se.value)??0)+1)}F[d]=(h.value[d]??[]).map(ne=>({...ne,count:B.get(ne.value)??0}))}h.value=F}function ve(D,F){let d=F;for(const[p,R]of Object.entries(D))p!=="exact"&&(d=d.filter(B=>ye(B[p],R)));return d}function ge(){v.value=v.value.map(B=>(B.matches=[],B.country_label="",B.rop1_label="",B));const F=Object.keys(I.value).length>0?Se(v.value):v.value,d=E.value;if(!d){S.value=F,$.value=S.value.length,C.value=!1,Te(),y();return}const R=new Px(F,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);S.value=R.map(B=>{var se;const ne={...B.item};if(!B.matches)return ne;ne.matches=[];for(const M of B.matches){const W=M.key;if(!W)continue;let me="";if(String(W).includes(".")){const[$e,Ne]=String(W).split(".");me=(se=ne[$e])==null?void 0:se[Ne]}else me=ne[String(W)];if(me&&typeof me=="string"){let $e=0,Ne="";if(M.indices.forEach((Ge,Xe)=>{const _t=Ge[0],Rt=Ge[1],X=M.indices.length-1===Xe;Ne+=be(me.slice($e,_t))+`${be(me.slice(_t,Rt+1))}`+(X?be(me.slice(Rt+1)):""),$e=Rt+1}),String(W).includes("imb_alternate_name"))ne.matches.push({key:i.value.alternate_name??"Also known as",label:Ne});else if(String(W).includes(".")){const[Ge]=String(W).split("."),Xe={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};Ge==="rop1"?ne.rop1_label=Ne:Ge==="country_code"?ne.country_label=Ne:Ge==="wagf_region"||ne.matches.push({key:Xe[Ge]??Ge,label:Ne})}else ne[String(W)]=Ne}}return ne}),$.value=S.value.length,C.value=!1,Te(),y()}const he=Lo();function xe(){var F,d;const D=((F=he==null?void 0:he.vnode)==null?void 0:F.el)||((d=he==null?void 0:he.proxy)==null?void 0:d.$el);try{const p=D&&D.getRootNode&&D.getRootNode();if(p&&p.host)return p.host}catch{}return D}function y(){const D={query:E.value,activeFilters:I.value,total:$.value,slugs:S.value.map(d=>d.slug)};n("groups-filtered",D);const F=xe();F&&typeof F.dispatchEvent=="function"&&F.dispatchEvent(new CustomEvent("groups-filtered",{detail:D,bubbles:!0,composed:!0}))}function A(){return o.morePerPage>0?$.value>o.perPage+(x.value-1)*o.morePerPage&&!C.value&&S.value.length>0:$.value>x.value*o.perPage&&!C.value&&S.value.length>0}function w(){x.value=x.value+1}const G=le(()=>o.morePerPage>0?S.value.slice(0,o.perPage+(x.value-1)*o.morePerPage):S.value.slice(0,x.value*o.perPage)),ee=le(()=>A());async function oe(){const D=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;C.value=!0,m.value=!1;try{const F=await fetch(D);if(!F.ok)throw new Error(`HTTP ${F.status}`);const d=await F.json();$.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ce(),ge()}catch(F){console.error("[people-groups-grid] fetch error:",F),m.value=!0,v.value=[],C.value=!1}}return ft(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,g.value],()=>{x.value=1,ge()}),bt(oe),(D,F)=>{var d,p,R,B;return V(),Q("div",Fx,[u.value||g.value?(V(),Q("div",Rx,[u.value?(V(),Q("div",Mx,[ze(La,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:Y},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),g.value?(V(),Q("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":f.value,onClick:q},[F[0]||(F[0]=P("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),lt(" "+ue(f.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),Z.value?(V(),Q("span",Dx,ue(Z.value),1)):Re("",!0),F[1]||(F[1]=P("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ox)):Re("",!0),g.value&&f.value?(V(),Q(Ae,{key:2},[P("div",jx,[ze(sr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:h.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:h.value.wagf_block||[],value:((p=I.value.wagf_block)==null?void 0:p.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.rop1||"People Group",name:"rop1",options:h.value.rop1||[],value:((R=I.value.rop1)==null?void 0:R.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.religion||"Religion",name:"religion",options:h.value.religion||[],value:((B=I.value.religion)==null?void 0:B.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:L,onFilterClear:U},null,8,["label","options","value","placeholder"])]),P("div",zx,[P("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:H},ue(i.value.exact_filter||"Exact"),9,Ux)])],64)):Re("",!0),g.value&&K.value>0?(V(),Q("div",Bx,[(V(!0),Q(Ae,null,Qe(I.value,(ne,se)=>(V(),Q("span",{key:se,class:"filter-chip"},[lt(ue(ne.label)+" ",1),P("button",{class:"filter-chip__remove",type:"button",onClick:M=>j(String(se))},"×",8,Gx)]))),128)),P("button",{class:"filters__clear-all",type:"button",onClick:T},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),P("div",qx,[b.value||re.value?(V(),Q("div",Hx,[P("div",Vx,[C.value?(V(),Q("span",Wx," ")):(V(),Q(Ae,{key:0},[lt(ue(re.value&&!b.value?(i.value.showing||"Showing")+" "+$.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+$.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),P("div",Kx,[(V(!0),Q(Ae,null,Qe(G.value,ne=>(V(),Q("div",{key:ne.slug,class:"card uupg__card"},[ne.image_url?(V(),Q("img",{key:0,class:"uupg__image",src:ne.image_url,alt:ne.name},null,8,Yx)):Re("",!0),P("div",Xx,[P("h3",{class:"uupg__name",innerHTML:ne.name},null,8,Jx),ne.country_code?(V(),Q("p",Zx,[P("a",{class:"uupg__country-link",href:`${l.value}../countries/${de(Nx)(ne.country_code.value,ne.country_code.label)}`},[P("span",{innerHTML:ne.country_label?ne.country_label:ne.country_code.label},null,8,ew)],8,Qx),ne.rop1?(V(),Q(Ae,{key:0},[F[2]||(F[2]=lt(" (",-1)),P("span",{innerHTML:ne.rop1_label?ne.rop1_label:ne.rop1.label},null,8,tw),F[3]||(F[3]=lt(")",-1))],64)):Re("",!0)])):Re("",!0),ne.matches?(V(!0),Q(Ae,{key:1},Qe(ne.matches,(se,M)=>(V(),Q("p",{key:M,class:"uupg__match"},[P("strong",null,ue(se.key),1),F[4]||(F[4]=lt(": ",-1)),P("span",{innerHTML:se.label},null,8,ow)]))),128)):Re("",!0)]),ne.location_description?(V(),Q("p",nw,ue(ne.location_description),1)):Re("",!0),P("a",{class:"uupg__more-button",href:`${l.value}${ne.slug}`},ue(i.value.full_profile||"Full profile"),9,rw)]))),128)),C.value?(V(),Q("div",sw,ue(i.value.loading||"Loading…"),1)):m.value?(V(),Q("div",aw,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Re("",!0):(V(),Q("div",lw,ue(i.value.no_results||"No people groups match this filter."),1))]),ee.value?(V(),Q("button",{key:1,class:"pgg-loadmore",type:"button",onClick:w},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Ix]]]),cw=":host{display:block;width:100%}",uw="dashboard-plus-grid/dashboard-plus-grid/index.html",dw=vn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=zo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=wu(null);fo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+uw}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),To(h_,{sections:s},{"section-dashboard":Ao(()=>[ze(Ax,{onDashboardFilter:n})]),"section-grid":Ao(()=>[ze(iw,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[cw]]]);Nb({"./affinity-block.js":{default:Bb},"./doxa-region.js":{default:Vb}}),Fb();const fw=rp(dw,{configureApp(e){e.use(mp());const t=gb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",fw))})(); diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html index 0d78c974e..326b71138 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html @@ -40,7 +40,7 @@ - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":21,"profileCount":32,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-lFahIRCFBh2RLzn3g9lHxF9rvYyK1YL2zPkJ+FwDVYQ8+aEcv2MPphETm99tMmfr","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-lFahIRCFBh2RLzn3g9lHxF9rvYyK1YL2zPkJ+FwDVYQ8+aEcv2MPphETm99tMmfr\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-q89eAM2NZdjf/etPJjSO4b31cIO6CD8ZA28BVYaZ2wNd46RztNl9BI0J+XS69l7e","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-q89eAM2NZdjf/etPJjSO4b31cIO6CD8ZA28BVYaZ2wNd46RztNl9BI0J+XS69l7e\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-QtXmg1sKDCXljaSvuGeRuUkpFuNWiAMRsz2Sk5tluaUTXkVfz8y2MKWdGLVCdSig","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-QtXmg1sKDCXljaSvuGeRuUkpFuNWiAMRsz2Sk5tluaUTXkVfz8y2MKWdGLVCdSig\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n\n" + "script": "\n\n" }, "instances": [ { @@ -680,7 +680,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "doxa-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN", + "integrity": "sha384-q89eAM2NZdjf/etPJjSO4b31cIO6CD8ZA28BVYaZ2wNd46RztNl9BI0J+XS69l7e", "elements": [ "people-groups-grid" ], @@ -696,7 +696,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -878,7 +878,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-czl1wL6/vRprToHEGJK5KEW0RxlfritI1CldVbHBUUxH34fxO1SxXtO7tKjohltp", + "integrity": "sha384-QtXmg1sKDCXljaSvuGeRuUkpFuNWiAMRsz2Sk5tluaUTXkVfz8y2MKWdGLVCdSig", "elements": [ "research-dashboard-map" ], @@ -894,7 +894,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/people-groups-grid/people-groups-grid.js b/public/doxa-maps/people-groups-grid/people-groups-grid.js index a31d1312b..69e8da005 100644 --- a/public/doxa-maps/people-groups-grid/people-groups-grid.js +++ b/public/doxa-maps/people-groups-grid/people-groups-grid.js @@ -2,19 +2,19 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function On(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},bt=[],De=()=>{},ms=()=>!1,Jt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yt=e=>e.startsWith("onUpdate:"),re=Object.assign,kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},uo=Object.prototype.hasOwnProperty,G=(e,t)=>uo.call(e,t),k=Array.isArray,lt=e=>Mt(e)==="[object Map]",Xt=e=>Mt(e)==="[object Set]",bs=e=>Mt(e)==="[object Date]",R=e=>typeof e=="function",ne=e=>typeof e=="string",He=e=>typeof e=="symbol",Y=e=>e!==null&&typeof e=="object",xs=e=>(Y(e)||R(e))&&R(e.then)&&R(e.catch),ys=Object.prototype.toString,Mt=e=>ys.call(e),ho=e=>Mt(e).slice(8,-1),Zt=e=>Mt(e)==="[object Object]",Rn=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pt=On(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},po=/-\w/g,Te=Qt(e=>e.replace(po,t=>t.slice(1).toUpperCase())),go=/\B([A-Z])/g,Oe=Qt(e=>e.replace(go,"-$1").toLowerCase()),ws=Qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fn=Qt(e=>e?`on${ws(e)}`:""),Ue=(e,t)=>!Object.is(e,t),In=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},_o=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Cs=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let Ts;const en=()=>Ts||(Ts=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ot(e){if(k(e)){const t={};for(let n=0;n{if(n){const s=n.split(mo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function tn(e){let t="";if(ne(e))t=e;else if(k(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ie=e=>ne(e)?e:e==null?"":k(e)||Y(e)&&(e.toString===ys||!R(e.toString))?Ms(e)?ie(e.value):JSON.stringify(e,Ps,2):String(e),Ps=(e,t)=>Ms(t)?Ps(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Ln(s,o)+" =>"]=r,n),{})}:Xt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ln(n))}:He(t)?Ln(t):Y(t)&&!k(t)&&!Zt(t)?String(t):t,Ln=(e,t="")=>{var n;return He(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function On(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},bt=[],je=()=>{},ms=()=>!1,Jt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yt=e=>e.startsWith("onUpdate:"),re=Object.assign,kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},uo=Object.prototype.hasOwnProperty,G=(e,t)=>uo.call(e,t),k=Array.isArray,lt=e=>Mt(e)==="[object Map]",Xt=e=>Mt(e)==="[object Set]",bs=e=>Mt(e)==="[object Date]",R=e=>typeof e=="function",ne=e=>typeof e=="string",He=e=>typeof e=="symbol",Y=e=>e!==null&&typeof e=="object",xs=e=>(Y(e)||R(e))&&R(e.then)&&R(e.catch),ys=Object.prototype.toString,Mt=e=>ys.call(e),ho=e=>Mt(e).slice(8,-1),Zt=e=>Mt(e)==="[object Object]",Rn=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pt=On(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},po=/-\w/g,Te=Qt(e=>e.replace(po,t=>t.slice(1).toUpperCase())),go=/\B([A-Z])/g,Oe=Qt(e=>e.replace(go,"-$1").toLowerCase()),ws=Qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fn=Qt(e=>e?`on${ws(e)}`:""),Ue=(e,t)=>!Object.is(e,t),In=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},_o=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Cs=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let Ts;const en=()=>Ts||(Ts=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ot(e){if(k(e)){const t={};for(let n=0;n{if(n){const s=n.split(mo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function tn(e){let t="";if(ne(e))t=e;else if(k(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ie=e=>ne(e)?e:e==null?"":k(e)||Y(e)&&(e.toString===ys||!R(e.toString))?Ms(e)?ie(e.value):JSON.stringify(e,Ps,2):String(e),Ps=(e,t)=>Ms(t)?Ps(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Ln(s,o)+" =>"]=r,n),{})}:Xt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ln(n))}:He(t)?Ln(t):Y(t)&&!k(t)&&!Zt(t)?String(t):t,Ln=(e,t="")=>{var n;return He(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let fe;class So{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Rt){let t=Rt;for(Rt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;kt;){let t=kt;for(kt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Fs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Is(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Hn(s),To(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Dn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ls(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ls(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ft)||(e.globalVersion=Ft,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Dn(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Le;Z=e,Le=!0;try{Fs(e);const r=e.fn(e._value);(t.version===0||Ue(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Le=s,Is(e),e.flags&=-3}}function Hn(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Hn(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function To(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Le=!0;const Ns=[];function Be(){Ns.push(Le),Le=!1}function Ve(){const e=Ns.pop();Le=e===void 0?!0:e}function $s(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let Ft=0;class Ao{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Un{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Le||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Ao(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,js(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,Ft++,this.notify(t)}notify(t){$n();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{jn()}}}function js(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)js(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bn=new WeakMap,ut=Symbol(""),Vn=Symbol(""),It=Symbol("");function ge(e,t,n){if(Le&&Z){let s=Bn.get(e);s||Bn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Un),r.map=s,r.key=n),r.track()}}function Ze(e,t,n,s,r,o){const i=Bn.get(e);if(!i){Ft++;return}const l=c=>{c&&c.trigger()};if($n(),t==="clear")i.forEach(l);else{const c=k(e),d=c&&Rn(n);if(c&&n==="length"){const u=Number(s);i.forEach((v,A)=>{(A==="length"||A===It||!He(A)&&A>=u)&&l(v)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),d&&l(i.get(It)),t){case"add":c?d&&l(i.get("length")):(l(i.get(ut)),lt(e)&&l(i.get(Vn)));break;case"delete":c||(l(i.get(ut)),lt(e)&&l(i.get(Vn)));break;case"set":lt(e)&&l(i.get(ut));break}}jn()}function xt(e){const t=z(e);return t===e?t:(ge(t,"iterate",It),ke(e)?t:t.map(Ne))}function sn(e){return ge(e=z(e),"iterate",It),e}function Ke(e,t){return et(e)?yt(dt(e)?Ne(t):t):Ne(t)}const Eo={__proto__:null,[Symbol.iterator](){return Kn(this,Symbol.iterator,e=>Ke(this,e))},concat(...e){return xt(this).concat(...e.map(t=>k(t)?xt(t):t))},entries(){return Kn(this,"entries",e=>(e[1]=Ke(this,e[1]),e))},every(e,t){return Qe(this,"every",e,t,void 0,arguments)},filter(e,t){return Qe(this,"filter",e,t,n=>n.map(s=>Ke(this,s)),arguments)},find(e,t){return Qe(this,"find",e,t,n=>Ke(this,n),arguments)},findIndex(e,t){return Qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Qe(this,"findLast",e,t,n=>Ke(this,n),arguments)},findLastIndex(e,t){return Qe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Qe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Wn(this,"includes",e)},indexOf(...e){return Wn(this,"indexOf",e)},join(e){return xt(this).join(e)},lastIndexOf(...e){return Wn(this,"lastIndexOf",e)},map(e,t){return Qe(this,"map",e,t,void 0,arguments)},pop(){return Lt(this,"pop")},push(...e){return Lt(this,"push",e)},reduce(e,...t){return Ds(this,"reduce",e,t)},reduceRight(e,...t){return Ds(this,"reduceRight",e,t)},shift(){return Lt(this,"shift")},some(e,t){return Qe(this,"some",e,t,void 0,arguments)},splice(...e){return Lt(this,"splice",e)},toReversed(){return xt(this).toReversed()},toSorted(e){return xt(this).toSorted(e)},toSpliced(...e){return xt(this).toSpliced(...e)},unshift(...e){return Lt(this,"unshift",e)},values(){return Kn(this,"values",e=>Ke(this,e))}};function Kn(e,t,n){const s=sn(e),r=s[t]();return s!==e&&!ke(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const Mo=Array.prototype;function Qe(e,t,n,s,r,o){const i=sn(e),l=i!==e&&!ke(e),c=i[t];if(c!==Mo[t]){const v=c.apply(e,o);return l?Ne(v):v}let d=n;i!==e&&(l?d=function(v,A){return n.call(this,Ke(e,v),A,e)}:n.length>2&&(d=function(v,A){return n.call(this,v,A,e)}));const u=c.call(i,d,s);return l&&r?r(u):u}function Ds(e,t,n,s){const r=sn(e),o=r!==e&&!ke(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(d,u,v){return l&&(l=!1,d=Ke(e,d)),n.call(this,d,Ke(e,u),v,e)}):n.length>3&&(i=function(d,u,v){return n.call(this,d,u,v,e)}));const c=r[t](i,...s);return l?Ke(e,c):c}function Wn(e,t,n){const s=z(e);ge(s,"iterate",It);const r=s[t](...n);return(r===-1||r===!1)&&Jn(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Lt(e,t,n=[]){Be(),$n();const s=z(e)[t].apply(e,n);return jn(),Ve(),s}const Po=On("__proto__,__v_isRef,__isVue"),Hs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(He));function Oo(e){He(e)||(e=String(e));const t=z(this);return ge(t,"has",e),t.hasOwnProperty(e)}class Us{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Gs:zs:o?Ws:Ks).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=k(t);if(!r){let c;if(i&&(c=Eo[n]))return c;if(n==="hasOwnProperty")return Oo}const l=Reflect.get(t,n,ue(t)?t:s);if((He(n)?Hs.has(n):Po(n))||(r||ge(t,"get",n),o))return l;if(ue(l)){const c=i&&Rn(n)?l:l.value;return r&&Y(c)?qn(c):c}return Y(l)?r?qn(l):Gn(l):l}}class Bs extends Us{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=k(t)&&Rn(n);if(!this._isShallow){const d=et(o);if(!ke(s)&&!et(s)&&(o=z(o),s=z(s)),!i&&ue(o)&&!ue(s))return d||(o.value=s),!0}const l=i?Number(n)e,rn=e=>Reflect.getPrototypeOf(e);function Lo(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=lt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,d=r[e](...s),u=n?zn:t?yt:Ne;return!t&&ge(o,"iterate",c?Vn:ut),re(Object.create(d),{next(){const{value:v,done:A}=d.next();return A?{value:v,done:A}:{value:l?[u(v[0]),u(v[1])]:u(v),done:A}}})}}function on(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function No(e,t){const n={get(r){const o=this.__v_raw,i=z(o),l=z(r);e||(Ue(r,l)&&ge(i,"get",r),ge(i,"get",l));const{has:c}=rn(i),d=t?zn:e?yt:Ne;if(c.call(i,r))return d(o.get(r));if(c.call(i,l))return d(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&ge(z(r),"iterate",ut),r.size},has(r){const o=this.__v_raw,i=z(o),l=z(r);return e||(Ue(r,l)&&ge(i,"has",r),ge(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=z(l),d=t?zn:e?yt:Ne;return!e&&ge(c,"iterate",ut),l.forEach((u,v)=>r.call(o,d(u),d(v),i))}};return re(n,e?{add:on("add"),set:on("set"),delete:on("delete"),clear:on("clear")}:{add(r){const o=z(this),i=rn(o),l=z(r),c=!t&&!ke(r)&&!et(r)?l:r;return i.has.call(o,c)||Ue(r,c)&&i.has.call(o,r)||Ue(l,c)&&i.has.call(o,l)||(o.add(c),Ze(o,"add",c,c)),this},set(r,o){!t&&!ke(o)&&!et(o)&&(o=z(o));const i=z(this),{has:l,get:c}=rn(i);let d=l.call(i,r);d||(r=z(r),d=l.call(i,r));const u=c.call(i,r);return i.set(r,o),d?Ue(o,u)&&Ze(i,"set",r,o):Ze(i,"add",r,o),this},delete(r){const o=z(this),{has:i,get:l}=rn(o);let c=i.call(o,r);c||(r=z(r),c=i.call(o,r)),l&&l.call(o,r);const d=o.delete(r);return c&&Ze(o,"delete",r,void 0),d},clear(){const r=z(this),o=r.size!==0,i=r.clear();return o&&Ze(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Lo(r,e,t)}),n}function ln(e,t){const n=No(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(G(n,r)&&r in s?n:s,r,o)}const $o={get:ln(!1,!1)},jo={get:ln(!1,!0)},Do={get:ln(!0,!1)},Ho={get:ln(!0,!0)},Ks=new WeakMap,Ws=new WeakMap,zs=new WeakMap,Gs=new WeakMap;function Uo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gn(e){return et(e)?e:cn(e,!1,ko,$o,Ks)}function Bo(e){return cn(e,!1,Fo,jo,Ws)}function qn(e){return cn(e,!0,Ro,Do,zs)}function Fc(e){return cn(e,!0,Io,Ho,Gs)}function cn(e,t,n,s,r){if(!Y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const i=Uo(ho(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function dt(e){return et(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function et(e){return!!(e&&e.__v_isReadonly)}function ke(e){return!!(e&&e.__v_isShallow)}function Jn(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Vo(e){return!G(e,"__v_skip")&&Object.isExtensible(e)&&Ss(e,"__v_skip",!0),e}const Ne=e=>Y(e)?Gn(e):e,yt=e=>Y(e)?qn(e):e;function ue(e){return e?e.__v_isRef===!0:!1}function de(e){return Ko(e,!1)}function Ko(e,t){return ue(e)?e:new Wo(e,t)}class Wo{constructor(t,n){this.dep=new Un,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:Ne(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ke(t)||et(t);t=s?t:z(t),Ue(t,n)&&(this._rawValue=t,this._value=s?t:Ne(t),this.dep.trigger())}}function Yn(e){return ue(e)?e.value:e}const zo={get:(e,t,n)=>t==="__v_raw"?e:Yn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ue(r)&&!ue(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function qs(e){return dt(e)?e:new Proxy(e,zo)}class Go{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Un(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ft-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return Rs(this,!0),!0}get value(){const t=this.dep.track();return Ls(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qo(e,t,n=!1){let s,r;return R(e)?s=e:(s=e.get,r=e.set),new Go(s,r,n)}const an={},fn=new WeakMap;let ht;function Jo(e,t=!1,n=ht){if(n){let s=fn.get(n);s||fn.set(n,s=[]),s.push(e)}}function Yo(e,t,n=X){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,d=M=>r?M:ke(M)||r===!1||r===0?ct(M,1):ct(M);let u,v,A,C,F=!1,P=!1;if(ue(e)?(v=()=>e.value,F=ke(e)):dt(e)?(v=()=>d(e),F=!0):k(e)?(P=!0,F=e.some(M=>dt(M)||ke(M)),v=()=>e.map(M=>{if(ue(M))return M.value;if(dt(M))return d(M);if(R(M))return c?c(M,2):M()})):R(e)?t?v=c?()=>c(e,2):e:v=()=>{if(A){Be();try{A()}finally{Ve()}}const M=ht;ht=u;try{return c?c(e,3,[C]):e(C)}finally{ht=M}}:v=De,t&&r){const M=v,ee=r===!0?1/0:r;v=()=>ct(M(),ee)}const j=Co(),D=()=>{u.stop(),j&&j.active&&kn(j.effects,u)};if(o&&t){const M=t;t=(...ee)=>{const se=M(...ee);return D(),se}}let $=P?new Array(e.length).fill(an):an;const I=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const ee=u.run();if(M||r||F||(P?ee.some((se,he)=>Ue(se,$[he])):Ue(ee,$))){A&&A();const se=ht;ht=u;try{const he=[ee,$===an?void 0:P&&$[0]===an?[]:$,C];$=ee,c?c(t,3,he):t(...he)}finally{ht=se}}}else u.run()};return l&&l(I),u=new Os(v),u.scheduler=i?()=>i(I,!1):I,C=M=>Jo(M,!1,u),A=u.onStop=()=>{const M=fn.get(u);if(M){if(c)c(M,4);else for(const ee of M)ee();fn.delete(u)}},t?s?I(!0):$=u.run():i?i(I.bind(null,!0),!0):u.run(),D.pause=u.pause.bind(u),D.resume=u.resume.bind(u),D.stop=D,D}function ct(e,t=1/0,n){if(t<=0||!Y(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ue(e))ct(e.value,t,n);else if(k(e))for(let s=0;s{ct(s,t,n)});else if(Zt(e)){for(const s in e)ct(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ct(e[s],t,n)}return e}/** +**/let fe;class So{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Rt){let t=Rt;for(Rt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;kt;){let t=kt;for(kt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Fs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Is(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Hn(s),To(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function jn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ls(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ls(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ft)||(e.globalVersion=Ft,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!jn(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Le;Z=e,Le=!0;try{Fs(e);const r=e.fn(e._value);(t.version===0||Ue(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Le=s,Is(e),e.flags&=-3}}function Hn(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Hn(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function To(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Le=!0;const Ns=[];function Be(){Ns.push(Le),Le=!1}function Ve(){const e=Ns.pop();Le=e===void 0?!0:e}function $s(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let Ft=0;class Ao{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Un{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Le||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Ao(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,Ds(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,Ft++,this.notify(t)}notify(t){$n();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Dn()}}}function Ds(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ds(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bn=new WeakMap,ut=Symbol(""),Vn=Symbol(""),It=Symbol("");function ge(e,t,n){if(Le&&Z){let s=Bn.get(e);s||Bn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Un),r.map=s,r.key=n),r.track()}}function Ze(e,t,n,s,r,o){const i=Bn.get(e);if(!i){Ft++;return}const l=c=>{c&&c.trigger()};if($n(),t==="clear")i.forEach(l);else{const c=k(e),d=c&&Rn(n);if(c&&n==="length"){const u=Number(s);i.forEach((v,A)=>{(A==="length"||A===It||!He(A)&&A>=u)&&l(v)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),d&&l(i.get(It)),t){case"add":c?d&&l(i.get("length")):(l(i.get(ut)),lt(e)&&l(i.get(Vn)));break;case"delete":c||(l(i.get(ut)),lt(e)&&l(i.get(Vn)));break;case"set":lt(e)&&l(i.get(ut));break}}Dn()}function xt(e){const t=z(e);return t===e?t:(ge(t,"iterate",It),ke(e)?t:t.map(Ne))}function sn(e){return ge(e=z(e),"iterate",It),e}function Ke(e,t){return et(e)?yt(dt(e)?Ne(t):t):Ne(t)}const Eo={__proto__:null,[Symbol.iterator](){return Kn(this,Symbol.iterator,e=>Ke(this,e))},concat(...e){return xt(this).concat(...e.map(t=>k(t)?xt(t):t))},entries(){return Kn(this,"entries",e=>(e[1]=Ke(this,e[1]),e))},every(e,t){return Qe(this,"every",e,t,void 0,arguments)},filter(e,t){return Qe(this,"filter",e,t,n=>n.map(s=>Ke(this,s)),arguments)},find(e,t){return Qe(this,"find",e,t,n=>Ke(this,n),arguments)},findIndex(e,t){return Qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Qe(this,"findLast",e,t,n=>Ke(this,n),arguments)},findLastIndex(e,t){return Qe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Qe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Wn(this,"includes",e)},indexOf(...e){return Wn(this,"indexOf",e)},join(e){return xt(this).join(e)},lastIndexOf(...e){return Wn(this,"lastIndexOf",e)},map(e,t){return Qe(this,"map",e,t,void 0,arguments)},pop(){return Lt(this,"pop")},push(...e){return Lt(this,"push",e)},reduce(e,...t){return js(this,"reduce",e,t)},reduceRight(e,...t){return js(this,"reduceRight",e,t)},shift(){return Lt(this,"shift")},some(e,t){return Qe(this,"some",e,t,void 0,arguments)},splice(...e){return Lt(this,"splice",e)},toReversed(){return xt(this).toReversed()},toSorted(e){return xt(this).toSorted(e)},toSpliced(...e){return xt(this).toSpliced(...e)},unshift(...e){return Lt(this,"unshift",e)},values(){return Kn(this,"values",e=>Ke(this,e))}};function Kn(e,t,n){const s=sn(e),r=s[t]();return s!==e&&!ke(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const Mo=Array.prototype;function Qe(e,t,n,s,r,o){const i=sn(e),l=i!==e&&!ke(e),c=i[t];if(c!==Mo[t]){const v=c.apply(e,o);return l?Ne(v):v}let d=n;i!==e&&(l?d=function(v,A){return n.call(this,Ke(e,v),A,e)}:n.length>2&&(d=function(v,A){return n.call(this,v,A,e)}));const u=c.call(i,d,s);return l&&r?r(u):u}function js(e,t,n,s){const r=sn(e),o=r!==e&&!ke(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(d,u,v){return l&&(l=!1,d=Ke(e,d)),n.call(this,d,Ke(e,u),v,e)}):n.length>3&&(i=function(d,u,v){return n.call(this,d,u,v,e)}));const c=r[t](i,...s);return l?Ke(e,c):c}function Wn(e,t,n){const s=z(e);ge(s,"iterate",It);const r=s[t](...n);return(r===-1||r===!1)&&Jn(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Lt(e,t,n=[]){Be(),$n();const s=z(e)[t].apply(e,n);return Dn(),Ve(),s}const Po=On("__proto__,__v_isRef,__isVue"),Hs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(He));function Oo(e){He(e)||(e=String(e));const t=z(this);return ge(t,"has",e),t.hasOwnProperty(e)}class Us{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Gs:zs:o?Ws:Ks).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=k(t);if(!r){let c;if(i&&(c=Eo[n]))return c;if(n==="hasOwnProperty")return Oo}const l=Reflect.get(t,n,ue(t)?t:s);if((He(n)?Hs.has(n):Po(n))||(r||ge(t,"get",n),o))return l;if(ue(l)){const c=i&&Rn(n)?l:l.value;return r&&Y(c)?qn(c):c}return Y(l)?r?qn(l):Gn(l):l}}class Bs extends Us{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=k(t)&&Rn(n);if(!this._isShallow){const d=et(o);if(!ke(s)&&!et(s)&&(o=z(o),s=z(s)),!i&&ue(o)&&!ue(s))return d||(o.value=s),!0}const l=i?Number(n)e,rn=e=>Reflect.getPrototypeOf(e);function Lo(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=lt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,d=r[e](...s),u=n?zn:t?yt:Ne;return!t&&ge(o,"iterate",c?Vn:ut),re(Object.create(d),{next(){const{value:v,done:A}=d.next();return A?{value:v,done:A}:{value:l?[u(v[0]),u(v[1])]:u(v),done:A}}})}}function on(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function No(e,t){const n={get(r){const o=this.__v_raw,i=z(o),l=z(r);e||(Ue(r,l)&&ge(i,"get",r),ge(i,"get",l));const{has:c}=rn(i),d=t?zn:e?yt:Ne;if(c.call(i,r))return d(o.get(r));if(c.call(i,l))return d(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&ge(z(r),"iterate",ut),r.size},has(r){const o=this.__v_raw,i=z(o),l=z(r);return e||(Ue(r,l)&&ge(i,"has",r),ge(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=z(l),d=t?zn:e?yt:Ne;return!e&&ge(c,"iterate",ut),l.forEach((u,v)=>r.call(o,d(u),d(v),i))}};return re(n,e?{add:on("add"),set:on("set"),delete:on("delete"),clear:on("clear")}:{add(r){const o=z(this),i=rn(o),l=z(r),c=!t&&!ke(r)&&!et(r)?l:r;return i.has.call(o,c)||Ue(r,c)&&i.has.call(o,r)||Ue(l,c)&&i.has.call(o,l)||(o.add(c),Ze(o,"add",c,c)),this},set(r,o){!t&&!ke(o)&&!et(o)&&(o=z(o));const i=z(this),{has:l,get:c}=rn(i);let d=l.call(i,r);d||(r=z(r),d=l.call(i,r));const u=c.call(i,r);return i.set(r,o),d?Ue(o,u)&&Ze(i,"set",r,o):Ze(i,"add",r,o),this},delete(r){const o=z(this),{has:i,get:l}=rn(o);let c=i.call(o,r);c||(r=z(r),c=i.call(o,r)),l&&l.call(o,r);const d=o.delete(r);return c&&Ze(o,"delete",r,void 0),d},clear(){const r=z(this),o=r.size!==0,i=r.clear();return o&&Ze(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Lo(r,e,t)}),n}function ln(e,t){const n=No(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(G(n,r)&&r in s?n:s,r,o)}const $o={get:ln(!1,!1)},Do={get:ln(!1,!0)},jo={get:ln(!0,!1)},Ho={get:ln(!0,!0)},Ks=new WeakMap,Ws=new WeakMap,zs=new WeakMap,Gs=new WeakMap;function Uo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gn(e){return et(e)?e:cn(e,!1,ko,$o,Ks)}function Bo(e){return cn(e,!1,Fo,Do,Ws)}function qn(e){return cn(e,!0,Ro,jo,zs)}function Fc(e){return cn(e,!0,Io,Ho,Gs)}function cn(e,t,n,s,r){if(!Y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const i=Uo(ho(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function dt(e){return et(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function et(e){return!!(e&&e.__v_isReadonly)}function ke(e){return!!(e&&e.__v_isShallow)}function Jn(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Vo(e){return!G(e,"__v_skip")&&Object.isExtensible(e)&&Ss(e,"__v_skip",!0),e}const Ne=e=>Y(e)?Gn(e):e,yt=e=>Y(e)?qn(e):e;function ue(e){return e?e.__v_isRef===!0:!1}function de(e){return Ko(e,!1)}function Ko(e,t){return ue(e)?e:new Wo(e,t)}class Wo{constructor(t,n){this.dep=new Un,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:Ne(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ke(t)||et(t);t=s?t:z(t),Ue(t,n)&&(this._rawValue=t,this._value=s?t:Ne(t),this.dep.trigger())}}function Yn(e){return ue(e)?e.value:e}const zo={get:(e,t,n)=>t==="__v_raw"?e:Yn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ue(r)&&!ue(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function qs(e){return dt(e)?e:new Proxy(e,zo)}class Go{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Un(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ft-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return Rs(this,!0),!0}get value(){const t=this.dep.track();return Ls(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qo(e,t,n=!1){let s,r;return R(e)?s=e:(s=e.get,r=e.set),new Go(s,r,n)}const an={},fn=new WeakMap;let ht;function Jo(e,t=!1,n=ht){if(n){let s=fn.get(n);s||fn.set(n,s=[]),s.push(e)}}function Yo(e,t,n=X){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,d=M=>r?M:ke(M)||r===!1||r===0?ct(M,1):ct(M);let u,v,A,C,F=!1,P=!1;if(ue(e)?(v=()=>e.value,F=ke(e)):dt(e)?(v=()=>d(e),F=!0):k(e)?(P=!0,F=e.some(M=>dt(M)||ke(M)),v=()=>e.map(M=>{if(ue(M))return M.value;if(dt(M))return d(M);if(R(M))return c?c(M,2):M()})):R(e)?t?v=c?()=>c(e,2):e:v=()=>{if(A){Be();try{A()}finally{Ve()}}const M=ht;ht=u;try{return c?c(e,3,[C]):e(C)}finally{ht=M}}:v=je,t&&r){const M=v,ee=r===!0?1/0:r;v=()=>ct(M(),ee)}const D=Co(),j=()=>{u.stop(),D&&D.active&&kn(D.effects,u)};if(o&&t){const M=t;t=(...ee)=>{const se=M(...ee);return j(),se}}let $=P?new Array(e.length).fill(an):an;const I=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const ee=u.run();if(M||r||F||(P?ee.some((se,he)=>Ue(se,$[he])):Ue(ee,$))){A&&A();const se=ht;ht=u;try{const he=[ee,$===an?void 0:P&&$[0]===an?[]:$,C];$=ee,c?c(t,3,he):t(...he)}finally{ht=se}}}else u.run()};return l&&l(I),u=new Os(v),u.scheduler=i?()=>i(I,!1):I,C=M=>Jo(M,!1,u),A=u.onStop=()=>{const M=fn.get(u);if(M){if(c)c(M,4);else for(const ee of M)ee();fn.delete(u)}},t?s?I(!0):$=u.run():i?i(I.bind(null,!0),!0):u.run(),j.pause=u.pause.bind(u),j.resume=u.resume.bind(u),j.stop=j,j}function ct(e,t=1/0,n){if(t<=0||!Y(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ue(e))ct(e.value,t,n);else if(k(e))for(let s=0;s{ct(s,t,n)});else if(Zt(e)){for(const s in e)ct(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ct(e[s],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Nt=[];let Xn=!1;function Ic(e,...t){if(Xn)return;Xn=!0,Be();const n=Nt.length?Nt[Nt.length-1].component:null,s=n&&n.appContext.config.warnHandler,r=Xo();if(s)wt(s,n,11,[e+t.map(o=>{var i,l;return(l=(i=o.toString)==null?void 0:i.call(o))!=null?l:JSON.stringify(o)}).join(""),n&&n.proxy,r.map(({vnode:o})=>`at <${Gr(n,o.type)}>`).join(` `),r]);else{const o=[`[Vue warn]: ${e}`,...t];r.length&&o.push(` `,...Zo(r)),console.warn(...o)}Ve(),Xn=!1}function Xo(){let e=Nt[Nt.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const s=e.component&&e.component.parent;e=s&&s.vnode}return t}function Zo(e){const t=[];return e.forEach((n,s)=>{t.push(...s===0?[]:[` -`],...Qo(n))}),t}function Qo({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",s=e.component?e.component.parent==null:!1,r=` at <${Gr(e.component,e.type,s)}`,o=">"+n;return e.props?[r,...ei(e.props),o]:[r+o]}function ei(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(s=>{t.push(...Js(s,e[s]))}),n.length>3&&t.push(" ..."),t}function Js(e,t,n){return ne(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ue(t)?(t=Js(e,z(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):R(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=z(t),n?t:[`${e}=`,t])}function wt(e,t,n,s){try{return s?e(...s):e()}catch(r){un(r,t,n)}}function $e(e,t,n,s){if(R(e)){const r=wt(e,t,n,s);return r&&xs(r)&&r.catch(o=>{un(o,t,n)}),r}if(k(e)){const r=[];for(let o=0;o>>1,r=be[s],o=$t(r);o=$t(n)?be.push(e):be.splice(ni(t),0,e),e.flags|=1,Xs()}}function Xs(){dn||(dn=Ys.then(er))}function si(e){if(!k(e))at&&e.id===-1?at.splice(Ct+1,0,e):e.flags&1||(St.push(e),e.flags|=1);else for(let t=0;t$t(n)-$t(s));if(St.length=0,at){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function er(e){try{for(We=0;We{s._d&&jr(-1);const o=pn(t),i=_t.length;let l;try{l=e(...r)}finally{for(let c=_t.length;c>i;c--)$r();pn(o),s._d&&jr(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function pt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i1)return n&&R(t)?t.call(s&&s.proxy):t}}const ii=Symbol.for("v-scx"),li=()=>gn(ii);function _n(e,t,n){return nr(e,t,n)}function nr(e,t,n=X){const{immediate:s,deep:r,flush:o,once:i}=n,l=re({},n),c=t&&s||!t&&o!=="post";let d;if(zt){if(o==="sync"){const C=li();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!c){const C=()=>{};return C.stop=De,C.resume=De,C.pause=De,C}}const u=we;l.call=(C,F,P)=>$e(C,u,F,P);let v=!1;o==="post"?l.scheduler=C=>{Ae(C,u&&u.suspense)}:o!=="sync"&&(v=!0,l.scheduler=(C,F)=>{F?C():Zn(C)}),l.augmentJob=C=>{t&&(C.flags|=4),v&&(C.flags|=2,u&&(C.id=u.uid,C.i=u))};const A=Yo(e,t,l);return zt&&(d?d.push(A):c&&A()),A}function ci(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?sr(s,e):()=>s[e]:e.bind(s,s);let o;R(t)?o=t:(o=t.handler,n=t);const i=Wt(this),l=nr(r,o.bind(s),n);return i(),l}function sr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,Qn=Symbol("_leaveCb");function fi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==nt){t=n;break}}return t}function rr(e){if(!ts(e))return vn(e.type)&&e.children?fi(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&R(n.default))return n.default()}}function es(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;es(vn(n.type)&&rr(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ui(e,t){return R(e)?re({name:e.name},t,{setup:e}):e}function or(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ir(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const mn=new WeakMap;function jt(e,t,n,s,r=!1){if(k(e)){e.forEach((P,j)=>jt(P,t&&(k(t)?t[j]:t),n,s,r));return}if(Dt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&jt(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?us(s.component):s.el,i=r?null:o,{i:l,r:c}=e,d=t&&t.r,u=l.refs===X?l.refs={}:l.refs,v=l.setupState,A=z(v),C=v===X?ms:P=>ir(u,P)?!1:G(A,P),F=(P,j)=>!(j&&ir(u,j));if(d!=null&&d!==c){if(lr(t),ne(d))u[d]=null,C(d)&&(v[d]=null);else if(ue(d)){const P=t;F(d,P.k)&&(d.value=null),P.k&&(u[P.k]=null)}}if(R(c))wt(c,l,12,[i,u]);else{const P=ne(c),j=ue(c);if(P||j){const D=()=>{if(e.f){const $=P?C(c)?v[c]:u[c]:F()||!e.k?c.value:u[e.k];if(r)k($)&&kn($,o);else if(k($))$.includes(o)||$.push(o);else if(P)u[c]=[o],C(c)&&(v[c]=u[c]);else{const I=[o];F(c,e.k)&&(c.value=I),e.k&&(u[e.k]=I)}}else P?(u[c]=i,C(c)&&(v[c]=i)):j&&(F(c,e.k)&&(c.value=i),e.k&&(u[e.k]=i))};if(i){const $=()=>{D(),mn.delete(e)};$.id=-1,mn.set(e,$),Ae($,n)}else lr(e),D()}}}function lr(e){const t=mn.get(e);t&&(t.flags|=8,mn.delete(e))}en().requestIdleCallback,en().cancelIdleCallback;const Dt=e=>!!e.type.__asyncLoader,ts=e=>e.type.__isKeepAlive;function di(e,t){cr(e,"a",t)}function hi(e,t){cr(e,"da",t)}function cr(e,t,n=we){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ts(r.parent.vnode)&&pi(s,t,n,r),r=r.parent}}function pi(e,t,n,s){const r=bn(t,e,s,!0);ur(()=>{kn(s[t],r)},n)}function bn(e,t,n=we,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Be();const l=Wt(n),c=$e(t,n,e,i);return l(),Ve(),c});return s?r.unshift(o):r.push(o),o}}const tt=e=>(t,n=we)=>{(!zt||e==="sp")&&bn(e,(...s)=>t(...s),n)},gi=tt("bm"),ar=tt("m"),_i=tt("bu"),vi=tt("u"),fr=tt("bum"),ur=tt("um"),mi=tt("sp"),bi=tt("rtg"),xi=tt("rtc");function yi(e,t=we){bn("ec",e,t)}const wi=Symbol.for("v-ndc");function xn(e,t,n,s){let r;const o=n,i=k(e);if(i||ne(e)){const l=i&&dt(e);let c=!1,d=!1;l&&(c=!ke(e),d=et(e),e=sn(e)),r=new Array(e.length);for(let u=0,v=e.length;ut(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;ce?Kr(e)?us(e):ns(e.parent):null,Ht=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ns(e.parent),$root:e=>ns(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gr(e),$forceUpdate:e=>e.f||(e.f=()=>{Zn(e.update)}),$nextTick:e=>e.n||(e.n=hn.bind(e.proxy)),$watch:e=>ci.bind(e)}),ss=(e,t)=>e!==X&&!e.__isScriptSetup&&G(e,t),Si={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(ss(s,t))return i[t]=1,s[t];if(r!==X&&G(r,t))return i[t]=2,r[t];if(G(o,t))return i[t]=3,o[t];if(n!==X&&G(n,t))return i[t]=4,n[t];rs&&(i[t]=0)}}const d=Ht[t];let u,v;if(d)return t==="$attrs"&&ge(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==X&&G(n,t))return i[t]=4,n[t];if(v=c.config.globalProperties,G(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return ss(r,t)?(r[t]=n,!0):s!==X&&G(s,t)?(s[t]=n,!0):G(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&G(e,l)||ss(t,l)||G(o,l)||G(s,l)||G(Ht,l)||G(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:G(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function dr(e){return k(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let rs=!0;function Ci(e){const t=gr(e),n=e.proxy,s=e.ctx;rs=!1,t.beforeCreate&&hr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:d,created:u,beforeMount:v,mounted:A,beforeUpdate:C,updated:F,activated:P,deactivated:j,beforeDestroy:D,beforeUnmount:$,destroyed:I,unmounted:M,render:ee,renderTracked:se,renderTriggered:he,errorCaptured:Re,serverPrefetch:O,expose:L,inheritAttrs:J,components:Ee,directives:ve,filters:Je}=t;if(d&&Ti(d,s,null),i)for(const q in i){const W=i[q];R(W)&&(s[q]=W.bind(n))}if(r){const q=r.call(n,n);Y(q)&&(e.data=Gn(q))}if(rs=!0,o)for(const q in o){const W=o[q],pe=R(W)?W.bind(n,n):R(W.get)?W.get.bind(n,n):De,Fe=!R(W)&&R(W.set)?W.set.bind(n):De,je=oe({get:pe,set:Fe});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>je.value,set:me=>je.value=me})}if(l)for(const q in l)pr(l[q],s,n,q);if(c){const q=R(c)?c.call(n):c;Reflect.ownKeys(q).forEach(W=>{oi(W,q[W])})}u&&hr(u,e,"c");function ae(q,W){k(W)?W.forEach(pe=>q(pe.bind(n))):W&&q(W.bind(n))}if(ae(gi,v),ae(ar,A),ae(_i,C),ae(vi,F),ae(di,P),ae(hi,j),ae(yi,Re),ae(xi,se),ae(bi,he),ae(fr,$),ae(ur,M),ae(mi,O),k(L))if(L.length){const q=e.exposed||(e.exposed={});L.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:pe=>n[W]=pe,enumerable:!0})})}else e.exposed||(e.exposed={});ee&&e.render===De&&(e.render=ee),J!=null&&(e.inheritAttrs=J),Ee&&(e.components=Ee),ve&&(e.directives=ve),O&&or(e)}function Ti(e,t,n=De){k(e)&&(e=os(e));for(const s in e){const r=e[s];let o;Y(r)?"default"in r?o=gn(r.from||s,r.default,!0):o=gn(r.from||s):o=gn(r),ue(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function hr(e,t,n){$e(k(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function pr(e,t,n,s){let r=s.includes(".")?sr(n,s):()=>n[s];if(ne(e)){const o=t[e];R(o)&&_n(r,o)}else if(R(e))_n(r,e.bind(n));else if(Y(e))if(k(e))e.forEach(o=>pr(o,t,n,s));else{const o=R(e.handler)?e.handler.bind(n):t[e.handler];R(o)&&_n(r,o,e)}}function gr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>yn(c,d,i,!0)),yn(c,t,i)),Y(t)&&o.set(t,c),c}function yn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&yn(e,o,n,!0),r&&r.forEach(i=>yn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ai[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ai={data:_r,props:vr,emits:vr,methods:Ut,computed:Ut,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:Ut,directives:Ut,watch:Mi,provide:_r,inject:Ei};function _r(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Ei(e,t){return Ut(os(e),os(t))}function os(e){if(k(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Te(t)}Modifiers`]||e[`${Oe(t)}Modifiers`];function Ri(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const o=t.startsWith("update:"),i=o&&ki(s,t.slice(7));i&&(i.trim&&(r=n.map(u=>ne(u)?u.trim():u)),i.number&&(r=r.map(_o)));let l,c=s[l=Fn(t)]||s[l=Fn(Te(t))];!c&&o&&(c=s[l=Fn(Oe(t))]),c&&$e(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,$e(d,e,6,r)}}const Fi=new WeakMap;function br(e,t,n=!1){const s=n?Fi:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!R(e)){const c=d=>{const u=br(d,t,!0);u&&(l=!0,re(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Y(e)&&s.set(e,null),null):(k(o)?o.forEach(c=>i[c]=null):re(i,o),Y(e)&&s.set(e,i),i)}function wn(e,t){return!e||!Jt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),G(e,t[0].toLowerCase()+t.slice(1))||G(e,Oe(t))||G(e,t))}function Lc(){}function xr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:d,renderCache:u,props:v,data:A,setupState:C,ctx:F,inheritAttrs:P}=e,j=pn(e);let D,$;try{if(n.shapeFlag&4){const M=r||s,ee=M;D=Ge(d.call(ee,M,u,v,C,A,F)),$=l}else{const M=t;D=Ge(M.length>1?M(v,{attrs:l,slots:i,emit:c}):M(v,null)),$=t.props?l:Ii(l)}}catch(M){_t.length=0,un(M,e,1),D=ye(nt)}let I=D;if($&&P!==!1){const M=Object.keys($),{shapeFlag:ee}=I;M.length&&ee&7&&(o&&M.some(Yt)&&($=Li($,o)),I=At(I,$,!1,!0))}if(n.dirs&&(I=At(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition){const M=vn(I.type)&&rr(I)||I;es(M,n.transition)}return D=I,pn(j),D}const Ii=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jt(n))&&((t||(t={}))[n]=e[n]);return t},Li=(e,t)=>{const n={};for(const s in e)(!Yt(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ni(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?yr(s,i,d):!!i;if(c&8){const u=t.dynamicProps;for(let v=0;vObject.create(Sr),Tr=e=>Object.getPrototypeOf(e)===Sr;function ji(e,t,n,s=!1){const r={},o=Cr();e.propsDefaults=Object.create(null),Ar(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Bo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Di(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=z(r),[c]=e.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let v=0;v{c=!0;const[A,C]=Er(v,t,!0);re(i,A),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return Y(e)&&s.set(e,bt),bt;if(k(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cs=e=>k(e)?e.map(Ge):[Ge(e)],Ui=(e,t,n)=>{if(t._n)return t;const s=ri((...r)=>cs(t(...r)),n);return s._c=!1,s},Pr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ls(r))continue;const o=e[r];if(R(o))t[r]=Ui(r,o,s);else if(o!=null){const i=cs(o);t[r]=()=>i}}},Or=(e,t)=>{const n=cs(t);e.slots.default=()=>n},kr=(e,t,n)=>{for(const s in t)(n||!ls(s))&&(e[s]=t[s])},Bi=(e,t,n)=>{const s=e.slots=Cr();if(e.vnode.shapeFlag&32){const r=t._;r?(kr(s,t,n),n&&Ss(s,"_",r,!0)):Pr(t,s)}else t&&Or(e,t)},Vi=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:kr(r,t,n):(o=!t.$stable,Pr(t,r)),i=t}else t&&(Or(e,t),i={default:1});if(o)for(const l in r)!ls(l)&&i[l]==null&&delete r[l]},Ae=qi;function Ki(e){return Wi(e)}function Wi(e,t){const n=en();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:d,setElementText:u,parentNode:v,nextSibling:A,setScopeId:C=De,insertStaticContent:F}=e,P=(a,f,g,y=null,x=null,b=null,h=void 0,p=null,m=!!f.dynamicChildren)=>{if(a===f)return;a&&!Vt(a,f)&&(y=mt(a),me(a,x,b,!0),a=null),f.patchFlag===-2&&(m=!1,f.dynamicChildren=null);const{type:_,ref:T,shapeFlag:S}=f;switch(_){case Sn:j(a,f,g,y);break;case nt:D(a,f,g,y);break;case fs:a==null&&$(f,g,y,h);break;case ce:Ee(a,f,g,y,x,b,h,p,m);break;default:S&1?ee(a,f,g,y,x,b,h,p,m):S&6?ve(a,f,g,y,x,b,h,p,m):(S&64||S&128)&&_.process(a,f,g,y,x,b,h,p,m,Ie)}T!=null&&x?jt(T,a&&a.ref,b,f||a,!f):T==null&&a&&a.ref!=null&&jt(a.ref,null,b,a,!0)},j=(a,f,g,y)=>{if(a==null)s(f.el=l(f.children),g,y);else{const x=f.el=a.el;f.children!==a.children&&d(x,f.children)}},D=(a,f,g,y)=>{a==null?s(f.el=c(f.children||""),g,y):f.el=a.el},$=(a,f,g,y)=>{[a.el,a.anchor]=F(a.children,f,g,y,a.el,a.anchor)},I=({el:a,anchor:f},g,y)=>{let x;for(;a&&a!==f;)x=A(a),s(a,g,y),a=x;s(f,g,y)},M=({el:a,anchor:f})=>{let g;for(;a&&a!==f;)g=A(a),r(a),a=g;r(f)},ee=(a,f,g,y,x,b,h,p,m)=>{if(f.type==="svg"?h="svg":f.type==="math"&&(h="mathml"),a==null)se(f,g,y,x,b,h,p,m);else{const _=a.el&&a.el._isVueCE?a.el:null;try{_&&_._beginPatch(),O(a,f,x,b,h,p,m)}finally{_&&_._endPatch()}}},se=(a,f,g,y,x,b,h,p)=>{let m,_;const{props:T,shapeFlag:S,transition:w,dirs:E}=a;if(m=a.el=i(a.type,b,T&&T.is,T),S&8?u(m,a.children):S&16&&Re(a.children,m,null,y,x,as(a,b),h,p),E&&pt(a,null,y,"created"),he(m,a,a.scopeId,h,y),T){for(const H in T)H!=="value"&&!Pt(H)&&o(m,H,null,T[H],b,y);"value"in T&&o(m,"value",null,T.value,b),(_=T.onVnodeBeforeMount)&&qe(_,y,a)}E&&pt(a,null,y,"beforeMount");const N=zi(x,w);N&&w.beforeEnter(m),s(m,f,g),((_=T&&T.onVnodeMounted)||N||E)&&Ae(()=>{try{_&&qe(_,y,a),N&&w.enter(m),E&&pt(a,null,y,"mounted")}finally{}},x)},he=(a,f,g,y,x)=>{if(g&&C(a,g),y)for(let b=0;b{for(let _=m;_{const p=f.el=a.el;let{patchFlag:m,dynamicChildren:_,dirs:T}=f;m|=a.patchFlag&16;const S=a.props||X,w=f.props||X;let E;if(g&>(g,!1),(E=w.onVnodeBeforeUpdate)&&qe(E,g,f,a),T&&pt(f,a,g,"beforeUpdate"),g&>(g,!0),_&&(!a.dynamicChildren||a.dynamicChildren.length!==_.length)&&(m=0,h=!1,_=null),(S.innerHTML&&w.innerHTML==null||S.textContent&&w.textContent==null)&&u(p,""),_?L(a.dynamicChildren,_,p,g,y,as(f,x),b):h||W(a,f,p,null,g,y,as(f,x),b,!1),m>0){if(m&16)J(p,S,w,g,x);else if(m&2&&S.class!==w.class&&o(p,"class",null,w.class,x),m&4&&o(p,"style",S.style,w.style,x),m&8){const N=f.dynamicProps;for(let H=0;H{E&&qe(E,g,f,a),T&&pt(f,a,g,"updated")},y)},L=(a,f,g,y,x,b,h)=>{for(let p=0;p{if(f!==g){if(f!==X)for(const b in f)!Pt(b)&&!(b in g)&&o(a,b,f[b],null,x,y);for(const b in g){if(Pt(b))continue;const h=g[b],p=f[b];h!==p&&b!=="value"&&o(a,b,p,h,x,y)}"value"in g&&o(a,"value",f.value,g.value,x)}},Ee=(a,f,g,y,x,b,h,p,m)=>{const _=f.el=a?a.el:l(""),T=f.anchor=a?a.anchor:l("");let{patchFlag:S,dynamicChildren:w,slotScopeIds:E}=f;E&&(p=p?p.concat(E):E),a==null?(s(_,g,y),s(T,g,y),Re(f.children||[],g,T,x,b,h,p,m)):S>0&&S&64&&w&&a.dynamicChildren&&a.dynamicChildren.length===w.length?(L(a.dynamicChildren,w,g,x,b,h,p),(f.key!=null||x&&f===x.subTree)&&Rr(a,f,!0)):W(a,f,g,T,x,b,h,p,m)},ve=(a,f,g,y,x,b,h,p,m)=>{f.slotScopeIds=p,a==null?f.shapeFlag&512?x.ctx.activate(f,g,y,h,m):Je(f,g,y,x,b,h,m):Se(a,f,m)},Je=(a,f,g,y,x,b,h)=>{const p=a.component=tl(a,y,x);if(ts(a)&&(p.ctx.renderer=Ie),nl(p,!1,h),p.asyncDep){if(x&&x.registerDep(p,ae,h),!a.el){const m=p.subTree=ye(nt);D(null,m,f,g),a.placeholder=m.el}}else ae(p,a,f,g,x,b,h)},Se=(a,f,g)=>{const y=f.component=a.component;if(Ni(a,f,g))if(y.asyncDep&&!y.asyncResolved){q(y,f,g);return}else y.next=f,y.update();else f.el=a.el,y.vnode=f},ae=(a,f,g,y,x,b,h)=>{const p=()=>{if(a.isMounted){let{next:S,bu:w,u:E,parent:N,vnode:H}=a;{const Me=Fr(a);if(Me){S&&(S.el=H.el,q(a,S,h)),Me.asyncDep.then(()=>{Ae(()=>{a.isUnmounted||_()},x)});return}}let U=S,te;gt(a,!1),S?(S.el=H.el,q(a,S,h)):S=H,w&&In(w),(te=S.props&&S.props.onVnodeBeforeUpdate)&&qe(te,N,S,H),gt(a,!0);const Q=xr(a),le=a.subTree;a.subTree=Q,P(le,Q,v(le.el),mt(le),a,x,b),S.el=Q.el,U===null&&$i(a,Q.el),E&&Ae(E,x),(te=S.props&&S.props.onVnodeUpdated)&&Ae(()=>qe(te,N,S,H),x)}else{let S;const{el:w,props:E}=f,{bm:N,m:H,parent:U,root:te,type:Q}=a,le=Dt(f);gt(a,!1),N&&In(N),!le&&(S=E&&E.onVnodeBeforeMount)&&qe(S,U,f),gt(a,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(Q,a.parent?a.parent.type:void 0);const Me=a.subTree=xr(a);P(null,Me,g,y,a,x,b),f.el=Me.el}if(H&&Ae(H,x),!le&&(S=E&&E.onVnodeMounted)){const Me=f;Ae(()=>qe(S,U,Me),x)}(f.shapeFlag&256||U&&Dt(U.vnode)&&U.vnode.shapeFlag&256)&&a.a&&Ae(a.a,x),a.isMounted=!0,f=g=y=null}};a.scope.on();const m=a.effect=new Os(p);a.scope.off();const _=a.update=m.run.bind(m),T=a.job=m.runIfDirty.bind(m);T.i=a,T.id=a.uid,m.scheduler=()=>Zn(T),gt(a,!0),_()},q=(a,f,g)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,Di(a,f.props,y,g),Vi(a,f.children,g),Be(),Zs(a),Ve()},W=(a,f,g,y,x,b,h,p,m=!1)=>{const _=a&&a.children,T=a?a.shapeFlag:0,S=f.children,{patchFlag:w,shapeFlag:E}=f;if(w>0){if(w&128){Fe(_,S,g,y,x,b,h,p,m);return}else if(w&256){pe(_,S,g,y,x,b,h,p,m);return}}E&8?(T&16&&vt(_,x,b),S!==_&&u(g,S)):T&16?E&16?Fe(_,S,g,y,x,b,h,p,m):vt(_,x,b,!0):(T&8&&u(g,""),E&16&&Re(S,g,y,x,b,h,p,m))},pe=(a,f,g,y,x,b,h,p,m)=>{a=a||bt,f=f||bt;const _=a.length,T=f.length,S=Math.min(_,T);let w;for(w=0;wT?vt(a,x,b,!0,!1,S):Re(f,g,y,x,b,h,p,m,S)},Fe=(a,f,g,y,x,b,h,p,m)=>{let _=0;const T=f.length;let S=a.length-1,w=T-1;for(;_<=S&&_<=w;){const E=a[_],N=f[_]=m?rt(f[_]):Ge(f[_]);if(Vt(E,N))P(E,N,g,null,x,b,h,p,m);else break;_++}for(;_<=S&&_<=w;){const E=a[S],N=f[w]=m?rt(f[w]):Ge(f[w]);if(Vt(E,N))P(E,N,g,null,x,b,h,p,m);else break;S--,w--}if(_>S){if(_<=w){const E=w+1,N=Ew)for(;_<=S;)me(a[_],x,b,!0),_++;else{const E=_,N=_,H=new Map;for(_=N;_<=w;_++){const Ce=f[_]=m?rt(f[_]):Ge(f[_]);Ce.key!=null&&H.set(Ce.key,_)}let U,te=0;const Q=w-N+1;let le=!1,Me=0;const ft=new Array(Q);for(_=0;_=Q){me(Ce,x,b,!0);continue}let Xe;if(Ce.key!=null)Xe=H.get(Ce.key);else for(U=N;U<=w;U++)if(ft[U-N]===0&&Vt(Ce,f[U])){Xe=U;break}Xe===void 0?me(Ce,x,b,!0):(ft[Xe-N]=_+1,Xe>=Me?Me=Xe:le=!0,P(Ce,f[Xe],g,null,x,b,h,p,m),te++)}const Et=le?Gi(ft):bt;for(U=Et.length-1,_=Q-1;_>=0;_--){const Ce=N+_,Xe=f[Ce],ao=f[Ce+1],fo=Ce+1{const{el:b,type:h,transition:p,children:m,shapeFlag:_}=a;if(_&6){je(a.component.subTree,f,g,y);return}if(_&128){a.suspense.move(f,g,y);return}if(_&64){h.move(a,f,g,Ie);return}if(h===ce){s(b,f,g);for(let S=0;Sp.enter(b),x));else{const{leave:S,delayLeave:w,afterLeave:E}=p,N=()=>{a.ctx.isUnmounted?r(b):s(b,f,g)},H=()=>{const U=b._isLeaving||!!b[Qn];b._isLeaving&&b[Qn](!0),p.persisted&&!U?N():S(b,()=>{N(),E&&E()})};w?w(b,N,H):H()}else s(b,f,g)},me=(a,f,g,y=!1,x=!1)=>{const{type:b,props:h,ref:p,children:m,dynamicChildren:_,shapeFlag:T,patchFlag:S,dirs:w,cacheIndex:E,memo:N}=a;if(S===-2&&(x=!1),p!=null&&(Be(),jt(p,null,g,a,!0),Ve()),E!=null&&(f.renderCache[E]=void 0),T&256){f.ctx.deactivate(a);return}const H=T&1&&w,U=!Dt(a);let te;if(U&&(te=h&&h.onVnodeBeforeUnmount)&&qe(te,f,a),T&6)vs(a.component,g,y);else{if(T&128){a.suspense.unmount(g,y);return}H&&pt(a,null,f,"beforeUnmount"),T&64?a.type.remove(a,f,g,Ie,y):_&&!_.hasOnce&&(b!==ce||S>0&&S&64)?vt(_,f,g,!1,!0):(b===ce&&S&384||!x&&T&16)&&vt(m,f,g),y&&it(a)}const Q=N!=null&&E==null;(U&&(te=h&&h.onVnodeUnmounted)||H||Q)&&Ae(()=>{te&&qe(te,f,a),H&&pt(a,null,f,"unmounted"),Q&&(a.el=null)},g)},it=a=>{const{type:f,el:g,anchor:y,transition:x}=a;if(f===ce){Pn(g,y);return}if(f===fs){M(a);return}const b=()=>{r(g),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:h,delayLeave:p}=x,m=()=>h(g,b);p?p(a.el,b,m):m()}else b()},Pn=(a,f)=>{let g;for(;a!==f;)g=A(a),r(a),a=g;r(f)},vs=(a,f,g)=>{const{bum:y,scope:x,job:b,subTree:h,um:p,m,a:_}=a;Ir(m),Ir(_),y&&In(y),x.stop(),b&&(b.flags|=8,me(h,a,f,g)),p&&Ae(p,f),Ae(()=>{a.isUnmounted=!0},f)},vt=(a,f,g,y=!1,x=!1,b=0)=>{for(let h=b;h{if(a.shapeFlag&6)return mt(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=A(a.anchor||a.el),g=f&&f[ai];return g?A(g):f};let qt=!1;const Ye=(a,f,g)=>{let y;a==null?f._vnode&&(me(f._vnode,null,null,!0),y=f._vnode.component):P(f._vnode||null,a,f,null,null,null,g),f._vnode=a,qt||(qt=!0,Zs(y),Qs(),qt=!1)},Ie={p:P,um:me,m:je,r:it,mt:Je,mc:Re,pc:W,pbc:L,n:mt,o:e};return{render:Ye,hydrate:void 0,createApp:Oi(Ye)}}function as({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function zi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Rr(e,t,n=!1){const s=e.children,r=t.children;if(k(s)&&k(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Fr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fr(t)}function Ir(e){if(e)for(let t=0;te.__isSuspense;function qi(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):si(e)}const ce=Symbol.for("v-fgt"),Sn=Symbol.for("v-txt"),nt=Symbol.for("v-cmt"),fs=Symbol.for("v-stc"),_t=[];let Pe=null;function V(e=!1){_t.push(Pe=e?null:[])}function $r(){_t.pop(),Pe=_t[_t.length-1]||null}let Bt=1;function jr(e,t=!1){Bt+=e,e<0&&Pe&&t&&(Pe.hasOnce=!0)}function Dr(e){return e.dynamicChildren=Bt>0?Pe||bt:null,$r(),Bt>0&&Pe&&Pe.push(e),e}function K(e,t,n,s,r,o){return Dr(B(e,t,n,s,r,o,!0))}function Ji(e,t,n,s,r){return Dr(ye(e,t,n,s,r,!0))}function Hr(e){return e?e.__v_isVNode===!0:!1}function Vt(e,t){return e.type===t.type&&e.key===t.key}const Ur=({key:e})=>e??null,Cn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||ue(e)||R(e)?{i:ze,r:e,k:t,f:!!n}:e:null);function B(e,t=null,n=null,s=0,r=null,o=e===ce?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ur(t),ref:t&&Cn(t),scopeId:tr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ze};return l?(Tn(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Bt>0&&!i&&Pe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Pe.push(c),c}const ye=Yi;function Yi(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===wi)&&(e=nt),Hr(e)){const l=At(e,t,!0);return n&&Tn(l,n),Bt>0&&!o&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag=-2,l}if(al(e)&&(e=e.__vccOpts),t){t=Xi(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=tn(l)),Y(c)&&(Jn(c)&&!k(c)&&(c=re({},c)),t.style=Ot(c))}const i=ne(e)?1:Nr(e)?128:vn(e)?64:Y(e)?4:R(e)?2:0;return B(e,t,n,s,r,i,o,!0)}function Xi(e){return e?Jn(e)||Tr(e)?re({},e):e:null}function At(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,d=t?Zi(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Ur(d),ref:t&&t.ref?n&&o?k(o)?o.concat(Cn(t)):[o,Cn(t)]:Cn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ce?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&At(e.ssContent),ssFallback:e.ssFallback&&At(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&es(u,c.clone(u)),u}function st(e=" ",t=0){return ye(Sn,null,e,t)}function _e(e="",t=!1){return t?(V(),Ji(nt,null,e)):ye(nt,null,e)}function Ge(e){return e==null||typeof e=="boolean"?ye(nt):k(e)?ye(ce,null,e.slice()):Hr(e)?rt(e):ye(Sn,null,String(e))}function rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:At(e)}function Tn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(k(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Tn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Tr(t)?t._ctx=ze:r===3&&ze&&(ze.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(R(t)){if(s&65){Tn(e,{default:t});return}t={default:t,_ctx:ze},n=32}else t=String(t),s&64?(n=16,t=[st(t)]):n=8;e.children=t,e.shapeFlag|=n}function Zi(...e){const t={};for(let n=0;nwe||ze;let An,Kt;{const e=en(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};An=t("__VUE_INSTANCE_SETTERS__",n=>we=n),Kt=t("__VUE_SSR_SETTERS__",n=>zt=n)}const Wt=e=>{const t=we;return An(e),e.scope.on(),()=>{e.scope.off(),An(t)}},Vr=()=>{we&&we.scope.off(),An(null)};function Kr(e){return e.vnode.shapeFlag&4}let zt=!1;function nl(e,t=!1,n=!1){t&&Kt(t);const{props:s,children:r}=e.vnode,o=Kr(e);ji(e,s,o,t),Bi(e,r,n||t);const i=o?sl(e,t):void 0;return t&&Kt(!1),i}function sl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Si);const{setup:s}=n;if(s){Be();const r=e.setupContext=s.length>1?ol(e):null,o=Wt(e),i=wt(s,e,0,[e.props,r]),l=xs(i);if(Ve(),o(),(l||e.sp)&&!Dt(e)&&or(e),l){if(i.then(Vr,Vr),t)return i.then(c=>{Kt(!0);try{Wr(e,c,t)}finally{Kt(!1)}}).catch(c=>{un(c,e,0)});e.asyncDep=i}else Wr(e,i)}else zr(e)}function Wr(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=qs(t)),zr(e)}function zr(e,t,n){const s=e.type;e.render||(e.render=s.render||De);{const r=Wt(e);Be();try{Ci(e)}finally{Ve(),r()}}}const rl={get(e,t){return ge(e,"get",""),e[t]}};function ol(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,rl),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(qs(Vo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ht)return Ht[n](e)},has(t,n){return n in t||n in Ht}})):e.proxy}const il=/(?:^|[-_])\w/g,ll=e=>e.replace(il,t=>t.toUpperCase()).replace(/[-_]/g,"");function cl(e,t=!0){return R(e)?e.displayName||e.name:e.name||t&&e.__name}function Gr(e,t,n=!1){let s=cl(t);if(!s&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(s=r[1])}if(!s&&e){const r=o=>{for(const i in o)if(o[i]===t)return i};s=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return s?ll(s):n?"App":"Anonymous"}function al(e){return R(e)&&"__vccOpts"in e}const oe=(e,t)=>qo(e,t,zt),fl="3.5.42";/** +`],...Qo(n))}),t}function Qo({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",s=e.component?e.component.parent==null:!1,r=` at <${Gr(e.component,e.type,s)}`,o=">"+n;return e.props?[r,...ei(e.props),o]:[r+o]}function ei(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(s=>{t.push(...Js(s,e[s]))}),n.length>3&&t.push(" ..."),t}function Js(e,t,n){return ne(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ue(t)?(t=Js(e,z(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):R(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=z(t),n?t:[`${e}=`,t])}function wt(e,t,n,s){try{return s?e(...s):e()}catch(r){un(r,t,n)}}function $e(e,t,n,s){if(R(e)){const r=wt(e,t,n,s);return r&&xs(r)&&r.catch(o=>{un(o,t,n)}),r}if(k(e)){const r=[];for(let o=0;o>>1,r=be[s],o=$t(r);o=$t(n)?be.push(e):be.splice(ni(t),0,e),e.flags|=1,Xs()}}function Xs(){dn||(dn=Ys.then(er))}function si(e){if(!k(e))at&&e.id===-1?at.splice(Ct+1,0,e):e.flags&1||(St.push(e),e.flags|=1);else for(let t=0;t$t(n)-$t(s));if(St.length=0,at){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function er(e){try{for(We=0;We{s._d&&Dr(-1);const o=pn(t),i=_t.length;let l;try{l=e(...r)}finally{for(let c=_t.length;c>i;c--)$r();pn(o),s._d&&Dr(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function pt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i1)return n&&R(t)?t.call(s&&s.proxy):t}}const ii=Symbol.for("v-scx"),li=()=>gn(ii);function _n(e,t,n){return nr(e,t,n)}function nr(e,t,n=X){const{immediate:s,deep:r,flush:o,once:i}=n,l=re({},n),c=t&&s||!t&&o!=="post";let d;if(zt){if(o==="sync"){const C=li();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!c){const C=()=>{};return C.stop=je,C.resume=je,C.pause=je,C}}const u=we;l.call=(C,F,P)=>$e(C,u,F,P);let v=!1;o==="post"?l.scheduler=C=>{Ae(C,u&&u.suspense)}:o!=="sync"&&(v=!0,l.scheduler=(C,F)=>{F?C():Zn(C)}),l.augmentJob=C=>{t&&(C.flags|=4),v&&(C.flags|=2,u&&(C.id=u.uid,C.i=u))};const A=Yo(e,t,l);return zt&&(d?d.push(A):c&&A()),A}function ci(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?sr(s,e):()=>s[e]:e.bind(s,s);let o;R(t)?o=t:(o=t.handler,n=t);const i=Wt(this),l=nr(r,o.bind(s),n);return i(),l}function sr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,Qn=Symbol("_leaveCb");function fi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==nt){t=n;break}}return t}function rr(e){if(!ts(e))return vn(e.type)&&e.children?fi(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&R(n.default))return n.default()}}function es(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;es(vn(n.type)&&rr(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ui(e,t){return R(e)?re({name:e.name},t,{setup:e}):e}function or(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ir(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const mn=new WeakMap;function Dt(e,t,n,s,r=!1){if(k(e)){e.forEach((P,D)=>Dt(P,t&&(k(t)?t[D]:t),n,s,r));return}if(jt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Dt(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?us(s.component):s.el,i=r?null:o,{i:l,r:c}=e,d=t&&t.r,u=l.refs===X?l.refs={}:l.refs,v=l.setupState,A=z(v),C=v===X?ms:P=>ir(u,P)?!1:G(A,P),F=(P,D)=>!(D&&ir(u,D));if(d!=null&&d!==c){if(lr(t),ne(d))u[d]=null,C(d)&&(v[d]=null);else if(ue(d)){const P=t;F(d,P.k)&&(d.value=null),P.k&&(u[P.k]=null)}}if(R(c))wt(c,l,12,[i,u]);else{const P=ne(c),D=ue(c);if(P||D){const j=()=>{if(e.f){const $=P?C(c)?v[c]:u[c]:F()||!e.k?c.value:u[e.k];if(r)k($)&&kn($,o);else if(k($))$.includes(o)||$.push(o);else if(P)u[c]=[o],C(c)&&(v[c]=u[c]);else{const I=[o];F(c,e.k)&&(c.value=I),e.k&&(u[e.k]=I)}}else P?(u[c]=i,C(c)&&(v[c]=i)):D&&(F(c,e.k)&&(c.value=i),e.k&&(u[e.k]=i))};if(i){const $=()=>{j(),mn.delete(e)};$.id=-1,mn.set(e,$),Ae($,n)}else lr(e),j()}}}function lr(e){const t=mn.get(e);t&&(t.flags|=8,mn.delete(e))}en().requestIdleCallback,en().cancelIdleCallback;const jt=e=>!!e.type.__asyncLoader,ts=e=>e.type.__isKeepAlive;function di(e,t){cr(e,"a",t)}function hi(e,t){cr(e,"da",t)}function cr(e,t,n=we){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ts(r.parent.vnode)&&pi(s,t,n,r),r=r.parent}}function pi(e,t,n,s){const r=bn(t,e,s,!0);ur(()=>{kn(s[t],r)},n)}function bn(e,t,n=we,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Be();const l=Wt(n),c=$e(t,n,e,i);return l(),Ve(),c});return s?r.unshift(o):r.push(o),o}}const tt=e=>(t,n=we)=>{(!zt||e==="sp")&&bn(e,(...s)=>t(...s),n)},gi=tt("bm"),ar=tt("m"),_i=tt("bu"),vi=tt("u"),fr=tt("bum"),ur=tt("um"),mi=tt("sp"),bi=tt("rtg"),xi=tt("rtc");function yi(e,t=we){bn("ec",e,t)}const wi=Symbol.for("v-ndc");function xn(e,t,n,s){let r;const o=n,i=k(e);if(i||ne(e)){const l=i&&dt(e);let c=!1,d=!1;l&&(c=!ke(e),d=et(e),e=sn(e)),r=new Array(e.length);for(let u=0,v=e.length;ut(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;ce?Kr(e)?us(e):ns(e.parent):null,Ht=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ns(e.parent),$root:e=>ns(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>gr(e),$forceUpdate:e=>e.f||(e.f=()=>{Zn(e.update)}),$nextTick:e=>e.n||(e.n=hn.bind(e.proxy)),$watch:e=>ci.bind(e)}),ss=(e,t)=>e!==X&&!e.__isScriptSetup&&G(e,t),Si={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const A=i[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(ss(s,t))return i[t]=1,s[t];if(r!==X&&G(r,t))return i[t]=2,r[t];if(G(o,t))return i[t]=3,o[t];if(n!==X&&G(n,t))return i[t]=4,n[t];rs&&(i[t]=0)}}const d=Ht[t];let u,v;if(d)return t==="$attrs"&&ge(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==X&&G(n,t))return i[t]=4,n[t];if(v=c.config.globalProperties,G(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return ss(r,t)?(r[t]=n,!0):s!==X&&G(s,t)?(s[t]=n,!0):G(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&G(e,l)||ss(t,l)||G(o,l)||G(s,l)||G(Ht,l)||G(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:G(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function dr(e){return k(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let rs=!0;function Ci(e){const t=gr(e),n=e.proxy,s=e.ctx;rs=!1,t.beforeCreate&&hr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:d,created:u,beforeMount:v,mounted:A,beforeUpdate:C,updated:F,activated:P,deactivated:D,beforeDestroy:j,beforeUnmount:$,destroyed:I,unmounted:M,render:ee,renderTracked:se,renderTriggered:he,errorCaptured:Re,serverPrefetch:O,expose:L,inheritAttrs:J,components:Ee,directives:ve,filters:Je}=t;if(d&&Ti(d,s,null),i)for(const q in i){const W=i[q];R(W)&&(s[q]=W.bind(n))}if(r){const q=r.call(n,n);Y(q)&&(e.data=Gn(q))}if(rs=!0,o)for(const q in o){const W=o[q],pe=R(W)?W.bind(n,n):R(W.get)?W.get.bind(n,n):je,Fe=!R(W)&&R(W.set)?W.set.bind(n):je,De=oe({get:pe,set:Fe});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>De.value,set:me=>De.value=me})}if(l)for(const q in l)pr(l[q],s,n,q);if(c){const q=R(c)?c.call(n):c;Reflect.ownKeys(q).forEach(W=>{oi(W,q[W])})}u&&hr(u,e,"c");function ae(q,W){k(W)?W.forEach(pe=>q(pe.bind(n))):W&&q(W.bind(n))}if(ae(gi,v),ae(ar,A),ae(_i,C),ae(vi,F),ae(di,P),ae(hi,D),ae(yi,Re),ae(xi,se),ae(bi,he),ae(fr,$),ae(ur,M),ae(mi,O),k(L))if(L.length){const q=e.exposed||(e.exposed={});L.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:pe=>n[W]=pe,enumerable:!0})})}else e.exposed||(e.exposed={});ee&&e.render===je&&(e.render=ee),J!=null&&(e.inheritAttrs=J),Ee&&(e.components=Ee),ve&&(e.directives=ve),O&&or(e)}function Ti(e,t,n=je){k(e)&&(e=os(e));for(const s in e){const r=e[s];let o;Y(r)?"default"in r?o=gn(r.from||s,r.default,!0):o=gn(r.from||s):o=gn(r),ue(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function hr(e,t,n){$e(k(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function pr(e,t,n,s){let r=s.includes(".")?sr(n,s):()=>n[s];if(ne(e)){const o=t[e];R(o)&&_n(r,o)}else if(R(e))_n(r,e.bind(n));else if(Y(e))if(k(e))e.forEach(o=>pr(o,t,n,s));else{const o=R(e.handler)?e.handler.bind(n):t[e.handler];R(o)&&_n(r,o,e)}}function gr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>yn(c,d,i,!0)),yn(c,t,i)),Y(t)&&o.set(t,c),c}function yn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&yn(e,o,n,!0),r&&r.forEach(i=>yn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ai[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ai={data:_r,props:vr,emits:vr,methods:Ut,computed:Ut,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:Ut,directives:Ut,watch:Mi,provide:_r,inject:Ei};function _r(e,t){return t?e?function(){return re(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function Ei(e,t){return Ut(os(e),os(t))}function os(e){if(k(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Te(t)}Modifiers`]||e[`${Oe(t)}Modifiers`];function Ri(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const o=t.startsWith("update:"),i=o&&ki(s,t.slice(7));i&&(i.trim&&(r=n.map(u=>ne(u)?u.trim():u)),i.number&&(r=r.map(_o)));let l,c=s[l=Fn(t)]||s[l=Fn(Te(t))];!c&&o&&(c=s[l=Fn(Oe(t))]),c&&$e(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,$e(d,e,6,r)}}const Fi=new WeakMap;function br(e,t,n=!1){const s=n?Fi:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!R(e)){const c=d=>{const u=br(d,t,!0);u&&(l=!0,re(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Y(e)&&s.set(e,null),null):(k(o)?o.forEach(c=>i[c]=null):re(i,o),Y(e)&&s.set(e,i),i)}function wn(e,t){return!e||!Jt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),G(e,t[0].toLowerCase()+t.slice(1))||G(e,Oe(t))||G(e,t))}function Lc(){}function xr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:d,renderCache:u,props:v,data:A,setupState:C,ctx:F,inheritAttrs:P}=e,D=pn(e);let j,$;try{if(n.shapeFlag&4){const M=r||s,ee=M;j=Ge(d.call(ee,M,u,v,C,A,F)),$=l}else{const M=t;j=Ge(M.length>1?M(v,{attrs:l,slots:i,emit:c}):M(v,null)),$=t.props?l:Ii(l)}}catch(M){_t.length=0,un(M,e,1),j=ye(nt)}let I=j;if($&&P!==!1){const M=Object.keys($),{shapeFlag:ee}=I;M.length&&ee&7&&(o&&M.some(Yt)&&($=Li($,o)),I=At(I,$,!1,!0))}if(n.dirs&&(I=At(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition){const M=vn(I.type)&&rr(I)||I;es(M,n.transition)}return j=I,pn(D),j}const Ii=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jt(n))&&((t||(t={}))[n]=e[n]);return t},Li=(e,t)=>{const n={};for(const s in e)(!Yt(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ni(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?yr(s,i,d):!!i;if(c&8){const u=t.dynamicProps;for(let v=0;vObject.create(Sr),Tr=e=>Object.getPrototypeOf(e)===Sr;function Di(e,t,n,s=!1){const r={},o=Cr();e.propsDefaults=Object.create(null),Ar(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Bo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ji(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=z(r),[c]=e.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let v=0;v{c=!0;const[A,C]=Er(v,t,!0);re(i,A),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return Y(e)&&s.set(e,bt),bt;if(k(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",cs=e=>k(e)?e.map(Ge):[Ge(e)],Ui=(e,t,n)=>{if(t._n)return t;const s=ri((...r)=>cs(t(...r)),n);return s._c=!1,s},Pr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ls(r))continue;const o=e[r];if(R(o))t[r]=Ui(r,o,s);else if(o!=null){const i=cs(o);t[r]=()=>i}}},Or=(e,t)=>{const n=cs(t);e.slots.default=()=>n},kr=(e,t,n)=>{for(const s in t)(n||!ls(s))&&(e[s]=t[s])},Bi=(e,t,n)=>{const s=e.slots=Cr();if(e.vnode.shapeFlag&32){const r=t._;r?(kr(s,t,n),n&&Ss(s,"_",r,!0)):Pr(t,s)}else t&&Or(e,t)},Vi=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:kr(r,t,n):(o=!t.$stable,Pr(t,r)),i=t}else t&&(Or(e,t),i={default:1});if(o)for(const l in r)!ls(l)&&i[l]==null&&delete r[l]},Ae=qi;function Ki(e){return Wi(e)}function Wi(e,t){const n=en();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:d,setElementText:u,parentNode:v,nextSibling:A,setScopeId:C=je,insertStaticContent:F}=e,P=(a,f,g,y=null,x=null,b=null,h=void 0,p=null,m=!!f.dynamicChildren)=>{if(a===f)return;a&&!Vt(a,f)&&(y=mt(a),me(a,x,b,!0),a=null),f.patchFlag===-2&&(m=!1,f.dynamicChildren=null);const{type:_,ref:T,shapeFlag:S}=f;switch(_){case Sn:D(a,f,g,y);break;case nt:j(a,f,g,y);break;case fs:a==null&&$(f,g,y,h);break;case ce:Ee(a,f,g,y,x,b,h,p,m);break;default:S&1?ee(a,f,g,y,x,b,h,p,m):S&6?ve(a,f,g,y,x,b,h,p,m):(S&64||S&128)&&_.process(a,f,g,y,x,b,h,p,m,Ie)}T!=null&&x?Dt(T,a&&a.ref,b,f||a,!f):T==null&&a&&a.ref!=null&&Dt(a.ref,null,b,a,!0)},D=(a,f,g,y)=>{if(a==null)s(f.el=l(f.children),g,y);else{const x=f.el=a.el;f.children!==a.children&&d(x,f.children)}},j=(a,f,g,y)=>{a==null?s(f.el=c(f.children||""),g,y):f.el=a.el},$=(a,f,g,y)=>{[a.el,a.anchor]=F(a.children,f,g,y,a.el,a.anchor)},I=({el:a,anchor:f},g,y)=>{let x;for(;a&&a!==f;)x=A(a),s(a,g,y),a=x;s(f,g,y)},M=({el:a,anchor:f})=>{let g;for(;a&&a!==f;)g=A(a),r(a),a=g;r(f)},ee=(a,f,g,y,x,b,h,p,m)=>{if(f.type==="svg"?h="svg":f.type==="math"&&(h="mathml"),a==null)se(f,g,y,x,b,h,p,m);else{const _=a.el&&a.el._isVueCE?a.el:null;try{_&&_._beginPatch(),O(a,f,x,b,h,p,m)}finally{_&&_._endPatch()}}},se=(a,f,g,y,x,b,h,p)=>{let m,_;const{props:T,shapeFlag:S,transition:w,dirs:E}=a;if(m=a.el=i(a.type,b,T&&T.is,T),S&8?u(m,a.children):S&16&&Re(a.children,m,null,y,x,as(a,b),h,p),E&&pt(a,null,y,"created"),he(m,a,a.scopeId,h,y),T){for(const H in T)H!=="value"&&!Pt(H)&&o(m,H,null,T[H],b,y);"value"in T&&o(m,"value",null,T.value,b),(_=T.onVnodeBeforeMount)&&qe(_,y,a)}E&&pt(a,null,y,"beforeMount");const N=zi(x,w);N&&w.beforeEnter(m),s(m,f,g),((_=T&&T.onVnodeMounted)||N||E)&&Ae(()=>{try{_&&qe(_,y,a),N&&w.enter(m),E&&pt(a,null,y,"mounted")}finally{}},x)},he=(a,f,g,y,x)=>{if(g&&C(a,g),y)for(let b=0;b{for(let _=m;_{const p=f.el=a.el;let{patchFlag:m,dynamicChildren:_,dirs:T}=f;m|=a.patchFlag&16;const S=a.props||X,w=f.props||X;let E;if(g&>(g,!1),(E=w.onVnodeBeforeUpdate)&&qe(E,g,f,a),T&&pt(f,a,g,"beforeUpdate"),g&>(g,!0),_&&(!a.dynamicChildren||a.dynamicChildren.length!==_.length)&&(m=0,h=!1,_=null),(S.innerHTML&&w.innerHTML==null||S.textContent&&w.textContent==null)&&u(p,""),_?L(a.dynamicChildren,_,p,g,y,as(f,x),b):h||W(a,f,p,null,g,y,as(f,x),b,!1),m>0){if(m&16)J(p,S,w,g,x);else if(m&2&&S.class!==w.class&&o(p,"class",null,w.class,x),m&4&&o(p,"style",S.style,w.style,x),m&8){const N=f.dynamicProps;for(let H=0;H{E&&qe(E,g,f,a),T&&pt(f,a,g,"updated")},y)},L=(a,f,g,y,x,b,h)=>{for(let p=0;p{if(f!==g){if(f!==X)for(const b in f)!Pt(b)&&!(b in g)&&o(a,b,f[b],null,x,y);for(const b in g){if(Pt(b))continue;const h=g[b],p=f[b];h!==p&&b!=="value"&&o(a,b,p,h,x,y)}"value"in g&&o(a,"value",f.value,g.value,x)}},Ee=(a,f,g,y,x,b,h,p,m)=>{const _=f.el=a?a.el:l(""),T=f.anchor=a?a.anchor:l("");let{patchFlag:S,dynamicChildren:w,slotScopeIds:E}=f;E&&(p=p?p.concat(E):E),a==null?(s(_,g,y),s(T,g,y),Re(f.children||[],g,T,x,b,h,p,m)):S>0&&S&64&&w&&a.dynamicChildren&&a.dynamicChildren.length===w.length?(L(a.dynamicChildren,w,g,x,b,h,p),(f.key!=null||x&&f===x.subTree)&&Rr(a,f,!0)):W(a,f,g,T,x,b,h,p,m)},ve=(a,f,g,y,x,b,h,p,m)=>{f.slotScopeIds=p,a==null?f.shapeFlag&512?x.ctx.activate(f,g,y,h,m):Je(f,g,y,x,b,h,m):Se(a,f,m)},Je=(a,f,g,y,x,b,h)=>{const p=a.component=tl(a,y,x);if(ts(a)&&(p.ctx.renderer=Ie),nl(p,!1,h),p.asyncDep){if(x&&x.registerDep(p,ae,h),!a.el){const m=p.subTree=ye(nt);j(null,m,f,g),a.placeholder=m.el}}else ae(p,a,f,g,x,b,h)},Se=(a,f,g)=>{const y=f.component=a.component;if(Ni(a,f,g))if(y.asyncDep&&!y.asyncResolved){q(y,f,g);return}else y.next=f,y.update();else f.el=a.el,y.vnode=f},ae=(a,f,g,y,x,b,h)=>{const p=()=>{if(a.isMounted){let{next:S,bu:w,u:E,parent:N,vnode:H}=a;{const Me=Fr(a);if(Me){S&&(S.el=H.el,q(a,S,h)),Me.asyncDep.then(()=>{Ae(()=>{a.isUnmounted||_()},x)});return}}let U=S,te;gt(a,!1),S?(S.el=H.el,q(a,S,h)):S=H,w&&In(w),(te=S.props&&S.props.onVnodeBeforeUpdate)&&qe(te,N,S,H),gt(a,!0);const Q=xr(a),le=a.subTree;a.subTree=Q,P(le,Q,v(le.el),mt(le),a,x,b),S.el=Q.el,U===null&&$i(a,Q.el),E&&Ae(E,x),(te=S.props&&S.props.onVnodeUpdated)&&Ae(()=>qe(te,N,S,H),x)}else{let S;const{el:w,props:E}=f,{bm:N,m:H,parent:U,root:te,type:Q}=a,le=jt(f);gt(a,!1),N&&In(N),!le&&(S=E&&E.onVnodeBeforeMount)&&qe(S,U,f),gt(a,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(Q,a.parent?a.parent.type:void 0);const Me=a.subTree=xr(a);P(null,Me,g,y,a,x,b),f.el=Me.el}if(H&&Ae(H,x),!le&&(S=E&&E.onVnodeMounted)){const Me=f;Ae(()=>qe(S,U,Me),x)}(f.shapeFlag&256||U&&jt(U.vnode)&&U.vnode.shapeFlag&256)&&a.a&&Ae(a.a,x),a.isMounted=!0,f=g=y=null}};a.scope.on();const m=a.effect=new Os(p);a.scope.off();const _=a.update=m.run.bind(m),T=a.job=m.runIfDirty.bind(m);T.i=a,T.id=a.uid,m.scheduler=()=>Zn(T),gt(a,!0),_()},q=(a,f,g)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,ji(a,f.props,y,g),Vi(a,f.children,g),Be(),Zs(a),Ve()},W=(a,f,g,y,x,b,h,p,m=!1)=>{const _=a&&a.children,T=a?a.shapeFlag:0,S=f.children,{patchFlag:w,shapeFlag:E}=f;if(w>0){if(w&128){Fe(_,S,g,y,x,b,h,p,m);return}else if(w&256){pe(_,S,g,y,x,b,h,p,m);return}}E&8?(T&16&&vt(_,x,b),S!==_&&u(g,S)):T&16?E&16?Fe(_,S,g,y,x,b,h,p,m):vt(_,x,b,!0):(T&8&&u(g,""),E&16&&Re(S,g,y,x,b,h,p,m))},pe=(a,f,g,y,x,b,h,p,m)=>{a=a||bt,f=f||bt;const _=a.length,T=f.length,S=Math.min(_,T);let w;for(w=0;wT?vt(a,x,b,!0,!1,S):Re(f,g,y,x,b,h,p,m,S)},Fe=(a,f,g,y,x,b,h,p,m)=>{let _=0;const T=f.length;let S=a.length-1,w=T-1;for(;_<=S&&_<=w;){const E=a[_],N=f[_]=m?rt(f[_]):Ge(f[_]);if(Vt(E,N))P(E,N,g,null,x,b,h,p,m);else break;_++}for(;_<=S&&_<=w;){const E=a[S],N=f[w]=m?rt(f[w]):Ge(f[w]);if(Vt(E,N))P(E,N,g,null,x,b,h,p,m);else break;S--,w--}if(_>S){if(_<=w){const E=w+1,N=Ew)for(;_<=S;)me(a[_],x,b,!0),_++;else{const E=_,N=_,H=new Map;for(_=N;_<=w;_++){const Ce=f[_]=m?rt(f[_]):Ge(f[_]);Ce.key!=null&&H.set(Ce.key,_)}let U,te=0;const Q=w-N+1;let le=!1,Me=0;const ft=new Array(Q);for(_=0;_=Q){me(Ce,x,b,!0);continue}let Xe;if(Ce.key!=null)Xe=H.get(Ce.key);else for(U=N;U<=w;U++)if(ft[U-N]===0&&Vt(Ce,f[U])){Xe=U;break}Xe===void 0?me(Ce,x,b,!0):(ft[Xe-N]=_+1,Xe>=Me?Me=Xe:le=!0,P(Ce,f[Xe],g,null,x,b,h,p,m),te++)}const Et=le?Gi(ft):bt;for(U=Et.length-1,_=Q-1;_>=0;_--){const Ce=N+_,Xe=f[Ce],ao=f[Ce+1],fo=Ce+1{const{el:b,type:h,transition:p,children:m,shapeFlag:_}=a;if(_&6){De(a.component.subTree,f,g,y);return}if(_&128){a.suspense.move(f,g,y);return}if(_&64){h.move(a,f,g,Ie);return}if(h===ce){s(b,f,g);for(let S=0;Sp.enter(b),x));else{const{leave:S,delayLeave:w,afterLeave:E}=p,N=()=>{a.ctx.isUnmounted?r(b):s(b,f,g)},H=()=>{const U=b._isLeaving||!!b[Qn];b._isLeaving&&b[Qn](!0),p.persisted&&!U?N():S(b,()=>{N(),E&&E()})};w?w(b,N,H):H()}else s(b,f,g)},me=(a,f,g,y=!1,x=!1)=>{const{type:b,props:h,ref:p,children:m,dynamicChildren:_,shapeFlag:T,patchFlag:S,dirs:w,cacheIndex:E,memo:N}=a;if(S===-2&&(x=!1),p!=null&&(Be(),Dt(p,null,g,a,!0),Ve()),E!=null&&(f.renderCache[E]=void 0),T&256){f.ctx.deactivate(a);return}const H=T&1&&w,U=!jt(a);let te;if(U&&(te=h&&h.onVnodeBeforeUnmount)&&qe(te,f,a),T&6)vs(a.component,g,y);else{if(T&128){a.suspense.unmount(g,y);return}H&&pt(a,null,f,"beforeUnmount"),T&64?a.type.remove(a,f,g,Ie,y):_&&!_.hasOnce&&(b!==ce||S>0&&S&64)?vt(_,f,g,!1,!0):(b===ce&&S&384||!x&&T&16)&&vt(m,f,g),y&&it(a)}const Q=N!=null&&E==null;(U&&(te=h&&h.onVnodeUnmounted)||H||Q)&&Ae(()=>{te&&qe(te,f,a),H&&pt(a,null,f,"unmounted"),Q&&(a.el=null)},g)},it=a=>{const{type:f,el:g,anchor:y,transition:x}=a;if(f===ce){Pn(g,y);return}if(f===fs){M(a);return}const b=()=>{r(g),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:h,delayLeave:p}=x,m=()=>h(g,b);p?p(a.el,b,m):m()}else b()},Pn=(a,f)=>{let g;for(;a!==f;)g=A(a),r(a),a=g;r(f)},vs=(a,f,g)=>{const{bum:y,scope:x,job:b,subTree:h,um:p,m,a:_}=a;Ir(m),Ir(_),y&&In(y),x.stop(),b&&(b.flags|=8,me(h,a,f,g)),p&&Ae(p,f),Ae(()=>{a.isUnmounted=!0},f)},vt=(a,f,g,y=!1,x=!1,b=0)=>{for(let h=b;h{if(a.shapeFlag&6)return mt(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=A(a.anchor||a.el),g=f&&f[ai];return g?A(g):f};let qt=!1;const Ye=(a,f,g)=>{let y;a==null?f._vnode&&(me(f._vnode,null,null,!0),y=f._vnode.component):P(f._vnode||null,a,f,null,null,null,g),f._vnode=a,qt||(qt=!0,Zs(y),Qs(),qt=!1)},Ie={p:P,um:me,m:De,r:it,mt:Je,mc:Re,pc:W,pbc:L,n:mt,o:e};return{render:Ye,hydrate:void 0,createApp:Oi(Ye)}}function as({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function zi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Rr(e,t,n=!1){const s=e.children,r=t.children;if(k(s)&&k(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Fr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fr(t)}function Ir(e){if(e)for(let t=0;te.__isSuspense;function qi(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):si(e)}const ce=Symbol.for("v-fgt"),Sn=Symbol.for("v-txt"),nt=Symbol.for("v-cmt"),fs=Symbol.for("v-stc"),_t=[];let Pe=null;function V(e=!1){_t.push(Pe=e?null:[])}function $r(){_t.pop(),Pe=_t[_t.length-1]||null}let Bt=1;function Dr(e,t=!1){Bt+=e,e<0&&Pe&&t&&(Pe.hasOnce=!0)}function jr(e){return e.dynamicChildren=Bt>0?Pe||bt:null,$r(),Bt>0&&Pe&&Pe.push(e),e}function K(e,t,n,s,r,o){return jr(B(e,t,n,s,r,o,!0))}function Ji(e,t,n,s,r){return jr(ye(e,t,n,s,r,!0))}function Hr(e){return e?e.__v_isVNode===!0:!1}function Vt(e,t){return e.type===t.type&&e.key===t.key}const Ur=({key:e})=>e??null,Cn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||ue(e)||R(e)?{i:ze,r:e,k:t,f:!!n}:e:null);function B(e,t=null,n=null,s=0,r=null,o=e===ce?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ur(t),ref:t&&Cn(t),scopeId:tr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ze};return l?(Tn(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Bt>0&&!i&&Pe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Pe.push(c),c}const ye=Yi;function Yi(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===wi)&&(e=nt),Hr(e)){const l=At(e,t,!0);return n&&Tn(l,n),Bt>0&&!o&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag=-2,l}if(al(e)&&(e=e.__vccOpts),t){t=Xi(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=tn(l)),Y(c)&&(Jn(c)&&!k(c)&&(c=re({},c)),t.style=Ot(c))}const i=ne(e)?1:Nr(e)?128:vn(e)?64:Y(e)?4:R(e)?2:0;return B(e,t,n,s,r,i,o,!0)}function Xi(e){return e?Jn(e)||Tr(e)?re({},e):e:null}function At(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,d=t?Zi(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Ur(d),ref:t&&t.ref?n&&o?k(o)?o.concat(Cn(t)):[o,Cn(t)]:Cn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ce?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&At(e.ssContent),ssFallback:e.ssFallback&&At(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&es(u,c.clone(u)),u}function st(e=" ",t=0){return ye(Sn,null,e,t)}function _e(e="",t=!1){return t?(V(),Ji(nt,null,e)):ye(nt,null,e)}function Ge(e){return e==null||typeof e=="boolean"?ye(nt):k(e)?ye(ce,null,e.slice()):Hr(e)?rt(e):ye(Sn,null,String(e))}function rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:At(e)}function Tn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(k(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Tn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Tr(t)?t._ctx=ze:r===3&&ze&&(ze.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(R(t)){if(s&65){Tn(e,{default:t});return}t={default:t,_ctx:ze},n=32}else t=String(t),s&64?(n=16,t=[st(t)]):n=8;e.children=t,e.shapeFlag|=n}function Zi(...e){const t={};for(let n=0;nwe||ze;let An,Kt;{const e=en(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};An=t("__VUE_INSTANCE_SETTERS__",n=>we=n),Kt=t("__VUE_SSR_SETTERS__",n=>zt=n)}const Wt=e=>{const t=we;return An(e),e.scope.on(),()=>{e.scope.off(),An(t)}},Vr=()=>{we&&we.scope.off(),An(null)};function Kr(e){return e.vnode.shapeFlag&4}let zt=!1;function nl(e,t=!1,n=!1){t&&Kt(t);const{props:s,children:r}=e.vnode,o=Kr(e);Di(e,s,o,t),Bi(e,r,n||t);const i=o?sl(e,t):void 0;return t&&Kt(!1),i}function sl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Si);const{setup:s}=n;if(s){Be();const r=e.setupContext=s.length>1?ol(e):null,o=Wt(e),i=wt(s,e,0,[e.props,r]),l=xs(i);if(Ve(),o(),(l||e.sp)&&!jt(e)&&or(e),l){if(i.then(Vr,Vr),t)return i.then(c=>{Kt(!0);try{Wr(e,c,t)}finally{Kt(!1)}}).catch(c=>{un(c,e,0)});e.asyncDep=i}else Wr(e,i)}else zr(e)}function Wr(e,t,n){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=qs(t)),zr(e)}function zr(e,t,n){const s=e.type;e.render||(e.render=s.render||je);{const r=Wt(e);Be();try{Ci(e)}finally{Ve(),r()}}}const rl={get(e,t){return ge(e,"get",""),e[t]}};function ol(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,rl),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(qs(Vo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ht)return Ht[n](e)},has(t,n){return n in t||n in Ht}})):e.proxy}const il=/(?:^|[-_])\w/g,ll=e=>e.replace(il,t=>t.toUpperCase()).replace(/[-_]/g,"");function cl(e,t=!0){return R(e)?e.displayName||e.name:e.name||t&&e.__name}function Gr(e,t,n=!1){let s=cl(t);if(!s&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(s=r[1])}if(!s&&e){const r=o=>{for(const i in o)if(o[i]===t)return i};s=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return s?ll(s):n?"App":"Anonymous"}function al(e){return R(e)&&"__vccOpts"in e}const oe=(e,t)=>qo(e,t,zt),fl="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ds;const qr=typeof window<"u"&&window.trustedTypes;if(qr)try{ds=qr.createPolicy("vue",{createHTML:e=>e})}catch{}const Jr=ds?e=>ds.createHTML(e):e=>e,ul="http://www.w3.org/2000/svg",dl="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,Yr=ot&&ot.createElement("template"),hl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?ot.createElementNS(ul,e):t==="mathml"?ot.createElementNS(dl,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Yr.innerHTML=Jr(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},pl=Symbol("_vtc");function gl(e,t,n){const s=e[pl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xr=Symbol("_vod"),_l=Symbol("_vsh"),vl=Symbol(""),ml=/(?:^|;)\s*display\s*:/;function bl(e,t,n){const s=e.style,r=ne(n);let o=!1;if(n&&!r){if(t)if(ne(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Gt(s,l,"")}else for(const i in t)n[i]==null&&Gt(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?yl(e,i,!ne(t)&&t?t[i]:void 0,l)||Gt(s,i,l):Gt(s,i,"")}}else if(r){if(t!==n){const i=s[vl];i&&(n+=";"+i),s.cssText=n,o=ml.test(n)}}else t&&e.removeAttribute("style");Xr in e&&(e[Xr]=o?s.display:"",e[_l]&&(s.display="none"))}const En=/\s*!important$/;function Gt(e,t,n){if(k(n))n.forEach(s=>Gt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))En.test(n)?e.setProperty(t,n.replace(En,""),"important"):e.setProperty(t,n);else{const s=xl(e,t);En.test(n)?e.setProperty(Oe(s),n.replace(En,""),"important"):e[s]=n}}const Zr=["Webkit","Moz","ms"],hs={};function xl(e,t){const n=hs[t];if(n)return n;let s=Te(t);if(s!=="filter"&&s in e)return hs[t]=s;s=ws(s);for(let r=0;rps||(Ml.then(()=>ps=0),ps=Date.now());function Ol(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(k(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const i=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,kl=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?gl(e,s,i):t==="style"?bl(e,n,s):Jt(t)?Yt(t)||Cl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rl(e,t,s,i))?(to(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&eo(e,t,s,i,o,t!=="value")):e._isVueCE&&(Fl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?to(e,Te(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),eo(e,t,s,i))};function Rl(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&so(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return so(t)&&ne(n)?!1:t in e}function Fl(e,t){const n=e._def.props;if(!n)return!1;const s=Te(t);return Array.isArray(n)?n.some(r=>Te(r)===s):Object.keys(n).some(r=>Te(r)===s)}const ro={};function Il(e,t,n){let s=ui(e,t);Zt(s)&&(s=re({},s,t));class r extends gs{constructor(i){super(s,i,n)}}return r.def=s,r}const Ll=typeof HTMLElement<"u"?HTMLElement:class{};class gs extends Ll{constructor(t,n={},s=lo){super(),this._def=t,this._props=n,this._createApp=s,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&s!==lo?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(re({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof gs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,hn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let s=0;s{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:i}=s;let l;if(o&&!k(o))for(const c in o){const d=o[c];(d===Number||d&&d.type===Number)&&(c in this._props&&(this._props[c]=Cs(this._props[c])),(l||(l=Object.create(null)))[Te(c)]=!0)}this._numberProps=l,this._resolveProps(s),this.shadowRoot&&this._applyStyles(i),this._mount(s)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(s=>{s.configureApp=this._def.configureApp,t(this._def=s,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const s in n)G(this,s)||Object.defineProperty(this,s,{get:()=>Yn(n[s])})}_resolveProps(t){const{props:n}=t,s=k(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&s.includes(r)&&this._setProp(r,this[r]);for(const r of s.map(Te))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(o){this._setProp(r,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let s=n?this.getAttribute(t):ro;const r=Te(t);n&&this._numberProps&&this._numberProps[r]&&(s=Cs(s)),this._setProp(r,s,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ro?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),s)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),n===!0?this.setAttribute(Oe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Oe(t),n+""):n||this.removeAttribute(Oe(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),$l(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ye(this._def,re(t,this._props));return this._instance||(n.ce=s=>{this._instance=s,s.ce=this,s.isCE=!0;const r=(o,i)=>{this.dispatchEvent(new CustomEvent(o,Zt(i[0])?re({detail:i},i[0]):{detail:i}))};s.emit=(o,...i)=>{r(o,i),Oe(o)!==o&&r(Oe(o),i)},this._setParent()}),n}_applyStyles(t,n,s){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,o=this.shadowRoot,i=s?this._getStyleAnchor(s)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let c=t.length-1;c>=0;c--){const d=document.createElement("style");r&&d.setAttribute("nonce",r),d.textContent=t[c],o.insertBefore(d,l||i),l=d,c===0&&(s||this._styleAnchors.set(this._def,d),n&&this._styleAnchors.set(n,d))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{io().render(...e)},lo=(...e)=>{const t=io().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Dl(s);if(!r)return;const o=t._component;!R(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,jl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function jl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dl(e){return ne(e)?document.querySelector(e):e}function Hl(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[n,...s]=t.split(".");let r=e==null?void 0:e[n];for(const o of s)r=r==null?void 0:r[o];return r}function Ul(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),r=[];let o=0,i=n.indexOf(s,o);for(;i!==-1;)r.push([i,i+s.length-1]),o=i+s.length,i=n.indexOf(s,o);return r}function Bl(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),r=[];let o=0,i=-1,l=-1;for(let c=0;c({item:o,matches:[]}));if(n.lengthC-A+1>=Math.min(this.minMatchCharLength,n.length));v.length&&(d=v)}}d.length&&i.push({key:l,indices:d})}i.length&&r.push({item:o,matches:i})}return r}}const Kl=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",_s=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Wl=["value","placeholder","aria-label"],zl=_s({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,s=t,r=oe(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function o(i){const l=i.target.value??"";s("update:modelValue",l),s("search",{value:l})}return(i,l)=>(V(),K("div",{class:"search-box",style:Ot(r.value)},[l[0]||(l[0]=B("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[B("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),B("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),B("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:o},null,40,Wl)],4))}},[["styles",[Kl]]]),Gl=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",ql=["data-active","aria-expanded"],Jl={class:"filter-dropdown__label"},Yl=["value","placeholder"],Xl={class:"filter-dropdown__options"},Zl={key:0,class:"filter-dropdown__no-options"},Ql=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],ec={class:"filter-dropdown__count"},Mn=_s({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,s=t,r=de(!1),o=de(""),i=de(-1),l=de(null),c=de(null),d=de(null),u=de({});function v(O){const L=O.ownerDocument,J=L.createElement("div");J.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(O.parentElement||O.getRootNode().body||L.body).appendChild(J);const ve=J.getBoundingClientRect();return J.remove(),{x:ve.left,y:ve.top}}function A(){const O=d.value;if(!O)return;const L=O.getBoundingClientRect(),J=window.innerWidth,Ee=window.innerHeight,ve=320,Je=4,Se=8,q=Math.round(Math.min(Math.max(L.width,240),J-Se*2)),W=L.right>Se&&L.leftJ-Se?pe=Math.round(Math.max(L.right-q,Se)):pe=Math.round(Math.max(L.left,Se)):pe=Math.round(Math.min(Math.max(L.left,Se),J-q-Se));const Fe=Ee-L.bottom,je=Fe<180&&L.top>Fe,me=v(O),it=Math.round(pe-me.x);u.value=je?{top:"auto",bottom:`${Math.round(Ee-L.top+Je+me.y)}px`,left:`${it}px`,width:`${q}px`,maxHeight:`${Math.round(Math.min(ve,L.top-Je-Se))}px`}:{top:`${Math.round(L.bottom+Je-me.y)}px`,bottom:"auto",left:`${it}px`,width:`${q}px`,maxHeight:`${Math.round(Math.min(ve,Fe-Je-Se))}px`}}function C(){r.value&&A()}const F=oe(()=>{if(!o.value)return n.options;const O=o.value.toLowerCase();return n.options.filter(L=>L.label.toLowerCase().includes(O))}),P=oe(()=>n.options.find(O=>O.value===n.value));function j(O){var J;const L=((J=O.composedPath)==null?void 0:J.call(O))??[];l.value&&!L.includes(l.value)&&I()}function D(){r.value?I():$()}function $(){r.value=!0,o.value="",i.value=-1,A(),document.addEventListener("click",j),window.addEventListener("scroll",C,!0),window.addEventListener("resize",C),hn(()=>{var O;A(),(O=c.value)==null||O.focus()})}function I(){r.value=!1,o.value="",i.value=-1,document.removeEventListener("click",j),window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}function M(O){o.value=O.target.value,i.value=-1}function ee(O){const L=F.value;switch(O.key){case"ArrowDown":O.preventDefault(),i.value=Math.min(i.value+1,L.length-1),se();break;case"ArrowUp":O.preventDefault(),i.value=Math.max(i.value-1,0),se();break;case"Enter":{O.preventDefault();const J=L[i.value];J&&he(J);break}case"Escape":O.preventDefault(),I();break}}function se(){hn(()=>{var L;const O=(L=l.value)==null?void 0:L.querySelector(".filter-dropdown__option[data-highlighted]");O==null||O.scrollIntoView({block:"nearest"})})}function he(O){s("filter-change",{name:n.name,value:O.value,label:O.label,type:O.type}),I()}function Re(){s("filter-clear",{name:n.name}),I()}return fr(()=>{document.removeEventListener("click",j),window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}),(O,L)=>(V(),K("div",{ref_key:"rootRef",ref:l,class:tn(["filter-dropdown",{"is-open":r.value}])},[B("button",{ref_key:"triggerRef",ref:d,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:D},[B("span",Jl,[P.value?(V(),K(ce,{key:0},[st(ie(e.label)+": ",1),B("strong",null,ie(P.value.label),1)],64)):(V(),K(ce,{key:1},[st(ie(e.label),1)],64))]),L[0]||(L[0]=B("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[B("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ql),r.value?(V(),K("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:Ot(u.value)},[B("input",{ref_key:"searchInputRef",ref:c,class:"filter-dropdown__search",type:"text",value:o.value,placeholder:e.placeholder,onInput:M,onKeydown:ee},null,40,Yl),e.value?(V(),K("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:Re},"Clear selection")):_e("",!0),B("div",Xl,[F.value.length===0?(V(),K("div",Zl,"No options found")):(V(!0),K(ce,{key:1},xn(F.value,(J,Ee)=>(V(),K("div",{key:J.value,class:"filter-dropdown__option",role:"option","data-highlighted":Ee===i.value?"":void 0,"data-selected":J.value===e.value?"":void 0,"aria-selected":J.value===e.value,onClick:ve=>he(J),onMouseenter:ve=>i.value=Ee},[B("span",null,ie(J.label),1),B("span",ec,ie(J.count),1)],40,Ql))),128))])],4)):_e("",!0)],2))}},[["styles",[Gl]]]);function tc(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const nc=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",sc={class:"pgg-root"},rc={key:0,id:"filters",class:"filters"},oc={key:0,class:"pgg-search"},ic=["aria-expanded"],lc={key:0,class:"filters__toggle-count"},cc={class:"filters__panel"},ac={class:"filters__panel"},fc=["data-active"],uc={key:3,class:"filters__active"},dc=["onClick"],hc={class:"pgg-body"},pc={key:0,class:"repel"},gc={class:"font-size-sm"},_c={key:1},vc={id:"results",class:"grid uupgs-list"},mc=["src","alt"],bc={class:"uupg__header"},xc=["innerHTML"],yc={key:0,class:"uupg__country"},wc=["href"],Sc=["innerHTML"],Cc=["innerHTML"],Tc=["innerHTML"],Ac={key:1,class:"uupg__content"},Ec=["href"],Mc={key:0,class:"loading"},Pc={key:1,class:"pgg-empty pgg-failed",role:"status"},Oc={key:2,class:"pgg-empty"},kc=Il(_s({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const n=e,s=t,r=oe(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),o=oe(()=>n.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),i=oe(()=>n.languageCode||r.value.languageCode||""),l=oe(()=>n.researchUrl||r.value.researchUrl||"/research/"),c=oe(()=>({...r.value.t||{},...n.t||{}})),d=h=>!(h===!1||h==="false"||h==="0"||h===0),u=oe(()=>d(n.showSearch)),v=oe(()=>d(n.showFilters)),A=oe(()=>d(n.showTotal)),C=de([]),F=de([]),P=de(0),j=de(1),D=de(!0),$=de(!1),I=de(!0),M=de({}),ee=de(""),se=de({}),he=oe(()=>u.value?ee.value:n.query||""),Re=oe(()=>{const h={},p=m=>m;return n.wagfRegion&&(h.wagf_region={value:n.wagfRegion,label:p(n.wagfRegion)}),n.wagfBlock&&(h.wagf_block={value:n.wagfBlock,label:p(n.wagfBlock)}),n.rop1&&(h.rop1={value:n.rop1,label:p(n.rop1)}),n.religion&&(h.religion={value:n.religion,label:p(n.religion)}),n.countryCode&&(h.country_code={value:n.countryCode,label:p(n.countryCode)}),n.primaryLanguage&&(h.primary_language={value:n.primaryLanguage,label:p(n.primaryLanguage)}),n.engagementStatus&&(h.engagement_status={value:n.engagementStatus,label:p(n.engagementStatus)}),n.cluster&&(h.imb_reg_of_people_2={value:n.cluster,label:p(n.cluster)}),n.peopleGroup&&(h.imb_reg_of_people_25={value:n.peopleGroup,label:p(n.peopleGroup)}),n.gospelAccess&&(h.imb_gsec={value:n.gospelAccess,label:p(n.gospelAccess)}),h}),O=oe(()=>v.value?se.value:Re.value),L=oe(()=>Object.values(O.value||{}).filter(h=>h&&h.value!==""&&h.value!=null).length),J=oe(()=>Object.keys(O.value).length),Ee=oe(()=>L.value>0||!!(he.value||"").trim());function ve(h){return h.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Je(h,p=500){let m;return(..._)=>{clearTimeout(m),m=setTimeout(()=>h(..._),p)}}const Se=Je(()=>{D.value=!0,j.value=1,Ye()},500);function ae(h){ee.value=(h==null?void 0:h.value)??"",Se()}function q(){I.value=!I.value}function W(h){se.value={...se.value,[h.name]:{value:h.value,label:h.label}},j.value=1,Ye()}function pe(h){Fe(h.name)}function Fe(h){const p={...se.value};delete p[h],se.value=p,j.value=1,Ye()}function je(){se.value={},j.value=1,Ye()}function me(){if(se.value.exact)return Fe("exact");se.value={...se.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},j.value=1,Ye()}const it=h=>String(h??"").toLowerCase().replace(/[\s_&-]+/g,"");function Pn(h,p){if(!h)return!1;const m=it(p==null?void 0:p.value);return m?it(h.value)===m||it(h.label)===m:!1}function vs(h){let p=h;for(const[m,_]of Object.entries(O.value))m==="exact"?p=p:p=p.filter(T=>Pn(T[m],_));return p}function vt(){const h=p=>{const m=new Map;for(const _ of C.value){const T=_[p];if(!(T!=null&&T.value))continue;const S=m.get(T.value);S?S.count++:m.set(T.value,{label:T.label,count:1})}return Array.from(m.entries()).map(([_,{label:T,count:S}])=>({value:_,label:T,count:S})).sort((_,T)=>_.label.localeCompare(T.label))};M.value={wagf_region:h("wagf_region"),wagf_block:h("wagf_block"),rop1:h("rop1"),religion:h("religion")}}function mt(){const h=Object.keys(M.value),p={};for(const m of h){const _={};for(const[w,E]of Object.entries(O.value))w!==m&&(_[w]=E);const T=qt(_,C.value),S=new Map;for(const w of T){const E=w[m];E!=null&&E.value&&S.set(E.value,(S.get(E.value)??0)+1)}p[m]=(M.value[m]??[]).map(w=>({...w,count:S.get(w.value)??0}))}M.value=p}function qt(h,p){let m=p;for(const[_,T]of Object.entries(h))_!=="exact"&&(m=m.filter(S=>Pn(S[_],T)));return m}function Ye(){C.value=C.value.map(S=>(S.matches=[],S.country_label="",S.rop1_label="",S));const p=Object.keys(O.value).length>0?vs(C.value):C.value,m=he.value;if(!m){F.value=p,P.value=F.value.length,D.value=!1,mt(),a();return}const T=new Vl(p,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:O.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(m);F.value=T.map(S=>{var E;const w={...S.item};if(!S.matches)return w;w.matches=[];for(const N of S.matches){const H=N.key;if(!H)continue;let U="";if(String(H).includes(".")){const[te,Q]=String(H).split(".");U=(E=w[te])==null?void 0:E[Q]}else U=w[String(H)];if(U&&typeof U=="string"){let te=0,Q="";if(N.indices.forEach((le,Me)=>{const ft=le[0],Et=le[1],Ce=N.indices.length-1===Me;Q+=ve(U.slice(te,ft))+`${ve(U.slice(ft,Et+1))}`+(Ce?ve(U.slice(Et+1)):""),te=Et+1}),String(H).includes("imb_alternate_name"))w.matches.push({key:c.value.alternate_name??"Also known as",label:Q});else if(String(H).includes(".")){const[le]=String(H).split("."),Me={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};le==="rop1"?w.rop1_label=Q:le==="country_code"?w.country_label=Q:le==="wagf_region"||w.matches.push({key:Me[le]??le,label:Q})}else w[String(H)]=Q}}return w}),P.value=F.value.length,D.value=!1,mt(),a()}const Ie=Br();function co(){var p,m;const h=((p=Ie==null?void 0:Ie.vnode)==null?void 0:p.el)||((m=Ie==null?void 0:Ie.proxy)==null?void 0:m.$el);try{const _=h&&h.getRootNode&&h.getRootNode();if(_&&_.host)return _.host}catch{}return h}function a(){const h={query:he.value,activeFilters:O.value,total:P.value,slugs:F.value.map(m=>m.slug)};s("groups-filtered",h);const p=co();p&&typeof p.dispatchEvent=="function"&&p.dispatchEvent(new CustomEvent("groups-filtered",{detail:h,bubbles:!0,composed:!0}))}function f(){return n.morePerPage>0?P.value>n.perPage+(j.value-1)*n.morePerPage&&!D.value&&F.value.length>0:P.value>j.value*n.perPage&&!D.value&&F.value.length>0}function g(){j.value=j.value+1}const y=oe(()=>n.morePerPage>0?F.value.slice(0,n.perPage+(j.value-1)*n.morePerPage):F.value.slice(0,j.value*n.perPage)),x=oe(()=>f());async function b(){const h=`${o.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${i.value}`;D.value=!0,$.value=!1;try{const p=await fetch(h);if(!p.ok)throw new Error(`HTTP ${p.status}`);const m=await p.json();P.value=m.total,C.value=Array.isArray(m.posts)?m.posts:[],vt(),Ye()}catch(p){console.error("[people-groups-grid] fetch error:",p),$.value=!0,C.value=[],D.value=!1}}return _n(()=>[n.query,n.wagfRegion,n.wagfBlock,n.rop1,n.religion,n.countryCode,n.primaryLanguage,n.engagementStatus,n.cluster,n.peopleGroup,n.gospelAccess,u.value,v.value],()=>{j.value=1,Ye()}),ar(b),(h,p)=>{var m,_,T,S;return V(),K("div",sc,[u.value||v.value?(V(),K("div",rc,[u.value?(V(),K("div",oc,[ye(zl,{"model-value":ee.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:ae},null,8,["model-value","placeholder","aria-label"])])):_e("",!0),v.value?(V(),K("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":I.value,onClick:q},[p[0]||(p[0]=B("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[B("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),st(" "+ie(I.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),L.value?(V(),K("span",lc,ie(L.value),1)):_e("",!0),p[1]||(p[1]=B("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[B("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ic)):_e("",!0),v.value&&I.value?(V(),K(ce,{key:2},[B("div",cc,[ye(Mn,{label:c.value.wagf_region||"Region",name:"wagf_region",options:M.value.wagf_region||[],value:((m=O.value.wagf_region)==null?void 0:m.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:M.value.wagf_block||[],value:((_=O.value.wagf_block)==null?void 0:_.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.rop1||"People Group",name:"rop1",options:M.value.rop1||[],value:((T=O.value.rop1)==null?void 0:T.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.religion||"Religion",name:"religion",options:M.value.religion||[],value:((S=O.value.religion)==null?void 0:S.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"])]),B("div",ac,[B("button",{class:"filter-toggle",type:"button","data-active":O.value.exact?"":void 0,onClick:me},ie(c.value.exact_filter||"Exact"),9,fc)])],64)):_e("",!0),v.value&&J.value>0?(V(),K("div",uc,[(V(!0),K(ce,null,xn(O.value,(w,E)=>(V(),K("span",{key:E,class:"filter-chip"},[st(ie(w.label)+" ",1),B("button",{class:"filter-chip__remove",type:"button",onClick:N=>Fe(String(E))},"×",8,dc)]))),128)),B("button",{class:"filters__clear-all",type:"button",onClick:je},ie(c.value.clear_all||"Clear All"),1)])):_e("",!0)])):_e("",!0),B("div",hc,[A.value||Ee.value?(V(),K("div",pc,[B("div",gc,[D.value?(V(),K("span",_c," ")):(V(),K(ce,{key:0},[st(ie(Ee.value&&!A.value?(c.value.showing||"Showing")+" "+P.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+P.value.toLocaleString("en-US")),1)],64))])])):_e("",!0),B("div",vc,[(V(!0),K(ce,null,xn(y.value,w=>(V(),K("div",{key:w.slug,class:"card uupg__card"},[w.image_url?(V(),K("img",{key:0,class:"uupg__image",src:w.image_url,alt:w.name},null,8,mc)):_e("",!0),B("div",bc,[B("h3",{class:"uupg__name",innerHTML:w.name},null,8,xc),w.country_code?(V(),K("p",yc,[B("a",{class:"uupg__country-link",href:`${l.value}../countries/${Yn(tc)(w.country_code.value,w.country_code.label)}`},[B("span",{innerHTML:w.country_label?w.country_label:w.country_code.label},null,8,Sc)],8,wc),w.rop1?(V(),K(ce,{key:0},[p[2]||(p[2]=st(" (",-1)),B("span",{innerHTML:w.rop1_label?w.rop1_label:w.rop1.label},null,8,Cc),p[3]||(p[3]=st(")",-1))],64)):_e("",!0)])):_e("",!0),w.matches?(V(!0),K(ce,{key:1},xn(w.matches,(E,N)=>(V(),K("p",{key:N,class:"uupg__match"},[B("strong",null,ie(E.key),1),p[4]||(p[4]=st(": ",-1)),B("span",{innerHTML:E.label},null,8,Tc)]))),128)):_e("",!0)]),w.location_description?(V(),K("p",Ac,ie(w.location_description),1)):_e("",!0),B("a",{class:"uupg__more-button",href:`${l.value}${w.slug}`},ie(c.value.full_profile||"Full profile"),9,Ec)]))),128)),D.value?(V(),K("div",Mc,ie(c.value.loading||"Loading…"),1)):$.value?(V(),K("div",Pc,ie(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):y.value.length?_e("",!0):(V(),K("div",Oc,ie(c.value.no_results||"No people groups match this filter."),1))]),x.value?(V(),K("button",{key:1,class:"pgg-loadmore",type:"button",onClick:g},ie(c.value.load_more||"Load more"),1)):_e("",!0)])])}}},[["styles",[nc]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",kc))})(); +**/let ds;const qr=typeof window<"u"&&window.trustedTypes;if(qr)try{ds=qr.createPolicy("vue",{createHTML:e=>e})}catch{}const Jr=ds?e=>ds.createHTML(e):e=>e,ul="http://www.w3.org/2000/svg",dl="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,Yr=ot&&ot.createElement("template"),hl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?ot.createElementNS(ul,e):t==="mathml"?ot.createElementNS(dl,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Yr.innerHTML=Jr(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},pl=Symbol("_vtc");function gl(e,t,n){const s=e[pl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xr=Symbol("_vod"),_l=Symbol("_vsh"),vl=Symbol(""),ml=/(?:^|;)\s*display\s*:/;function bl(e,t,n){const s=e.style,r=ne(n);let o=!1;if(n&&!r){if(t)if(ne(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Gt(s,l,"")}else for(const i in t)n[i]==null&&Gt(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?yl(e,i,!ne(t)&&t?t[i]:void 0,l)||Gt(s,i,l):Gt(s,i,"")}}else if(r){if(t!==n){const i=s[vl];i&&(n+=";"+i),s.cssText=n,o=ml.test(n)}}else t&&e.removeAttribute("style");Xr in e&&(e[Xr]=o?s.display:"",e[_l]&&(s.display="none"))}const En=/\s*!important$/;function Gt(e,t,n){if(k(n))n.forEach(s=>Gt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))En.test(n)?e.setProperty(t,n.replace(En,""),"important"):e.setProperty(t,n);else{const s=xl(e,t);En.test(n)?e.setProperty(Oe(s),n.replace(En,""),"important"):e[s]=n}}const Zr=["Webkit","Moz","ms"],hs={};function xl(e,t){const n=hs[t];if(n)return n;let s=Te(t);if(s!=="filter"&&s in e)return hs[t]=s;s=ws(s);for(let r=0;rps||(Ml.then(()=>ps=0),ps=Date.now());function Ol(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(k(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const i=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,kl=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?gl(e,s,i):t==="style"?bl(e,n,s):Jt(t)?Yt(t)||Cl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rl(e,t,s,i))?(to(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&eo(e,t,s,i,o,t!=="value")):e._isVueCE&&(Fl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?to(e,Te(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),eo(e,t,s,i))};function Rl(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&so(t)&&R(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return so(t)&&ne(n)?!1:t in e}function Fl(e,t){const n=e._def.props;if(!n)return!1;const s=Te(t);return Array.isArray(n)?n.some(r=>Te(r)===s):Object.keys(n).some(r=>Te(r)===s)}const ro={};function Il(e,t,n){let s=ui(e,t);Zt(s)&&(s=re({},s,t));class r extends gs{constructor(i){super(s,i,n)}}return r.def=s,r}const Ll=typeof HTMLElement<"u"?HTMLElement:class{};class gs extends Ll{constructor(t,n={},s=lo){super(),this._def=t,this._props=n,this._createApp=s,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&s!==lo?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(re({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof gs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,hn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let s=0;s{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:i}=s;let l;if(o&&!k(o))for(const c in o){const d=o[c];(d===Number||d&&d.type===Number)&&(c in this._props&&(this._props[c]=Cs(this._props[c])),(l||(l=Object.create(null)))[Te(c)]=!0)}this._numberProps=l,this._resolveProps(s),this.shadowRoot&&this._applyStyles(i),this._mount(s)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(s=>{s.configureApp=this._def.configureApp,t(this._def=s,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const s in n)G(this,s)||Object.defineProperty(this,s,{get:()=>Yn(n[s])})}_resolveProps(t){const{props:n}=t,s=k(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&s.includes(r)&&this._setProp(r,this[r]);for(const r of s.map(Te))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(o){this._setProp(r,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let s=n?this.getAttribute(t):ro;const r=Te(t);n&&this._numberProps&&this._numberProps[r]&&(s=Cs(s)),this._setProp(r,s,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ro?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),s)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),n===!0?this.setAttribute(Oe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Oe(t),n+""):n||this.removeAttribute(Oe(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),$l(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=ye(this._def,re(t,this._props));return this._instance||(n.ce=s=>{this._instance=s,s.ce=this,s.isCE=!0;const r=(o,i)=>{this.dispatchEvent(new CustomEvent(o,Zt(i[0])?re({detail:i},i[0]):{detail:i}))};s.emit=(o,...i)=>{r(o,i),Oe(o)!==o&&r(Oe(o),i)},this._setParent()}),n}_applyStyles(t,n,s){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,o=this.shadowRoot,i=s?this._getStyleAnchor(s)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let c=t.length-1;c>=0;c--){const d=document.createElement("style");r&&d.setAttribute("nonce",r),d.textContent=t[c],o.insertBefore(d,l||i),l=d,c===0&&(s||this._styleAnchors.set(this._def,d),n&&this._styleAnchors.set(n,d))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{io().render(...e)},lo=(...e)=>{const t=io().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=jl(s);if(!r)return;const o=t._component;!R(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,Dl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function Dl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function jl(e){return ne(e)?document.querySelector(e):e}function Hl(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[n,...s]=t.split(".");let r=e==null?void 0:e[n];for(const o of s)r=r==null?void 0:r[o];return r}function Ul(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),r=[];let o=0,i=n.indexOf(s,o);for(;i!==-1;)r.push([i,i+s.length-1]),o=i+s.length,i=n.indexOf(s,o);return r}function Bl(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),r=[];let o=0,i=-1,l=-1;for(let c=0;c({item:o,matches:[]}));if(n.lengthC-A+1>=Math.min(this.minMatchCharLength,n.length));v.length&&(d=v)}}d.length&&i.push({key:l,indices:d})}i.length&&r.push({item:o,matches:i})}return r}}const Kl=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",_s=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Wl=["value","placeholder","aria-label"],zl=_s({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,s=t,r=oe(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function o(i){const l=i.target.value??"";s("update:modelValue",l),s("search",{value:l})}return(i,l)=>(V(),K("div",{class:"search-box",style:Ot(r.value)},[l[0]||(l[0]=B("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[B("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),B("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),B("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:o},null,40,Wl)],4))}},[["styles",[Kl]]]),Gl=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",ql=["data-active","aria-expanded"],Jl={class:"filter-dropdown__label"},Yl=["value","placeholder"],Xl={class:"filter-dropdown__options"},Zl={key:0,class:"filter-dropdown__no-options"},Ql=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],ec={class:"filter-dropdown__count"},Mn=_s({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,s=t,r=de(!1),o=de(""),i=de(-1),l=de(null),c=de(null),d=de(null),u=de({});function v(O){const L=O.ownerDocument,J=L.createElement("div");J.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(O.parentElement||O.getRootNode().body||L.body).appendChild(J);const ve=J.getBoundingClientRect();return J.remove(),{x:ve.left,y:ve.top}}function A(){const O=d.value;if(!O)return;const L=O.getBoundingClientRect(),J=window.innerWidth,Ee=window.innerHeight,ve=320,Je=4,Se=8,q=Math.round(Math.min(Math.max(L.width,240),J-Se*2)),W=L.right>Se&&L.leftJ-Se?pe=Math.round(Math.max(L.right-q,Se)):pe=Math.round(Math.max(L.left,Se)):pe=Math.round(Math.min(Math.max(L.left,Se),J-q-Se));const Fe=Ee-L.bottom,De=Fe<180&&L.top>Fe,me=v(O),it=Math.round(pe-me.x);u.value=De?{top:"auto",bottom:`${Math.round(Ee-L.top+Je+me.y)}px`,left:`${it}px`,width:`${q}px`,maxHeight:`${Math.round(Math.min(ve,L.top-Je-Se))}px`}:{top:`${Math.round(L.bottom+Je-me.y)}px`,bottom:"auto",left:`${it}px`,width:`${q}px`,maxHeight:`${Math.round(Math.min(ve,Fe-Je-Se))}px`}}function C(){r.value&&A()}const F=oe(()=>{if(!o.value)return n.options;const O=o.value.toLowerCase();return n.options.filter(L=>L.label.toLowerCase().includes(O))}),P=oe(()=>n.options.find(O=>O.value===n.value));function D(O){var J;const L=((J=O.composedPath)==null?void 0:J.call(O))??[];l.value&&!L.includes(l.value)&&I()}function j(){r.value?I():$()}function $(){r.value=!0,o.value="",i.value=-1,A(),document.addEventListener("click",D),window.addEventListener("scroll",C,!0),window.addEventListener("resize",C),hn(()=>{var O;A(),(O=c.value)==null||O.focus()})}function I(){r.value=!1,o.value="",i.value=-1,document.removeEventListener("click",D),window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}function M(O){o.value=O.target.value,i.value=-1}function ee(O){const L=F.value;switch(O.key){case"ArrowDown":O.preventDefault(),i.value=Math.min(i.value+1,L.length-1),se();break;case"ArrowUp":O.preventDefault(),i.value=Math.max(i.value-1,0),se();break;case"Enter":{O.preventDefault();const J=L[i.value];J&&he(J);break}case"Escape":O.preventDefault(),I();break}}function se(){hn(()=>{var L;const O=(L=l.value)==null?void 0:L.querySelector(".filter-dropdown__option[data-highlighted]");O==null||O.scrollIntoView({block:"nearest"})})}function he(O){s("filter-change",{name:n.name,value:O.value,label:O.label,type:O.type}),I()}function Re(){s("filter-clear",{name:n.name}),I()}return fr(()=>{document.removeEventListener("click",D),window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}),(O,L)=>(V(),K("div",{ref_key:"rootRef",ref:l,class:tn(["filter-dropdown",{"is-open":r.value}])},[B("button",{ref_key:"triggerRef",ref:d,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:j},[B("span",Jl,[P.value?(V(),K(ce,{key:0},[st(ie(e.label)+": ",1),B("strong",null,ie(P.value.label),1)],64)):(V(),K(ce,{key:1},[st(ie(e.label),1)],64))]),L[0]||(L[0]=B("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[B("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ql),r.value?(V(),K("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:Ot(u.value)},[B("input",{ref_key:"searchInputRef",ref:c,class:"filter-dropdown__search",type:"text",value:o.value,placeholder:e.placeholder,onInput:M,onKeydown:ee},null,40,Yl),e.value?(V(),K("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:Re},"Clear selection")):_e("",!0),B("div",Xl,[F.value.length===0?(V(),K("div",Zl,"No options found")):(V(!0),K(ce,{key:1},xn(F.value,(J,Ee)=>(V(),K("div",{key:J.value,class:"filter-dropdown__option",role:"option","data-highlighted":Ee===i.value?"":void 0,"data-selected":J.value===e.value?"":void 0,"aria-selected":J.value===e.value,onClick:ve=>he(J),onMouseenter:ve=>i.value=Ee},[B("span",null,ie(J.label),1),B("span",ec,ie(J.count),1)],40,Ql))),128))])],4)):_e("",!0)],2))}},[["styles",[Gl]]]);function tc(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const nc=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",sc={class:"pgg-root"},rc={key:0,id:"filters",class:"filters"},oc={key:0,class:"pgg-search"},ic=["aria-expanded"],lc={key:0,class:"filters__toggle-count"},cc={class:"filters__panel"},ac={class:"filters__panel"},fc=["data-active"],uc={key:3,class:"filters__active"},dc=["onClick"],hc={class:"pgg-body"},pc={key:0,class:"repel"},gc={class:"font-size-sm"},_c={key:1},vc={id:"results",class:"grid uupgs-list"},mc=["src","alt"],bc={class:"uupg__header"},xc=["innerHTML"],yc={key:0,class:"uupg__country"},wc=["href"],Sc=["innerHTML"],Cc=["innerHTML"],Tc=["innerHTML"],Ac={key:1,class:"uupg__content"},Ec=["href"],Mc={key:0,class:"loading"},Pc={key:1,class:"pgg-empty pgg-failed",role:"status"},Oc={key:2,class:"pgg-empty"},kc=Il(_s({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const n=e,s=t,r=oe(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),o=oe(()=>n.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),i=oe(()=>n.languageCode||r.value.languageCode||""),l=oe(()=>n.researchUrl||r.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),c=oe(()=>({...r.value.t||{},...n.t||{}})),d=h=>!(h===!1||h==="false"||h==="0"||h===0),u=oe(()=>d(n.showSearch)),v=oe(()=>d(n.showFilters)),A=oe(()=>d(n.showTotal)),C=de([]),F=de([]),P=de(0),D=de(1),j=de(!0),$=de(!1),I=de(!0),M=de({}),ee=de(""),se=de({}),he=oe(()=>u.value?ee.value:n.query||""),Re=oe(()=>{const h={},p=m=>m;return n.wagfRegion&&(h.wagf_region={value:n.wagfRegion,label:p(n.wagfRegion)}),n.wagfBlock&&(h.wagf_block={value:n.wagfBlock,label:p(n.wagfBlock)}),n.rop1&&(h.rop1={value:n.rop1,label:p(n.rop1)}),n.religion&&(h.religion={value:n.religion,label:p(n.religion)}),n.countryCode&&(h.country_code={value:n.countryCode,label:p(n.countryCode)}),n.primaryLanguage&&(h.primary_language={value:n.primaryLanguage,label:p(n.primaryLanguage)}),n.engagementStatus&&(h.engagement_status={value:n.engagementStatus,label:p(n.engagementStatus)}),n.cluster&&(h.imb_reg_of_people_2={value:n.cluster,label:p(n.cluster)}),n.peopleGroup&&(h.imb_reg_of_people_25={value:n.peopleGroup,label:p(n.peopleGroup)}),n.gospelAccess&&(h.imb_gsec={value:n.gospelAccess,label:p(n.gospelAccess)}),h}),O=oe(()=>v.value?se.value:Re.value),L=oe(()=>Object.values(O.value||{}).filter(h=>h&&h.value!==""&&h.value!=null).length),J=oe(()=>Object.keys(O.value).length),Ee=oe(()=>L.value>0||!!(he.value||"").trim());function ve(h){return h.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Je(h,p=500){let m;return(..._)=>{clearTimeout(m),m=setTimeout(()=>h(..._),p)}}const Se=Je(()=>{j.value=!0,D.value=1,Ye()},500);function ae(h){ee.value=(h==null?void 0:h.value)??"",Se()}function q(){I.value=!I.value}function W(h){se.value={...se.value,[h.name]:{value:h.value,label:h.label}},D.value=1,Ye()}function pe(h){Fe(h.name)}function Fe(h){const p={...se.value};delete p[h],se.value=p,D.value=1,Ye()}function De(){se.value={},D.value=1,Ye()}function me(){if(se.value.exact)return Fe("exact");se.value={...se.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},D.value=1,Ye()}const it=h=>String(h??"").toLowerCase().replace(/[\s_&-]+/g,"");function Pn(h,p){if(!h)return!1;const m=it(p==null?void 0:p.value);return m?it(h.value)===m||it(h.label)===m:!1}function vs(h){let p=h;for(const[m,_]of Object.entries(O.value))m==="exact"?p=p:p=p.filter(T=>Pn(T[m],_));return p}function vt(){const h=p=>{const m=new Map;for(const _ of C.value){const T=_[p];if(!(T!=null&&T.value))continue;const S=m.get(T.value);S?S.count++:m.set(T.value,{label:T.label,count:1})}return Array.from(m.entries()).map(([_,{label:T,count:S}])=>({value:_,label:T,count:S})).sort((_,T)=>_.label.localeCompare(T.label))};M.value={wagf_region:h("wagf_region"),wagf_block:h("wagf_block"),rop1:h("rop1"),religion:h("religion")}}function mt(){const h=Object.keys(M.value),p={};for(const m of h){const _={};for(const[w,E]of Object.entries(O.value))w!==m&&(_[w]=E);const T=qt(_,C.value),S=new Map;for(const w of T){const E=w[m];E!=null&&E.value&&S.set(E.value,(S.get(E.value)??0)+1)}p[m]=(M.value[m]??[]).map(w=>({...w,count:S.get(w.value)??0}))}M.value=p}function qt(h,p){let m=p;for(const[_,T]of Object.entries(h))_!=="exact"&&(m=m.filter(S=>Pn(S[_],T)));return m}function Ye(){C.value=C.value.map(S=>(S.matches=[],S.country_label="",S.rop1_label="",S));const p=Object.keys(O.value).length>0?vs(C.value):C.value,m=he.value;if(!m){F.value=p,P.value=F.value.length,j.value=!1,mt(),a();return}const T=new Vl(p,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:O.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(m);F.value=T.map(S=>{var E;const w={...S.item};if(!S.matches)return w;w.matches=[];for(const N of S.matches){const H=N.key;if(!H)continue;let U="";if(String(H).includes(".")){const[te,Q]=String(H).split(".");U=(E=w[te])==null?void 0:E[Q]}else U=w[String(H)];if(U&&typeof U=="string"){let te=0,Q="";if(N.indices.forEach((le,Me)=>{const ft=le[0],Et=le[1],Ce=N.indices.length-1===Me;Q+=ve(U.slice(te,ft))+`${ve(U.slice(ft,Et+1))}`+(Ce?ve(U.slice(Et+1)):""),te=Et+1}),String(H).includes("imb_alternate_name"))w.matches.push({key:c.value.alternate_name??"Also known as",label:Q});else if(String(H).includes(".")){const[le]=String(H).split("."),Me={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};le==="rop1"?w.rop1_label=Q:le==="country_code"?w.country_label=Q:le==="wagf_region"||w.matches.push({key:Me[le]??le,label:Q})}else w[String(H)]=Q}}return w}),P.value=F.value.length,j.value=!1,mt(),a()}const Ie=Br();function co(){var p,m;const h=((p=Ie==null?void 0:Ie.vnode)==null?void 0:p.el)||((m=Ie==null?void 0:Ie.proxy)==null?void 0:m.$el);try{const _=h&&h.getRootNode&&h.getRootNode();if(_&&_.host)return _.host}catch{}return h}function a(){const h={query:he.value,activeFilters:O.value,total:P.value,slugs:F.value.map(m=>m.slug)};s("groups-filtered",h);const p=co();p&&typeof p.dispatchEvent=="function"&&p.dispatchEvent(new CustomEvent("groups-filtered",{detail:h,bubbles:!0,composed:!0}))}function f(){return n.morePerPage>0?P.value>n.perPage+(D.value-1)*n.morePerPage&&!j.value&&F.value.length>0:P.value>D.value*n.perPage&&!j.value&&F.value.length>0}function g(){D.value=D.value+1}const y=oe(()=>n.morePerPage>0?F.value.slice(0,n.perPage+(D.value-1)*n.morePerPage):F.value.slice(0,D.value*n.perPage)),x=oe(()=>f());async function b(){const h=`${o.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${i.value}`;j.value=!0,$.value=!1;try{const p=await fetch(h);if(!p.ok)throw new Error(`HTTP ${p.status}`);const m=await p.json();P.value=m.total,C.value=Array.isArray(m.posts)?m.posts:[],vt(),Ye()}catch(p){console.error("[people-groups-grid] fetch error:",p),$.value=!0,C.value=[],j.value=!1}}return _n(()=>[n.query,n.wagfRegion,n.wagfBlock,n.rop1,n.religion,n.countryCode,n.primaryLanguage,n.engagementStatus,n.cluster,n.peopleGroup,n.gospelAccess,u.value,v.value],()=>{D.value=1,Ye()}),ar(b),(h,p)=>{var m,_,T,S;return V(),K("div",sc,[u.value||v.value?(V(),K("div",rc,[u.value?(V(),K("div",oc,[ye(zl,{"model-value":ee.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:ae},null,8,["model-value","placeholder","aria-label"])])):_e("",!0),v.value?(V(),K("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":I.value,onClick:q},[p[0]||(p[0]=B("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[B("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),st(" "+ie(I.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),L.value?(V(),K("span",lc,ie(L.value),1)):_e("",!0),p[1]||(p[1]=B("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[B("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ic)):_e("",!0),v.value&&I.value?(V(),K(ce,{key:2},[B("div",cc,[ye(Mn,{label:c.value.wagf_region||"Region",name:"wagf_region",options:M.value.wagf_region||[],value:((m=O.value.wagf_region)==null?void 0:m.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:M.value.wagf_block||[],value:((_=O.value.wagf_block)==null?void 0:_.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.rop1||"People Group",name:"rop1",options:M.value.rop1||[],value:((T=O.value.rop1)==null?void 0:T.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"]),ye(Mn,{label:c.value.religion||"Religion",name:"religion",options:M.value.religion||[],value:((S=O.value.religion)==null?void 0:S.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:W,onFilterClear:pe},null,8,["label","options","value","placeholder"])]),B("div",ac,[B("button",{class:"filter-toggle",type:"button","data-active":O.value.exact?"":void 0,onClick:me},ie(c.value.exact_filter||"Exact"),9,fc)])],64)):_e("",!0),v.value&&J.value>0?(V(),K("div",uc,[(V(!0),K(ce,null,xn(O.value,(w,E)=>(V(),K("span",{key:E,class:"filter-chip"},[st(ie(w.label)+" ",1),B("button",{class:"filter-chip__remove",type:"button",onClick:N=>Fe(String(E))},"×",8,dc)]))),128)),B("button",{class:"filters__clear-all",type:"button",onClick:De},ie(c.value.clear_all||"Clear All"),1)])):_e("",!0)])):_e("",!0),B("div",hc,[A.value||Ee.value?(V(),K("div",pc,[B("div",gc,[j.value?(V(),K("span",_c," ")):(V(),K(ce,{key:0},[st(ie(Ee.value&&!A.value?(c.value.showing||"Showing")+" "+P.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+P.value.toLocaleString("en-US")),1)],64))])])):_e("",!0),B("div",vc,[(V(!0),K(ce,null,xn(y.value,w=>(V(),K("div",{key:w.slug,class:"card uupg__card"},[w.image_url?(V(),K("img",{key:0,class:"uupg__image",src:w.image_url,alt:w.name},null,8,mc)):_e("",!0),B("div",bc,[B("h3",{class:"uupg__name",innerHTML:w.name},null,8,xc),w.country_code?(V(),K("p",yc,[B("a",{class:"uupg__country-link",href:`${l.value}../countries/${Yn(tc)(w.country_code.value,w.country_code.label)}`},[B("span",{innerHTML:w.country_label?w.country_label:w.country_code.label},null,8,Sc)],8,wc),w.rop1?(V(),K(ce,{key:0},[p[2]||(p[2]=st(" (",-1)),B("span",{innerHTML:w.rop1_label?w.rop1_label:w.rop1.label},null,8,Cc),p[3]||(p[3]=st(")",-1))],64)):_e("",!0)])):_e("",!0),w.matches?(V(!0),K(ce,{key:1},xn(w.matches,(E,N)=>(V(),K("p",{key:N,class:"uupg__match"},[B("strong",null,ie(E.key),1),p[4]||(p[4]=st(": ",-1)),B("span",{innerHTML:E.label},null,8,Tc)]))),128)):_e("",!0)]),w.location_description?(V(),K("p",Ac,ie(w.location_description),1)):_e("",!0),B("a",{class:"uupg__more-button",href:`${l.value}${w.slug}`},ie(c.value.full_profile||"Full profile"),9,Ec)]))),128)),j.value?(V(),K("div",Mc,ie(c.value.loading||"Loading…"),1)):$.value?(V(),K("div",Pc,ie(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):y.value.length?_e("",!0):(V(),K("div",Oc,ie(c.value.no_results||"No people groups match this filter."),1))]),x.value?(V(),K("button",{key:1,class:"pgg-loadmore",type:"button",onClick:g},ie(c.value.load_more||"Load more"),1)):_e("",!0)])])}}},[["styles",[nc]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",kc))})(); diff --git a/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html b/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html index fff36088a..1802fa155 100644 --- a/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html +++ b/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html @@ -26,7 +26,7 @@ - + - + - + - +