{"version":3,"file":"DataVisualization.cK0LqGYm.mjs","names":["useState","useRef","startTransition"],"sources":["https:/framerusercontent.com/modules/ZmKks9yAxNxsEzQs7Bou/gLcFj4P6ssZiQm92DDIA/DataVisualization.js"],"sourcesContent":["// Dynamic Data Visualization Component following Framer component rules\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useInView}from\"framer-motion\";/**\n * Dynamic Data Visualization Component\n *\n * @framerIntrinsicWidth 580\n * @framerIntrinsicHeight 460\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function DataVisualization(props){const{chartType=\"bar\",dataSource=\"input\",jsonData=\"\",csvData=\"\",inputData=[{label:\"Beginner\",value:150},{label:\"Intermediate\",value:120},{label:\"Advanced\",value:80},{label:\"Pro\",value:50},{label:\"Enterprise\",value:30}],colors=[\"#4285F4\",\"#EA4335\",\"#FBBC05\",\"#34A853\",\"#8AB4F8\",\"#F6AEA9\",\"#FDE293\",\"#A8DAB5\"],title=\"Data Visualization\",titleColor=\"#f2f2f2\",titleAlignment=\"center\",headerFont,showLabels=true,showValues=true,showLegend=true,legendColor=\"#999999\",legendFont,axisColor=\"#222222\",axisTickColor=\"#666666\",animate=true,gap={header:32,legend:24},showChartTypeButtons=true}=props;const[data,setData]=useState([]);const[isLoading,setIsLoading]=useState(true);const[error,setError]=useState(null);const[chartInstance,setChartInstance]=useState(null);// Add local chartType state for toggle button\nconst[localChartType,setLocalChartType]=useState(chartType);const chartRef=useRef(null);const containerRef=useRef(null);const isInView=useInView(containerRef,{once:false,amount:.1});const isStatic=useIsStaticRenderer();// Load Chart.js dynamically\nuseEffect(()=>{if(typeof window!==\"undefined\"&&!window.Chart){const script=document.createElement(\"script\");script.src=\"https://cdn.jsdelivr.net/npm/chart.js\";script.onload=()=>{setIsLoading(false);};document.head.appendChild(script);}else if(typeof window!==\"undefined\"&&window.Chart){setIsLoading(false);}},[]);// Parse data based on source\nuseEffect(()=>{setError(null);try{let parsedData=[];if(dataSource===\"sample\"){parsedData=[{label:\"Beginner\",value:150},{label:\"Intermediate\",value:120},{label:\"Advanced\",value:80},{label:\"Pro\",value:50},{label:\"Enterprise\",value:30}];}else if(dataSource===\"input\"){parsedData=inputData.map(item=>({label:item.label||\"Unnamed\",value:Number(item.value)||0}));}else if(dataSource===\"json\"&&jsonData){try{const parsed=JSON.parse(jsonData);if(Array.isArray(parsed)){parsedData=parsed.map(item=>{if(typeof item===\"object\"&&item!==null){return{label:String(item.label||item.name||item.category||\"Unnamed\"),value:Number(item.value||item.count||item.amount||0)};}return{label:\"Invalid\",value:0};});}}catch(e){setError(\"Invalid JSON format\");}}else if(dataSource===\"csv\"&&csvData){try{const lines=csvData.split(\"\\n\").filter(line=>line.trim());if(lines.length>1){parsedData=lines.slice(1).map(line=>{const values=line.split(\",\");return{label:values[0]?.trim()||\"Unnamed\",value:Number(values[1]?.trim())||0};}).filter(item=>item.value>0);}else{setError(\"CSV must contain header and data rows\");}}catch(e){setError(\"Invalid CSV format\");}}parsedData=parsedData.map((point,index)=>({...point,color:colors[index%colors.length]}));startTransition(()=>{setData(parsedData);});}catch(e){setError(\"Error processing data\");}},[dataSource,jsonData,csvData,inputData,colors]);// Create chart using Chart.js\nuseEffect(()=>{if(!chartRef.current||typeof window===\"undefined\"||!window.Chart||data.length===0||isLoading)return;if(chartInstance){chartInstance.destroy();}const ctx=chartRef.current.getContext(\"2d\");if(!ctx)return;const totalVerticalGap=(title?gap.header:0)+(showLegend?gap.legend:0);const baseHeight=448-32;const chartHeight=Math.max(200,baseHeight-totalVerticalGap);const chartConfig={type:localChartType===\"donut\"?\"doughnut\":localChartType,data:{labels:data.map(item=>item.label),datasets:[{data:data.map(item=>item.value),backgroundColor:data.map(item=>item.color),borderColor:localChartType===\"line\"?data[0]?.color:data.map(item=>item.color),borderWidth:localChartType===\"line\"?3:1,fill:localChartType===\"line\"?false:true,tension:localChartType===\"line\"?.3:0,pointBackgroundColor:localChartType===\"line\"?data.map(item=>item.color):undefined,pointBorderColor:localChartType===\"line\"?\"#fff\":undefined,pointRadius:localChartType===\"line\"?6:undefined,borderRadius:localChartType===\"bar\"?{topLeft:4,topRight:4}:undefined}]},options:{responsive:true,maintainAspectRatio:false,resizeDelay:0,layout:{padding:{top:10,bottom:10,left:10,right:10}},animation:animate&&!isStatic?{duration:1e3,easing:\"easeOutQuart\"}:false,plugins:{legend:{display:false},tooltip:{enabled:true,callbacks:{label:function(context){return`${context.label}: ${context.raw}`;}}}},scales:localChartType===\"pie\"||localChartType===\"donut\"?{}:{y:{beginAtZero:true,grid:{drawBorder:false,color:axisColor},border:{color:axisColor},display:showLabels,ticks:{maxTicksLimit:6,color:axisTickColor,font:{family:legendFont?.fontFamily||'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',size:parseInt(String(legendFont?.fontSize||\"12\").replace(\"px\",\"\"))||12,weight:legendFont?.fontWeight||\"normal\",style:legendFont?.fontStyle||\"normal\"}}},x:{grid:{display:false,color:axisColor},border:{color:axisColor},display:showLabels,ticks:{maxTicksLimit:8,color:axisTickColor,font:{family:legendFont?.fontFamily,size:parseInt(legendFont?.fontSize)||12,weight:legendFont?.fontWeight,style:legendFont?.fontStyle}}}},...localChartType===\"donut\"&&{cutout:\"60%\"}}};const newChart=new window.Chart(ctx,chartConfig);setChartInstance(newChart);return()=>{if(newChart){newChart.destroy();}};},[data,localChartType,animate,showLabels,showValues,isStatic,isLoading,gap,title,showLegend]);if(isLoading){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"#f5f5f5\",borderRadius:\"8px\"},children:/*#__PURE__*/_jsx(\"div\",{children:\"Loading Chart.js...\"})});}if(error){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"#f5f5f5\",borderRadius:\"8px\",padding:\"20px\",color:\"#d32f2f\"},children:/*#__PURE__*/_jsxs(\"div\",{children:[\"Error: \",error]})});}if(data.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"#f5f5f5\",borderRadius:\"8px\"},children:/*#__PURE__*/_jsx(\"div\",{children:\"No data available\"})});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",fontFamily:\"Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",position:\"relative\",borderRadius:\"8px\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",padding:\"20px\",...props.style},children:[showChartTypeButtons&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:12,marginBottom:28,justifyContent:\"center\",alignItems:\"center\"},children:[\"bar\",\"line\",\"pie\",\"donut\"].map(t=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:{border:\"none\",background:localChartType===t?\"#ededed\":\"#f8f8f8\",color:\"#333\",borderRadius:6,padding:\"8px 16px\",fontWeight:500,boxShadow:localChartType===t?\"0 2px 6px rgba(0,0,0,0.05)\":\"none\",cursor:\"pointer\",outline:localChartType===t?\"2px solid #C0D7F3\":\"none\",fontSize:14,transition:\"all 0.14s cubic-bezier(.4,0,.2,1)\"},onClick:()=>startTransition(()=>setLocalChartType(t)),\"aria-pressed\":localChartType===t,children:t.charAt(0).toUpperCase()+t.slice(1)},t))}),title&&/*#__PURE__*/_jsx(\"div\",{style:{padding:`0 0 ${gap.header}px 0`,fontSize:\"18px\",fontWeight:600,color:titleColor,textAlign:titleAlignment,flexShrink:0,...headerFont},children:title}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",minHeight:0},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:chartRef,style:{width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\"}})})}),showLegend&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",padding:`${gap.legend}px 0 0 0`,gap:\"12px\",flexShrink:0},children:data.map((item,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginRight:\"12px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"12px\",height:\"12px\",backgroundColor:item.color,borderRadius:\"2px\",marginRight:\"6px\"}}),/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:\"12px\",color:legendColor,...legendFont},children:[item.label,showValues&&` (${item.value})`]})]},index))})]});}addPropertyControls(DataVisualization,{chartType:{type:ControlType.Enum,title:\"Chart Type\",options:[\"bar\",\"line\",\"pie\",\"donut\"],optionTitles:[\"Bar\",\"Line\",\"Pie\",\"Donut\"],defaultValue:\"bar\",description:\"Select the type of chart to display.\"},showChartTypeButtons:{type:ControlType.Boolean,title:\"Show Chart Type Buttons\",defaultValue:true,description:\"Show toggle buttons to switch chart type in the UI.\"},dataSource:{type:ControlType.Enum,title:\"Data Source\",options:[\"input\",\"json\",\"csv\"],optionTitles:[\"Input Data\",\"JSON\",\"CSV\"],defaultValue:\"input\",description:\"Choose how to provide data: manually, via JSON, or CSV.\"},inputData:{type:ControlType.Array,title:\"Input Data\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\",description:\"Label for the data point.\"},value:{type:ControlType.Number,title:\"Value\",defaultValue:0,min:0,description:\"Numeric value for the data point.\"}}},defaultValue:[{label:\"Beginner\",value:150},{label:\"Intermediate\",value:120},{label:\"Advanced\",value:80},{label:\"Pro\",value:50},{label:\"Enterprise\",value:30}],hidden:({dataSource})=>dataSource!==\"input\",description:\"Manually enter data points as label and value pairs.\"},jsonData:{type:ControlType.String,title:\"JSON Data\",defaultValue:'[{\"label\":\"Beginner\",\"value\":150},{\"label\":\"Intermediate\",\"value\":120},{\"label\":\"Advanced\",\"value\":80},{\"label\":\"Pro\",\"value\":50},{\"label\":\"Enterprise\",\"value\":30}]',displayTextArea:true,hidden:({dataSource})=>dataSource!==\"json\",description:\"Paste an array of objects with label and value keys.\"},csvData:{type:ControlType.String,title:\"CSV Data\",description:\"Paste CSV with a header row: label,value. Example: label,value\\\\nBeginner,150\\\\nIntermediate,120\",defaultValue:\"label,value\\nBeginner,150\\nIntermediate,120\\nAdvanced,80\\nPro,50\\nEnterprise,30\",displayTextArea:true,hidden:({dataSource})=>dataSource!==\"csv\"},title:{type:ControlType.String,title:\"Chart Title\",defaultValue:\"Users by Activity Level\",description:\"Title displayed above the chart.\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#D4D4D4\",description:\"Color of the chart title.\"},titleAlignment:{type:ControlType.Enum,title:\"Title Alignment\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\",displaySegmentedControl:true,description:\"Alignment of the chart title.\"},headerFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"22px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\",description:\"Font style for the chart title.\"},colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color},defaultValue:[\"#4285F4\",\"#EA4335\",\"#FBBC05\",\"#34A853\",\"#8AB4F8\",\"#F6AEA9\",\"#FDE293\",\"#A8DAB5\"],maxCount:10,description:\"Colors for each data series or segment.\"},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true,description:\"Show axis and data labels on the chart.\"},showValues:{type:ControlType.Boolean,title:\"Show Values\",defaultValue:true,description:\"Show values next to labels in the legend.\"},showLegend:{type:ControlType.Boolean,title:\"Show Legend\",defaultValue:true,description:\"Display the legend below the chart.\"},legendColor:{type:ControlType.Color,title:\"Legend Color\",defaultValue:\"#999999\",description:\"Color of the legend text.\"},legendFont:{type:ControlType.Font,title:\"Body Font\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\",description:\"Font style for legend and axis labels.\"},axisColor:{type:ControlType.Color,title:\"Axis Color\",defaultValue:\"#222222\",description:\"Color of the chart axes.\"},axisTickColor:{type:ControlType.Color,title:\"Axis Tick Color\",defaultValue:\"#666666\",description:\"Color of the axis tick marks and numbers.\"},animate:{type:ControlType.Boolean,title:\"Animate\",defaultValue:true,description:\"Animate the chart when data changes.\"},gap:{type:ControlType.Object,title:\"Gap\",controls:{header:{type:ControlType.Number,title:\"Header Gap\",defaultValue:36,min:0,max:50,step:1,unit:\"px\",description:\"Space below the chart title.\"},legend:{type:ControlType.Number,title:\"Legend Gap\",defaultValue:24,min:0,max:50,step:1,unit:\"px\",description:\"Space above the legend.\"}},defaultValue:{header:36,legend:24},description:\"Spacing for header and legend.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DataVisualization\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"580\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"460\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DataVisualization.map"],"mappings":"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"}