{"version":3,"file":"MultiLineChart.B8RMyLSe.mjs","names":["useState","_Fragment","CSS","useState","_Fragment","CSS","useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/EC0pA9JpbHPn56BBu905/ds1HRtg6gQoQHlTeYgGj/DonuteChart.js","https:/framerusercontent.com/modules/oow5U6cKy1kgwNMUL6BQ/4xYpR4bS53xaNiD6K9M7/GroupChartBar.js","https:/framerusercontent.com/modules/vJkva17NlfNu5r1gLr5U/gUiDmfsXnJ8hA60TW59m/MultiLineChart.js"],"sourcesContent":["// ============================================================\n// Donut Chart — Framer Code Component\n//\n// Renders a donut (or pie) chart with up to 5 configurable segments.\n// Each segment has: label · value · color — all editable in Framer.\n// Values are automatically normalized to percentages.\n//\n// FEATURES\n//  · Animated draw on mount (stroke-dasharray trick via SVG)\n//  · Hover tooltip showing label + percentage\n//  · Center label: large % + segment name on hover, else total label\n//  · Legend below chart — label + color swatch + percentage\n//  · Configurable: colors, labels, values, gap, thickness, bg\n//  · Donut thickness configurable (0 = full pie)\n//\n// PROPERTY CONTROLS (section-wise)\n//  A — SEGMENTS  (up to 5: label · value · color each)\n//  B — STYLE     (bg color · gap between segments · donut thickness)\n//  C — CENTER    (center label text · center value display toggle)\n//  D — TYPOGRAPHY (font sizes · colors)\n//\n// Outfit font · Transparent root · No external deps\n// Framer → Assets → Code → \"+\" → paste → Save → drag canvas\n// ============================================================\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const CSS=`\n@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n.dc-root {\n  font-family: 'Outfit', sans-serif;\n  background: transparent;\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 24px;\n}\n\n.dc-svg-wrap {\n  position: relative;\n  width: 100%;\n  max-width: 300px;\n  aspect-ratio: 1;\n}\n\n.dc-svg {\n  width: 100%;\n  height: 100%;\n  transform: rotate(-90deg);\n  overflow: visible;\n}\n\n.dc-segment {\n  transition: opacity 0.2s ease, filter 0.2s ease;\n  cursor: pointer;\n}\n.dc-segment:hover {\n  opacity: 0.85;\n  filter: brightness(1.12);\n}\n\n.dc-center {\n  position: absolute;\n  inset: 0;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  pointer-events: none;\n  text-align: center;\n  padding: 24px;\n}\n\n.dc-center-value {\n  font-family: 'Outfit', sans-serif;\n  font-size: 42px;\n  font-weight: 700;\n  line-height: 1;\n  letter-spacing: -0.03em;\n  transition: all 0.25s ease;\n}\n\n.dc-center-label {\n  font-family: 'Outfit', sans-serif;\n  font-size: 12px;\n  font-weight: 500;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  margin-top: 6px;\n  transition: all 0.25s ease;\n}\n\n/* Legend */\n.dc-legend {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  width: 100%;\n  max-width: 300px;\n}\n\n.dc-legend-item {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  cursor: pointer;\n  transition: opacity 0.2s;\n}\n.dc-legend-item:hover { opacity: 0.8; }\n\n.dc-legend-swatch {\n  width: 10px;\n  height: 10px;\n  border-radius: 2px;\n  flex-shrink: 0;\n}\n\n.dc-legend-text {\n  font-family: 'Outfit', sans-serif;\n  font-size: 13px;\n  font-weight: 400;\n  flex: 1;\n}\n\n.dc-legend-pct {\n  font-family: 'Outfit', sans-serif;\n  font-size: 13px;\n  font-weight: 600;\n}\n`;// ── SVG Donut math ──────────────────────────────────────────\nfunction polarToCartesian(cx,cy,r,angleDeg){const rad=(angleDeg-90)*Math.PI/180;return{x:cx+r*Math.cos(rad),y:cy+r*Math.sin(rad)};}function describeArc(cx,cy,r,startDeg,endDeg){const clampedEnd=Math.min(endDeg,startDeg+359.999);const start=polarToCartesian(cx,cy,r,startDeg);const end=polarToCartesian(cx,cy,r,clampedEnd);const large=clampedEnd-startDeg>180?1:0;return`M ${start.x} ${start.y} A ${r} ${r} 0 ${large} 1 ${end.x} ${end.y}`;}export default function DonutChart({s1Label=\"Usability Issues\",s1Value=62,s1Color=\"#00D9A3\",s2Label=\"Technical Issues\",s2Value=25,s2Color=\"#3D4F4A\",s3Label=\"Training Gaps\",s3Value=13,s3Color=\"#2A3C37\",s4Label=\"Segment 4\",s4Value=0,s4Color=\"#1A2C28\",s5Label=\"Segment 5\",s5Value=0,s5Color=\"#0F1F1C\",segmentCount=3,gapDeg=2,thickness=60,centerLabel=\"Issues\",showCenterValue=true,showLegend=true,centerValueSize=42,centerValueColor=\"#ffffff\",centerLabelSize=12,centerLabelColor=\"rgba(255,255,255,0.55)\",legendTextColor=\"rgba(255,255,255,0.70)\",legendPctColor=\"#ffffff\",style={}}){const[hovered,setHovered]=useState(null);const[animated,setAnimated]=useState(false);useEffect(()=>{const t=setTimeout(()=>setAnimated(true),80);return()=>clearTimeout(t);},[]);const allSegs=[{label:s1Label,value:s1Value,color:s1Color},{label:s2Label,value:s2Value,color:s2Color},{label:s3Label,value:s3Value,color:s3Color},{label:s4Label,value:s4Value,color:s4Color},{label:s5Label,value:s5Value,color:s5Color}];const segs=allSegs.slice(0,Math.max(1,Math.min(5,segmentCount))).filter(s=>s.value>0);const total=segs.reduce((sum,s)=>sum+s.value,0)||1;// Build arc paths\nconst cx=50;const cy=50;const r=40;const strokeW=Math.max(1,Math.min(40,thickness/10*4));const innerR=r-strokeW/2;const outerR=r+strokeW/2;let cursor=0;const arcs=segs.map((seg,i)=>{const pct=seg.value/total;const sweep=pct*360-(segs.length>1?gapDeg:0);const start=cursor;cursor+=pct*360;return{seg,pct,start,sweep};});const hoveredSeg=hovered!==null?segs[hovered]:null;const displayPct=hoveredSeg?Math.round(hoveredSeg.value/total*100):Math.round(segs[0]?.value/total*100);const displayLabel=hoveredSeg?hoveredSeg.label:centerLabel;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"dc-root\",style:style,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"dc-svg-wrap\",children:[/*#__PURE__*/_jsx(\"svg\",{className:\"dc-svg\",viewBox:\"0 0 100 100\",children:arcs.map(({seg,pct,start,sweep},i)=>{const path=describeArc(cx,cy,r,start,start+sweep);const isHov=hovered===i;return /*#__PURE__*/_jsx(\"path\",{className:\"dc-segment\",d:path,fill:\"none\",stroke:seg.color,strokeWidth:strokeW,strokeLinecap:\"butt\",opacity:animated?hovered!==null&&!isHov?.45:1:0,style:{transition:`opacity 0.3s ease ${i*.06}s, filter 0.2s ease`,filter:isHov?\"brightness(1.15)\":\"none\"},onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(null)},i);})}),showCenterValue&&/*#__PURE__*/_jsxs(\"div\",{className:\"dc-center\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"dc-center-value\",style:{fontSize:centerValueSize,color:hoveredSeg?hoveredSeg.color:centerValueColor},children:[displayPct,\"%\"]}),/*#__PURE__*/_jsx(\"span\",{className:\"dc-center-label\",style:{fontSize:centerLabelSize,color:centerLabelColor},children:displayLabel})]})]}),showLegend&&/*#__PURE__*/_jsx(\"div\",{className:\"dc-legend\",children:segs.map((seg,i)=>{const pct=Math.round(seg.value/total*100);return /*#__PURE__*/_jsxs(\"div\",{className:\"dc-legend-item\",onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(null),style:{opacity:hovered!==null&&hovered!==i?.4:1},children:[/*#__PURE__*/_jsx(\"div\",{className:\"dc-legend-swatch\",style:{background:seg.color}}),/*#__PURE__*/_jsx(\"span\",{className:\"dc-legend-text\",style:{color:legendTextColor},children:seg.label}),/*#__PURE__*/_jsxs(\"span\",{className:\"dc-legend-pct\",style:{color:legendPctColor},children:[pct,\"%\"]})]},i);})})]})]});}addPropertyControls(DonutChart,{// ════════════════════════════════════════════════════════\n// A — SEGMENTS\n// ════════════════════════════════════════════════════════\nsegmentCount:{type:ControlType.Number,title:\"A \\xb7 Segment Count\",defaultValue:3,min:1,max:5,step:1,displayStepper:true,description:\"Number of segments to show (1–5)\"},s1Label:{type:ControlType.String,title:\"A \\xb7 S1 Label\",defaultValue:\"Usability Issues\"},s1Value:{type:ControlType.Number,title:\"A \\xb7 S1 Value\",defaultValue:62,min:0,max:9999,step:1,displayStepper:true},s1Color:{type:ControlType.Color,title:\"A \\xb7 S1 Color\",defaultValue:\"#00D9A3\"},s2Label:{type:ControlType.String,title:\"A \\xb7 S2 Label\",defaultValue:\"Technical Issues\"},s2Value:{type:ControlType.Number,title:\"A \\xb7 S2 Value\",defaultValue:25,min:0,max:9999,step:1,displayStepper:true},s2Color:{type:ControlType.Color,title:\"A \\xb7 S2 Color\",defaultValue:\"#3D4F4A\"},s3Label:{type:ControlType.String,title:\"A \\xb7 S3 Label\",defaultValue:\"Training Gaps\"},s3Value:{type:ControlType.Number,title:\"A \\xb7 S3 Value\",defaultValue:13,min:0,max:9999,step:1,displayStepper:true},s3Color:{type:ControlType.Color,title:\"A \\xb7 S3 Color\",defaultValue:\"#2A3C37\"},s4Label:{type:ControlType.String,title:\"A \\xb7 S4 Label\",defaultValue:\"Segment 4\"},s4Value:{type:ControlType.Number,title:\"A \\xb7 S4 Value\",defaultValue:0,min:0,max:9999,step:1,displayStepper:true},s4Color:{type:ControlType.Color,title:\"A \\xb7 S4 Color\",defaultValue:\"#1A2C28\"},s5Label:{type:ControlType.String,title:\"A \\xb7 S5 Label\",defaultValue:\"Segment 5\"},s5Value:{type:ControlType.Number,title:\"A \\xb7 S5 Value\",defaultValue:0,min:0,max:9999,step:1,displayStepper:true},s5Color:{type:ControlType.Color,title:\"A \\xb7 S5 Color\",defaultValue:\"#0F1F1C\"},// ════════════════════════════════════════════════════════\n// B — STYLE\n// ════════════════════════════════════════════════════════\ngapDeg:{type:ControlType.Number,title:\"B \\xb7 Segment Gap\",defaultValue:2,min:0,max:10,step:.5,displayStepper:true,description:\"Gap in degrees between segments\"},thickness:{type:ControlType.Number,title:\"B \\xb7 Donut Thickness\",defaultValue:60,min:10,max:100,step:5,displayStepper:true,description:\"Stroke thickness — 100 = full pie, lower = thinner donut ring\"},// ════════════════════════════════════════════════════════\n// C — CENTER\n// ════════════════════════════════════════════════════════\nshowCenterValue:{type:ControlType.Boolean,title:\"C \\xb7 Show Center\",defaultValue:true,description:\"Show percentage and label in the donut center\"},centerLabel:{type:ControlType.String,title:\"C \\xb7 Center Label\",defaultValue:\"Issues\",description:\"Static label shown in center (overridden by hover)\"},// ════════════════════════════════════════════════════════\n// D — LEGEND\n// ════════════════════════════════════════════════════════\nshowLegend:{type:ControlType.Boolean,title:\"D \\xb7 Show Legend\",defaultValue:true,description:\"Show or hide the legend below the chart\"},// ════════════════════════════════════════════════════════\n// E — TYPOGRAPHY\n// ════════════════════════════════════════════════════════\ncenterValueSize:{type:ControlType.Number,title:\"E \\xb7 Center Value Size\",defaultValue:42,min:20,max:80,step:2,displayStepper:true},centerValueColor:{type:ControlType.Color,title:\"E \\xb7 Center Value Color\",defaultValue:\"#ffffff\"},centerLabelSize:{type:ControlType.Number,title:\"E \\xb7 Center Label Size\",defaultValue:12,min:8,max:20,step:1,displayStepper:true},centerLabelColor:{type:ControlType.Color,title:\"E \\xb7 Center Label Color\",defaultValue:\"rgba(255,255,255,0.55)\"},legendTextColor:{type:ControlType.Color,title:\"E \\xb7 Legend Text Color\",defaultValue:\"rgba(255,255,255,0.70)\"},legendPctColor:{type:ControlType.Color,title:\"E \\xb7 Legend % Color\",defaultValue:\"#ffffff\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DonutChart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DonuteChart.map","// ============================================================\n// Grouped Bar Chart — Framer Code Component\n//\n// Renders a grouped bar chart with up to 4 groups, 2 bars each.\n// Matches the dark-theme aesthetic from the reference screenshot.\n//\n// FEATURES\n//  · Animated bars grow from bottom on mount\n//  · Hover tooltip showing group name + both values\n//  · Configurable: group labels, bar values, colors, axis\n//  · Grid lines · Y-axis ticks · X-axis group labels\n//  · Legend: two series labels + color swatches\n//  · Bar corner radius configurable\n//  · Gap between groups and between bars within group configurable\n//\n// PROPERTY CONTROLS (section-wise)\n//  A — SERIES   (name · color for series 1 & 2)\n//  B — GROUPS   (up to 4: group label · value A · value B)\n//  C — AXIS     (y-axis max · y-axis step · show grid)\n//  D — STYLE    (bar radius · group gap · bar gap · bg color)\n//  E — TYPOGRAPHY (font sizes · colors)\n//\n// Outfit font · Transparent root · Pure SVG — no chart lib\n// Framer → Assets → Code → \"+\" → paste → Save → drag canvas\n// ============================================================\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const CSS=`\n@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n.gbc-root {\n  font-family: 'Outfit', sans-serif;\n  background: transparent;\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.gbc-chart-area {\n  position: relative;\n  width: 100%;\n}\n\n.gbc-svg {\n  width: 100%;\n  display: block;\n  overflow: visible;\n}\n\n.gbc-bar {\n  cursor: pointer;\n  transition: opacity 0.2s ease, filter 0.2s ease;\n}\n.gbc-bar:hover {\n  filter: brightness(1.15);\n}\n\n/* Tooltip */\n.gbc-tooltip {\n  position: absolute;\n  background: rgba(10,20,18,0.92);\n  border: 1px solid rgba(255,255,255,0.15);\n  border-radius: 8px;\n  padding: 8px 12px;\n  pointer-events: none;\n  font-family: 'Outfit', sans-serif;\n  font-size: 12px;\n  color: #fff;\n  white-space: nowrap;\n  z-index: 10;\n  transform: translate(-50%, -110%);\n}\n\n.gbc-tooltip-title {\n  font-weight: 600;\n  margin-bottom: 4px;\n  font-size: 12px;\n}\n\n.gbc-tooltip-row {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 11px;\n  color: rgba(255,255,255,0.75);\n}\n\n.gbc-tooltip-swatch {\n  width: 8px; height: 8px;\n  border-radius: 2px;\n  flex-shrink: 0;\n}\n\n/* Legend */\n.gbc-legend {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 20px;\n  flex-wrap: wrap;\n}\n\n.gbc-legend-item {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n\n.gbc-legend-dot {\n  width: 10px; height: 10px;\n  border-radius: 2px;\n  flex-shrink: 0;\n}\n\n.gbc-legend-label {\n  font-family: 'Outfit', sans-serif;\n  font-size: 12px;\n  font-weight: 400;\n}\n`;export default function GroupedBarChart({series1Name=\"Competitor Avg.\",series1Color=\"#00D9A3\",series2Name=\"Current Avg.\",series2Color=\"#4A5C58\",groupCount=3,g1Label=\"Create Report\",g1Val1=4.3,g1Val2=5.2,g2Label=\"Access Live Feed\",g2Val1=3.7,g2Val2=4.1,g3Label=\"Export Settings\",g3Val1=5,g3Val2=7,g4Label=\"Group 4\",g4Val1=0,g4Val2=0,yMax=8,yStep=2,showGrid=true,barRadius=4,groupGap=32,barGap=4,axisColor=\"rgba(255,255,255,0.70)\",axisSize=14,legendColor=\"rgba(255,255,255,0.80)\",style={}}){const[animated,setAnimated]=useState(false);const[tooltip,setTooltip]=useState(null);useEffect(()=>{const t=setTimeout(()=>setAnimated(true),80);return()=>clearTimeout(t);},[]);const allGroups=[{label:g1Label,v1:g1Val1,v2:g1Val2},{label:g2Label,v1:g2Val1,v2:g2Val2},{label:g3Label,v1:g3Val1,v2:g3Val2},{label:g4Label,v1:g4Val1,v2:g4Val2}];const groups=allGroups.slice(0,Math.max(1,Math.min(4,groupCount)));// SVG layout constants\nconst svgW=560;const svgH=260;const padL=40;const padR=16;const padT=16;const padB=40;const chartW=svgW-padL-padR;const chartH=svgH-padT-padB;const n=groups.length;const totalGroupGap=groupGap*(n-1);const groupW=(chartW-totalGroupGap)/n;const barW=(groupW-barGap)/2;// Y-axis ticks\nconst ticks=[];for(let v=0;v<=yMax;v+=yStep)ticks.push(v);function yPx(val){return padT+chartH-Math.min(val,yMax)/yMax*chartH;}function barPath(x,y,w,h,r){const clampR=Math.min(r,w/2,h/2);return`M ${x} ${y+h} L ${x} ${y+clampR} Q ${x} ${y} ${x+clampR} ${y} L ${x+w-clampR} ${y} Q ${x+w} ${y} ${x+w} ${y+clampR} L ${x+w} ${y+h} Z`;}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-root\",style:style,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-chart-area\",children:[/*#__PURE__*/_jsxs(\"svg\",{className:\"gbc-svg\",viewBox:`0 0 ${svgW} ${svgH}`,preserveAspectRatio:\"xMidYMid meet\",children:[ticks.map((tick,i)=>{const y=yPx(tick);return /*#__PURE__*/_jsxs(\"g\",{children:[showGrid&&tick>0&&/*#__PURE__*/_jsx(\"line\",{x1:padL,y1:y,x2:svgW-padR,y2:y,stroke:\"rgba(255,255,255,0.08)\",strokeWidth:1,strokeDasharray:\"3 4\"}),/*#__PURE__*/_jsx(\"text\",{x:padL-8,y:y+4,textAnchor:\"end\",fontSize:axisSize,fill:axisColor,fontFamily:\"Outfit, sans-serif\",children:tick})]},i);}),/*#__PURE__*/_jsx(\"line\",{x1:padL,y1:padT+chartH,x2:svgW-padR,y2:padT+chartH,stroke:\"rgba(255,255,255,0.15)\",strokeWidth:1}),groups.map((grp,gi)=>{const gx=padL+gi*(groupW+groupGap);const b1x=gx;const b2x=gx+barW+barGap;const h1=Math.min(grp.v1,yMax)/yMax*chartH;const h2=Math.min(grp.v2,yMax)/yMax*chartH;const y1=padT+chartH-h1;const y2=padT+chartH-h2;const cx=gx+groupW/2;return /*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"path\",{className:\"gbc-bar\",d:barPath(b1x,animated?y1:padT+chartH,barW,animated?h1:0,barRadius),fill:series1Color,opacity:tooltip&&tooltip.groupLabel!==grp.label?.4:1,style:{transition:`d 0.5s cubic-bezier(.4,0,.2,1) ${gi*.08}s, opacity 0.2s`},onMouseEnter:e=>{const rect=e.currentTarget.closest(\"svg\").getBoundingClientRect();const svgEl=e.currentTarget.closest(\"svg\");const pt=svgEl.createSVGPoint();pt.x=cx;pt.y=Math.min(y1,y2)-8;const screenPt=pt.matrixTransform(svgEl.getScreenCTM());const containerRect=e.currentTarget.closest(\".gbc-chart-area\").getBoundingClientRect();setTooltip({x:screenPt.x-containerRect.left,y:screenPt.y-containerRect.top,groupLabel:grp.label,val1:grp.v1,val2:grp.v2,name1:series1Name,name2:series2Name,color1:series1Color,color2:series2Color});},onMouseLeave:()=>setTooltip(null)}),/*#__PURE__*/_jsx(\"path\",{className:\"gbc-bar\",d:barPath(b2x,animated?y2:padT+chartH,barW,animated?h2:0,barRadius),fill:series2Color,opacity:tooltip&&tooltip.groupLabel!==grp.label?.4:1,style:{transition:`d 0.5s cubic-bezier(.4,0,.2,1) ${gi*.08+.04}s, opacity 0.2s`},onMouseEnter:e=>{const svgEl=e.currentTarget.closest(\"svg\");const pt=svgEl.createSVGPoint();pt.x=cx;pt.y=Math.min(y1,y2)-8;const screenPt=pt.matrixTransform(svgEl.getScreenCTM());const containerRect=e.currentTarget.closest(\".gbc-chart-area\").getBoundingClientRect();setTooltip({x:screenPt.x-containerRect.left,y:screenPt.y-containerRect.top,groupLabel:grp.label,val1:grp.v1,val2:grp.v2,name1:series1Name,name2:series2Name,color1:series1Color,color2:series2Color});},onMouseLeave:()=>setTooltip(null)}),/*#__PURE__*/_jsx(\"text\",{x:cx,y:padT+chartH+20,textAnchor:\"middle\",fontSize:axisSize,fill:axisColor,fontFamily:\"Outfit, sans-serif\",children:grp.label})]},gi);})]}),tooltip&&/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-tooltip\",style:{left:tooltip.x,top:tooltip.y,position:\"absolute\",transform:\"translate(-50%, -110%)\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"gbc-tooltip-title\",children:tooltip.groupLabel}),/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-tooltip-row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"gbc-tooltip-swatch\",style:{background:tooltip.color1}}),tooltip.name1,\": \",/*#__PURE__*/_jsx(\"strong\",{children:tooltip.val1})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-tooltip-row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"gbc-tooltip-swatch\",style:{background:tooltip.color2}}),tooltip.name2,\": \",/*#__PURE__*/_jsx(\"strong\",{children:tooltip.val2})]})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"gbc-legend\",children:[{name:series1Name,color:series1Color},{name:series2Name,color:series2Color}].map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"gbc-legend-item\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"gbc-legend-dot\",style:{background:s.color}}),/*#__PURE__*/_jsx(\"span\",{className:\"gbc-legend-label\",style:{color:legendColor},children:s.name})]},i))})]})]});}addPropertyControls(GroupedBarChart,{// ════════════════════════════════════════════════════════\n// A — SERIES\n// ════════════════════════════════════════════════════════\nseries1Name:{type:ControlType.String,title:\"A \\xb7 Series 1 Name\",defaultValue:\"Competitor Avg.\"},series1Color:{type:ControlType.Color,title:\"A \\xb7 Series 1 Color\",defaultValue:\"#00D9A3\"},series2Name:{type:ControlType.String,title:\"A \\xb7 Series 2 Name\",defaultValue:\"Current Avg.\"},series2Color:{type:ControlType.Color,title:\"A \\xb7 Series 2 Color\",defaultValue:\"#4A5C58\"},// ════════════════════════════════════════════════════════\n// B — GROUPS\n// ════════════════════════════════════════════════════════\ngroupCount:{type:ControlType.Number,title:\"B \\xb7 Group Count\",defaultValue:3,min:1,max:4,step:1,displayStepper:true,description:\"Number of bar groups to show (1–4)\"},g1Label:{type:ControlType.String,title:\"B \\xb7 G1 Label\",defaultValue:\"Create Report\"},g1Val1:{type:ControlType.Number,title:\"B \\xb7 G1 Series 1\",defaultValue:4.3,min:0,step:.1,displayStepper:true},g1Val2:{type:ControlType.Number,title:\"B \\xb7 G1 Series 2\",defaultValue:5.2,min:0,step:.1,displayStepper:true},g2Label:{type:ControlType.String,title:\"B \\xb7 G2 Label\",defaultValue:\"Access Live Feed\"},g2Val1:{type:ControlType.Number,title:\"B \\xb7 G2 Series 1\",defaultValue:3.7,min:0,step:.1,displayStepper:true},g2Val2:{type:ControlType.Number,title:\"B \\xb7 G2 Series 2\",defaultValue:4.1,min:0,step:.1,displayStepper:true},g3Label:{type:ControlType.String,title:\"B \\xb7 G3 Label\",defaultValue:\"Export Settings\"},g3Val1:{type:ControlType.Number,title:\"B \\xb7 G3 Series 1\",defaultValue:5,min:0,step:.1,displayStepper:true},g3Val2:{type:ControlType.Number,title:\"B \\xb7 G3 Series 2\",defaultValue:7,min:0,step:.1,displayStepper:true},g4Label:{type:ControlType.String,title:\"B \\xb7 G4 Label\",defaultValue:\"Group 4\"},g4Val1:{type:ControlType.Number,title:\"B \\xb7 G4 Series 1\",defaultValue:0,min:0,step:.1,displayStepper:true},g4Val2:{type:ControlType.Number,title:\"B \\xb7 G4 Series 2\",defaultValue:0,min:0,step:.1,displayStepper:true},// ════════════════════════════════════════════════════════\n// C — AXIS\n// ════════════════════════════════════════════════════════\nyMax:{type:ControlType.Number,title:\"C \\xb7 Y-Axis Max\",defaultValue:8,min:1,max:1e3,step:1,displayStepper:true},yStep:{type:ControlType.Number,title:\"C \\xb7 Y-Axis Step\",defaultValue:2,min:.5,max:100,step:.5,displayStepper:true},showGrid:{type:ControlType.Boolean,title:\"C \\xb7 Show Grid\",defaultValue:true},// ════════════════════════════════════════════════════════\n// D — STYLE\n// ════════════════════════════════════════════════════════\nbarRadius:{type:ControlType.Number,title:\"D \\xb7 Bar Radius\",defaultValue:4,min:0,max:20,step:1,displayStepper:true},groupGap:{type:ControlType.Number,title:\"D \\xb7 Group Gap\",defaultValue:32,min:8,max:100,step:4,displayStepper:true,description:\"Gap between bar groups\"},barGap:{type:ControlType.Number,title:\"D \\xb7 Bar Gap\",defaultValue:4,min:0,max:20,step:1,displayStepper:true,description:\"Gap between the two bars within a group\"},// ════════════════════════════════════════════════════════\n// E — TYPOGRAPHY\n// ════════════════════════════════════════════════════════\naxisColor:{type:ControlType.Color,title:\"E \\xb7 Axis Text Color\",defaultValue:\"rgba(255,255,255,0.60)\"},axisSize:{type:ControlType.Number,title:\"E \\xb7 Axis Text Size\",defaultValue:14,min:8,max:16,step:1,displayStepper:true},legendColor:{type:ControlType.Color,title:\"E \\xb7 Legend Text Color\",defaultValue:\"rgba(255,255,255,0.60)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GroupedBarChart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GroupChartBar.map","// ============================================================\n// Multi-Line Chart — Framer Code Component\n//\n// Renders a smooth multi-line chart with up to 2 series.\n// Matches the dark-theme aesthetic from the reference screenshot.\n//\n// FEATURES\n//  · Animated line draw on mount (SVG stroke-dashoffset)\n//  · Smooth cubic bezier curves between data points\n//  · Hover scrubber: vertical line + dot highlights + tooltip\n//  · Configurable: series names, colors, point values, axis\n//  · Up to 3 X-axis labels (data points) per line\n//  · Dashed grid lines · Y-axis ticks\n//  · Legend: series name + colored dot\n//  · Dot size configurable · Line thickness configurable\n//\n// PROPERTY CONTROLS (section-wise)\n//  A — SERIES 1  (name · color · 3 point values)\n//  B — SERIES 2  (name · color · 3 point values)\n//  C — X-AXIS    (3 point labels)\n//  D — Y-AXIS    (min · max · step · show grid)\n//  E — STYLE     (line thickness · dot size · curve tension)\n//  F — TYPOGRAPHY (axis color/size · legend color)\n//\n// Outfit font · Transparent root · Pure SVG — no chart lib\n// Framer → Assets → Code → \"+\" → paste → Save → drag canvas\n// ============================================================\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const CSS=`\n@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n.mlc-root {\n  font-family: 'Outfit', sans-serif;\n  background: transparent;\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.mlc-chart-wrap {\n  position: relative;\n  width: 100%;\n}\n\n.mlc-svg {\n  width: 100%;\n  display: block;\n  overflow: visible;\n}\n\n.mlc-line {\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.mlc-dot {\n  cursor: pointer;\n  transition: r 0.15s ease, opacity 0.15s ease;\n}\n\n.mlc-hover-line {\n  stroke: rgba(255,255,255,0.15);\n  stroke-width: 1;\n  stroke-dasharray: 4 3;\n  pointer-events: none;\n}\n\n/* Tooltip */\n.mlc-tooltip {\n  position: absolute;\n  background: rgba(10,20,18,0.92);\n  border: 1px solid rgba(255,255,255,0.15);\n  border-radius: 8px;\n  padding: 8px 12px;\n  pointer-events: none;\n  font-family: 'Outfit', sans-serif;\n  color: #fff;\n  white-space: nowrap;\n  z-index: 10;\n  transform: translate(-50%, -115%);\n}\n\n.mlc-tooltip-title {\n  font-weight: 600;\n  font-size: 12px;\n  margin-bottom: 5px;\n}\n\n.mlc-tooltip-row {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 11px;\n  color: rgba(255,255,255,0.75);\n}\n\n.mlc-tooltip-swatch {\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n/* Legend */\n.mlc-legend {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 20px;\n  flex-wrap: wrap;\n}\n\n.mlc-legend-item {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n\n.mlc-legend-dot {\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.mlc-legend-label {\n  font-family: 'Outfit', sans-serif;\n  font-size: 12px;\n  font-weight: 400;\n}\n`;// Smooth cubic bezier path through points\nfunction smoothPath(pts,tension){if(pts.length<2)return\"\";if(pts.length===2)return`M ${pts[0].x} ${pts[0].y} L ${pts[1].x} ${pts[1].y}`;let d=`M ${pts[0].x} ${pts[0].y}`;for(let i=0;i<pts.length-1;i++){const p0=pts[i===0?i:i-1];const p1=pts[i];const p2=pts[i+1];const p3=pts[i+2<pts.length?i+2:i+1];const cp1x=p1.x+(p2.x-p0.x)*tension;const cp1y=p1.y+(p2.y-p0.y)*tension;const cp2x=p2.x-(p3.x-p1.x)*tension;const cp2y=p2.y-(p3.y-p1.y)*tension;d+=` C ${cp1x} ${cp1y}, ${cp2x} ${cp2y}, ${p2.x} ${p2.y}`;}return d;}export default function MultiLineChart({s1Name=\"After Redesign\",s1Color=\"#00D9A3\",s1P1=97,s1P2=12,s1P3=88,showSeries2=true,s2Name=\"Before Redesign\",s2Color=\"#5A6E69\",s2P1=62,s2P2=38,s2P3=46,xLabel1=\"Task Completion\",xLabel2=\"Error Rate\",xLabel3=\"User Satisfaction\",yMin=0,yMax=100,yStep=25,showGrid=true,lineThickness=2,dotSize=5,curveTension=.2,axisColor=\"rgba(255,255,255,0.40)\",axisSize=11,legendColor=\"rgba(255,255,255,0.65)\",style={}}){const[animated,setAnimated]=useState(false);const[hoverPt,setHoverPt]=useState(null);const line1Ref=useRef(null);const line2Ref=useRef(null);useEffect(()=>{const t=setTimeout(()=>setAnimated(true),80);return()=>clearTimeout(t);},[]);const svgW=700;const svgH=180;const padL=48;const padR=40;const padT=16;const padB=36;const chartW=svgW-padL-padR;const chartH=svgH-padT-padB;const xLabels=[xLabel1,xLabel2,xLabel3];const xPts=[0,1,2].map(i=>padL+i/2*chartW);function yPx(val){const clamped=Math.max(yMin,Math.min(val,yMax));return padT+chartH-(clamped-yMin)/(yMax-yMin)*chartH;}const series1={name:s1Name,color:s1Color,values:[s1P1,s1P2,s1P3]};const series2={name:s2Name,color:s2Color,values:[s2P1,s2P2,s2P3]};const allSeries=showSeries2?[series1,series2]:[series1];const ticks=[];for(let v=yMin;v<=yMax;v+=yStep)ticks.push(v);// Compute path lengths for animation\nuseEffect(()=>{[line1Ref,line2Ref].forEach(ref=>{if(ref.current){const len=ref.current.getTotalLength();ref.current.style.strokeDasharray=`${len}`;ref.current.style.strokeDashoffset=animated?\"0\":`${len}`;}});},[animated,s1P1,s1P2,s1P3,s2P1,s2P2,s2P3]);const pts1=[0,1,2].map(i=>({x:xPts[i],y:yPx(series1.values[i])}));const pts2=[0,1,2].map(i=>({x:xPts[i],y:yPx(series2.values[i])}));const tooltipX=hoverPt!==null?xPts[hoverPt]:null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"mlc-root\",style:style,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"mlc-chart-wrap\",children:[/*#__PURE__*/_jsxs(\"svg\",{className:\"mlc-svg\",viewBox:`0 0 ${svgW} ${svgH}`,preserveAspectRatio:\"xMidYMid meet\",onMouseLeave:()=>setHoverPt(null),children:[ticks.map((tick,i)=>{const y=yPx(tick);return /*#__PURE__*/_jsxs(\"g\",{children:[showGrid&&/*#__PURE__*/_jsx(\"line\",{x1:padL,y1:y,x2:svgW-padR,y2:y,stroke:\"rgba(255,255,255,0.07)\",strokeWidth:1,strokeDasharray:\"4 4\"}),/*#__PURE__*/_jsx(\"text\",{x:padL-8,y:y+4,textAnchor:\"end\",fontSize:axisSize,fill:axisColor,fontFamily:\"Outfit, sans-serif\",children:tick})]},i);}),hoverPt!==null&&/*#__PURE__*/_jsx(\"line\",{className:\"mlc-hover-line\",x1:xPts[hoverPt],y1:padT,x2:xPts[hoverPt],y2:padT+chartH}),/*#__PURE__*/_jsx(\"path\",{ref:line1Ref,className:\"mlc-line\",d:smoothPath(pts1,curveTension),stroke:series1.color,strokeWidth:lineThickness,style:{transition:animated?\"stroke-dashoffset 0.9s cubic-bezier(.4,0,.2,1)\":\"none\"}}),showSeries2&&/*#__PURE__*/_jsx(\"path\",{ref:line2Ref,className:\"mlc-line\",d:smoothPath(pts2,curveTension),stroke:series2.color,strokeWidth:lineThickness,style:{transition:animated?\"stroke-dashoffset 0.9s cubic-bezier(.4,0,.2,1) 0.1s\":\"none\"}}),allSeries.map((ser,si)=>{const pts=si===0?pts1:pts2;return pts.map((pt,pi)=>/*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"rect\",{x:pt.x-24,y:padT,width:48,height:chartH,fill:\"transparent\",onMouseEnter:()=>setHoverPt(pi)}),/*#__PURE__*/_jsx(\"circle\",{className:\"mlc-dot\",cx:pt.x,cy:pt.y,r:hoverPt===pi?dotSize+2:dotSize,fill:ser.color,stroke:\"rgba(0,0,0,0.4)\",strokeWidth:1.5,opacity:animated?1:0,style:{transition:`r 0.15s ease, opacity 0.4s ease ${si*.1+pi*.05}s`}})]},`${si}-${pi}`));}),xLabels.map((lbl,i)=>/*#__PURE__*/_jsx(\"text\",{x:xPts[i],y:svgH-4,textAnchor:i===0?\"start\":i===2?\"end\":\"middle\",fontSize:axisSize,fill:axisColor,fontFamily:\"Outfit, sans-serif\",children:lbl},i))]}),hoverPt!==null&&tooltipX!==null&&(()=>{const containerW=700// SVG viewBox width — tooltip positions proportionally\n;// Get the actual rendered width ratio\nreturn /*#__PURE__*/_jsxs(\"div\",{className:\"mlc-tooltip\",style:{left:`${tooltipX/svgW*100}%`,top:`${(Math.min(...allSeries.map(s=>yPx(s.values[hoverPt])))-padT)/svgH*100}%`},children:[/*#__PURE__*/_jsx(\"div\",{className:\"mlc-tooltip-title\",children:xLabels[hoverPt]}),allSeries.map((ser,si)=>/*#__PURE__*/_jsxs(\"div\",{className:\"mlc-tooltip-row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mlc-tooltip-swatch\",style:{background:ser.color}}),ser.name,\":\",\" \",/*#__PURE__*/_jsx(\"strong\",{style:{marginLeft:3},children:ser.values[hoverPt]})]},si))]});})()]}),/*#__PURE__*/_jsx(\"div\",{className:\"mlc-legend\",children:allSeries.map((ser,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"mlc-legend-item\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mlc-legend-dot\",style:{background:ser.color}}),/*#__PURE__*/_jsx(\"span\",{className:\"mlc-legend-label\",style:{color:legendColor},children:ser.name})]},i))})]})]});}addPropertyControls(MultiLineChart,{// ════════════════════════════════════════════════════════\n// A — SERIES 1\n// ════════════════════════════════════════════════════════\ns1Name:{type:ControlType.String,title:\"A \\xb7 Series 1 Name\",defaultValue:\"After Redesign\"},s1Color:{type:ControlType.Color,title:\"A \\xb7 Series 1 Color\",defaultValue:\"#00D9A3\"},s1P1:{type:ControlType.Number,title:\"A \\xb7 S1 Point 1\",defaultValue:97,min:0,step:1,displayStepper:true},s1P2:{type:ControlType.Number,title:\"A \\xb7 S1 Point 2\",defaultValue:12,min:0,step:1,displayStepper:true},s1P3:{type:ControlType.Number,title:\"A \\xb7 S1 Point 3\",defaultValue:88,min:0,step:1,displayStepper:true},// ════════════════════════════════════════════════════════\n// B — SERIES 2\n// ════════════════════════════════════════════════════════\nshowSeries2:{type:ControlType.Boolean,title:\"B \\xb7 Show Series 2\",defaultValue:true,description:\"Toggle second line on/off\"},s2Name:{type:ControlType.String,title:\"B \\xb7 Series 2 Name\",defaultValue:\"Before Redesign\"},s2Color:{type:ControlType.Color,title:\"B \\xb7 Series 2 Color\",defaultValue:\"#5A6E69\"},s2P1:{type:ControlType.Number,title:\"B \\xb7 S2 Point 1\",defaultValue:62,min:0,step:1,displayStepper:true},s2P2:{type:ControlType.Number,title:\"B \\xb7 S2 Point 2\",defaultValue:38,min:0,step:1,displayStepper:true},s2P3:{type:ControlType.Number,title:\"B \\xb7 S2 Point 3\",defaultValue:46,min:0,step:1,displayStepper:true},// ════════════════════════════════════════════════════════\n// C — X-AXIS LABELS\n// ════════════════════════════════════════════════════════\nxLabel1:{type:ControlType.String,title:\"C \\xb7 X Label 1\",defaultValue:\"Task Completion\"},xLabel2:{type:ControlType.String,title:\"C \\xb7 X Label 2\",defaultValue:\"Error Rate\"},xLabel3:{type:ControlType.String,title:\"C \\xb7 X Label 3\",defaultValue:\"User Satisfaction\"},// ════════════════════════════════════════════════════════\n// D — Y-AXIS\n// ════════════════════════════════════════════════════════\nyMin:{type:ControlType.Number,title:\"D \\xb7 Y Min\",defaultValue:0,step:1,displayStepper:true},yMax:{type:ControlType.Number,title:\"D \\xb7 Y Max\",defaultValue:100,min:1,step:5,displayStepper:true},yStep:{type:ControlType.Number,title:\"D \\xb7 Y Step\",defaultValue:25,min:1,step:1,displayStepper:true},showGrid:{type:ControlType.Boolean,title:\"D \\xb7 Show Grid\",defaultValue:true},// ════════════════════════════════════════════════════════\n// E — STYLE\n// ════════════════════════════════════════════════════════\nlineThickness:{type:ControlType.Number,title:\"E \\xb7 Line Thickness\",defaultValue:2,min:1,max:8,step:.5,displayStepper:true},dotSize:{type:ControlType.Number,title:\"E \\xb7 Dot Size\",defaultValue:5,min:2,max:12,step:1,displayStepper:true},curveTension:{type:ControlType.Number,title:\"E \\xb7 Curve Tension\",defaultValue:.2,min:0,max:.5,step:.05,displayStepper:true,description:\"0 = straight lines \\xb7 0.5 = very smooth curves\"},// ════════════════════════════════════════════════════════\n// F — TYPOGRAPHY\n// ════════════════════════════════════════════════════════\naxisColor:{type:ControlType.Color,title:\"F \\xb7 Axis Text Color\",defaultValue:\"rgba(255,255,255,0.40)\"},axisSize:{type:ControlType.Number,title:\"F \\xb7 Axis Text Size\",defaultValue:11,min:8,max:16,step:1,displayStepper:true},legendColor:{type:ControlType.Color,title:\"F \\xb7 Legend Text Color\",defaultValue:\"rgba(255,255,255,0.65)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiLineChart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MultiLineChart.map"],"mappings":"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"}