File size: 5,664 Bytes
e4b4f9a
1
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52683,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let a={background:"#ffffff",view:{stroke:null,continuousWidth:300,continuousHeight:300},arc:{fill:"#34A7F2"},area:{fill:"#34A7F2"},line:{stroke:"#34A7F2",strokeCap:"round",strokeJoin:"round"},path:{stroke:"#34A7F2"},rect:{fill:"#34A7F2"},point:{filled:!0,stroke:"white",strokeWidth:1},title:{font:"Open Sans, Arial, sans-serif",subtitleFont:"Open Sans, Arial, sans-serif",anchor:"start",fontSize:18,fontWeight:600,offset:20,subtitleFontSize:15,subtitleColor:"#666666",subtitlePadding:6},axis:{titleFont:"Open Sans, Arial, sans-serif",titleFontSize:13,titleFontWeight:600,labelFont:"Open Sans, Arial, sans-serif",labelColor:"#666666",labelFontSize:13,gridWidth:1,tickColor:"#CED4DE",tickWidth:.2,titleColor:"#111111",gridDash:[4,2],gridColor:"#CED4DE",labelPadding:6,labelOverlap:!0,labelFlush:!1},axisBand:{grid:!1},axisX:{grid:!0,tickSize:0,domain:!1},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFont:"Open Sans, Arial, sans-serif",titleFont:"Open Sans, Arial, sans-serif",titleFontSize:15,labelFontSize:13,labelColor:"#111111",padding:1,symbolSize:140,symbolType:"circle",orient:"bottom",direction:"horizontal",gradientStrokeColor:"#8a969f",gradientStrokeWidth:.5,gradientThickness:10,tickCount:5},header:{labelFont:"Open Sans, Arial, sans-serif",titleFont:"Open Sans, Arial, sans-serif",titleFontSize:15,labelFontSize:13,labelFontWeight:600},range:{category:["#34A7F2","#FF9800","#664AB6","#4EC2C0","#F3578E","#081079","#0C7C68"],diverging:["#24768e","#4d96a5","#7db5bc","#b3d3d5","#efefef","#d7bfe3","#ba92cf","#9969b4","#754493"],heatmap:["#e3f6fd","#b3e0f4","#85caea","#55b3e0","#099bd4","#0682ba","#0569a1","#045288","#023b6f"]}};function s({spec:l,onClick:n,fullSize:r}){let o=i.default.useRef(null),[d,c]=i.default.useState(null);i.default.useEffect(()=>{if(!o.current)return;let t=!1;return(async()=>{try{let i=(await e.A(11966)).default;if(t||!o.current)return;let s={...l,width:r?700:"container",config:{...a,autosize:{type:"fit",contains:"padding"},title:{...a.title,fontSize:14,limit:700}}};await i(o.current,s,{actions:!1,renderer:"svg"})}catch(e){t||c(e.message)}})(),()=>{t=!0}},[l,r]);let h=l?.title?.text||l?.title||l?.description||"Untitled";return(0,t.jsxs)("div",{className:"viz-card",style:{cursor:n?"pointer":"default"},children:[(0,t.jsx)("div",{className:"viz-chart-presentation",onClick:n,title:n?"Click to expand":void 0,children:d?(0,t.jsxs)("div",{style:{color:"var(--danger-color)",padding:24},children:["Failed to render chart: ",d]}):(0,t.jsx)("div",{ref:o,className:"vega-embed-custom"})}),!r&&(0,t.jsx)("div",{className:"viz-interactions",children:(0,t.jsx)("div",{className:"viz-actions",children:(0,t.jsx)("span",{style:{fontSize:"0.85rem",color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:"string"==typeof h?h:""})})})]})}function l(){return(0,t.jsxs)("div",{className:"viz-card",children:[(0,t.jsx)("div",{className:"viz-chart-presentation shimmer",style:{height:300}}),(0,t.jsx)("div",{className:"viz-interactions",children:(0,t.jsx)("div",{className:"shimmer",style:{height:16,width:"60%",borderRadius:4,background:"var(--border-light)"}})})]})}e.s(["default",0,function(){let[e,a]=(0,i.useState)([]),[n,r]=(0,i.useState)(!0),[o,d]=(0,i.useState)(null);return(0,i.useEffect)(()=>{fetch("/viz_specs/manifest.json").then(e=>e.json()).then(async e=>{let t=[];for(let i of e.files)try{let e=await fetch(`/viz_specs/${i}`),a=await e.json();t.push({id:i.replace("_vega.json",""),spec:a})}catch(e){console.error(`Failed to load ${i}`,e)}a(t),r(!1)}).catch(e=>{console.error("Failed to load manifest",e),r(!1)})},[]),(0,i.useEffect)(()=>{let e=e=>{"Escape"===e.key&&d(null)};return o?(document.body.style.overflow="hidden",window.addEventListener("keydown",e)):document.body.style.overflow="",()=>{document.body.style.overflow="",window.removeEventListener("keydown",e)}},[o]),(0,t.jsxs)("main",{className:"gallery-layout",children:[(0,t.jsx)("header",{className:"navbar glass-panel",children:(0,t.jsxs)("div",{className:"navbar-brand",children:[(0,t.jsx)("div",{className:"logo-icon",children:"📊"}),(0,t.jsx)("h1",{children:"Data360 MCP Gallery"})]})}),(0,t.jsx)("section",{className:"hero",children:(0,t.jsxs)("div",{className:"hero-content",children:[(0,t.jsx)("h2",{children:"Discover Data Visualizations"}),(0,t.jsx)("p",{children:"Charts built automatically by the Data360 AI Agent using the World Bank theme."})]})}),(0,t.jsx)("section",{className:"gallery-grid",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l,{}),(0,t.jsx)(l,{}),(0,t.jsx)(l,{})]}):0===e.length?(0,t.jsx)("div",{className:"empty-gallery glass-panel",children:(0,t.jsx)("p",{children:"No visualizations found."})}):e.map(e=>(0,t.jsx)("div",{className:"fade-in",children:(0,t.jsx)(s,{spec:e.spec,onClick:()=>d(e)})},e.id))}),(0,t.jsx)("footer",{className:"footer",children:(0,t.jsx)("p",{children:"Powered by Data360 Chat & Data360 MCP"})}),o&&(0,t.jsx)("div",{className:"modal-overlay",onClick:()=>d(null),children:(0,t.jsxs)("div",{className:"modal-container",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("button",{className:"modal-close",onClick:()=>d(null),children:"✕"}),(0,t.jsx)("div",{style:{maxHeight:"90vh",overflowY:"auto",borderRadius:"4px",background:"var(--bg-main)",border:"1px solid var(--border-light)",boxShadow:"var(--shadow-md)"},children:(0,t.jsx)(s,{spec:o.spec,fullSize:!0})})]})})]})}],52683)},11966,e=>{e.v(t=>Promise.all(["static/chunks/06uucczarkjta.js"].map(t=>e.l(t))).then(()=>t(9565)))}]);