import{f as b,a as x,c as me}from"../chunks/Bh-96fzJ.js";import{p as pt,j as y,m as Le,u as ue,g as e,i as v,d as r,s as o,t as F,e as vt,f as mt,$ as ut,r as s,n as Te,k as G}from"../chunks/mO2F3zLa.js";import{d as ft,s as g}from"../chunks/eH5yZvH4.js";import{i as h}from"../chunks/tuD4s8Oc.js";import{h as xt,N as bt,F as yt,r as Se,s as I,e as _t,i as gt}from"../chunks/3CBxeiL8.js";import{b as Me}from"../chunks/Da-hDQCT.js";import{b as Be}from"../chunks/CJrErHKE.js";import{b as fe}from"../chunks/DBQEMQMg.js";var ht=b(' '),wt=b('
'),$t=b('(N/A for trends) '),Pt=b(" "),At=b('Line Trends shows all years
'),Et=b(" "),Ft=b('Top N Countries: ',1),Ct=b('Countries: All countries displayed
',1),kt=b(' Mean:
Median:
Std Dev:
Min:
Max:
'),jt=b(''),Dt=b('
'),Lt=b('
'),Tt=b('
'),St=b('
'),Mt=b(''),Bt=b(' ← Tools EDA Gapminder | Explore global development data (1952-2007)
Filters Continent All Continents
Metric GDP per Capita Life Expectancy Population
Scatter Plot Bar Chart Race Line Trends
');function Ut(Ge,Ie){pt(Ie,!0);const T="https://cockpit.valuecurve.co/api/v1";let V=y(!1),S=y(""),R=y(null),A=y(Le([])),C=y(null),_=y(2007),$=y(""),f=y("gdpPercap"),M=y(15),j=y(!1),z=y(null),N=y(Le([])),m=y("scatter"),O,Y,q,w=y(null),xe=y(!1);ue(()=>{if(typeof window<"u"&&!e(xe)){const t=document.createElement("script");t.src="https://cdn.plot.ly/plotly-2.27.0.min.js",t.onload=()=>{v(w,window.Plotly,!0),v(xe,!0),Re()},document.head.appendChild(t)}});async function Re(){v(V,!0),v(S,"");try{const t=await fetch(`${T}/eda/metadata`);v(R,await t.json(),!0),v(N,e(R).years,!0),await H()}catch(t){v(S,t instanceof Error?t.message:"Failed to load data",!0)}finally{v(V,!1)}}async function H(){if(e(w))try{const t=new URLSearchParams;e(_)&&t.append("year",e(_).toString()),e($)&&t.append("continent",e($));const i=await(await fetch(`${T}/eda/data?${t}`)).json();v(A,i.data,!0);const p=await fetch(`${T}/eda/statistics?column=${e(f)}&group_by=continent&year=${e(_)}`);v(C,await p.json(),!0),e(m)==="scatter"?be():e(m)==="barrace"?ye():e(m)==="trends"&&_e()}catch(t){v(S,t instanceof Error?t.message:"Failed to update charts",!0)}}function be(){if(!O||!e(w)||e(A).length===0)return;const t=[...new Set(e(A).map(n=>n.continent))],a={Africa:"#636EFA",Americas:"#EF553B",Asia:"#00CC96",Europe:"#AB63FA",Oceania:"#FFA15A"},i=Math.max(...e(A).map(n=>n.pop)),p=60,u=t.map(n=>{const l=e(A).filter(d=>d.continent===n);return{x:l.map(d=>d.gdpPercap),y:l.map(d=>d.lifeExp),mode:"markers",name:n,text:l.map(d=>`${d.country} Pop: ${(d.pop/1e6).toFixed(1)}M`),marker:{size:l.map(d=>d.pop),sizemode:"area",sizeref:2*i/(p*p),sizemin:4,color:a[n],opacity:.7,line:{width:1,color:"white"}},hovertemplate:"%{text} GDP: $%{x:,.0f} Life Exp: %{y:.1f} years "}}),c={title:`GDP per Capita vs Life Expectancy (${e(_)})`,xaxis:{title:"GDP per Capita (log scale)",type:"log",range:[2.5,5.2]},yaxis:{title:"Life Expectancy (years)",range:[20,90]},showlegend:!0,legend:{x:.02,y:.98},hovermode:"closest",paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",font:{family:"Inter, system-ui, sans-serif"}};e(w).newPlot(O,u,c,{responsive:!0})}async function ye(){if(!(!Y||!e(w)))try{const a=await(await fetch(`${T}/eda/ranking?year=${e(_)}&metric=${e(f)}&top_n=${e(M)}`)).json(),i={Africa:"#636EFA",Americas:"#EF553B",Asia:"#00CC96",Europe:"#AB63FA",Oceania:"#FFA15A"},p={gdpPercap:"GDP per Capita ($)",lifeExp:"Life Expectancy (years)",pop:"Population"},u=a.data.sort((l,d)=>l[e(f)]-d[e(f)]),c={type:"bar",x:u.map(l=>l[e(f)]),y:u.map(l=>l.country),orientation:"h",marker:{color:u.map(l=>i[l.continent])},text:u.map(l=>e(f)==="pop"?`${(l[e(f)]/1e6).toFixed(1)}M`:e(f)==="gdpPercap"?`$${l[e(f)].toFixed(0)}`:l[e(f)].toFixed(1)),textposition:"outside",hovertemplate:"%{y} %{x:,.0f} "},n={title:`Top ${e(M)} Countries by ${p[e(f)]} (${e(_)})`,xaxis:{title:p[e(f)]},yaxis:{automargin:!0},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",font:{family:"Inter, system-ui, sans-serif"},margin:{l:150}};e(w).newPlot(Y,[c],n,{responsive:!0})}catch(t){console.error("Bar race error:",t)}}async function _e(){if(!(!q||!e(w)))try{const a=await(await fetch(`${T}/eda/timeseries?metric=${e(f)}&top_n=10${e($)?`&continent=${e($)}`:""}`)).json(),p=[...new Set(a.data.map(n=>n.country))].map(n=>{const l=a.data.filter(d=>d.country===n).sort((d,D)=>d.year-D.year);return{x:l.map(d=>d.year),y:l.map(d=>d[e(f)]),mode:"lines+markers",name:n,hovertemplate:`${n} Year: %{x} Value: %{y:,.0f} `}}),u={gdpPercap:"GDP per Capita ($)",lifeExp:"Life Expectancy (years)",pop:"Population"},c={title:`${u[e(f)]} Over Time (Top 10)`,xaxis:{title:"Year",dtick:5},yaxis:{title:u[e(f)]},showlegend:!0,legend:{x:1.02,y:1},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",font:{family:"Inter, system-ui, sans-serif"}};e(w).newPlot(q,p,c,{responsive:!0})}catch(t){console.error("Trends error:",t)}}function ze(){if(e(j)){ge();return}v(j,!0);let t=e(N).indexOf(e(_));v(z,setInterval(()=>{t=(t+1)%e(N).length,v(_,e(N)[t],!0),H()},1e3),!0)}function ge(){v(j,!1),e(z)&&(clearInterval(e(z)),v(z,null))}ue(()=>{e(w)&&(e(_)||e($)||e(f))&&H()}),ue(()=>{e(w)&&e(m)&&(e(m)==="trends"&&e(j)&&ge(),setTimeout(()=>{e(m)==="scatter"?be():e(m)==="barrace"?ye():e(m)==="trends"&&_e()},100))});var J=Bt();xt("1vulqo1",t=>{var a=ht();mt(()=>{ut.title="EDA Gapminder | Build with AI"}),x(t,a)});var he=r(J);bt(he,{});var K=o(he,2),we=r(K),$e=o(r(we),2);{var Ne=t=>{var a=wt(),i=r(a,!0);s(a),F(()=>g(i,e(S))),x(t,a)};h($e,t=>{e(S)&&t(Ne)})}var Pe=o($e,2),Q=r(Pe),U=o(r(Q),2),W=r(U),X=o(r(W)),Oe=r(X,!0);s(X);var Ye=o(X,2);{var qe=t=>{var a=$t();x(t,a)};h(Ye,t=>{e(m)==="trends"&&t(qe)})}s(W);var Z=o(W,2);Se(Z),Te(2),s(U);var Ae=o(U,2);{var Ue=t=>{var a=Pt();a.__click=ze;var i=r(a,!0);s(a),F(()=>{I(a,1,`w-full mb-4 px-4 py-2 rounded-lg text-sm font-medium transition-colors
${e(j)?"bg-red-100 text-red-700 hover:bg-red-200":"bg-primary-100 text-primary-700 hover:bg-primary-200"}`),g(i,e(j)?"Stop Animation":"Play Timeline")}),x(t,a)},Ve=t=>{var a=At();x(t,a)};h(Ae,t=>{e(m)!=="trends"?t(Ue):t(Ve,!1)})}var ee=o(Ae,2),te=o(r(ee),2),ae=r(te);ae.value=ae.__value="";var He=o(ae);{var Je=t=>{var a=me(),i=G(a);_t(i,17,()=>e(R).continents,gt,(p,u)=>{var c=Et(),n=r(c,!0);s(c);var l={};F(()=>{g(n,e(u)),l!==(l=e(u))&&(c.value=(c.__value=e(u))??"")}),x(p,c)}),x(t,a)};h(He,t=>{e(R)&&t(Je)})}s(te),s(ee);var re=o(ee,2),se=o(r(re),2),oe=r(se);oe.value=oe.__value="gdpPercap";var ie=o(oe);ie.value=ie.__value="lifeExp";var Ee=o(ie);Ee.value=Ee.__value="pop",s(se),s(re);var ne=o(re,2),Ke=r(ne);{var Qe=t=>{var a=Ft(),i=G(a),p=o(r(i)),u=r(p,!0);s(p),s(i);var c=o(i,2);Se(c),F(()=>g(u,e(M))),Me(c,()=>e(M),n=>v(M,n)),x(t,a)},We=t=>{var a=Ct(),i=G(a),p=o(r(i)),u=r(p,!0);s(p),s(i),Te(2),F(()=>g(u,e(A).length||142)),x(t,a)};h(Ke,t=>{e(m)==="barrace"?t(Qe):t(We,!1)})}s(ne);var Xe=o(ne,2);{var Ze=t=>{var a=kt(),i=r(a),p=r(i);s(i);var u=o(i,2),c=r(u),n=o(r(c),2),l=r(n,!0);s(n),s(c);var d=o(c,2),D=o(r(d),2),E=r(D,!0);s(D),s(d);var P=o(d,2),L=o(r(P),2),pe=r(L,!0);s(L),s(P);var k=o(P,2),B=o(r(k),2),ve=r(B,!0);s(B),s(k);var je=o(k,2),De=o(r(je),2),ot=r(De,!0);s(De),s(je),s(u),s(a),F((it,nt,lt,dt,ct)=>{g(p,`Statistics (${e(_)??""})`),g(l,it),g(E,nt),g(pe,lt),g(ve,dt),g(ot,ct)},[()=>e(C).mean.toFixed(2),()=>e(C).median.toFixed(2),()=>e(C).std.toFixed(2),()=>e(C).min.toFixed(2),()=>e(C).max.toFixed(2)]),x(t,a)};h(Xe,t=>{e(C)&&t(Ze)})}s(Q);var Fe=o(Q,2),le=r(Fe),de=r(le);de.__click=()=>v(m,"scatter");var ce=o(de,2);ce.__click=()=>v(m,"barrace");var Ce=o(ce,2);Ce.__click=()=>v(m,"trends"),s(le);var ke=o(le,2);{var et=t=>{var a=jt();x(t,a)},tt=t=>{var a=St(),i=r(a);{var p=c=>{var n=Dt();fe(n,l=>O=l,()=>O),x(c,n)},u=c=>{var n=me(),l=G(n);{var d=E=>{var P=Lt();fe(P,L=>Y=L,()=>Y),x(E,P)},D=E=>{var P=me(),L=G(P);{var pe=k=>{var B=Tt();fe(B,ve=>q=ve,()=>q),x(k,B)};h(L,k=>{e(m)==="trends"&&k(pe)},!0)}x(E,P)};h(l,E=>{e(m)==="barrace"?E(d):E(D,!1)},!0)}x(c,n)};h(i,c=>{e(m)==="scatter"?c(p):c(u,!1)})}s(a),x(t,a)};h(ke,t=>{e(V)?t(et):t(tt,!1)})}var at=o(ke,2);{var rt=t=>{var a=Mt(),i=r(a),p=r(i);s(i),s(a),F(()=>g(p,`Showing ${e(A).length??""} records for ${e(_)??""}
${e($)?` in ${e($)}`:""}`)),x(t,a)};h(at,t=>{e(A).length>0&&t(rt)})}s(Fe),s(Pe),s(we),s(K);var st=o(K,2);yt(st),s(J),F(()=>{I(U,1,`mb-4 ${e(m)==="trends"?"opacity-50":""}`),g(Oe,e(_)),Z.disabled=e(m)==="trends",I(de,1,`px-4 py-2 text-sm font-medium transition-colors
${e(m)==="scatter"?"text-primary-600 border-b-2 border-primary-600":"text-gray-500 hover:text-gray-700"}`),I(ce,1,`px-4 py-2 text-sm font-medium transition-colors
${e(m)==="barrace"?"text-primary-600 border-b-2 border-primary-600":"text-gray-500 hover:text-gray-700"}`),I(Ce,1,`px-4 py-2 text-sm font-medium transition-colors
${e(m)==="trends"?"text-primary-600 border-b-2 border-primary-600":"text-gray-500 hover:text-gray-700"}`)}),Me(Z,()=>e(_),t=>v(_,t)),Be(te,()=>e($),t=>v($,t)),Be(se,()=>e(f),t=>v(f,t)),x(Ge,J),vt()}ft(["click"]);export{Ut as component};