{"version":3,"file":"CircularChart.CHR8PLDI.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/rzXEv9Xfvr1XElC883Ur/BAQA4SAhcxdoxwiS7Wzx/CircularChart.js"],"sourcesContent":["// Create a round chart with animated fill on load, editable data, text, and padding\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useInView}from\"framer-motion\";import{useRef,useMemo,useState,useEffect}from\"react\";/**\n * Circular Progress Chart\n * \n * @framerIntrinsicWidth 1100\n * @framerIntrinsicHeight 600\n * \n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CircularChart(props){const{percentage=91,centerLabel=\"FROM FLOWS\",title=\"KLAVIYO REVENUE SPLIT\",subtitle=\"91% FROM FLOWS\",dataItems=[{label:\"Automated flows\",value:\"91%\",color:\"#6FDFB4\",icon:\"filled\"},{label:\"Campaigns\",value:\"9%\",color:\"#666666\",icon:\"filled\"},{label:\"Unrealised (estimate)\",value:\"+76%\",color:\"#6FDFB4\",icon:\"dashed\"}],backgroundColor=\"#0A0A0A\",chartColor=\"#6FDFB4\",chartBackgroundColor=\"#2A2A2A\",chartStrokeWidth=40,padding=60,borderRadius=0,dataItemsSpacing=40,chartSize:baseChartSize=400,titleFont,subtitleFont,centerPercentageFont,centerLabelFont,dataLabelFont,dataValueFont,animationDuration=1.5}=props;const containerRef=useRef(null);const isInView=useInView(containerRef,{once:true,amount:.3});const[isMobile,setIsMobile]=useState(false);const[chartSize,setChartSize]=useState(baseChartSize);useEffect(()=>{if(typeof window===\"undefined\")return;const checkMobile=()=>{const width=window.innerWidth;setIsMobile(width<=768);// Calculate responsive chart size based on base size\nif(width<=480){// Very small screens\nsetChartSize(Math.min(baseChartSize*.7,width-padding*2-40));}else if(width<=768){// Mobile/tablet\nsetChartSize(Math.min(baseChartSize*.875,width-padding*2-40));}else{// Desktop - use base size\nsetChartSize(baseChartSize);}};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[padding,baseChartSize]);// SVG circle calculations\nconst size=chartSize;const center=size/2;const radius=(size-chartStrokeWidth)/2;const circumference=2*Math.PI*radius;// Calculate stroke dash offset for the percentage\nconst strokeDashoffset=useMemo(()=>{return circumference-percentage/100*circumference;},[percentage,circumference]);// Calculate responsive font sizes based on chart size\nconst scaleFactor=chartSize/baseChartSize;const responsiveCenterPercentageSize=useMemo(()=>{const baseFontSize=parseInt(centerPercentageFont.fontSize)||80;return`${baseFontSize*scaleFactor}px`;},[centerPercentageFont.fontSize,scaleFactor]);const responsiveCenterLabelSize=useMemo(()=>{const baseFontSize=parseInt(centerLabelFont.fontSize)||14;return`${baseFontSize*scaleFactor}px`;},[centerLabelFont.fontSize,scaleFactor]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",backgroundColor,padding:`${padding}px`,borderRadius:`${borderRadius}px`,display:\"flex\",flexDirection:\"column\",gap:\"40px\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @media (max-width: 768px) {\n                    .circular-chart-content {\n                        flex-direction: column !important;\n                        align-items: center !important;\n                    }\n                    .circular-chart-svg {\n                        margin-bottom: 40px;\n                    }\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",flexWrap:\"wrap\",gap:\"16px\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...titleFont,color:\"#888888\"},children:title}),/*#__PURE__*/_jsx(\"span\",{style:{...subtitleFont,color:chartColor},children:subtitle})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:`${dataItemsSpacing}px`,flex:1},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:`${size}px`,height:`${size}px`,flexShrink:0,maxWidth:\"100%\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:`0 0 ${size} ${size}`,style:{transform:\"rotate(-90deg)\",maxWidth:\"100%\",height:\"auto\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:center,cy:center,r:radius,fill:\"none\",stroke:chartBackgroundColor,strokeWidth:chartStrokeWidth,strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(motion.circle,{cx:center,cy:center,r:radius,fill:\"none\",stroke:chartColor,strokeWidth:chartStrokeWidth,strokeLinecap:\"round\",strokeDasharray:circumference,initial:{strokeDashoffset:circumference},animate:{strokeDashoffset:isInView?strokeDashoffset:circumference},transition:{duration:animationDuration,ease:\"easeOut\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",textAlign:\"center\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{...centerPercentageFont,fontSize:responsiveCenterPercentageSize,color:\"#FFFFFF\"},children:[percentage,\"%\"]}),/*#__PURE__*/_jsx(\"div\",{style:{...centerLabelFont,fontSize:responsiveCenterLabelSize,color:\"#666666\",marginTop:`${8*scaleFactor}px`},children:centerLabel})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"32px\",width:\"100%\",maxWidth:\"600px\"},children:dataItems.map((item,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"16px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"20px\",height:\"20px\",backgroundColor:item.icon===\"filled\"?item.color:\"transparent\",border:item.icon===\"dashed\"?`2px dashed ${item.color}`:\"none\",borderRadius:\"4px\",flexShrink:0}}),/*#__PURE__*/_jsx(\"span\",{style:{...dataLabelFont,color:\"#888888\"},children:item.label})]}),/*#__PURE__*/_jsx(\"span\",{style:{...dataValueFont,color:\"#FFFFFF\"},children:item.value})]},index))})]})]});}addPropertyControls(CircularChart,{percentage:{type:ControlType.Number,title:\"Percentage\",defaultValue:91,min:0,max:100,step:1,displayStepper:true},centerLabel:{type:ControlType.String,title:\"Center Label\",defaultValue:\"FROM FLOWS\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"KLAVIYO REVENUE SPLIT\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"91% FROM FLOWS\"},dataItems:{type:ControlType.Array,title:\"Data Items\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Item\"},value:{type:ControlType.String,title:\"Value\",defaultValue:\"0%\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#6FDFB4\"},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"filled\",\"dashed\"],optionTitles:[\"Filled\",\"Dashed\"],defaultValue:\"filled\",displaySegmentedControl:true}}},defaultValue:[{label:\"Automated flows\",value:\"91%\",color:\"#6FDFB4\",icon:\"filled\"},{label:\"Campaigns\",value:\"9%\",color:\"#666666\",icon:\"filled\"},{label:\"Unrealised (estimate)\",value:\"+76%\",color:\"#6FDFB4\",icon:\"dashed\"}]},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#0A0A0A\"},chartColor:{type:ControlType.Color,title:\"Chart Color\",defaultValue:\"#6FDFB4\"},chartBackgroundColor:{type:ControlType.Color,title:\"Chart BG\",defaultValue:\"#2A2A2A\"},chartStrokeWidth:{type:ControlType.Number,title:\"Stroke Width\",defaultValue:40,min:10,max:80,step:5},chartSize:{type:ControlType.Number,title:\"Chart Size\",defaultValue:400,min:200,max:800,step:10},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:60,min:0,max:120,step:10},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:0,min:0,max:60,step:1},dataItemsSpacing:{type:ControlType.Number,title:\"Data Spacing\",defaultValue:40,min:0,max:120,step:10},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0.1em\",lineHeight:\"1.2em\"}},subtitleFont:{type:ControlType.Font,title:\"Subtitle Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0.1em\",lineHeight:\"1.2em\"}},centerPercentageFont:{type:ControlType.Font,title:\"Center % Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"80px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1em\"}},centerLabelFont:{type:ControlType.Font,title:\"Center Label\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0.05em\",lineHeight:\"1.2em\"}},dataLabelFont:{type:ControlType.Font,title:\"Data Label\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"18px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.4em\"}},dataValueFont:{type:ControlType.Font,title:\"Data Value\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"24px\",variant:\"Bold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},animationDuration:{type:ControlType.Number,title:\"Animation Duration\",defaultValue:1.5,min:.5,max:5,step:.1,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CircularChart\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1100\",\"framerIntrinsicHeight\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CircularChart.map"],"mappings":"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"}