{"version":3,"file":"LineChart_Pro.CXTi5rC8.mjs","names":["toNum","p","r","React","n","segments","e","seg","u","tIndex","y","_Fragment","d"],"sources":["https:/framerusercontent.com/modules/DTOUeIDmMDB2N8X5lg1i/L4uRbXFdB95eMv4qdf9q/LineChart_Pro.js"],"sourcesContent":["/**\n * LineChartPro.tsx\n * LineChart Pro - Professional Data Visualization Component\n *\n * © 2025 WantyCorp. All rights reserved.\n *\n * Premium Framer component for creating beautiful, animated data visualizations.\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,animate}from\"framer-motion\";function parseBorderRadius(value,widthPx){if(value==null)return undefined;if(typeof value===\"number\"&&isFinite(value))return value;if(typeof value===\"string\"){const first=value.trim().split(/\\s+/)[0];const num=parseFloat(first);if(!isFinite(num))return undefined;if(/%$/.test(first))return num;if(/px$/i.test(first)){if(widthPx&&widthPx>0)return num/widthPx*100;return num;}return num;}if(typeof value===\"object\"){const v=value.radius??value.topLeft??value.topLeftRadius??value.borderTopLeftRadius;return parseBorderRadius(v,widthPx);}return undefined;}function getBorderParams(b){if(!b||typeof b!==\"object\")return{widthPx:0,style:\"solid\",color:\"#000000\"};const wVals=[b.borderWidth,b.borderTopWidth,b.borderRightWidth,b.borderBottomWidth,b.borderLeftWidth].map(v=>typeof v===\"number\"&&isFinite(v)?v:undefined).filter(v=>v!=null);const widthPx=Math.max(0,wVals.length?Math.max(...wVals):0);const style=String(b.borderStyle||\"solid\").toLowerCase();const color=b.borderColor||b.borderTopColor||b.borderRightColor||b.borderBottomColor||b.borderLeftColor||\"#000000\";return{widthPx,style,color};}function parseBorderRadiusCorners(value,widthPx){const toNum=token=>{if(token==null)return undefined;if(typeof token===\"number\"&&isFinite(token))return token;if(typeof token===\"string\"){const t=token.trim();const num=parseFloat(t);if(!isFinite(num))return undefined;if(/%$/.test(t))return num;if(/px$/i.test(t)){if(widthPx&&widthPx>0)return num/widthPx*100;return num;}return num;}return undefined;};if(value==null)return undefined;if(typeof value===\"number\"||typeof value===\"string\"){if(typeof value===\"string\"){const beforeSlash=value.split(\"/\")[0];const parts=beforeSlash.trim().split(/\\s+/).filter(Boolean);const nums=parts.map(p=>toNum(p)).filter(n=>n!=null);if(nums.length===1){const r=Math.max(0,nums[0]);return{tl:r,tr:r,br:r,bl:r};}if(nums.length===2){const[a,b]=nums;return{tl:a,tr:b,br:a,bl:b};}if(nums.length===3){const[a,b,c]=nums;return{tl:a,tr:b,br:c,bl:b};}if(nums.length>=4){const[a,b,c,d]=nums;return{tl:a,tr:b,br:c,bl:d};}}const r=Math.max(0,toNum(value)??0);return{tl:r,tr:r,br:r,bl:r};}if(typeof value===\"object\"){const tl=toNum(value.topLeft??value.tl??value.topLeftRadius??value.borderTopLeftRadius);const tr=toNum(value.topRight??value.tr??value.topRightRadius??value.borderTopRightRadius);const br=toNum(value.bottomRight??value.br??value.bottomRightRadius??value.borderBottomRightRadius);const bl=toNum(value.bottomLeft??value.bl??value.bottomLeftRadius??value.borderBottomLeftRadius);if(tl!=null||tr!=null||br!=null||bl!=null){const a=Math.max(0,tl??tr??br??bl??0);return{tl:Math.max(0,tl??a),tr:Math.max(0,tr??a),br:Math.max(0,br??a),bl:Math.max(0,bl??a)};}const r=toNum(value.radius);if(r!=null){const rr=Math.max(0,r);return{tl:rr,tr:rr,br:rr,bl:rr};}}return undefined;}const __LC_GLOBAL__=(()=>{const ids=new Set;const listeners=new Set;return{add(id){const prev=ids.size;ids.add(id);if(ids.size!==prev)listeners.forEach(fn=>fn(ids.size));},remove(id){const prev=ids.size;ids.delete(id);if(ids.size!==prev)listeners.forEach(fn=>fn(ids.size));},subscribe(fn){listeners.add(fn);return()=>{listeners.delete(fn);};},count(){return ids.size;}};})();const __LC_ACTIVE_THRESHOLD__=10;const toNum=(v,fallback)=>{const n=typeof v===\"string\"?parseFloat(v):v;return Number.isFinite(n)?n:fallback;};const deriveGoogleSheetGvizUrl=input=>{if(!input||typeof input!==\"string\")return null;try{const url=new URL(input);const host=String(url.hostname||\"\").replace(/^www\\./,\"\");if(!host.includes(\"docs.google.com\"))return null;const parts=url.pathname.split(\"/\").filter(Boolean);const dIndex=parts.indexOf(\"d\");const id=dIndex>=0&&dIndex+1<parts.length?parts[dIndex+1]:null;if(!id)return null;let gid=url.searchParams.get(\"gid\")||(url.hash?url.hash.match(/gid=(\\d+)/)?.[1]??null:null)||\"0\";return`https://docs.google.com/spreadsheets/d/${id}/gviz/tq?tqx=out:json&gid=${gid}`;}catch{return null;}};const extractGoogleSheetJson=text=>{if(!text)return null;const firstBrace=text.indexOf(\"{\");const lastBrace=text.lastIndexOf(\"}\");if(firstBrace===-1||lastBrace===-1||lastBrace<=firstBrace){return null;}const jsonStr=text.slice(firstBrace,lastBrace+1);try{return JSON.parse(jsonStr);}catch{return null;}};const parseGoogleSheetTable=(json,labelCol,valueCol)=>{const table=json&&json.table;const rows=table&&Array.isArray(table.rows)?table.rows:[];const labels=[];const values=[];for(let i=0;i<rows.length;i++){const row=rows[i];const cells=row&&Array.isArray(row.c)?row.c:[];const labelCell=cells[labelCol];const valueCell=cells[valueCol];if(!valueCell)continue;const rawV=valueCell.v;const num=typeof rawV===\"number\"?rawV:rawV!=null&&rawV!==\"\"?parseFloat(String(rawV)):NaN;if(!Number.isFinite(num))continue;const rawLabel=labelCell&&labelCell.v!=null?labelCell.v:i+1;labels.push(String(rawLabel));values.push(num);}return{labels,values};};const parseSheetColumnRef=(v,fallback)=>{if(typeof v===\"number\"&&Number.isFinite(v)){return Math.max(0,v);}if(typeof v===\"string\"){const trimmed=v.trim();if(!trimmed)return fallback;const asNum=Number(trimmed);if(Number.isFinite(asNum)){return Math.max(0,asNum);}const letters=trimmed.toUpperCase().replace(/[^A-Z]/g,\"\");if(!letters)return fallback;// Convert A -> 0, B -> 1, ..., Z -> 25, AA -> 26, etc.\nlet acc=0;for(let i=0;i<letters.length;i++){acc=acc*26+(letters.charCodeAt(i)-64);}return Math.max(0,acc-1);}return fallback;};const parseCsvTable=(text,delimiter,hasHeader,labelCol,valueCol)=>{const rows=[];let row=[];let field=\"\";let inQuotes=false;const delim=delimiter&&delimiter.length?delimiter:\",\";for(let i=0;i<text.length;i++){const c=text[i];if(inQuotes){if(c==='\"'){if(text[i+1]==='\"'){field+='\"';i++;}else{inQuotes=false;}}else{field+=c;}}else{if(c==='\"'){inQuotes=true;}else if(c===\"\\n\"||c===\"\\r\"){if(c===\"\\r\"&&text[i+1]===\"\\n\"){i++;}row.push(field);rows.push(row);row=[];field=\"\";}else if(c===delim[0]&&(delim.length===1||text.slice(i,i+delim.length)===delim)){if(delim.length>1){i+=delim.length-1;}row.push(field);field=\"\";}else{field+=c;}}}row.push(field);rows.push(row);const labels=[];const values=[];const startIdx=hasHeader?1:0;for(let i=startIdx;i<rows.length;i++){const r=rows[i];if(!r||!r.length)continue;const labelCell=r[labelCol];const valueCell=r[valueCol];if(valueCell==null||valueCell===\"\")continue;const num=parseFloat(String(valueCell));if(!Number.isFinite(num))continue;const lbl=labelCell!=null&&labelCell!==\"\"?String(labelCell):String(i-startIdx+1);labels.push(lbl);values.push(num);}return{labels,values};};export var PointEndpoints;(function(PointEndpoints){PointEndpoints[\"None\"]=\"none\";PointEndpoints[\"EndOnly\"]=\"endOnly\";PointEndpoints[\"Both\"]=\"both\";})(PointEndpoints||(PointEndpoints={}));/**\n * Advanced LineChart Pro - Professional Data Visualization Component\n *\n * Transform your data into stunning animated charts with smooth transitions,\n * gradient fills, and intelligent in-view detection. Built for designers who\n * demand perfection.\n *\n * Features:\n * - Three visualization modes: Area, Bar, and Fan charts\n * - Smooth animations with customizable timing and easing\n * - Stepped color gradients for fills and strokes\n * - Smart in-viewport detection\n * - Multiple curve types: smooth, basis, step\n * - Interactive cursor tracking and hover states\n * - Fully responsive and performance-optimized\n *\n * @author WantyCorp\n * @version 1.0.0\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 300\n */export default function LineChartPro({width,height,color=\"#0099ff\",values:valuesProp=[],labels:labelsProp=[],data,valueScale=\"percent\",dataMin,dataMax,pointRadius=0,pointStyle,roundness:roundnessProp=.5,renderMode=\"area\",barWidthScale=.6,barRadius=2,strokeStyle={strokeColors:[],roundness:1,strokeWidth:1,dotGap:0,shadow:\"\"},barStyle,fanStyle,areaStyle,animationSettings,cursorComponent,cursorMode=\"continuous\",cursorTextColor,onPointChange,hoverValue,hoverIndex,hoverLabel,hoverRawValue,onHoverValueChange,axesSettings,xAxis,yAxis,visibleAxis=\"both\",style,displayStyle,dataSource=\"manual\",googleSheetUrl,googleSheetValueColumnIndex=1,googleSheetLabelColumnIndex=0,csvUrl,csvDelimiter=\",\",csvHasHeader=true,csvFile}){const containerRef=React.useRef(null);const instanceIdRef=React.useRef(Math.random().toString(36).slice(2));const[isInView,setIsInView]=React.useState(false);const[activeCharts,setActiveCharts]=React.useState(__LC_GLOBAL__.count());React.useEffect(()=>{const unsub=__LC_GLOBAL__.subscribe(setActiveCharts);return unsub;},[]);React.useEffect(()=>{const el=containerRef.current;if(!el||typeof IntersectionObserver===\"undefined\"){setIsInView(true);__LC_GLOBAL__.add(instanceIdRef.current);return()=>{__LC_GLOBAL__.remove(instanceIdRef.current);};}let prevVisible=false;const obs=new IntersectionObserver(entries=>{const v=!!entries[0]&&!!entries[0].isIntersecting&&(entries[0].intersectionRatio??0)>0;setIsInView(v);if(v!==prevVisible){prevVisible=v;if(v)__LC_GLOBAL__.add(instanceIdRef.current);else __LC_GLOBAL__.remove(instanceIdRef.current);}},{threshold:[0,.01,.25,.5,.75,1]});obs.observe(el);return()=>{obs.disconnect();__LC_GLOBAL__.remove(instanceIdRef.current);};},[]);const __lcCrowded=activeCharts>__LC_ACTIVE_THRESHOLD__;const effDataSource=data?.dataSource??dataSource??\"manual\";const effGoogleSheetUrl=data?.googleSheetUrl??googleSheetUrl;const effGoogleSheetLabelColumnIndex=data?.googleSheetLabelColumnIndex??googleSheetLabelColumnIndex??0;const effGoogleSheetValueColumnIndex=data?.googleSheetValueColumnIndex??googleSheetValueColumnIndex??1;const effCsvFile=data?.csvFile??csvFile;const effCsvUrl=data?.csvUrl??csvUrl;const effCsvDelimiter=(data?.csvDelimiter??csvDelimiter??\",\")||\",\";const effCsvHasHeader=typeof data?.csvHasHeader===\"boolean\"?data.csvHasHeader:typeof csvHasHeader===\"boolean\"?csvHasHeader:true;const[sheetValues,setSheetValues]=React.useState(null);const[sheetLabels,setSheetLabels]=React.useState(null);const v1Values=React.useMemo(()=>{if(effDataSource!==\"manual\"&&sheetValues&&sheetValues.length>0){return sheetValues;}return(data?.values??valuesProp)||[];},[effDataSource,sheetValues,data?.values,valuesProp]);const labels=React.useMemo(()=>{if(effDataSource!==\"manual\"&&sheetLabels&&sheetLabels.length>0){return sheetLabels;}return(data?.labels??labelsProp)||[];},[effDataSource,sheetLabels,data?.labels,labelsProp]);const strokeWidth=Math.max(0,(strokeStyle?.strokeWidth??1)*10);const dotGap=Math.max(0,strokeStyle?.dotGap??8);const strokeGradientAngle=(strokeStyle?.strokeAngle??displayStyle?.gradientAngle??areaStyle?.gradientAngle??0)%360;const strokeShadowCss=strokeStyle?.shadow;const useGradientShadow=strokeStyle?.gradientShadow??false;const strokeLineCap=strokeStyle?.lineCap??\"round\";const effAreaEnabled=React.useMemo(()=>{const fillColors=displayStyle?.fillColors??areaStyle?.fillColors;const arr=Array.isArray(fillColors)?fillColors.filter(Boolean):[];return arr.length>0&&!__lcCrowded;},[displayStyle?.fillColors,areaStyle?.fillColors,__lcCrowded]);const effRenderMode=displayStyle?.renderMode??renderMode;const effValueScale=data?.valueScale??displayStyle?.valueScale??valueScale;const roundnessBase=Math.max(0,Math.min(1,displayStyle?.roundness??strokeStyle?.roundness??roundnessProp));const roundness=__lcCrowded?0:roundnessBase;const curveType=displayStyle?.curveType??\"smooth\";const isStepMode=curveType===\"step\";const transitionProp=animationSettings?.transition;const transitionDuration=transitionProp&&typeof transitionProp.duration===\"number\"?transitionProp.duration:undefined;const effectiveDuration=transitionDuration??0;const isCanvas=RenderTarget.current()===RenderTarget.canvas;React.useEffect(()=>{if(effDataSource===\"manual\"){setSheetValues(null);setSheetLabels(null);return;}if(isCanvas)return;let cancelled=false;(async()=>{try{if(effDataSource===\"googleSheet\"){const url=deriveGoogleSheetGvizUrl(effGoogleSheetUrl);if(!url){if(!cancelled){setSheetValues(null);setSheetLabels(null);}return;}const res=await fetch(url);if(!res.ok)return;const text=await res.text();const json=extractGoogleSheetJson(text);if(!json)return;const labelCol=parseSheetColumnRef(effGoogleSheetLabelColumnIndex,0);const valueCol=parseSheetColumnRef(effGoogleSheetValueColumnIndex,1);const{labels:ls,values:vs}=parseGoogleSheetTable(json,labelCol,valueCol);if(!cancelled){setSheetValues(vs);setSheetLabels(ls);}}else if(effDataSource===\"csv\"){const url=effCsvFile||effCsvUrl;if(!url){if(!cancelled){setSheetValues(null);setSheetLabels(null);}return;}const res=await fetch(url);if(!res.ok)return;const text=await res.text();const labelCol=parseSheetColumnRef(effGoogleSheetLabelColumnIndex,0);const valueCol=parseSheetColumnRef(effGoogleSheetValueColumnIndex,1);const{labels:ls,values:vs}=parseCsvTable(text,effCsvDelimiter,effCsvHasHeader,labelCol,valueCol);if(!cancelled){setSheetValues(vs);setSheetLabels(ls);}}}catch{if(!cancelled){setSheetValues(null);setSheetLabels(null);}}})();return()=>{cancelled=true;};},[effDataSource,effGoogleSheetUrl,effGoogleSheetLabelColumnIndex,effGoogleSheetValueColumnIndex,effCsvFile,effCsvUrl,effCsvDelimiter,effCsvHasHeader,isCanvas]);const isSpringTransition=React.useMemo(()=>{if(!transitionProp)return false;const t=transitionProp;return t?.type===\"spring\"||typeof t?.stiffness===\"number\"||typeof t?.damping===\"number\"||typeof t?.mass===\"number\"||typeof t?.bounce===\"number\";},[animationSettings]);const useMotion=(effectiveDuration>0||isSpringTransition)&&!isCanvas&&!__lcCrowded;const useInView=useMotion&&!isCanvas;const effectiveDrawLine=animationSettings?.drawLine&&!isCanvas;const transitionDelay=transitionProp&&typeof transitionProp.delay===\"number\"?transitionProp.delay:undefined;const derivedStaggerSeries=Math.max(0,effectiveDuration*.15);const globalBaseDelay=transitionDelay??derivedStaggerSeries;const effectiveSegmentTransition=React.useMemo(()=>{if(transitionProp){const{delay:_omitDelay,...rest}=transitionProp;return rest;}return{};},[animationSettings]);const gradientId=React?.useId?React.useId():React.useMemo(()=>`lc-${Math.random().toString(36).slice(2)}`,[]);const calcGradientCoords=React.useCallback(angle=>{const a=(angle%360+360)%360;const rad=a*Math.PI/180;const x=Math.cos(rad);const y=Math.sin(rad);return{x1:.5-x/2,y1:.5-y/2,x2:.5+x/2,y2:.5+y/2};},[]);const gradCoordsStroke=React.useMemo(()=>calcGradientCoords(strokeGradientAngle),[strokeGradientAngle,calcGradientCoords]);const areaGradientAngle=(displayStyle?.gradientAngle??areaStyle?.gradientAngle??0)%360;const gradCoordsArea=React.useMemo(()=>calcGradientCoords(areaGradientAngle),[areaGradientAngle,calcGradientCoords]);const dashGapValue=React.useMemo(()=>Math.max(5,dotGap*10),[dotGap]);// For now, use the same SVG filters for stroke shadow whether gradientShadow is on or off.\nconst shadowFilterUrl=React.useMemo(()=>`url(#${gradientId}-stroke-shadow)`,[gradientId]);const shadowFilterOnlyUrl=React.useMemo(()=>`url(#${gradientId}-stroke-shadow-only)`,[gradientId]);const normalizeColorStops=src=>{const colors=[];const offsets=[];if(Array.isArray(src)){src.forEach(item=>{if(item==null)return;if(typeof item===\"string\"){const c=String(item).trim();if(!c)return;colors.push(c);offsets.push(NaN);return;}if(typeof item===\"object\"){const rawColor=item.color??item.c;const c=rawColor!=null?String(rawColor).trim():\"\";if(!c)return;colors.push(c);const rawStop=item.stop??item.offset??item.s;if(typeof rawStop===\"number\"&&isFinite(rawStop)){const clamped=Math.min(100,Math.max(0,rawStop));offsets.push(clamped);}else{offsets.push(NaN);}}});}return{colors,offsets};};const strokeStopsData=React.useMemo(()=>{const base=Array.isArray(strokeStyle?.strokeColors)?strokeStyle.strokeColors:undefined;const{colors,offsets}=normalizeColorStops(base);const finalColors=colors.length>0?colors:[color];return{colors:finalColors,offsets};},[strokeStyle?.strokeColors,color]);const strokeStops=strokeStopsData.colors;const strokeStopOffsets=strokeStopsData.offsets;const areaStopsData=React.useMemo(()=>{const src=(Array.isArray(displayStyle?.fillColors)?displayStyle.fillColors:undefined)??(Array.isArray(areaStyle?.fillColors)?areaStyle.fillColors:undefined);const{colors,offsets}=normalizeColorStops(src);return{colors,offsets};},[displayStyle?.fillColors,areaStyle?.fillColors]);const areaStops=areaStopsData.colors;const areaStopOffsets=areaStopsData.offsets;const useCustomStrokeStops=strokeStyle?.useCustomStrokeStops??false;const useCustomFillStops=displayStyle?.useCustomFillStops??areaStyle?.useCustomFillStops??false;const strokeSteppedBounds=React.useMemo(()=>{const n=strokeStops.length;if(n<=0)return[0,100];if(!useCustomStrokeStops){const res=[];const segments=Math.max(1,n);for(let i=0;i<=segments;i++){res.push(i/segments*100);}return res;}const centers=[];const segments=Math.max(1,n-1);for(let i=0;i<n;i++){const v=strokeStopOffsets[i];if(typeof v===\"number\"&&isFinite(v)&&!Number.isNaN(v)){const clamped=Math.min(100,Math.max(0,v));centers.push(clamped);}else{const fallback=n===1?0:i/segments*100;centers.push(fallback);}}const bounds=[];bounds[0]=0;for(let i=1;i<n;i++){bounds[i]=(centers[i-1]+centers[i])/2;}bounds[n]=100;return bounds;},[strokeStops.length,strokeStopOffsets,useCustomStrokeStops]);const areaSteppedBounds=React.useMemo(()=>{const n=areaStops.length;if(n<=0)return[0,100];if(!useCustomFillStops){const res=[];const segments=Math.max(1,n);for(let i=0;i<=segments;i++){res.push(i/segments*100);}return res;}const centers=[];const segments=Math.max(1,n-1);for(let i=0;i<n;i++){const v=areaStopOffsets[i];if(typeof v===\"number\"&&isFinite(v)&&!Number.isNaN(v)){const clamped=Math.min(100,Math.max(0,v));centers.push(clamped);}else{const fallback=n===1?0:i/segments*100;centers.push(fallback);}}const bounds=[];bounds[0]=0;for(let i=1;i<n;i++){bounds[i]=(centers[i-1]+centers[i])/2;}bounds[n]=100;return bounds;},[areaStops.length,areaStopOffsets,useCustomFillStops]);const barAndFanStops=React.useMemo(()=>{const arr=areaStops.length>0?areaStops:[strokeStops[0]||color];return arr.filter(Boolean);},[areaStops,strokeStops,color]);const barStops=barAndFanStops;const fanStops=barAndFanStops;const getOffset=(i,n,custom,useCustom)=>{if(useCustom){const v=custom[i];if(typeof v===\"number\"&&isFinite(v)&&!Number.isNaN(v)){return v;}}if(n<=1)return 0;return i/Math.max(1,n-1)*100;};const strokeRemoved=React.useMemo(()=>{const clean=src=>{if(!Array.isArray(src))return[];const tmp=src.map(c=>String(c??\"\").trim().toLowerCase()).filter(s=>s&&s!==\"none\"&&s!==\"transparent\"&&s!==\"null\");return tmp;};const aSrc=areaStyle?.strokeColors;const bSrc=strokeStyle?.strokeColors;const aHasKey=areaStyle&&Object.prototype.hasOwnProperty.call(areaStyle,\"strokeColors\");const bHasKey=strokeStyle&&Object.prototype.hasOwnProperty.call(strokeStyle,\"strokeColors\");const aEmpty=aHasKey&&clean(aSrc).length===0;const bEmpty=bHasKey&&clean(bSrc).length===0;return aEmpty||bEmpty;},[areaStyle,strokeStyle]);const effStrokeWidth=strokeRemoved?0:strokeWidth;// Parse a CSS box-shadow string like \"0px 1px 2px 0px rgba(0,0,0,0.25)\"\n// Supports multiple shadows separated by commas (e.g., \"realistic\" type in Framer)\nfunction parseBoxShadow(s){if(!s||typeof s!==\"string\")return null;const str=String(s).trim();if(!str)return null;const shadows=str.split(/,(?![^(*]*\\))/);const firstShadow=shadows[0]?.trim();if(!firstShadow)return null;let colorStr=null;let alpha=1;const rgbaMatch=firstShadow.match(/rgba?\\s*\\(\\s*([^)]+)\\)/i);if(rgbaMatch){const parts=rgbaMatch[1].split(\",\").map(x=>x.trim());const r=Math.max(0,Math.min(255,Math.round(Number(parts[0])||0)));const g=Math.max(0,Math.min(255,Math.round(Number(parts[1])||0)));const b=Math.max(0,Math.min(255,Math.round(Number(parts[2])||0)));if(parts.length>3)alpha=Math.max(0,Math.min(1,Number(parts[3])||1));const toHex=n=>n.toString(16).padStart(2,\"0\");colorStr=`#${toHex(r)}${toHex(g)}${toHex(b)}`;}// Try hex if rgba didn't match\nif(!colorStr){const hexMatch=firstShadow.match(/#([0-9a-fA-F]{3,8})\\b/);if(hexMatch){colorStr=hexMatch[0];}}// Try named color at the end\nif(!colorStr){const tokens=firstShadow.split(/\\s+/);const lastToken=tokens[tokens.length-1];if(lastToken&&/^[a-z]+$/i.test(lastToken)){colorStr=lastToken;}}const cleaned=firstShadow.replace(/rgba?\\([^)]*\\)/gi,\"\").replace(/#[0-9a-fA-F]{3,8}/g,\"\").replace(/[a-z]+$/i,\"\");const nums=cleaned.split(/\\s+/).filter(Boolean);const lenVals=[];for(const tok of nums){if(/^inset$/i.test(tok))continue;const m=tok.match(/-?\\d*\\.?\\d+/);if(m)lenVals.push(Number(m[0]));if(lenVals.length>=4)break;}const dx=lenVals[0]??0;const dy=lenVals[1]??0;const blur=lenVals[2]??0;const spread=lenVals[3]??0;return{dx,dy,blur,spread,color:colorStr||\"#000000\",opacity:alpha};}const allShadows=React.useMemo(()=>{if(!strokeShadowCss||typeof strokeShadowCss!==\"string\")return[];const shadows=strokeShadowCss.split(/,(?![^(*]*\\))/);return shadows.slice(0,1).map(s=>parseBoxShadow(s.trim())).filter(Boolean);},[strokeShadowCss]);const cssShadow=allShadows[0]??null;const shBounds=React.useMemo(()=>{if(allShadows.length===0)return 0;const shadow=allShadows[0];return Math.max(0,shadow.blur*2+Math.max(Math.abs(shadow.dx),Math.abs(shadow.dy))+Math.abs(shadow.spread)+2);},[allShadows]);const shEnabledRaw=!!cssShadow;const effPointRadius=__lcCrowded?0:(pointStyle?.radius??pointRadius)||0;const effPointColor=pointStyle?.color??(strokeStops[0]||color||\"#8884d8\");const pointBorderParams=getBorderParams(pointStyle?.border);const effPointBorderColor=pointBorderParams.color??pointStyle?.borderColor??\"#ffffff\";const effPointBorderWidth=Math.max(0,pointStyle?.borderWidth??.8);const effPointBorderStyle=String(pointStyle?.border?.borderStyle??pointBorderParams.style??\"solid\").toLowerCase();let pointStrokeDash;if(effPointBorderStyle===\"dashed\")pointStrokeDash=\"4 4\";else if(effPointBorderStyle===\"dotted\")pointStrokeDash=\"1 2\";const effPointMaskPadding=Math.max(0,pointStyle?.maskPadding??0);const endpointsRaw=pointStyle?.pointEndpoints;const endpointsMode=typeof endpointsRaw===\"boolean\"?endpointsRaw?\"both\":\"none\":endpointsRaw??\"none\";const shouldShowPoint=React.useCallback((index,total)=>{const atStart=index===0;const atEnd=index===total-1;const isMiddle=!atStart&&!atEnd;switch(endpointsMode){case\"none\":return isMiddle;case\"endOnly\":return atEnd;case\"both\":return true;default:return true;}},[endpointsMode]);const includeStartPoint=endpointsMode===\"both\";const includeEndPoint=endpointsMode===\"both\"||endpointsMode===\"endOnly\";const n=v1Values.length;const pointStaggerTotal=animationSettings?.pointStagger??.25;const totalStaggerTime=typeof pointStaggerTotal===\"number\"?Math.max(0,pointStaggerTotal):.25;const pointDelayStep=n>1?totalStaggerTime/(n-1):0;const pointCount=n;const shadowPointCap=Math.max(0,1e3);const shouldDisablePointFilters=pointCount>50||__lcCrowded;const shouldDisableShadows=pointCount>shadowPointCap;const shEnabled=shEnabledRaw&&!shouldDisableShadows;const[scaleMin,scaleMax]=React.useMemo(()=>{if(effValueScale===\"range\"){const min=typeof data?.dataMin===\"number\"?data?.dataMin:typeof displayStyle?.dataMin===\"number\"?displayStyle?.dataMin:typeof dataMin===\"number\"?dataMin:0;const max=typeof data?.dataMax===\"number\"?data?.dataMax:typeof displayStyle?.dataMax===\"number\"?displayStyle?.dataMax:typeof dataMax===\"number\"?dataMax:100;return[Math.min(min,max),Math.max(min,max)];}if(effValueScale===\"auto\"){const arr=v1Values.filter(x=>Number.isFinite(x));let min=arr.length?Math.min(...arr):0;let max=arr.length?Math.max(...arr):100;if(min===max){if(max===0)max=1;else min=0;}return[min,max];}return[0,100];},[effValueScale,data?.dataMin,data?.dataMax,displayStyle?.dataMin,displayStyle?.dataMax,dataMin,dataMax,v1Values]);const valToPct=React.useCallback(v=>{if(effValueScale===\"percent\"){return Math.max(0,Math.min(100,v));}const denom=Math.max(1e-6,scaleMax-scaleMin);const t=(v-scaleMin)/denom*100;return Math.max(0,Math.min(100,t));},[effValueScale,scaleMin,scaleMax]);const lerp=React.useCallback((a,b,t)=>a+(b-a)*t,[]);const smoothstep=React.useCallback(t=>{const clamped=Math.max(0,Math.min(1,t));return clamped*clamped*(3-2*clamped);},[]);const mixEase=React.useCallback((t,e)=>lerp(t,smoothstep(t),Math.max(0,Math.min(1,e))),[lerp,smoothstep]);// We'll animate points numerically and rebuild the path from those animated values.\nconst targetTVals=React.useMemo(()=>v1Values.map(v=>valToPct(v)/100),[v1Values,valToPct]);const valuesKey=React.useMemo(()=>v1Values.join(\"|\"),[v1Values]);const scaleKey=React.useMemo(()=>`${effValueScale}|${scaleMin}|${scaleMax}`,[effValueScale,scaleMin,scaleMax]);const[tValues,setTValues]=React.useState([]);const animCtrlsRef=React.useRef([]);const pendingUpdatesRef=React.useRef(new Map);const rafIdRef=React.useRef(null);const[drawProgress,setDrawProgress]=React.useState(1);const drawCtrlRef=React.useRef(null);const pointsPathFrameCounterRef=React.useRef(0);const lastPointsPathRef=React.useRef(\"\");const hasPlayedRef=React.useRef(false);React.useEffect(()=>{const dir=animationSettings?.direction;const vo=animationSettings?.verticalOrigin;const vertTop=typeof vo===\"boolean\"?vo:vo===\"top\"||vo==null&&dir===\"topToBottom\";const initT=vertTop?1:0;setTValues(useMotion?Array(n).fill(initT):targetTVals);animCtrlsRef.current.forEach(c=>c?.stop?.());animCtrlsRef.current=[];drawCtrlRef.current?.stop?.();setDrawProgress(effectiveDrawLine&&useMotion?0:1);hasPlayedRef.current=false;},[n,useMotion,effectiveDrawLine,valuesKey,scaleKey,animationSettings?.direction,animationSettings?.verticalOrigin]);const startAnimations=React.useCallback(()=>{if(!useMotion)return;animCtrlsRef.current.forEach(c=>c?.stop?.());animCtrlsRef.current=[];if(rafIdRef.current!==null){cancelAnimationFrame(rafIdRef.current);rafIdRef.current=null;}pendingUpdatesRef.current.clear();const dir=animationSettings?.direction;const vo=animationSettings?.verticalOrigin;const ho=animationSettings?.horizontalOrder;const vertTop=typeof vo===\"boolean\"?vo:vo===\"top\"||vo==null&&dir===\"topToBottom\";const horizRTL=typeof ho===\"boolean\"?ho:ho===\"rightToLeft\"||ho==null&&dir===\"rightToLeft\";const initT=vertTop?1:0;setTValues(Array(n).fill(initT));const baseOpts={...effectiveSegmentTransition};const isSpring=baseOpts?.type===\"spring\"||typeof baseOpts?.stiffness===\"number\"||typeof baseOpts?.damping===\"number\"||typeof baseOpts?.mass===\"number\"||typeof baseOpts?.bounce===\"number\";if(!isSpring&&typeof baseOpts.duration!==\"number\"){baseOpts.duration=Math.max(.001,effectiveDuration);}const flushUpdates=()=>{if(pendingUpdatesRef.current.size===0){rafIdRef.current=null;return;}setTValues(prev=>{const next=prev.slice();let changed=false;pendingUpdatesRef.current.forEach((value,index)=>{if(next[index]!==value){next[index]=value;changed=true;}});pendingUpdatesRef.current.clear();return changed?next:prev;});rafIdRef.current=null;};for(let i=0;i<n;i++){const to=targetTVals[i]??0;const orderIndex=horizRTL?Math.max(0,n-1-i):i;const delay=Math.max(0,globalBaseDelay+pointDelayStep*orderIndex);const ctrl=animate(initT,to,{...baseOpts,delay,onUpdate:v=>{pendingUpdatesRef.current.set(i,v);if(rafIdRef.current===null){rafIdRef.current=requestAnimationFrame(flushUpdates);}}});animCtrlsRef.current.push(ctrl);}if(effectiveDrawLine){drawCtrlRef.current?.stop?.();setDrawProgress(0);const totalStagger=n>1?pointDelayStep*(n-1):0;const drawOpts={...baseOpts,delay:globalBaseDelay,onUpdate:v=>setDrawProgress(v)};if(isSpring){const stiffness=baseOpts.stiffness??100;const damping=baseOpts.damping??10;const mass=baseOpts.mass??1;const bounce=baseOpts.bounce;let estimatedDuration;if(typeof bounce===\"number\"){estimatedDuration=.5+bounce*1.5;}else{const omega=Math.sqrt(stiffness/mass);const zeta=damping/(2*Math.sqrt(stiffness*mass));estimatedDuration=zeta>0?4/(omega*zeta):1;}const targetDuration=estimatedDuration+totalStagger;const ratio=targetDuration/Math.max(.001,estimatedDuration);drawOpts.stiffness=stiffness/(ratio*ratio);}else{drawOpts.duration=(baseOpts.duration??0)+totalStagger;}drawCtrlRef.current=animate(0,1,drawOpts);}},[useMotion,n,effectiveDuration,effectiveSegmentTransition,targetTVals,globalBaseDelay,pointDelayStep,animationSettings?.direction,animationSettings?.verticalOrigin,animationSettings?.horizontalOrder,effectiveDrawLine]);React.useEffect(()=>{if(!useMotion)return;const inViewOnce=animationSettings?.inViewOnce??true;if(isInView){if(inViewOnce){if(!hasPlayedRef.current){startAnimations();hasPlayedRef.current=true;}}else{startAnimations();}}},[isInView,useMotion,animationSettings?.inViewOnce,startAnimations]);const resetAnimations=React.useCallback(()=>{animCtrlsRef.current.forEach(c=>c?.stop?.());animCtrlsRef.current=[];if(rafIdRef.current!==null){cancelAnimationFrame(rafIdRef.current);rafIdRef.current=null;}pendingUpdatesRef.current.clear();const dir=animationSettings?.direction;const vo=animationSettings?.verticalOrigin;const vertTop=typeof vo===\"boolean\"?vo:vo===\"top\"||vo==null&&dir===\"topToBottom\";const initT=vertTop?1:0;setTValues(Array(n).fill(initT));drawCtrlRef.current?.stop?.();setDrawProgress(effectiveDrawLine?0:1);hasPlayedRef.current=false;},[n,effectiveDrawLine,animationSettings?.direction,animationSettings?.verticalOrigin]);React.useEffect(()=>{return()=>{if(rafIdRef.current!==null){cancelAnimationFrame(rafIdRef.current);}drawCtrlRef.current?.stop?.();};},[]);const svgRef=React.useRef(null);const[padPct,setPadPct]=React.useState({xStart:0,xEnd:0,y:0});const[aspectRatio,setAspectRatio]=React.useState(1);const[svgPx,setSvgPx]=React.useState({w:0,h:0});const shadowFactors=React.useMemo(()=>{if(!shEnabled||svgPx.w===0||svgPx.h===0)return null;const pxToVbX=100/Math.max(1e-4,svgPx.w);const pxToVbY=100/Math.max(1e-4,svgPx.h);const blurQuality=.4;return{pxToVbX,pxToVbY,blurQuality};},[shEnabled,svgPx.w,svgPx.h]);React.useLayoutEffect(()=>{const el=svgRef.current;if(!el)return;let rafId=null;let isScheduled=false;const compute=()=>{const rect=el.getBoundingClientRect();const outerStroke=effStrokeWidth;const halfStroke=Math.max(0,outerStroke/2);const ar=rect.width>0&&rect.height>0?rect.width/rect.height:1;const sx=rect.width/100;const sy=rect.height/100;const rxVB=Math.max(0,effPointRadius);const ryVB=Math.max(1e-4,effPointRadius*(ar||1));const halfPointX=rxVB*sx+Math.max(0,effPointBorderWidth)/2;const halfPointY=ryVB*sy+Math.max(0,effPointBorderWidth)/2;// But in bar mode, don't add extra padding for endpoints since slots handle spacing\nconst needStartPadding=includeStartPoint&&effRenderMode!==\"bar\";const needEndPadding=includeEndPoint&&effRenderMode!==\"bar\";const padXStartPx=needStartPadding?Math.max(halfStroke,halfPointX):halfStroke;const padXEndPx=needEndPadding?Math.max(halfStroke,halfPointX):halfStroke;// In bar mode, do not add vertical padding – let bars reach the top\nconst padYpx=effRenderMode===\"bar\"?0:Math.max(halfStroke,halfPointY);const padXStart=rect.width>0?padXStartPx/rect.width*100:0;const padXEnd=rect.width>0?padXEndPx/rect.width*100:0;const padY=rect.height>0?padYpx/rect.height*100:0;setPadPct({xStart:padXStart,xEnd:padXEnd,y:padY});if(rect.width>0&&rect.height>0)setAspectRatio(ar);setSvgPx({w:rect.width,h:rect.height});isScheduled=false;};const throttledCompute=()=>{if(!isScheduled){isScheduled=true;rafId=requestAnimationFrame(compute);}};compute();const RO=window.ResizeObserver;const ro=RO?new RO(throttledCompute):null;if(ro)ro.observe(el);window.addEventListener(\"resize\",throttledCompute);return()=>{if(ro)ro.disconnect();if(rafId!==null)cancelAnimationFrame(rafId);window.removeEventListener(\"resize\",throttledCompute);};},[effStrokeWidth,effRenderMode,fanStyle,effPointRadius,effPointBorderWidth,includeStartPoint,includeEndPoint]);const idxToPos=React.useCallback(idx=>{const showEnds=includeStartPoint||includeEndPoint;if(!showEnds)return n<=1?0:idx/Math.max(1,n-1)*100;if(n<=1)return padPct.xStart;const start=padPct.xStart;const end=100-padPct.xEnd;return start+(end-start)*idx/Math.max(1,n-1);},[n,padPct.xStart,padPct.xEnd,includeStartPoint,includeEndPoint]);const idxToPosForMode=React.useCallback(idx=>{if(effRenderMode===\"bar\"){const axisSpan=100-padPct.xStart-padPct.xEnd;const slotW=n>1?axisSpan/n:axisSpan;const barPadding=padPct.xStart;return barPadding+slotW*(idx+.5);}return idxToPos(idx);},[effRenderMode,n,padPct.xStart,padPct.xEnd,idxToPos]);const buildPathLinear=React.useCallback(pts=>{if(!pts.length)return\"\";if(pts.length===1)return`M ${pts[0].x},${pts[0].y}`;const coords=pts.map(p=>`${p.x},${p.y}`);return`M ${coords[0]} L ${coords.slice(1).join(\" L \")}`;},[]);const buildLinearSegments=React.useCallback(pts=>{if(pts.length<=1)return\"\";let seg=\"\";for(let i=1;i<pts.length;i++){seg+=` L ${pts[i].x},${pts[i].y}`;}return seg;},[]);// Precompute step points and a uniform pixel radius for rounded step corners\nconst stepPtsForRadius=React.useMemo(()=>{const arr=v1Values.map((_,i)=>{const t=targetTVals?.[i]??0;const y=100-lerp(padPct.y,100-padPct.y,t);return{x:idxToPosForMode(i),y};});return arr;},[v1Values,targetTVals,padPct.y,idxToPosForMode]);const stepCornerRadiusPx=React.useMemo(()=>{if(!isStepMode)return 0;const sx=Math.max(1e-6,svgPx.w)/100;const sy=Math.max(1e-6,svgPx.h)/100;const EPS=.25// px: ignore effectively-flat segments\n;let globalMax=Infinity;let found=false;for(let i=1;i<stepPtsForRadius.length;i++){const prev=stepPtsForRadius[i-1];const curr=stepPtsForRadius[i];const dxPx=Math.abs(curr.x-prev.x)*sx;const dyPx=Math.abs(curr.y-prev.y)*sy;if(dyPx<=EPS)continue;// flat segment doesn't constrain corner radius\nconst allowed=Math.max(0,Math.min(dxPx/2,dyPx/2));if(allowed<globalMax)globalMax=allowed;found=true;}if(!found||!Number.isFinite(globalMax))return 0;// Roundness [0..1] scales the maximum feasible uniform radius across all transitions\nreturn Math.max(0,roundness)*Math.max(0,globalMax);},[isStepMode,stepPtsForRadius,svgPx.w,svgPx.h,roundness]);const buildSingleStepSegment=React.useCallback((prevX,prevY,currX,currY,includeMove=false)=>{const midX=(prevX+currX)/2;let seg=includeMove?`M ${prevX},${prevY}`:\"\";if(roundness<=0){seg+=` L ${midX},${prevY} L ${midX},${currY} L ${currX},${currY}`;}else{// Compute pixel scales to keep rounding perfectly circular in pixels\nconst sx=Math.max(1e-6,svgPx.w)/100;const sy=Math.max(1e-6,svgPx.h)/100;const dxPx=Math.abs(currX-prevX)*sx;const dyPx=Math.abs(currY-prevY)*sy;// Use uniform radius across the chart, clipped to per-segment feasibility\nconst maxRpxPerSeg=Math.max(0,Math.min(dxPx/2,dyPx/2));const rPx=Math.max(0,Math.min(stepCornerRadiusPx,maxRpxPerSeg));if(rPx<=0){// No radius: sharp step\nseg+=` L ${midX},${prevY} L ${midX},${currY} L ${currX},${currY}`;}else{// Convert pixel radius back to viewBox units per axis, with tiny epsilon to keep arc valid\nconst rx=Math.max(rPx/sx,1e-4);const ry=Math.max(rPx/sy,1e-4);const goingDown=currY>prevY;// First arc follows interior turn (x -> y): down=clockwise(1), up=counter-clockwise(0)\nconst sweepFirst=goingDown?1:0;// Second arc follows interior turn (y -> x): down=counter-clockwise(0), up=clockwise(1)\nconst sweepSecond=goingDown?0:1;// First corner (horizontal -> vertical)\nconst x1=midX-rx;seg+=` L ${x1},${prevY}`;const yArc1End=goingDown?prevY+ry:prevY-ry;seg+=` A ${rx},${ry} 0 0 ${sweepFirst} ${midX},${yArc1End}`;// Vertical leg trimmed by both corners\nconst y2=goingDown?currY-ry:currY+ry;seg+=` L ${midX},${y2}`;// Second corner (vertical -> horizontal)\nconst xArc2End=midX+rx;seg+=` A ${rx},${ry} 0 0 ${sweepSecond} ${xArc2End},${currY}`;// Final horizontal to segment end\nseg+=` L ${currX},${currY}`;}}return seg;},[roundness,svgPx.w,svgPx.h,stepCornerRadiusPx]);const buildStepSegments=React.useCallback(pts=>{if(pts.length<=1)return\"\";let seg=\"\";for(let i=1;i<pts.length;i++){const prev=pts[i-1];const curr=pts[i];seg+=buildSingleStepSegment(prev.x,prev.y,curr.x,curr.y,false);}return seg;},[buildSingleStepSegment]);const computeCubicControls=React.useCallback((pts,i)=>{const n=pts.length;const p0=i>0?pts[i-1]:pts[i];const p1=pts[i];const p2=pts[i+1];const p3=i+2<n?pts[i+2]:pts[i+1];if(curveType===\"basis\"){const tension=Math.max(0,roundness)*.3;const c1x=p1.x+(p2.x-p0.x)*tension;const c1y=p1.y+(p2.y-p0.y)*tension;const c2x=p2.x-(p3.x-p1.x)*tension;const c2y=p2.y-(p3.y-p1.y)*tension;return{c1x,c1y,c2x,c2y};}else{const alpha=.5;const pow=d=>Math.pow(Math.max(d,0),alpha);const dist=(a,b)=>Math.hypot(b.x-a.x,b.y-a.y);const t0=0;const t1=t0+pow(dist(p0,p1));const t2=t1+pow(dist(p1,p2));const t3=t2+pow(dist(p2,p3));const tScale=Math.max(0,roundness);const m1x=(p2.x-p0.x)/Math.max(1e-4,t2-t0)*(t1-t0)*tScale;const m1y=(p2.y-p0.y)/Math.max(1e-4,t2-t0)*(t1-t0)*tScale;const m2x=(p3.x-p1.x)/Math.max(1e-4,t3-t1)*(t2-t1)*tScale;const m2y=(p3.y-p1.y)/Math.max(1e-4,t3-t1)*(t2-t1)*tScale;const c1x=p1.x+m1x/3;const c1y=p1.y+m1y/3;const c2x=p2.x-m2x/3;const c2y=p2.y-m2y/3;return{c1x,c1y,c2x,c2y};}},[curveType,roundness]);// Build only the chained cubic segments for a smooth curve (no initial 'M')\nconst buildSmoothCubicSegments=React.useCallback(pts=>{const n=pts.length;if(n<=1)return\"\";let d=\"\";for(let i=0;i<n-1;i++){const p2=pts[i+1];const{c1x,c1y,c2x,c2y}=computeCubicControls(pts,i);d+=` C ${c1x},${c1y} ${c2x},${c2y} ${p2.x},${p2.y}`;}return d;},[computeCubicControls]);// Build basis segments (no initial 'M') - Natural cubic spline style\nconst buildBasisSegments=React.useCallback(pts=>{const n=pts.length;if(n<=1)return\"\";if(n===2)return` L ${pts[1].x},${pts[1].y}`;let d=\"\";if(n===3){const cp=pts[1];d+=` Q ${cp.x},${cp.y} ${pts[2].x},${pts[2].y}`;return d;}for(let i=0;i<n-1;i++){const p2=pts[i+1];const{c1x,c1y,c2x,c2y}=computeCubicControls(pts,i);d+=` C ${c1x},${c1y} ${c2x},${c2y} ${p2.x},${p2.y}`;}return d;},[computeCubicControls]);const buildCurveSegments=React.useCallback(pts=>{if(curveType===\"basis\"){return buildBasisSegments(pts);}else{return buildSmoothCubicSegments(pts);}},[curveType,buildSmoothCubicSegments,buildBasisSegments]);const usesSmoothCurves=React.useMemo(()=>{// Step mode doesn't use curves\nif(isStepMode)return false;return roundness>0;},[isStepMode,roundness]);const buildPath=React.useCallback(pts=>{const n=pts.length;if(n===0)return\"\";if(n===1)return`M ${pts[0].x},${pts[0].y}`;if(isStepMode){const seg=buildStepSegments(pts);return`M ${pts[0].x},${pts[0].y}${seg}`;}if(roundness<=0){return buildPathLinear(pts);}const seg=buildCurveSegments(pts);return`M ${pts[0].x},${pts[0].y}${seg}`;},[roundness,isStepMode,buildPathLinear,buildCurveSegments,buildStepSegments]);const computeSegmentLength=React.useCallback((pts,startIdx)=>{if(startIdx>=pts.length-1)return 0;const p1=pts[startIdx];const p2=pts[startIdx+1];const sx=Math.max(1e-4,svgPx.w)/100;const sy=Math.max(1e-4,svgPx.h)/100;if(isStepMode){const dxPx=Math.abs(p2.x-p1.x)*sx;const dyPx=Math.abs(p2.y-p1.y)*sy;const rPx=Math.max(0,Math.min(stepCornerRadiusPx,Math.min(dxPx/2,dyPx/2)));if(rPx>0){// Two quarter-circles replace straight corners\n// Length(px) = dx + dy + (pi - 4) * r\nreturn dxPx+dyPx+(Math.PI-4)*rPx;}return dxPx+dyPx;}if(roundness<=0){const dx=(p2.x-p1.x)*sx;const dy=(p2.y-p1.y)*sy;return Math.hypot(dx,dy);}const p0=startIdx>0?pts[startIdx-1]:pts[startIdx];const p3=startIdx+2<pts.length?pts[startIdx+2]:pts[startIdx+1];const{c1x,c1y,c2x,c2y}=computeCubicControls(pts,startIdx);let length=0;const samples=8;let prevX=p1.x*sx;let prevY=p1.y*sy;for(let k=1;k<=samples;k++){const u=k/samples;const one=1-u;const x=one*one*one*p1.x+3*one*one*u*c1x+3*one*u*u*c2x+u*u*u*p2.x;const y=one*one*one*p1.y+3*one*one*u*c1y+3*one*u*u*c2y+u*u*u*p2.y;const xs=x*sx;const ys=y*sy;const dx=xs-prevX;const dy=ys-prevY;length+=Math.hypot(dx,dy);prevX=xs;prevY=ys;}return length;},[isStepMode,roundness,computeCubicControls,svgPx.w,svgPx.h]);const needSegments=shEnabled&&effPointRadius>0;const paths=React.useMemo(()=>{const pts=v1Values.map((_,i)=>{const t=(useMotion?tValues[i]:targetTVals[i])??0;const y=100-lerp(padPct.y,100-padPct.y,t);return{x:idxToPosForMode(i),y};});const d=buildPath(pts);let segments=[];let accLen=0;const needTotalLen=effectiveDrawLine&&useMotion||dotGap>=.5||needSegments;for(let i=0;i<pts.length-1;i++){let len=0;if(needTotalLen){len=computeSegmentLength(pts,i);accLen+=len;}if(needSegments){const p0=i>0?pts[i-1]:pts[i];const p1=pts[i];const p2=pts[i+1];const p3=i+2<pts.length?pts[i+2]:pts[i+1];let segD=``;if(isStepMode){segD=buildSingleStepSegment(p1.x,p1.y,p2.x,p2.y,true);}else if(roundness<=0){segD=`M ${p1.x},${p1.y} L ${p2.x},${p2.y}`;}else{const{c1x,c1y,c2x,c2y}=computeCubicControls(pts,i);segD=`M ${p1.x},${p1.y} C ${c1x},${c1y} ${c2x},${c2y} ${p2.x},${p2.y}`;}segments.push({d:segD,length:len,idx:i,start:accLen-len});}}return[{d,pts,segments,totalLenPx:accLen}];},[needSegments,v1Values,idxToPosForMode,buildPath,buildSingleStepSegment,padPct.y,lerp,tValues,targetTVals,useMotion,computeSegmentLength,computeCubicControls,isStepMode,roundness,effectiveDrawLine,dotGap]);const isDotted=dotGap>=.5;const showStroke=effStrokeWidth>0;const[hoverPos,setHoverPos]=React.useState({x:0,y:0,v:false});const lastPointIdxRef=React.useRef(null);const hoverRafId=React.useRef(null);const pendingMouseEvent=React.useRef(null);const pushHoverOutputs=React.useCallback((xPct,yPct,visible)=>{if(n===0){hoverValue?.set(null);hoverIndex?.set(null);hoverLabel?.set(null);hoverRawValue?.set(null);onHoverValueChange?.(null,null);return;}if(!visible){hoverValue?.set(null);hoverIndex?.set(null);hoverLabel?.set(null);hoverRawValue?.set(null);onHoverValueChange?.(null,null);return;}const t=(100-yPct-padPct.y)/Math.max(1e-4,100-2*padPct.y);const tClamped=Math.max(0,Math.min(1,t));const value=tClamped*100;const baseIdxPad=padPct.xStart;const idxDenom=Math.max(1e-4,100-padPct.xStart-padPct.xEnd);const indexAxisPos=xPct;const idx=effRenderMode===\"bar\"?Math.floor((indexAxisPos-baseIdxPad)/idxDenom*n):Math.round((indexAxisPos-baseIdxPad)/idxDenom*Math.max(1,n-1));const idxClamped=Math.max(0,Math.min(n-1,idx));hoverValue?.set(value);hoverIndex?.set(idxClamped);const label=labels&&labels[idxClamped]?labels[idxClamped]:null;hoverLabel?.set(label);let raw=null;if(cursorMode===\"continuous\"){if(effValueScale===\"percent\"){raw=value;}else{const denomRaw=Math.max(1e-6,scaleMax-scaleMin);const rv=scaleMin+tClamped*denomRaw;raw=Number.isFinite(rv)?rv:null;}}else{const baseRaw=v1Values[idxClamped];raw=Number.isFinite(baseRaw)?baseRaw:null;}hoverRawValue?.set(raw);onHoverValueChange?.(value,idxClamped);},[hoverValue,hoverIndex,hoverLabel,hoverRawValue,onHoverValueChange,n,padPct.xStart,padPct.xEnd,padPct.y,labels,v1Values,effRenderMode,cursorMode,effValueScale,scaleMin,scaleMax]);const currentPts=React.useMemo(()=>{return v1Values.map((_,i)=>{const t=(useMotion?tValues[i]:targetTVals[i])??0;const y=100-lerp(padPct.y,100-padPct.y,t);return{x:idxToPosForMode(i),y};});},[v1Values,tValues,targetTVals,useMotion,idxToPosForMode,padPct.y]);const endpointPosition=React.useMemo(()=>{if(!(effectiveDrawLine&&useMotion)||currentPts.length<2)return null;if(paths.length===0||!paths[0])return null;const totalLen=paths[0].totalLenPx;if(totalLen<=0)return null;const targetLen=drawProgress*totalLen;let accLen=0;for(let i=0;i<currentPts.length-1;i++){const segLen=computeSegmentLength(currentPts,i);if(accLen+segLen>=targetLen){const segProgress=segLen>0?(targetLen-accLen)/segLen:0;const p0=i>0?currentPts[i-1]:currentPts[i];const p1=currentPts[i];const p2=currentPts[i+1];const p3=i+2<currentPts.length?currentPts[i+2]:currentPts[i+1];if(isStepMode){const midX=(p1.x+p2.x)/2;const totalStepLen=Math.abs(midX-p1.x)+Math.abs(p2.y-p1.y)+Math.abs(p2.x-midX);const targetStepLen=segProgress*totalStepLen;const firstSegLen=Math.abs(midX-p1.x);const secondSegLen=Math.abs(p2.y-p1.y);if(targetStepLen<=firstSegLen){const t=firstSegLen>0?targetStepLen/firstSegLen:0;return{x:p1.x+(midX-p1.x)*t,y:p1.y};}else if(targetStepLen<=firstSegLen+secondSegLen){const t=secondSegLen>0?(targetStepLen-firstSegLen)/secondSegLen:0;return{x:midX,y:p1.y+(p2.y-p1.y)*t};}else{const t=totalStepLen-firstSegLen-secondSegLen>0?(targetStepLen-firstSegLen-secondSegLen)/(totalStepLen-firstSegLen-secondSegLen):0;return{x:midX+(p2.x-midX)*t,y:p2.y};}}else if(roundness<=0){return{x:p1.x+(p2.x-p1.x)*segProgress,y:p1.y+(p2.y-p1.y)*segProgress};}else{const alpha=.5;const pow=d=>Math.pow(Math.max(d,0),alpha);const dist=(a,b)=>Math.hypot(b.x-a.x,b.y-a.y);const t0=0;const t1=t0+pow(dist(p0,p1));const t2=t1+pow(dist(p1,p2));const t3=t2+pow(dist(p2,p3));const tScale=Math.max(0,roundness);const m1x=(p2.x-p0.x)/Math.max(1e-4,t2-t0)*(t1-t0)*tScale;const m1y=(p2.y-p0.y)/Math.max(1e-4,t2-t0)*(t1-t0)*tScale;const m2x=(p3.x-p1.x)/Math.max(1e-4,t3-t1)*(t2-t1)*tScale;const m2y=(p3.y-p1.y)/Math.max(1e-4,t3-t1)*(t2-t1)*tScale;const c1x=p1.x+m1x/3;const c1y=p1.y+m1y/3;const c2x=p2.x-m2x/3;const c2y=p2.y-m2y/3;const u=segProgress;const one=1-u;const x=one*one*one*p1.x+3*one*one*u*c1x+3*one*u*u*c2x+u*u*u*p2.x;const y=one*one*one*p1.y+3*one*one*u*c1y+3*one*u*u*c2y+u*u*u*p2.y;return{x,y};}}accLen+=segLen;}return currentPts[currentPts.length-1]||null;},[drawProgress,currentPts,paths,computeSegmentLength,isStepMode,roundness,effectiveDrawLine,useMotion]);const pointsPath=React.useMemo(()=>{if(effPointRadius<=0)return\"\";pointsPathFrameCounterRef.current++;if(useMotion&&drawProgress<1&&pointsPathFrameCounterRef.current%2===1&&lastPointsPathRef.current){return lastPointsPathRef.current;}const rxBase=Math.max(0,effPointRadius);const ryBase=Math.max(1e-4,effPointRadius*(aspectRatio||1));const parts=[];const cornersIn=parseBorderRadiusCorners(pointStyle?.borderRadius,svgPx?.w);let maxVisiblePointIndex=v1Values.length-1;if(effectiveDrawLine&&useMotion&&paths.length>0&&paths[0]){const totalLen=paths[0].totalLenPx;if(totalLen>0&&drawProgress<1){const targetLen=drawProgress*totalLen;let accLen=0;for(let i=0;i<currentPts.length-1;i++){const segLen=computeSegmentLength(currentPts,i);if(accLen+segLen>=targetLen){maxVisiblePointIndex=i;break;}accLen+=segLen;}}}for(let i=0;i<v1Values.length;i++){if(!shouldShowPoint(i,v1Values.length))continue;if(effectiveDrawLine&&useMotion&&drawProgress<1&&i>maxVisiblePointIndex){continue;}const t=(useMotion?tValues[i]:targetTVals[i])??0;const cx=idxToPosForMode(i);const cy=100-lerp(padPct.y,100-padPct.y,t);if(!cornersIn){parts.push(`M ${cx+rxBase},${cy} `+`A ${rxBase},${ryBase} 0 0,1 ${cx-rxBase},${cy} `+`A ${rxBase},${ryBase} 0 0,1 ${cx+rxBase},${cy} Z`);}else{const x=cx-rxBase;const y=cy-ryBase;const w=rxBase*2;const h=ryBase*2;const rxCap=Math.max(0,w/2);const ryCap=Math.max(0,h/2);let tlrx=Math.min(Math.max(cornersIn.tl,0),rxCap);let trrx=Math.min(Math.max(cornersIn.tr,0),rxCap);let brrx=Math.min(Math.max(cornersIn.br,0),rxCap);let blrx=Math.min(Math.max(cornersIn.bl,0),rxCap);const topSum=tlrx+trrx;if(topSum>w&&topSum>0){const f=w/topSum;tlrx*=f;trrx*=f;}const botSum=blrx+brrx;if(botSum>w&&botSum>0){const f=w/botSum;blrx*=f;brrx*=f;}let tlry=Math.min(tlrx*(aspectRatio||1),ryCap);let trry=Math.min(trrx*(aspectRatio||1),ryCap);let brry=Math.min(brrx*(aspectRatio||1),ryCap);let blry=Math.min(blrx*(aspectRatio||1),ryCap);const leftSum=tlry+blry;if(leftSum>h&&leftSum>0){const f=h/leftSum;tlry*=f;blry*=f;}const rightSum=trry+brry;if(rightSum>h&&rightSum>0){const f=h/rightSum;trry*=f;brry*=f;}parts.push([`M ${x+tlrx} ${y}`,`H ${x+w-trrx}`,`A ${trrx} ${trry} 0 0 1 ${x+w} ${y+trry}`,`V ${y+h-brry}`,`A ${brrx} ${brry} 0 0 1 ${x+w-brrx} ${y+h}`,`H ${x+blrx}`,`A ${blrx} ${blry} 0 0 1 ${x} ${y+h-blry}`,`V ${y+tlry}`,`A ${tlrx} ${tlry} 0 0 1 ${x+tlrx} ${y}`,\"Z\"].join(\" \"));}}const newPath=parts.join(\" \");lastPointsPathRef.current=newPath;return newPath;},[effPointRadius,aspectRatio,v1Values.length,shouldShowPoint,useMotion,tValues,targetTVals,idxToPosForMode,padPct.y,pointStyle?.borderRadius,svgPx.w,effectiveDrawLine,drawProgress,paths,currentPts,computeSegmentLength]);const getEventCoords=e=>{if(\"touches\"in e&&e.touches.length>0){return{clientX:e.touches[0].clientX,clientY:e.touches[0].clientY};}return{clientX:e.clientX,clientY:e.clientY};};const handleMouseMoveImpl=React.useCallback(e=>{const el=svgRef.current;if(!el||n===0)return;const rect=el.getBoundingClientRect();const{clientX}=getEventCoords(e);const rx=Math.max(0,Math.min(1,(clientX-rect.left)/Math.max(1,rect.width)));const xPct=rx*100;if(cursorMode===\"pointsOnly\"){const baseIdxPad=padPct.xStart;const idxDenom=Math.max(1e-4,100-padPct.xStart-padPct.xEnd);const indexAxisPos=xPct;const tIndex=effRenderMode===\"bar\"?(indexAxisPos-baseIdxPad)/idxDenom*n:(indexAxisPos-baseIdxPad)/idxDenom*Math.max(1,n-1);const idxUnclamped=effRenderMode===\"bar\"?Math.floor(tIndex):Math.round(tIndex);const idx=Math.max(0,Math.min(n-1,idxUnclamped));const p=currentPts[idx];if(p){setHoverPos({x:p.x,y:p.y,v:true});pushHoverOutputs(p.x,p.y,true);if(lastPointIdxRef.current!==idx){lastPointIdxRef.current=idx;const label=labels&&labels[idx]?labels[idx]:null;const raw=v1Values[idx];const t=(100-p.y-padPct.y)/Math.max(1e-4,100-2*padPct.y);const value=Math.max(0,Math.min(100,t*100));onPointChange?.(idx,value,label,Number.isFinite(raw)?raw:null);}}return;}const tIndex=xPct/100*Math.max(1,n-1);const i=Math.floor(tIndex);const i0=Math.max(0,Math.min(n-1,i));const i1=Math.max(0,Math.min(n-1,i+1));const p0=currentPts[Math.max(0,i0-1)]??currentPts[i0];const p1=currentPts[i0];const p2=currentPts[i1];const p3=currentPts[Math.min(n-1,i1+1)]??currentPts[i1];if(!p1||!p2){setHoverPos({x:xPct,y:p1?.y??50,v:true});return;}if(roundness<=0){const f=Math.min(1,Math.max(0,(xPct-p1.x)/Math.max(1e-4,p2.x-p1.x)));const y=lerp(p1.y,p2.y,f);setHoverPos({x:xPct,y,v:true});pushHoverOutputs(xPct,y,true);return;}const alpha=.5;const pow=d=>Math.pow(Math.max(d,0),alpha);const dist=(a,b)=>Math.hypot(b.x-a.x,b.y-a.y);const t0_=0;const t1_=t0_+pow(dist(p0,p1));const t2_=t1_+pow(dist(p1,p2));const t3_=t2_+pow(dist(p2,p3));const tScale=Math.max(0,roundness);const m1x=(p2.x-p0.x)/Math.max(1e-4,t2_-t0_)*(t1_-t0_)*tScale;const m1y=(p2.y-p0.y)/Math.max(1e-4,t2_-t0_)*(t1_-t0_)*tScale;const m2x=(p3.x-p1.x)/Math.max(1e-4,t3_-t1_)*(t2_-t1_)*tScale;const m2y=(p3.y-p1.y)/Math.max(1e-4,t3_-t1_)*(t2_-t1_)*tScale;const c1x=p1.x+m1x/3;const c1y=p1.y+m1y/3;const c2x=p2.x-m2x/3;const c2y=p2.y-m2y/3;const bx=u=>{const one=1-u;return one*one*one*p1.x+3*one*one*u*c1x+3*one*u*u*c2x+u*u*u*p2.x;};const by=u=>{const one=1-u;return one*one*one*p1.y+3*one*one*u*c1y+3*one*u*u*c2y+u*u*u*p2.y;};const xMin=Math.min(p1.x,p2.x);const xMax=Math.max(p1.x,p2.x);const xTarget=Math.max(xMin,Math.min(xMax,xPct));let lo=0;let hi=1;let u=(xTarget-p1.x)/Math.max(1e-4,p2.x-p1.x);u=Math.max(0,Math.min(1,u));const dx=u=>{const a=-3*p1.x+9*c1x-9*c2x+3*p2.x;const b=6*p1.x-12*c1x+6*c2x;const c=-3*p1.x+3*c1x;return a*u*u+b*u+c;};for(let k=0;k<6;k++){const fx=bx(u)-xTarget;const d=dx(u);if(Math.abs(d)<1e-5)break;const next=u-fx/d;if(!Number.isFinite(next))break;u=Math.max(0,Math.min(1,next));}for(let k=0;k<8;k++){const xm=bx(u);if(Math.abs(xm-xTarget)<.001)break;if(xm<xTarget)lo=u;else hi=u;u=(lo+hi)/2;}const y=by(u);setHoverPos({x:xPct,y,v:true});pushHoverOutputs(xPct,y,true);},[currentPts,lerp,n,roundness,pushHoverOutputs,cursorMode,padPct.xStart,padPct.xEnd,padPct.y,labels,v1Values,onPointChange,effRenderMode]);const handleMouseMove=React.useCallback(e=>{pendingMouseEvent.current=e;if(hoverRafId.current===null){hoverRafId.current=requestAnimationFrame(()=>{hoverRafId.current=null;if(pendingMouseEvent.current){handleMouseMoveImpl(pendingMouseEvent.current);pendingMouseEvent.current=null;}});}},[handleMouseMoveImpl]);const handleMouseLeave=React.useCallback(()=>{if(hoverRafId.current!==null){cancelAnimationFrame(hoverRafId.current);hoverRafId.current=null;}pendingMouseEvent.current=null;setHoverPos(prev=>({...prev,v:false}));lastPointIdxRef.current=null;hoverValue?.set(null);hoverIndex?.set(null);hoverLabel?.set(null);hoverRawValue?.set(null);onHoverValueChange?.(null,null);},[hoverValue,hoverIndex,hoverLabel,hoverRawValue,onHoverValueChange]);const handleTouchMove=React.useCallback(e=>{pendingMouseEvent.current=e;if(hoverRafId.current===null){hoverRafId.current=requestAnimationFrame(()=>{hoverRafId.current=null;if(pendingMouseEvent.current){handleMouseMoveImpl(pendingMouseEvent.current);pendingMouseEvent.current=null;}});}},[handleMouseMoveImpl]);const handleTouchEnd=React.useCallback(()=>{handleMouseLeave();},[handleMouseLeave]);React.useEffect(()=>{return()=>{if(hoverRafId.current!==null){cancelAnimationFrame(hoverRafId.current);}};},[]);const resolveFontSettings=React.useCallback(font=>{if(!font)return{};if(typeof font===\"string\")return{fontFamily:font};const resolved={};if(font.font&&font.font.length>0)resolved.fontFamily=font.font;else if(font.family&&font.family.length>0)resolved.fontFamily=font.family;else if(font.fontFamily&&`${font.fontFamily}`.length>0)resolved.fontFamily=font.fontFamily;if(font.style&&font.style.length>0)resolved.fontStyle=font.style;else if(font.fontStyle&&`${font.fontStyle}`.length>0)resolved.fontStyle=font.fontStyle;if(font.weight!=null&&`${font.weight}`.length>0)resolved.fontWeight=font.weight;else if(font.fontWeight!=null&&`${font.fontWeight}`.length>0)resolved.fontWeight=font.fontWeight;else if(font.variant){const v=String(font.variant).toLowerCase();const map={thin:100,extralight:200,ultralight:200,light:300,regular:400,normal:400,book:400,medium:500,semibold:600,demibold:600,bold:700,extrabold:800,ultrabold:800,black:900};if(map[v])resolved.fontWeight=map[v];}// Extract fontSize from Font control\nif(font.fontSize!=null){const fs=font.fontSize;if(typeof fs===\"number\"){resolved.fontSize=fs;}else if(typeof fs===\"string\"){const parsed=parseFloat(fs);if(!isNaN(parsed))resolved.fontSize=parsed;}}// Extract letterSpacing\nif(font.letterSpacing!=null){const ls=font.letterSpacing;if(typeof ls===\"number\")resolved.letterSpacing=ls;else if(typeof ls===\"string\")resolved.letterSpacing=ls;}// Extract textAlign\nif(font.textAlign){const ta=String(font.textAlign).toLowerCase();if(ta===\"left\"||ta===\"center\"||ta===\"right\")resolved.textAlign=ta;}return resolved;},[]);const mergedAxesSettings=React.useMemo(()=>{const base=axesSettings??{};return{show:base.show,color:base.color??base.line?.color,thickness:base.thickness??base.line?.thickness,tickColor:base.tickColor??base.ticks?.tickColor??base.color??base.line?.color,tickLength:base.tickLength??base.ticks?.tickLength??base.line?.tickLength,tickCount:base.tickCount??base.line?.tickCount,labelColor:base.labelColor??base.labels?.labelColor,labelSize:base.labelSize??base.labels?.labelSize,labelOffset:base.labelOffset??base.labels?.labelOffset,labelFont:base.labelFont??base.labels?.labelFont,gridLines:base.gridLines??base.grid?.gridLines,gridColor:base.gridColor??base.grid?.gridColor};},[axesSettings]);const resolvedAxesFont=resolveFontSettings(mergedAxesSettings.labelFont);const resolvedXAxisFontSettings=(()=>{const specific=resolveFontSettings(xAxis?.labelFont);return{fontFamily:specific.fontFamily??resolvedAxesFont.fontFamily??\"system-ui, -apple-system, sans-serif\",fontStyle:specific.fontStyle??resolvedAxesFont.fontStyle,fontWeight:specific.fontWeight??resolvedAxesFont.fontWeight,fontSize:specific.fontSize??resolvedAxesFont.fontSize,letterSpacing:specific.letterSpacing??resolvedAxesFont.letterSpacing,textAlign:specific.textAlign??resolvedAxesFont.textAlign};})();const resolvedYAxisFontSettings=(()=>{const specific=resolveFontSettings(yAxis?.labelFont);return{fontFamily:specific.fontFamily??resolvedAxesFont.fontFamily??\"system-ui, -apple-system, sans-serif\",fontStyle:specific.fontStyle??resolvedAxesFont.fontStyle,fontWeight:specific.fontWeight??resolvedAxesFont.fontWeight,fontSize:specific.fontSize??resolvedAxesFont.fontSize,letterSpacing:specific.letterSpacing??resolvedAxesFont.letterSpacing,textAlign:specific.textAlign??resolvedAxesFont.textAlign};})();const xAxisColor=xAxis?.color??mergedAxesSettings.color??\"none\";const xTickColor=(()=>{const explicit=xAxis?.tickColor??mergedAxesSettings.tickColor;if(explicit!=null)return explicit;return xAxisColor===\"none\"?\"none\":xAxis?.color??mergedAxesSettings.color??\"#666\";})();const xAxisConfig={show:(mergedAxesSettings.show??true)&&(xAxis?.show??true),color:xAxisColor,thickness:toNum(xAxis?.thickness??mergedAxesSettings.thickness,1),tickColor:xTickColor,tickLength:toNum(xAxis?.tickLength??mergedAxesSettings.tickLength,6),tickCount:(()=>{const g=toNum(mergedAxesSettings.tickCount,0);const globalTick=g>0?g:undefined;const fallback=Math.min(labels.length,10);const val=xAxis?.tickCount??globalTick??fallback;const n=toNum(val,fallback);return Math.max(1,Math.round(n));})(),labelColor:xAxis?.labelColor??mergedAxesSettings.labelColor??\"#666\",labelSize:toNum(xAxis?.labelSize??mergedAxesSettings.labelSize??resolvedXAxisFontSettings.fontSize,12),labelOffset:toNum(xAxis?.labelOffset??mergedAxesSettings.labelOffset,10),labelFont:resolvedXAxisFontSettings.fontFamily,labelFontStyle:resolvedXAxisFontSettings.fontStyle,labelFontWeight:resolvedXAxisFontSettings.fontWeight,labelLetterSpacing:resolvedXAxisFontSettings.letterSpacing,labelTextAnchor:\"middle\",gridLines:(()=>{const gridX=axesSettings?.grid&&typeof axesSettings.grid.gridX===\"boolean\"?axesSettings.grid.gridX:undefined;if(typeof xAxis?.gridLines===\"boolean\")return xAxis.gridLines;if(gridX!==undefined)return gridX;return mergedAxesSettings.gridLines??false;})(),gridColor:xAxis?.gridColor??mergedAxesSettings.gridColor??\"#e0e0e0\"};const yAxisColor=yAxis?.color??mergedAxesSettings.color??\"none\";const yTickColor=(()=>{const explicit=yAxis?.tickColor??mergedAxesSettings.tickColor;if(explicit!=null)return explicit;return yAxisColor===\"none\"?\"none\":yAxis?.color??mergedAxesSettings.color??\"#666\";})();const yAxisConfig={show:(mergedAxesSettings.show??true)&&(yAxis?.show??true),color:yAxisColor,thickness:toNum(yAxis?.thickness??mergedAxesSettings.thickness,1),tickColor:yTickColor,tickLength:toNum(yAxis?.tickLength??mergedAxesSettings.tickLength,6),tickCount:(()=>{const g=toNum(mergedAxesSettings.tickCount,0);const globalTick=g>0?g:undefined;const fallback=5;const val=yAxis?.tickCount??globalTick??fallback;const n=toNum(val,fallback);return Math.max(1,Math.round(n));})(),labelColor:yAxis?.labelColor??mergedAxesSettings.labelColor??\"#666\",labelSize:toNum(yAxis?.labelSize??mergedAxesSettings.labelSize??resolvedYAxisFontSettings.fontSize,12),labelOffset:toNum(yAxis?.labelOffset??mergedAxesSettings.labelOffset,10),labelFont:resolvedYAxisFontSettings.fontFamily,labelFontStyle:resolvedYAxisFontSettings.fontStyle,labelFontWeight:resolvedYAxisFontSettings.fontWeight,labelLetterSpacing:resolvedYAxisFontSettings.letterSpacing,labelTextAnchor:(()=>{const a=resolvedYAxisFontSettings.textAlign;if(a===\"left\")return\"start\";if(a===\"right\")return\"end\";if(a===\"center\")return\"middle\";return\"end\";})(),gridLines:(()=>{const gridY=axesSettings?.grid&&typeof axesSettings.grid.gridY===\"boolean\"?axesSettings.grid.gridY:undefined;if(typeof yAxis?.gridLines===\"boolean\")return yAxis.gridLines;if(gridY!==undefined)return gridY;return mergedAxesSettings.gridLines??true;})(),gridColor:yAxis?.gridColor??mergedAxesSettings.gridColor??\"#e0e0e0\"};const gridXDotGapRaw=axesSettings?.grid&&typeof axesSettings.grid.gridXDotGap===\"number\"?axesSettings.grid.gridXDotGap:undefined;const gridYDotGapRaw=axesSettings?.grid&&typeof axesSettings.grid.gridYDotGap===\"number\"?axesSettings.grid.gridYDotGap:undefined;const xGridDotted=(gridXDotGapRaw??0)>0;const yGridDotted=(gridYDotGapRaw??0)>0;const gridDashGapValueX=gridXDotGapRaw!==undefined?Math.max(5,Math.max(0,gridXDotGapRaw)*10):0;const gridDashGapValueY=gridYDotGapRaw!==undefined?Math.max(5,Math.max(0,gridYDotGapRaw)*10):0;const gridDashGapX=React.useMemo(()=>svgPx.h>0?gridDashGapValueX/Math.max(1e-4,svgPx.h)*100:gridDashGapValueX,[gridDashGapValueX,svgPx.h]);const gridDashGapY=React.useMemo(()=>svgPx.w>0?gridDashGapValueY/Math.max(1e-4,svgPx.w)*100:gridDashGapValueY,[gridDashGapValueY,svgPx.w]);const[containerPx,setContainerPx]=React.useState({w:0,h:0});React.useLayoutEffect(()=>{const el=containerRef.current;if(!el)return;let rafId=null;const compute=()=>{const rect=el.getBoundingClientRect();const w=el.offsetWidth||rect.width;const h=el.offsetHeight||rect.height;setContainerPx({w,h});rafId=null;};const throttled=()=>{if(rafId==null)rafId=requestAnimationFrame(compute);};compute();const RO=window.ResizeObserver;const ro=RO?new RO(throttled):null;if(ro)ro.observe(el);window.addEventListener(\"resize\",throttled);return()=>{if(ro)ro.disconnect();if(rafId!==null)cancelAnimationFrame(rafId);window.removeEventListener(\"resize\",throttled);};},[]);const actualWidth=toNum(containerPx.w>0?containerPx.w:width??600,600);const actualHeight=toNum(containerPx.h>0?containerPx.h:height??300,300);const chartPadding=15;// Determine which axes to show based on visibleAxis prop\nconst resolvedVisibleAxis=axesSettings?.line?.visibleAxis??axesSettings?.visibleAxis??visibleAxis;const shouldShowYAxis=resolvedVisibleAxis===\"both\"||resolvedVisibleAxis===\"y\";const shouldShowXAxis=resolvedVisibleAxis===\"both\"||resolvedVisibleAxis===\"x\";// Spacing should reflect effective visibility (visibleAxis)\nconst anyAxisShown=shouldShowXAxis||shouldShowYAxis;// Estimate Y label width based on value range and label font size to avoid excessive padding\nconst yLabelCharCount=(()=>{if(effValueScale===\"percent\")return 3// 0..100\n;const maxAbs=Math.max(Math.abs(scaleMin),Math.abs(scaleMax));const digits=Number.isFinite(maxAbs)&&maxAbs>0?Math.floor(Math.log10(Math.abs(maxAbs)))+1:1;const hasSign=scaleMin<0?1:0;return digits+hasSign;})();const approxCharWidth=.6// px multiplier per font size unit\n;const yLetterSpacingPx=(()=>{const v=yAxisConfig.labelLetterSpacing;const fs=yAxisConfig.labelSize||12;if(typeof v===\"number\")return v;if(typeof v===\"string\"){const s=v.trim().toLowerCase();if(s.endsWith(\"em\")){const n=parseFloat(s.slice(0,-2));return isNaN(n)?0:n*fs;}if(s.endsWith(\"px\")){const n=parseFloat(s.slice(0,-2));return isNaN(n)?0:n;}const n=parseFloat(s);return isNaN(n)?0:n;}return 0;})();const yLabelWidthPx=Math.ceil((yAxisConfig.labelSize||12)*approxCharWidth*yLabelCharCount+Math.max(0,yLabelCharCount-1)*yLetterSpacingPx);const yAxisSpacing=shouldShowYAxis?toNum(yAxisConfig.tickLength+yAxisConfig.labelOffset+yLabelWidthPx+4,0):0;const xAxisSpacing=shouldShowXAxis?toNum(xAxisConfig.tickLength+xAxisConfig.labelOffset+xAxisConfig.labelSize*1.5,0):0;const leftSpace=toNum(shouldShowYAxis?yAxisSpacing:anyAxisShown?chartPadding:0,0);const bottomSpace=toNum(shouldShowXAxis&&labels.length>0?xAxisSpacing:anyAxisShown?chartPadding:0,0);const rightSpace=toNum(anyAxisShown?chartPadding:0,0);const topSpace=toNum(anyAxisShown?chartPadding:0,0);const chartWidth=Math.max(1,toNum(actualWidth-leftSpace-rightSpace,1));const chartHeight=Math.max(1,toNum(actualHeight-topSpace-bottomSpace,1));const yTicks=React.useMemo(()=>{const out=[];const count=Math.max(1,yAxisConfig.tickCount);for(let i=0;i<=count;i++){const ratio=i/count;const value=effValueScale===\"percent\"?100*(1-ratio):scaleMin+(scaleMax-scaleMin)*(1-ratio);const y=toNum(topSpace+chartHeight*ratio,0);out.push({value,label:value.toFixed(0),y});}return out;},[yAxisConfig.tickCount,effValueScale,scaleMin,scaleMax,topSpace,chartHeight]);const xTicks=React.useMemo(()=>{const out=[];const L=labels.length;if(L>0){const tickCount=Math.max(2,xAxisConfig.tickCount??Math.min(L,10));const count=Math.min(tickCount,L);const step=L>1?(L-1)/Math.max(1,count-1):1;for(let i=0;i<count;i++){const index=Math.round(i*step);const ratio=L>1?index/(L-1):.5;const x=toNum(leftSpace+chartWidth*ratio,0);out.push({label:labels[index]||`${index}`,x,index});}}return out;},[labels,xAxisConfig.tickCount,leftSpace,chartWidth]);const svgW=\"100%\";const svgH=\"100%\";return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{position:\"relative\",touchAction:\"none\",width:isCanvas?\"100%\":typeof width===\"number\"?width:\"100%\",height:isCanvas?\"100%\":typeof height===\"number\"?height:\"100%\",...style},viewport:useInView?{amount:animationSettings?.inViewAmount??.5,once:animationSettings?.inViewOnce??true}:undefined,onMouseMove:handleMouseMove,onMouseLeave:handleMouseLeave,onTouchMove:handleTouchMove,onTouchEnd:handleTouchEnd,onViewportEnter:()=>{if(!useMotion)return;if(animationSettings?.inViewOnce??true){if(!hasPlayedRef.current){startAnimations();hasPlayedRef.current=true;}}else{startAnimations();}},onViewportLeave:()=>{if(!useMotion)return;if(!(animationSettings?.inViewOnce??true)){resetAnimations();}},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:leftSpace,top:topSpace,width:chartWidth,height:chartHeight},children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 100 100\",preserveAspectRatio:\"none\",width:svgW,height:svgH,ref:svgRef,style:{willChange:useMotion?\"transform, opacity\":\"auto\",transform:\"translateZ(0)\",backfaceVisibility:\"hidden\",contain:\"layout style paint\"},children:[(xAxisConfig.gridLines||yAxisConfig.gridLines)&&/*#__PURE__*/_jsxs(\"g\",{children:[yAxisConfig.gridLines&&yTicks.map((tick,i)=>{const yPos=chartHeight>0?(tick.y-topSpace)/Math.max(1,chartHeight)*100:0;// Clip lines at edges (0.5% inset)\nconst clippedY=Math.max(.5,Math.min(99.5,yPos));return /*#__PURE__*/_jsx(\"line\",{x1:0,y1:clippedY,x2:100,y2:clippedY,stroke:yAxisConfig.gridColor,strokeWidth:yAxisConfig.thickness,vectorEffect:\"non-scaling-stroke\",strokeDasharray:yGridDotted?`0 ${gridDashGapY}`:undefined,strokeLinecap:yGridDotted?\"round\":undefined},`yg-${i}`);}),xAxisConfig.gridLines&&xTicks.map((tick,i)=>i>0&&i<xTicks.length-1?/*#__PURE__*/_jsx(\"line\",{x1:chartWidth>0?(tick.x-leftSpace)/Math.max(1,chartWidth)*100:0,y1:0,x2:chartWidth>0?(tick.x-leftSpace)/Math.max(1,chartWidth)*100:0,y2:100,stroke:xAxisConfig.gridColor,strokeWidth:xAxisConfig.thickness,vectorEffect:\"non-scaling-stroke\",strokeDasharray:xGridDotted?`0 ${gridDashGapX}`:undefined,strokeLinecap:xGridDotted?\"round\":undefined},`xg-${i}`):null)]}),paths.map(({d,pts},levelIdx)=>{const stroke=strokeStops[0]||color||\"#8884d8\";const lowCount=pts.length<=4;// Build area path if requested (for renderMode 'area')\nlet dArea=\"\";if(effRenderMode===\"area\"&&effAreaEnabled&&pts.length>=2){const capExtension=strokeLineCap===\"round\"||strokeLineCap===\"square\"?effStrokeWidth/2*(svgPx.w>0?100/svgPx.w:0):0;const base=100;const first=pts[0];const last=pts[pts.length-1];const firstX=Math.max(0,first.x-capExtension);const lastX=Math.min(100,last.x+capExtension);let seg=\"\";if(isStepMode){seg=buildStepSegments(pts);}else if(usesSmoothCurves){seg=buildCurveSegments(pts);}else{seg=buildLinearSegments(pts);}dArea=`M 0,${base} L ${firstX},${base} L ${firstX},${first.y} L ${first.x},${first.y}${seg} L ${lastX},${last.y} L ${lastX},${base} L 0,${base} Z`;}let dConeFollow=\"\";if(effRenderMode===\"fan\"&&pts.length>=2){let srcPts=pts;let didDensify=false;const shouldDensify=pts.length<50;if(shouldDensify&&isStepMode&&pts.length>=2){const samplesPerSeg=4;const dense=[];for(let i=0;i<pts.length-1;i++){const p1=pts[i];const p2=pts[i+1];const midX=(p1.x+p2.x)/2;const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:p1.x+(midX-p1.x)*u,y:p1.y});}for(let k=1;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:midX,y:p1.y+(p2.y-p1.y)*u});}if(i===pts.length-2){for(let k=1;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:midX+(p2.x-midX)*u,y:p2.y});}}}if(dense.length>=2){srcPts=dense;didDensify=true;}}else if(shouldDensify&&usesSmoothCurves&&pts.length>=2){const samplesPerSeg=4;const dense=[];for(let i=0;i<pts.length-1;i++){const p1=pts[i];const p2=pts[i+1];const{c1x,c1y,c2x,c2y}=computeCubicControls(pts,i);const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg;k++){const u=k/samplesPerSeg;const one=1-u;const x=one*one*one*p1.x+3*one*one*u*c1x+3*one*u*u*c2x+u*u*u*p2.x;const y=one*one*one*p1.y+3*one*one*u*c1y+3*one*u*u*c2y+u*u*u*p2.y;dense.push({x,y});}}if(dense.length>=2){srcPts=dense;didDensify=true;}}else if(shouldDensify&&pts.length>=2){const samplesPerSeg=6;const dense=[];for(let i=0;i<pts.length-1;i++){const p1=pts[i];const p2=pts[i+1];const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg;k++){const u=k/samplesPerSeg;dense.push({x:p1.x+(p2.x-p1.x)*u,y:p1.y+(p2.y-p1.y)*u});}}if(dense.length>=2){srcPts=dense;didDensify=true;}}const denom=Math.max(1,srcPts.length-1);const e=Math.max(0,Math.min(1,fanStyle?.coneEase??.5));const startW=Math.max(0,(fanStyle?.startWidth??0)*2);const endW=Math.max(0,(fanStyle?.endWidth??fanStyle?.maxStrokeWidth??Math.max(6,strokeWidth*4))*2);const startAt=Math.max(0,Math.min(1,fanStyle?.startAt??0));const upper=[];const lower=[];let prevW=0;for(let i=0;i<srcPts.length;i++){const pPrev=srcPts[Math.max(0,i-1)];const pNext=srcPts[Math.min(srcPts.length-1,i+1)];const curr=srcPts[i];const sx=Math.max(1e-6,svgPx.w/100);const sy=Math.max(1e-6,svgPx.h/100);let txPx;let tyPx;if(isStepMode){const dxPrev=(curr.x-pPrev.x)*sx;const dyPrev=(curr.y-pPrev.y)*sy;const dxNext=(pNext.x-curr.x)*sx;const dyNext=(pNext.y-curr.y)*sy;const hMag=Math.max(Math.abs(dxPrev),Math.abs(dxNext));const vMag=Math.max(Math.abs(dyPrev),Math.abs(dyNext));if(hMag>=vMag){txPx=Math.sign(dxPrev!==0?dxPrev:dxNext)||1;tyPx=0;}else{txPx=0;tyPx=Math.sign(dyPrev!==0?dyPrev:dyNext)||1;}}else{let ttx=(pNext.x-pPrev.x)*sx;let tty=(pNext.y-pPrev.y)*sy;let lenPx=Math.hypot(ttx,tty);if(!Number.isFinite(lenPx)||lenPx<1e-6)lenPx=1e-6;txPx=ttx/lenPx;tyPx=tty/lenPx;}const nxPx=-tyPx;const nyPx=txPx;const uBase=i/denom;const p=Math.max(0,Math.min(1,(uBase-startAt)/Math.max(1e-6,1-startAt)));const u=mixEase(p,e);const Wraw=p<=0?0:lerp(startW,endW,u);const W=lowCount?i===0?Wraw:prevW*.5+Wraw*.5:Wraw;prevW=W;const offPx=W/2;const nxU=nxPx/sx;const nyU=nyPx/sy;const dxUnits=nxU*offPx;const dyUnits=nyU*offPx;upper.push({x:srcPts[i].x+dxUnits,y:srcPts[i].y+dyUnits});lower.push({x:srcPts[i].x-dxUnits,y:srcPts[i].y-dyUnits});}if(upper.length>1&&lower.length>1){const reversedLower=lower.slice().reverse();const useSmooth=usesSmoothCurves&&!didDensify;const buildSegments=arr=>{if(isStepMode){return buildStepSegments(arr);}return useSmooth?buildCurveSegments(arr):buildLinearSegments(arr);};const segUpper=buildSegments(upper);const segLower=buildSegments(reversedLower);dConeFollow=`M ${upper[0].x},${upper[0].y}${segUpper} L ${reversedLower[0].x},${reversedLower[0].y}${segLower} Z`;}}const maskPath=effPointRadius>0?(()=>{const base=effPointRadius+effPointMaskPadding;const rx=base;const ry=Math.max(1e-4,base*(aspectRatio||1));const parts=[];for(let i=0;i<pts.length;i++){if(!shouldShowPoint(i,pts.length))continue;const p=pts[i];parts.push(`M ${p.x+rx},${p.y} `+`A ${rx},${ry} 0 0,1 ${p.x-rx},${p.y} `+`A ${rx},${ry} 0 0,1 ${p.x+rx},${p.y} Z`);}return parts.join(\" \");})():\"\";const needStrokeGrad=strokeStops.length>1;const needAreaGrad=areaStops.length>1;const needBarGrad=barStops.length>1;const needFanGrad=fanStops.length>1;const strokePaint=needStrokeGrad?`url(#${gradientId}-stroke)`:stroke;const areaPaint=needAreaGrad?`url(#${gradientId}-area)`:areaStops[0];const barPaint=needBarGrad?`url(#${gradientId}-bar)`:barStops[0];const fanPaint=needFanGrad?`url(#${gradientId}-fan)`:fanStops[0];const bladesCount=Math.max(1,Math.floor(fanStyle?.blades??12));return /*#__PURE__*/_jsxs(\"g\",{children:[levelIdx===0&&(needStrokeGrad||needAreaGrad||needBarGrad||needFanGrad||shEnabled)&&/*#__PURE__*/_jsxs(\"defs\",{style:{pointerEvents:\"none\"},children:[needStrokeGrad&&/*#__PURE__*/_jsx(\"linearGradient\",{id:`${gradientId}-stroke`,gradientUnits:\"userSpaceOnUse\",x1:gradCoordsStroke.x1*100,y1:gradCoordsStroke.y1*100,x2:gradCoordsStroke.x2*100,y2:gradCoordsStroke.y2*100,children:strokeStyle?.steppedColors??false?strokeStops.flatMap((c,i)=>{const start=strokeSteppedBounds[i]??0;const end=strokeSteppedBounds[i+1]??100;return[/*#__PURE__*/_jsx(\"stop\",{offset:`${start}%`,stopColor:c},`s-${i}-s`),/*#__PURE__*/_jsx(\"stop\",{offset:`${end}%`,stopColor:c},`s-${i}-e`)];}):strokeStops.map((c,i)=>{const pct=getOffset(i,strokeStops.length,strokeStopOffsets,useCustomStrokeStops);return /*#__PURE__*/_jsx(\"stop\",{offset:`${pct}%`,stopColor:c},`s-${i}`);})}),needAreaGrad&&/*#__PURE__*/_jsx(\"linearGradient\",{id:`${gradientId}-area`,x1:gradCoordsArea.x1,y1:gradCoordsArea.y1,x2:gradCoordsArea.x2,y2:gradCoordsArea.y2,children:displayStyle?.steppedColors??false?areaStops.flatMap((c,i)=>{const start=areaSteppedBounds[i]??0;const end=areaSteppedBounds[i+1]??100;return[/*#__PURE__*/_jsx(\"stop\",{offset:`${start}%`,stopColor:c},`a-${i}-s`),/*#__PURE__*/_jsx(\"stop\",{offset:`${end}%`,stopColor:c},`a-${i}-e`)];}):areaStops.map((c,i)=>{const pct=getOffset(i,areaStops.length,areaStopOffsets,useCustomFillStops);return /*#__PURE__*/_jsx(\"stop\",{offset:`${pct}%`,stopColor:c},`a-${i}`);})}),needBarGrad&&/*#__PURE__*/_jsx(\"linearGradient\",{id:`${gradientId}-bar`,x1:gradCoordsArea.x1,y1:gradCoordsArea.y1,x2:gradCoordsArea.x2,y2:gradCoordsArea.y2,children:displayStyle?.steppedColors??false?barStops.flatMap((c,i)=>{const start=areaSteppedBounds[i]??0;const end=areaSteppedBounds[i+1]??100;return[/*#__PURE__*/_jsx(\"stop\",{offset:`${start}%`,stopColor:c},`b-${i}-s`),/*#__PURE__*/_jsx(\"stop\",{offset:`${end}%`,stopColor:c},`b-${i}-e`)];}):barStops.map((c,i)=>{const pct=getOffset(i,barStops.length,areaStopOffsets,useCustomFillStops);return /*#__PURE__*/_jsx(\"stop\",{offset:`${pct}%`,stopColor:c},`b-${i}`);})}),needFanGrad&&/*#__PURE__*/_jsx(\"linearGradient\",{id:`${gradientId}-fan`,x1:gradCoordsArea.x1,y1:gradCoordsArea.y1,x2:gradCoordsArea.x2,y2:gradCoordsArea.y2,children:displayStyle?.steppedColors??false?fanStops.flatMap((c,i)=>{const start=areaSteppedBounds[i]??0;const end=areaSteppedBounds[i+1]??100;return[/*#__PURE__*/_jsx(\"stop\",{offset:`${start}%`,stopColor:c},`f-${i}-s`),/*#__PURE__*/_jsx(\"stop\",{offset:`${end}%`,stopColor:c},`f-${i}-e`)];}):fanStops.map((c,i)=>{const pct=getOffset(i,fanStops.length,areaStopOffsets,useCustomFillStops);return /*#__PURE__*/_jsx(\"stop\",{offset:`${pct}%`,stopColor:c},`f-${i}`);})}),shEnabled&&svgPx.w>0&&svgPx.h>0&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"filter\",{id:`${gradientId}-stroke-shadow`,x:-(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.w)/100)),y:-(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.h)/100)),width:100+2*(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.w)/100)),height:100+2*(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.h)/100)),filterUnits:\"userSpaceOnUse\",primitiveUnits:\"userSpaceOnUse\",colorInterpolationFilters:\"sRGB\",children:[allShadows.map((shadow,idx)=>{const blurX=shadowFactors?Math.max(0,shadow.blur)*shadowFactors.pxToVbX*shadowFactors.blurQuality:Math.max(0,shadow.blur)/(Math.max(1e-4,svgPx.w)/100);const blurY=shadowFactors?Math.max(0,shadow.blur)*shadowFactors.pxToVbY*shadowFactors.blurQuality:Math.max(0,shadow.blur)/(Math.max(1e-4,svgPx.h)/100);return useGradientShadow?/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceGraphic\",stdDeviation:`${blurX} ${blurY}`,result:`g-blur${idx}`}),shadow.spread!==0&&/*#__PURE__*/_jsx(\"feMorphology\",{in:`g-blur${idx}`,operator:shadow.spread>0?\"dilate\":\"erode\",radius:Math.abs(shadow.spread)/(Math.max(1e-4,svgPx.w)/100),result:`g-spread${idx}`}),/*#__PURE__*/_jsx(\"feOffset\",{in:shadow.spread!==0?`g-spread${idx}`:`g-blur${idx}`,dx:shadow.dx/(Math.max(1e-4,svgPx.w)/100),dy:shadow.dy/(Math.max(1e-4,svgPx.h)/100),result:`g-offset${idx}`}),/*#__PURE__*/_jsx(\"feComponentTransfer\",{in:`g-offset${idx}`,result:`shadow${idx}`,children:/*#__PURE__*/_jsx(\"feFuncA\",{type:\"linear\",slope:shadow.opacity})})]},idx):/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceAlpha\",stdDeviation:`${blurX} ${blurY}`,result:`blur${idx}`}),shadow.spread!==0&&/*#__PURE__*/_jsx(\"feMorphology\",{in:`blur${idx}`,operator:shadow.spread>0?\"dilate\":\"erode\",radius:Math.abs(shadow.spread)/(Math.max(1e-4,svgPx.w)/100),result:`spread${idx}`}),/*#__PURE__*/_jsx(\"feOffset\",{in:shadow.spread!==0?`spread${idx}`:`blur${idx}`,dx:shadow.dx/(Math.max(1e-4,svgPx.w)/100),dy:shadow.dy/(Math.max(1e-4,svgPx.h)/100),result:`offset${idx}`}),/*#__PURE__*/_jsx(\"feFlood\",{floodColor:shadow.color,floodOpacity:shadow.opacity,result:`color${idx}`}),/*#__PURE__*/_jsx(\"feComposite\",{in:`color${idx}`,in2:`offset${idx}`,operator:\"in\",result:`shadow${idx}`})]},idx);}),/*#__PURE__*/_jsxs(\"feMerge\",{children:[allShadows.map((_,idx)=>/*#__PURE__*/_jsx(\"feMergeNode\",{in:`shadow${idx}`},idx)),/*#__PURE__*/_jsx(\"feMergeNode\",{in:\"SourceGraphic\"})]})]}),/*#__PURE__*/_jsxs(\"filter\",{id:`${gradientId}-stroke-shadow-only`,x:-(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.w)/100)),y:-(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.h)/100)),width:100+2*(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.w)/100)),height:100+2*(Math.max(0,shBounds)/(Math.max(1e-4,svgPx.h)/100)),filterUnits:\"userSpaceOnUse\",primitiveUnits:\"userSpaceOnUse\",colorInterpolationFilters:\"sRGB\",children:[allShadows.map((shadow,idx)=>{const blurX=shadowFactors?Math.max(0,shadow.blur)*shadowFactors.pxToVbX*shadowFactors.blurQuality:Math.max(0,shadow.blur)/(Math.max(1e-4,svgPx.w)/100);const blurY=shadowFactors?Math.max(0,shadow.blur)*shadowFactors.pxToVbY*shadowFactors.blurQuality:Math.max(0,shadow.blur)/(Math.max(1e-4,svgPx.h)/100);return useGradientShadow?/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceGraphic\",stdDeviation:`${blurX} ${blurY}`,result:`g-blur${idx}`}),shadow.spread!==0&&/*#__PURE__*/_jsx(\"feMorphology\",{in:`g-blur${idx}`,operator:shadow.spread>0?\"dilate\":\"erode\",radius:Math.abs(shadow.spread)/(Math.max(1e-4,svgPx.w)/100),result:`g-spread${idx}`}),/*#__PURE__*/_jsx(\"feOffset\",{in:shadow.spread!==0?`g-spread${idx}`:`g-blur${idx}`,dx:shadow.dx/(Math.max(1e-4,svgPx.w)/100),dy:shadow.dy/(Math.max(1e-4,svgPx.h)/100),result:`g-offset${idx}`}),/*#__PURE__*/_jsx(\"feComponentTransfer\",{in:`g-offset${idx}`,result:`shadow${idx}`,children:/*#__PURE__*/_jsx(\"feFuncA\",{type:\"linear\",slope:shadow.opacity})})]},idx):/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"SourceAlpha\",stdDeviation:`${blurX} ${blurY}`,result:`blur${idx}`}),shadow.spread!==0&&/*#__PURE__*/_jsx(\"feMorphology\",{in:`blur${idx}`,operator:shadow.spread>0?\"dilate\":\"erode\",radius:Math.abs(shadow.spread)/(Math.max(1e-4,svgPx.w)/100),result:`spread${idx}`}),/*#__PURE__*/_jsx(\"feOffset\",{in:shadow.spread!==0?`spread${idx}`:`blur${idx}`,dx:shadow.dx/(Math.max(1e-4,svgPx.w)/100),dy:shadow.dy/(Math.max(1e-4,svgPx.h)/100),result:`offset${idx}`}),/*#__PURE__*/_jsx(\"feFlood\",{floodColor:shadow.color,floodOpacity:shadow.opacity,result:`color${idx}`}),/*#__PURE__*/_jsx(\"feComposite\",{in:`color${idx}`,in2:`offset${idx}`,operator:\"in\",result:`shadow${idx}`})]},idx);}),/*#__PURE__*/_jsx(\"feMerge\",{children:allShadows.map((_,idx)=>/*#__PURE__*/_jsx(\"feMergeNode\",{in:`shadow${idx}`},idx))})]})]})]}),(effPointRadius>0||effectiveDrawLine)&&(maskPath||effectiveDrawLine)&&/*#__PURE__*/_jsxs(\"defs\",{style:{pointerEvents:\"none\"},children:[effPointRadius>0&&maskPath&&/*#__PURE__*/_jsxs(\"mask\",{id:`${gradientId}-point-gaps-${levelIdx}`,maskUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"rect\",{x:0,y:0,width:100,height:100,fill:\"white\"}),/*#__PURE__*/_jsx(\"path\",{d:maskPath,fill:\"black\"})]}),effectiveDrawLine&&isDotted&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"mask\",{id:`${gradientId}-drawline-reveal-${levelIdx}`,maskUnits:\"userSpaceOnUse\",children:/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:\"white\",strokeWidth:effStrokeWidth*1.5,strokeLinecap:\"butt\",strokeDasharray:`${paths[levelIdx]?.totalLenPx||0} ${paths[levelIdx]?.totalLenPx||0}`,strokeDashoffset:(1-drawProgress)*(paths[levelIdx]?.totalLenPx||0),vectorEffect:\"non-scaling-stroke\"})}),/*#__PURE__*/_jsxs(\"mask\",{id:`${gradientId}-drawline-combined-${levelIdx}`,maskUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"rect\",{x:0,y:0,width:100,height:100,fill:\"black\"}),/*#__PURE__*/_jsx(\"rect\",{x:0,y:0,width:100,height:100,fill:\"white\",mask:`url(#${gradientId}-drawline-reveal-${levelIdx})`}),effPointRadius>0&&maskPath&&/*#__PURE__*/_jsx(\"path\",{d:maskPath,fill:\"black\"})]})]})]}),effRenderMode===\"area\"&&effAreaEnabled&&dArea&&/*#__PURE__*/_jsx(\"path\",{d:dArea,fill:areaPaint,stroke:\"none\"}),effRenderMode===\"bar\"&&/*#__PURE__*/_jsx(_Fragment,{children:v1Values.map((_,i)=>{const t=(useMotion?tValues[i]:targetTVals[i])??0;const py=100-lerp(padPct.y,100-padPct.y,t);const base=100-padPct.y;const axisSpan=100-padPct.xStart-padPct.xEnd;const slotW=n>1?axisSpan/n:axisSpan;const effBarWidthScale=Math.max(0,Math.min(1,barStyle?.widthScale??barWidthScale));const bw=Math.max(0,Math.min(slotW,slotW*effBarWidthScale));const barPadding=padPct.xStart;const slotCenter=barPadding+slotW*(i+.5);const x=slotCenter-bw/2;const y=Math.min(py,base);const h=Math.abs(base-py);if(h<=0)return null;// Compensate for preserveAspectRatio=\"none\": keep visually round corners\nconst rxCap=Math.max(0,bw/2);const ryCap=Math.max(0,h/2);const cornersIn=parseBorderRadiusCorners(barStyle?.borderRadius,svgPx?.w);const uniformFallback=Math.max(0,(cornersIn?0:barStyle?.radius??barRadius)||0);let tlrx=cornersIn?.tl??uniformFallback;let trrx=cornersIn?.tr??uniformFallback;let brrx=cornersIn?.br??uniformFallback;let blrx=cornersIn?.bl??uniformFallback;// Clamp horizontal radii by width cap\ntlrx=Math.min(Math.max(tlrx,0),rxCap);trrx=Math.min(Math.max(trrx,0),rxCap);brrx=Math.min(Math.max(brrx,0),rxCap);blrx=Math.min(Math.max(blrx,0),rxCap);// Ensure sums don't exceed side lengths (horizontal)\nconst topSum=tlrx+trrx;if(topSum>bw&&topSum>0){const f=bw/topSum;tlrx*=f;trrx*=f;}const botSum=blrx+brrx;if(botSum>bw&&botSum>0){const f=bw/botSum;blrx*=f;brrx*=f;}// Convert to vertical radii and clamp\nlet tlry=Math.min(tlrx*(aspectRatio||1),ryCap);let trry=Math.min(trrx*(aspectRatio||1),ryCap);let brry=Math.min(brrx*(aspectRatio||1),ryCap);let blry=Math.min(blrx*(aspectRatio||1),ryCap);// Ensure vertical sums don't exceed side lengths\nconst leftSum=tlry+blry;if(leftSum>h&&leftSum>0){const f=h/leftSum;tlry*=f;blry*=f;}const rightSum=trry+brry;if(rightSum>h&&rightSum>0){const f=h/rightSum;trry*=f;brry*=f;}// Border params for bars (use pixel stroke width with non-scaling stroke)\nconst{widthPx:barBorderPx,style:barBorderStyle,color:barBorderColor}=getBorderParams(barStyle?.border);const barStrokeWidth=Math.max(0,barBorderPx);let barStrokeDash;if(barBorderStyle===\"dashed\")barStrokeDash=\"4 4\";else if(barBorderStyle===\"dotted\")barStrokeDash=\"1 2\";const d=[`M ${x+tlrx} ${y}`,`H ${x+bw-trrx}`,`A ${trrx} ${trry} 0 0 1 ${x+bw} ${y+trry}`,`V ${y+h-brry}`,`A ${brrx} ${brry} 0 0 1 ${x+bw-brrx} ${y+h}`,`H ${x+blrx}`,`A ${blrx} ${blry} 0 0 1 ${x} ${y+h-blry}`,`V ${y+tlry}`,`A ${tlrx} ${tlry} 0 0 1 ${x+tlrx} ${y}`,\"Z\"].join(\" \");return /*#__PURE__*/_jsx(\"path\",{d:d,fill:barPaint,stroke:barStrokeWidth>0?barBorderColor:\"none\",strokeWidth:barStrokeWidth>0?barStrokeWidth:undefined,strokeDasharray:barStrokeDash,vectorEffect:\"non-scaling-stroke\"},`bar-${levelIdx}-${i}`);})}),effRenderMode===\"fan\"&&dConeFollow&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:dConeFollow,fill:fanPaint,fillOpacity:bladesCount<=1?1:.18,stroke:\"none\"}),(()=>{if(bladesCount<=1)return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:`${gradientId}-cone-follow-clip-${levelIdx}`,clipPathUnits:\"userSpaceOnUse\",children:/*#__PURE__*/_jsx(\"path\",{d:dConeFollow})})}),/*#__PURE__*/_jsx(\"g\",{clipPath:`url(#${gradientId}-cone-follow-clip-${levelIdx})`,children:(()=>{let srcPtsLam=pts;let didDensifyLam=false;const shouldDensifyLam=pts.length<50;if(shouldDensifyLam&&isStepMode&&pts.length>=2){const samplesPerSeg=4;const dense=[];for(let i=0;i<pts.length-1;i++){const p1=pts[i];const p2=pts[i+1];const midX=(p1.x+p2.x)/2;const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:p1.x+(midX-p1.x)*u,y:p1.y});}for(let k=1;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:midX,y:p1.y+(p2.y-p1.y)*u});}if(i===pts.length-2){for(let k=1;k<=samplesPerSeg/2;k++){const u=k/(samplesPerSeg/2);dense.push({x:midX+(p2.x-midX)*u,y:p2.y});}}}if(dense.length>=2){srcPtsLam=dense;didDensifyLam=true;}}else if(shouldDensifyLam&&roundness>0&&pts.length>=2){const tScale=Math.max(0,roundness);const alpha=.5;const pow=d=>Math.pow(Math.max(d,0),alpha);const dist=(p,q)=>Math.hypot(q.x-p.x,q.y-p.y);const samplesPerSeg=4;const dense=[];for(let i=0;i<pts.length-1;i++){const p0=i>0?pts[i-1]:pts[i];const p1=pts[i];const p2=pts[i+1];const p3=i+2<pts.length?pts[i+2]:pts[i+1];const t0=0;const t1=t0+pow(dist(p0,p1));const t2=t1+pow(dist(p1,p2));const t3=t2+pow(dist(p2,p3));const m1x=(p2.x-p0.x)/(t2-t0)*(t1-t0)*tScale;const m1y=(p2.y-p0.y)/(t2-t0)*(t1-t0)*tScale;const m2x=(p3.x-p1.x)/(t3-t1)*(t2-t1)*tScale;const m2y=(p3.y-p1.y)/(t3-t1)*(t2-t1)*tScale;const c1x=p1.x+m1x/3;const c1y=p1.y+m1y/3;const c2x=p2.x-m2x/3;const c2y=p2.y-m2y/3;const bx=u=>{const one=1-u;return one*one*one*p1.x+3*one*one*u*c1x+3*one*u*u*c2x+u*u*u*p2.x;};const by=u=>{const one=1-u;return one*one*one*p1.y+3*one*one*u*c1y+3*one*u*u*c2y+u*u*u*p2.y;};const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg;k++){const u=k/samplesPerSeg;dense.push({x:bx(u),y:by(u)});}}if(dense.length>=2){srcPtsLam=dense;didDensifyLam=true;}}else if(shouldDensifyLam&&pts.length>=2){const samplesPerSeg=6;const dense=[];for(let i=0;i<pts.length-1;i++){const p1=pts[i];const p2=pts[i+1];const startK=i===0?0:1;for(let k=startK;k<=samplesPerSeg;k++){const u=k/samplesPerSeg;dense.push({x:p1.x+(p2.x-p1.x)*u,y:p1.y+(p2.y-p1.y)*u});}}if(dense.length>=2){srcPtsLam=dense;didDensifyLam=true;}}const denom=Math.max(1,srcPtsLam.length-1);const e=Math.max(0,Math.min(1,fanStyle?.coneEase??.5));const startW=Math.max(0,(fanStyle?.startWidth??0)*2);const endW=Math.max(0,(fanStyle?.endWidth??fanStyle?.maxStrokeWidth??Math.max(6,strokeWidth*4))*2);const startAt=Math.max(0,Math.min(1,fanStyle?.startAt??0));const sx=Math.max(1e-6,svgPx.w/100);const sy=Math.max(1e-6,svgPx.h/100);const widths=srcPtsLam.map((_,i)=>{const t=Math.max(0,Math.min(1,i/denom));return lerp(startW,endW,t);});const buildSeg=arr=>{let seg=\"\";for(let i=0;i<arr.length-1;i++){const p1=arr[i];const p2=arr[i+1];if(isStepMode){const midX=(p1.x+p2.x)/2;seg+=` L ${midX},${p1.y} L ${midX},${p2.y} L ${p2.x},${p2.y}`;}else if(roundness<=0){seg+=` L ${p2.x},${p2.y}`;}else{const{c1x,c1y,c2x,c2y}=computeCubicControls(arr,i);seg+=` C ${c1x},${c1y} ${c2x},${c2y} ${p2.x},${p2.y}`;}}return seg;};const nodes=[];for(let b=1;b<=bladesCount;b++){const tBlade=bladesCount<=1?1:(b-1)/Math.max(1,bladesCount-1);const outScale=1-.6*tBlade;const inScale=.5*(1-.6*tBlade);const upperOuter=[];const lowerOuter=[];const upperInner=[];const lowerInner=[];for(let i=0;i<srcPtsLam.length;i++){const pPrev=srcPtsLam[Math.max(0,i-1)];const pNext=srcPtsLam[Math.min(srcPtsLam.length-1,i+1)];let txPx=(pNext.x-pPrev.x)*sx;let tyPx=(pNext.y-pPrev.y)*sy;let lenPx=Math.hypot(txPx,tyPx);if(!Number.isFinite(lenPx)||lenPx<1e-6)lenPx=1e-6;txPx/=lenPx;tyPx/=lenPx;const nxPx=-tyPx;const nyPx=txPx;const nxU=nxPx/sx;const nyU=nyPx/sy;const w=Math.max(0,widths[i]);const wOut=w*outScale;const wIn=w*inScale;const dxOut=nxU*(wOut/2);const dyOut=nyU*(wOut/2);const dxIn=nxU*(wIn/2);const dyIn=nyU*(wIn/2);upperOuter.push({x:srcPtsLam[i].x+dxOut,y:srcPtsLam[i].y+dyOut});lowerOuter.push({x:srcPtsLam[i].x-dxOut,y:srcPtsLam[i].y-dyOut});upperInner.push({x:srcPtsLam[i].x+dxIn,y:srcPtsLam[i].y+dyIn});lowerInner.push({x:srcPtsLam[i].x-dxIn,y:srcPtsLam[i].y-dyIn});}if(upperOuter.length>1){const revLowerOuter=lowerOuter.slice().reverse();const revLowerInner=lowerInner.slice().reverse();const segUO=buildSeg(upperOuter);const segLO=buildSeg(revLowerOuter);const segUI=buildSeg(upperInner);const segLI=buildSeg(revLowerInner);const dBand=`M ${upperOuter[0].x},${upperOuter[0].y}${segUO} L ${revLowerOuter[0].x},${revLowerOuter[0].y}${segLO} Z M ${upperInner[0].x},${upperInner[0].y}${segUI} L ${revLowerInner[0].x},${revLowerInner[0].y}${segLI} Z`;const endFactor=.35;const maxOp=Math.max(.5,Math.min(1,3/Math.max(1,bladesCount)));const minOp=maxOp*endFactor;const op=lerp(maxOp,minOp,tBlade);nodes.push(/*#__PURE__*/_jsx(\"path\",{d:dBand,fill:fanPaint,fillOpacity:op,fillRule:\"evenodd\",stroke:\"none\"},`blade-band-${levelIdx}-${b}`));}}return nodes;})()})]});})()]}),showStroke&&(isDotted?/*#__PURE__*/_jsxs(_Fragment,{children:[shEnabled&&effPointRadius>0&&/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:strokePaint,strokeWidth:effStrokeWidth,vectorEffect:\"non-scaling-stroke\",strokeLinecap:strokeLineCap,strokeDasharray:`0 ${dashGapValue}`,strokeDashoffset:undefined,pathLength:Math.max(1e-4,paths[levelIdx]?.totalLenPx||0),strokeOpacity:1,mask:effectiveDrawLine?`url(#${gradientId}-drawline-reveal-${levelIdx})`:undefined,filter:shadowFilterOnlyUrl}),/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:strokePaint,strokeWidth:effStrokeWidth,vectorEffect:\"non-scaling-stroke\",strokeLinecap:strokeLineCap,strokeDasharray:`0 ${dashGapValue}`,strokeDashoffset:undefined,pathLength:Math.max(1e-4,paths[levelIdx]?.totalLenPx||0),strokeOpacity:1,mask:effectiveDrawLine?`url(#${gradientId}-drawline-combined-${levelIdx})`:effPointRadius>0?`url(#${gradientId}-point-gaps-${levelIdx})`:undefined,filter:shEnabled?effPointRadius>0?undefined:shadowFilterUrl:undefined})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[shEnabled&&effPointRadius>0&&!effectiveDrawLine&&/*#__PURE__*/_jsx(\"g\",{children:paths[levelIdx]?.segments?.map((seg,si)=>{const gapPx=dashGapValue;const offsetPx=Math.max(0,seg.start||0)%gapPx;const segProgress=effectiveDrawLine&&paths[levelIdx]?.totalLenPx?Math.max(0,Math.min(1,(drawProgress*(paths[levelIdx]?.totalLenPx||0)-seg.start)/(seg.length||1))):1;return /*#__PURE__*/_jsx(\"path\",{d:seg.d,fill:\"none\",stroke:strokePaint,strokeWidth:effStrokeWidth,vectorEffect:\"non-scaling-stroke\",strokeLinecap:strokeLineCap,strokeDasharray:`0 ${gapPx}`,strokeDashoffset:offsetPx,pathLength:Math.max(1e-4,seg.length||0),strokeOpacity:1,filter:effectiveDrawLine?undefined:shadowFilterOnlyUrl},`seg-shadow-${levelIdx}-${si}`);})}),shEnabled&&effPointRadius>0&&effectiveDrawLine&&/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:strokePaint,strokeWidth:effStrokeWidth,vectorEffect:\"non-scaling-stroke\",strokeLinecap:strokeLineCap,strokeOpacity:1,strokeDasharray:effectiveDrawLine?`${paths[levelIdx]?.totalLenPx||0} ${paths[levelIdx]?.totalLenPx||0}`:undefined,strokeDashoffset:effectiveDrawLine?(1-drawProgress)*(paths[levelIdx]?.totalLenPx||0):undefined,filter:shadowFilterOnlyUrl}),/*#__PURE__*/_jsx(motion.path,{d:d,fill:\"none\",stroke:strokePaint,strokeWidth:effStrokeWidth,vectorEffect:\"non-scaling-stroke\",strokeLinecap:strokeLineCap,strokeOpacity:1,strokeDasharray:isDotted?`0 ${dashGapValue}`:effectiveDrawLine?`${paths[levelIdx]?.totalLenPx||0} ${paths[levelIdx]?.totalLenPx||0}`:undefined,strokeDashoffset:effectiveDrawLine?(1-drawProgress)*(paths[levelIdx]?.totalLenPx||0):undefined,pathLength:undefined,mask:effPointRadius>0||effectiveDrawLine?`url(#${gradientId}-point-gaps-${levelIdx})`:undefined,filter:shEnabled?effPointRadius>0?undefined:shadowFilterUrl:undefined})]})),effPointRadius>0&&pointsPath&&/*#__PURE__*/_jsx(\"path\",{d:pointsPath,fill:effPointColor,stroke:(pointBorderParams.widthPx!=null?svgPx.w>0?Math.max(0,pointBorderParams.widthPx*100/svgPx.w):0:effPointBorderWidth)>0?effPointBorderColor:\"none\",strokeWidth:pointBorderParams.widthPx!=null?svgPx.w>0?Math.max(0,pointBorderParams.widthPx*100/svgPx.w):0:effPointBorderWidth,strokeDasharray:pointStrokeDash,filter:shEnabled&&effPointRadius>0&&!shouldDisablePointFilters?shadowFilterUrl:undefined,vectorEffect:\"non-scaling-stroke\",shapeRendering:pointCount>50?\"optimizeSpeed\":\"geometricPrecision\"}),effectiveDrawLine&&endpointPosition&&drawProgress<1&&effPointRadius>0&&endpointsMode!==\"none\"&&(()=>{const rx=effPointRadius;const ry=Math.max(1e-4,rx*(aspectRatio||1));const cx=endpointPosition.x;const cy=endpointPosition.y;let endpointPath=\"\";const cornersIn=parseBorderRadiusCorners(pointStyle?.borderRadius,svgPx?.w);if(!cornersIn){endpointPath=`M ${cx+rx},${cy} A ${rx},${ry} 0 0,1 ${cx-rx},${cy} A ${rx},${ry} 0 0,1 ${cx+rx},${cy} Z`;}else{const x=cx-rx;const y=cy-ry;const w=rx*2;const h=ry*2;const rxCap=Math.max(0,w/2);const ryCap=Math.max(0,h/2);let tlrx=Math.min(Math.max(cornersIn.tl,0),rxCap);let trrx=Math.min(Math.max(cornersIn.tr,0),rxCap);let brrx=Math.min(Math.max(cornersIn.br,0),rxCap);let blrx=Math.min(Math.max(cornersIn.bl,0),rxCap);const topSum=tlrx+trrx;if(topSum>w&&topSum>0){const f=w/topSum;tlrx*=f;trrx*=f;}const botSum=blrx+brrx;if(botSum>w&&botSum>0){const f=w/botSum;blrx*=f;brrx*=f;}let tlry=Math.min(tlrx*(aspectRatio||1),ryCap);let trry=Math.min(trrx*(aspectRatio||1),ryCap);let brry=Math.min(brrx*(aspectRatio||1),ryCap);let blry=Math.min(blrx*(aspectRatio||1),ryCap);const leftSum=tlry+blry;if(leftSum>h&&leftSum>0){const f=h/leftSum;tlry*=f;blry*=f;}const rightSum=trry+brry;if(rightSum>h&&rightSum>0){const f=h/rightSum;trry*=f;brry*=f;}endpointPath=[`M ${x+tlrx} ${y}`,`H ${x+w-trrx}`,`A ${trrx} ${trry} 0 0 1 ${x+w} ${y+trry}`,`V ${y+h-brry}`,`A ${brrx} ${brry} 0 0 1 ${x+w-brrx} ${y+h}`,`H ${x+blrx}`,`A ${blrx} ${blry} 0 0 1 ${x} ${y+h-blry}`,`V ${y+tlry}`,`A ${tlrx} ${tlry} 0 0 1 ${x+tlrx} ${y}`,\"Z\"].join(\" \");}return /*#__PURE__*/_jsx(\"path\",{d:endpointPath,fill:effPointColor,stroke:(pointBorderParams.widthPx!=null?svgPx.w>0?Math.max(0,pointBorderParams.widthPx*100/svgPx.w):0:effPointBorderWidth)>0?effPointBorderColor:\"none\",strokeWidth:pointBorderParams.widthPx!=null?svgPx.w>0?Math.max(0,pointBorderParams.widthPx*100/svgPx.w):0:effPointBorderWidth,strokeDasharray:pointStrokeDash,vectorEffect:\"non-scaling-stroke\"});})()]},`series-${levelIdx}`);})]})}),shouldShowYAxis&&/*#__PURE__*/_jsxs(\"svg\",{style:{position:\"absolute\",left:0,top:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"line\",{x1:leftSpace,y1:topSpace,x2:leftSpace,y2:topSpace+chartHeight,stroke:yAxisConfig.color,strokeWidth:yAxisConfig.thickness}),yTicks.map((tick,i)=>/*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"line\",{x1:leftSpace-yAxisConfig.tickLength,y1:tick.y,x2:leftSpace,y2:tick.y,stroke:yAxisConfig.tickColor,strokeWidth:yAxisConfig.thickness}),/*#__PURE__*/_jsx(\"text\",{x:leftSpace-yAxisConfig.tickLength-yAxisConfig.labelOffset,y:tick.y,textAnchor:yAxisConfig.labelTextAnchor??\"end\",dominantBaseline:\"middle\",fill:yAxisConfig.labelColor,fontSize:yAxisConfig.labelSize,fontFamily:yAxisConfig.labelFont,fontStyle:yAxisConfig.labelFontStyle,fontWeight:yAxisConfig.labelFontWeight,letterSpacing:yAxisConfig.labelLetterSpacing,children:tick.label})]},i))]}),shouldShowXAxis&&/*#__PURE__*/_jsxs(\"svg\",{style:{position:\"absolute\",left:0,top:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"line\",{x1:leftSpace,y1:topSpace+chartHeight,x2:leftSpace+chartWidth,y2:topSpace+chartHeight,stroke:xAxisConfig.color,strokeWidth:xAxisConfig.thickness}),xTicks.map((tick,i)=>/*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"line\",{x1:tick.x,y1:topSpace+chartHeight,x2:tick.x,y2:topSpace+chartHeight+xAxisConfig.tickLength,stroke:xAxisConfig.tickColor,strokeWidth:xAxisConfig.thickness}),/*#__PURE__*/_jsx(\"text\",{x:tick.x,y:topSpace+chartHeight+xAxisConfig.tickLength+xAxisConfig.labelOffset,textAnchor:xAxisConfig.labelTextAnchor??\"middle\",dominantBaseline:\"hanging\",fill:xAxisConfig.labelColor,fontSize:xAxisConfig.labelSize,fontFamily:xAxisConfig.labelFont,fontStyle:xAxisConfig.labelFontStyle,fontWeight:xAxisConfig.labelFontWeight,letterSpacing:xAxisConfig.labelLetterSpacing,children:tick.label})]},i))]}),cursorComponent&&hoverPos.v&&(()=>{try{const baseIdxPad=padPct.xStart;const idxDenom=Math.max(1e-4,100-padPct.xStart-padPct.xEnd);const indexAxisPos=hoverPos.x;const idxRaw=effRenderMode===\"bar\"?Math.floor((indexAxisPos-baseIdxPad)/idxDenom*n):Math.round((indexAxisPos-baseIdxPad)/idxDenom*Math.max(1,n-1));const idx=n>0?Math.max(0,Math.min(n-1,idxRaw)):0;const label=labels&&labels[idx]?labels[idx]:undefined;const t=(100-hoverPos.y-padPct.y)/Math.max(1e-4,100-2*padPct.y);const value=Math.max(0,Math.min(100,t*100));const rawValue=n>0?v1Values[idx]??null:null;const textContent=(label!=null?String(label):n>0?`#${idx}`:\"\")+` — ${value.toFixed(1)}% (${rawValue??\"-\"})`;const childProps=cursorComponent?.props??{};const clonedProps={label,value,rawValue,index:n>0?idx:null,children:textContent};// overwriting the numeric 'value' we pass above.\nclonedProps.text=textContent;clonedProps.content=textContent;clonedProps.title=textContent;if(cursorTextColor){const childProps=cursorComponent?.props??{};const prevStyle=childProps&&typeof childProps===\"object\"?childProps.style||{}:{};clonedProps.style={...prevStyle,color:cursorTextColor};}const injected=/*#__PURE__*/React.isValidElement(cursorComponent)?/*#__PURE__*/React.cloneElement(cursorComponent,clonedProps):cursorComponent;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:leftSpace+chartWidth*hoverPos.x/100,top:topSpace+chartHeight*hoverPos.y/100,transform:\"translate(-50%, -50%)\",pointerEvents:\"none\",...cursorTextColor?{color:cursorTextColor}:{}},children:injected});}catch(e){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:leftSpace+chartWidth*hoverPos.x/100,top:topSpace+chartHeight*hoverPos.y/100,transform:\"translate(-50%, -50%)\",pointerEvents:\"none\"},children:cursorComponent});}})()]});}addPropertyControls(LineChartPro,{googleSheetUrl:{type:ControlType.String,title:\"Sheet URL\",placeholder:\"https://docs.google.com/spreadsheets/...\",hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"googleSheet\";}},csvUrl:{type:ControlType.String,title:\"CSV URL\",placeholder:\"https://example.com/data.csv\",hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"csv\";}},csvFile:{type:ControlType.File,title:\"CSV File\",allowedFileTypes:[\"csv\"],hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"csv\";}},data:{type:ControlType.Object,title:\"Data\",controls:{dataSource:{type:ControlType.Enum,title:\"Data Source\",options:[\"manual\",\"googleSheet\",\"csv\"],optionTitles:[\"Manual\",\"Google Sheet\",\"CSV File\"],defaultValue:\"manual\"},csvDelimiter:{type:ControlType.String,title:\"Delimiter\",defaultValue:\",\",hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"csv\";}},csvHasHeader:{type:ControlType.Boolean,title:\"Header Row\",defaultValue:true,hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"csv\";}},googleSheetValueColumnIndex:{type:ControlType.String,title:\"Value Col\",defaultValue:\"B\",hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"googleSheet\"&&ds!==\"csv\";}},googleSheetLabelColumnIndex:{type:ControlType.String,title:\"Label Col\",defaultValue:\"A\",hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"googleSheet\"&&ds!==\"csv\";}},values:{type:ControlType.Array,title:\"Values\",defaultValue:[30,40,22,18],control:{type:ControlType.Number,displayStepper:true},hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"manual\";}},labels:{type:ControlType.Array,title:\"Labels\",defaultValue:[\"Jan\",\"Feb\",\"Mar\",\"Apr\"],control:{type:ControlType.String},hidden:props=>{const ds=props?.data&&typeof props.data===\"object\"?props.data.dataSource:props.dataSource;return ds!==\"manual\";}},valueScale:{type:ControlType.Enum,title:\"Scale\",options:[\"auto\",\"range\"],optionTitles:[\"Auto\",\"Range\"],defaultValue:\"range\"},dataMin:{type:ControlType.Number,title:\"Min\",defaultValue:0,step:1,hidden:props=>{const obj=props&&typeof props===\"object\"&&props.data&&typeof props.data===\"object\"?props.data:props;const scale=obj?.valueScale;return scale!==\"range\";}},dataMax:{type:ControlType.Number,title:\"Max\",defaultValue:100,step:1,hidden:props=>{const obj=props&&typeof props===\"object\"&&props.data&&typeof props.data===\"object\"?props.data:props;const scale=obj?.valueScale;return scale!==\"range\";}}}},displayStyle:{type:ControlType.Object,title:\"Fill\",controls:{fillColors:{type:ControlType.Array,title:\"Colors\",defaultValue:[{color:\"#dddddd\",stop:0}],control:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"#dddddd\"},stop:{type:ControlType.Number,title:\"Stop\",min:0,max:100,step:1,unit:\"%\",defaultValue:0}}}},useCustomFillStops:{type:ControlType.Boolean,title:\"Custom Stops\",defaultValue:false},gradientAngle:{type:ControlType.Number,title:\"Angle\",min:0,max:360,step:1,defaultValue:90,unit:\"deg\",hidden:props=>{const obj=props&&typeof props===\"object\"&&props.displayStyle&&typeof props.displayStyle===\"object\"?props.displayStyle:props;const arr=Array.isArray(obj?.fillColors)?obj.fillColors.filter(Boolean):[];const uniq=Array.from(new Set(arr.map(c=>{if(typeof c===\"string\")return c;if(c&&typeof c===\"object\"){const clr=c.color;return clr!=null?String(clr):\"\";}return\"\";}).map(s=>String(s).trim().toLowerCase()))).filter(Boolean);return uniq.length<=1;}},steppedColors:{type:ControlType.Boolean,title:\"Step Colors\",defaultValue:false,hidden:props=>{const obj=props&&typeof props===\"object\"&&props.displayStyle&&typeof props.displayStyle===\"object\"?props.displayStyle:props;const arr=Array.isArray(obj?.fillColors)?obj.fillColors.filter(Boolean):[];const uniq=Array.from(new Set(arr.map(c=>{if(typeof c===\"string\")return c;if(c&&typeof c===\"object\"){const clr=c.color;return clr!=null?String(clr):\"\";}return\"\";}).map(s=>String(s).trim().toLowerCase()))).filter(Boolean);return uniq.length<=1;}},renderMode:{type:ControlType.Enum,title:\"Mode\",options:[\"area\",\"bar\",\"fan\"],optionTitles:[\"Area\",\"Bar\",\"Fan\"],defaultValue:\"area\"},roundness:{type:ControlType.Number,title:\"Roundness\",min:0,max:1,step:.05,defaultValue:.5},curveType:{type:ControlType.Enum,title:\"Curve\",options:[\"smooth\",\"basis\",\"step\"],optionTitles:[\"Smooth\",\"Basis\",\"Step\"],defaultValue:\"smooth\"}}},barStyle:{type:ControlType.Object,title:\"Bars\",controls:{widthScale:{type:ControlType.Number,title:\"Width\",min:.05,max:1,step:.05,defaultValue:.6},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"16px\"},border:{type:ControlType.Border,title:\"Border\",optional:true}},hidden:props=>{const rm=props?.displayStyle?.renderMode??props?.renderMode;return rm!==\"bar\";}},fanStyle:{type:ControlType.Object,title:\"Fan\",controls:{startWidth:{type:ControlType.Number,title:\"Start Width\",min:0,max:100,step:.5,defaultValue:2},endWidth:{type:ControlType.Number,title:\"End Width\",min:0,max:100,step:.5,defaultValue:12},startAt:{type:ControlType.Number,title:\"Start At\",min:0,max:1,step:.01,defaultValue:0},blades:{type:ControlType.Number,title:\"Blades\",min:1,max:5,step:1,defaultValue:12},coneEase:{type:ControlType.Number,title:\"Ease\",min:0,max:1,step:.05,defaultValue:.5}},hidden:props=>{const rm=props?.displayStyle?.renderMode??props?.renderMode;return rm!==\"fan\";}},strokeStyle:{optional:true,type:ControlType.Object,title:\"Stroke\",controls:{strokeColors:{type:ControlType.Array,title:\"Colors\",defaultValue:[{color:\"#000000\",stop:0}],control:{type:ControlType.Object,controls:{color:{type:ControlType.Color,defaultValue:\"#000000\"},stop:{type:ControlType.Number,title:\"Stop\",min:0,max:100,step:1,unit:\"%\",defaultValue:0}}}},useCustomStrokeStops:{type:ControlType.Boolean,title:\"Custom Stops\",defaultValue:false},strokeAngle:{type:ControlType.Number,title:\"Angle\",min:0,max:360,step:1,defaultValue:90,unit:\"deg\",hidden:props=>{const obj=props&&typeof props===\"object\"&&props.strokeStyle&&typeof props.strokeStyle===\"object\"?props.strokeStyle:props;const arr=Array.isArray(obj?.strokeColors)?obj.strokeColors.filter(Boolean):[];const uniq=Array.from(new Set(arr.map(c=>{if(typeof c===\"string\")return c;if(c&&typeof c===\"object\"){const clr=c.color;return clr!=null?String(clr):\"\";}return\"\";}).map(s=>String(s).trim().toLowerCase()))).filter(Boolean);return uniq.length<=1;}},steppedColors:{type:ControlType.Boolean,title:\"Step Colors\",defaultValue:false,hidden:props=>{const obj=props&&typeof props===\"object\"&&props.strokeStyle&&typeof props.strokeStyle===\"object\"?props.strokeStyle:props;const arr=Array.isArray(obj?.strokeColors)?obj.strokeColors.filter(Boolean):[];const uniq=Array.from(new Set(arr.map(c=>{if(typeof c===\"string\")return c;if(c&&typeof c===\"object\"){const clr=c.color;return clr!=null?String(clr):\"\";}return\"\";}).map(s=>String(s).trim().toLowerCase()))).filter(Boolean);return uniq.length<=1;}},strokeWidth:{type:ControlType.Number,title:\"Width\",min:0,max:10,step:.1,defaultValue:1},dotGap:{type:ControlType.Number,title:\"Gap\",min:0,max:50,step:.5,defaultValue:0},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},gradientShadow:{type:ControlType.Boolean,title:\"Gradient\",defaultValue:false,hidden:props=>{const obj=props&&typeof props===\"object\"&&props.strokeStyle&&typeof props.strokeStyle===\"object\"?props.strokeStyle:props;const shadowValue=obj?.shadow;if(!shadowValue)return true;if(typeof shadowValue===\"string\"){return shadowValue.trim()===\"\";}return false;}},lineCap:{type:ControlType.Enum,title:\"Line Cap\",options:[\"round\",\"square\"],optionTitles:[\"Round\",\"Square\"],defaultValue:\"round\"}}},pointStyle:{type:ControlType.Object,optional:true,title:\"Points\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\"},radius:{type:ControlType.Number,title:\"Size\",min:0,max:5,step:.05,defaultValue:1},maskPadding:{type:ControlType.Number,title:\"Mask\",min:0,max:5,step:.1,defaultValue:1},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(255, 255, 255, 1)\"},optional:true},borderRadius:{type:ControlType.BorderRadius,title:\"Corner Radius\",defaultValue:\"0px\"},pointEndpoints:{type:ControlType.Enum,title:\"Point Ends\",options:[\"none\",\"endOnly\",\"both\"],optionTitles:[\"Middle Only\",\"End Only\",\"All Points\"],defaultValue:\"both\"}}},animationSettings:{type:ControlType.Object,optional:true,title:\"Animation\",controls:{transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{duration:.6,ease:\"instant\",delay:0}},pointStagger:{type:ControlType.Number,title:\"Stagger\",min:0,max:3,step:.05,defaultValue:.25,unit:\"s\"},inViewOnce:{type:ControlType.Boolean,title:\"Once\",defaultValue:true},inViewAmount:{type:ControlType.Number,title:\"In view\",min:0,max:1,step:.05,defaultValue:.5},verticalOrigin:{type:ControlType.Enum,title:\"Origin\",options:[\"bottom\",\"top\"],optionTitles:[\"Bottom\",\"Top\"],defaultValue:\"bottom\"},horizontalOrder:{type:ControlType.Enum,title:\"Order\",options:[\"leftToRight\",\"rightToLeft\"],optionTitles:[\"Normal\",\"Inversed\"],defaultValue:\"leftToRight\"},drawLine:{type:ControlType.Boolean,title:\"Draw Line\",defaultValue:false}}},axesSettings:{type:ControlType.Object,title:\"Axes\",controls:{line:{type:ControlType.Object,title:\"Line\",controls:{visibleAxis:{type:ControlType.Enum,title:\"Visible Axis\",options:[\"none\",\"both\",\"x\",\"y\"],optionTitles:[\"None\",\"Both\",\"X Only\",\"Y Only\"],defaultValue:\"both\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#333\",optional:true},thickness:{type:ControlType.Number,title:\"Thickness\",defaultValue:1,min:0,max:5,step:.5},tickLength:{type:ControlType.Number,title:\"Tick Length\",defaultValue:6,min:0,max:20,step:1},tickCount:{type:ControlType.Number,title:\"Tick Count\",defaultValue:0,min:0,max:50,step:1,displayStepper:true}}},labels:{type:ControlType.Object,title:\"Labels\",controls:{labelFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},labelColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#666\",optional:true},labelOffset:{type:ControlType.Number,title:\"Offset\",defaultValue:10,min:0,max:30,step:1}}},grid:{type:ControlType.Object,title:\"Grid\",controls:{gridX:{type:ControlType.Boolean,title:\"Grid X\",defaultValue:false},gridXDotGap:{type:ControlType.Number,title:\"Gap X\",min:0,max:50,step:.5,defaultValue:0,hidden:props=>{//si gridX est false, on cache gridXDotGap\nreturn!props.gridX;}},gridY:{type:ControlType.Boolean,title:\"Grid Y\",defaultValue:false},gridYDotGap:{type:ControlType.Number,title:\"Gap Y\",min:0,max:50,step:.5,defaultValue:0,hidden:props=>{//si gridY est false, on cache gridYDotGap\nreturn!props.gridY;}},gridColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#e0e0e0\",optional:true}}}}},onPointChange:{type:ControlType.EventHandler,title:\"On Point\"},cursorComponent:{type:ControlType.ComponentInstance,title:\"Follower\"},cursorMode:{type:ControlType.Enum,title:\"Follower Mode\",options:[\"continuous\",\"pointsOnly\"],optionTitles:[\"Continuous\",\"Points\"],defaultValue:\"continuous\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PointEndpoints\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"LineChartPro\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"300\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LineChart_Pro.map"],"mappings":"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"}