UNPKG

apexcharts

Version:

A JavaScript Chart Library

6 lines (5 loc) 17.6 kB
/*! * ApexCharts v5.10.5 * (c) 2018-2026 ApexCharts */ "use strict";var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,n=(t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i,l=(e,t)=>{for(var s in t||(t={}))a.call(t,s)&&n(e,s,t[s]);if(i)for(var s of i(t))r.call(t,s)&&n(e,s,t[s]);return e},o=(e,i)=>t(e,s(i));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("apexcharts/core");function c(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const s in e)if("default"!==s){const i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:()=>e[s]})}return t.default=e,Object.freeze(t)}const p=c(h),d=p.__apex_CoreUtils,u=p.__apex_Graphics,g=p.__apex_Fill,f=p.__apex_DataLabels,m=p.__apex_Markers,x=p.__apex_charts_Scatter,b=p.__apex_Series,v=p.__apex_Utils;class P{constructor(e){this.w=e.w,this.lineCtx=e}sameValueSeriesFix(e,t){const s=this.w;if("gradient"===s.config.fill.type||"gradient"===s.config.fill.type[e]){if(new d(this.lineCtx.w).seriesHaveSameValues(e)){const s=t[e].slice();s[s.length-1]=s[s.length-1]+1e-6,t[e]=s}}return t}calculatePoints({series:e,realIndex:t,x:s,y:i,i:a,j:r,prevY:n}){const l=this.w,o=[],h=[];let c=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.axisFlags.isXNumeric&&(c=(l.seriesData.seriesX[t][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===r&&(o.push(c),h.push(v.isNumber(e[a][0])?n+l.config.markers.offsetY:null)),o.push(s+l.config.markers.offsetX),h.push(v.isNumber(e[a][r+1])?i+l.config.markers.offsetY:null),{x:o,y:h}}checkPreviousPaths({pathFromLine:e,pathFromArea:t,realIndex:s}){const i=this.w;for(let a=0;a<i.globals.previousPaths.length;a++){const r=i.globals.previousPaths[a];("line"===r.type||"area"===r.type)&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(s,10)&&("line"===r.type?(this.lineCtx.appendPathFrom=!1,e=i.globals.previousPaths[a].paths[0].d):"area"===r.type&&(this.lineCtx.appendPathFrom=!1,t=i.globals.previousPaths[a].paths[0].d,i.config.stroke.show&&i.globals.previousPaths[a].paths[1]&&(e=i.globals.previousPaths[a].paths[1].d)))}return{pathFromLine:e,pathFromArea:t}}determineFirstPrevY({i:e,realIndex:t,series:s,prevY:i,lineYPosition:a,translationsIndex:r}){var n,l,o;const h=this.w,c=h.config.chart.stacked&&!h.globals.comboCharts||h.config.chart.stacked&&h.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(n=this.w.config.series[t])?void 0:n.type)||"column"===(null==(l=this.w.config.series[t])?void 0:l.type));if(void 0!==(null==(o=s[e])?void 0:o[0]))i=(a=c&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-s[e][0]/this.lineCtx.yRatio[r]+2*(this.lineCtx.isReversed?s[e][0]/this.lineCtx.yRatio[r]:0);else if(c&&e>0&&void 0===s[e][0])for(let t=e-1;t>=0;t--)if(null!==s[t][0]&&void 0!==s[t][0]){i=a=this.lineCtx.prevSeriesY[t][0];break}return{prevY:i,lineYPosition:a}}}const y=e=>{const t=function(e){const t=[];let s=e[0],i=e[1],a=t[0]=w(s,i),r=1;for(let n=e.length-1;r<n;r++)s=i,i=e[r+1],t[r]=.5*(a+(a=w(s,i)));return t[r]=a,t}(e),s=e.length-1,i=[];let a,r,n,l;for(let i=0;i<s;i++)n=w(e[i],e[i+1]),Math.abs(n)<1e-6?t[i]=t[i+1]=0:(a=t[i]/n,r=t[i+1]/n,l=a*a+r*r,l>9&&(l=3*n/Math.sqrt(l),t[i]=l*a,t[i+1]=l*r));for(let a=0;a<=s;a++)l=(e[Math.min(s,a+1)][0]-e[Math.max(0,a-1)][0])/(6*(1+t[a]*t[a])),i.push([l||0,t[a]*l||0]);return i},k={points(e){const t=y(e),s=e[1],i=e[0],a=[],r=t[1],n=t[0];a.push(i,[i[0]+n[0],i[1]+n[1],s[0]-r[0],s[1]-r[1],s[0],s[1]]);for(let s=2,i=t.length;s<i;s++){const i=e[s],r=t[s];a.push([i[0]-r[0],i[1]-r[1],i[0],i[1]])}return a},slice(e,t,s){const i=e.slice(t,s);if(t){if(s-t>1&&i[1].length<6){const e=i[0].length;i[1]=[2*i[0][e-2]-i[0][e-4],2*i[0][e-1]-i[0][e-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i}};function w(e,t){return(t[1]-e[1])/(t[0]-e[0])}class Y{constructor(e,t,s,i){this.ctx=t,this.w=e,this.xyRatios=s,this.xRatio=0,this.yRatio=[],this.zRatio=0,this.baseLineY=[],this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||i,this.scatter=new x(this.w,this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new P(this),this.markers=new m(this.w,this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0,this.xDivision=0,this.zeroY=0,this.areaBottomY=0,this.strokeWidth=0,this.isReversed=!1,this.appendPathFrom=!1,this.elSeries=null,this.elPointsMain=null,this.elDataLabelsWrap=null}draw(e,t,s,i){var a;const r=this.w,n=new u(this.w),h=r.globals.comboCharts?t:r.config.chart.type,c=n.group({class:`apexcharts-${h}-series apexcharts-plot-series`}),p=new d(this.w);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=p.getLogSeries(e),this.yRatio=p.getLogYRatios(this.yRatio),this.prevSeriesY=[];const g=[];for(let t=0;t<e.length;t++){e=this.lineHelpers.sameValueSeriesFix(t,e);const a=r.globals.comboCharts?s[t]:t,n=this.yRatio.length>1?a:0;this._initSerieVariables(e,t,a);const c=[],p=[],d=[];let u=r.globals.padHorizontal+this.categoryAxisCorrection;const f=1,m=[],x=[];b.addCollapsedClassToSeries(this.w,this.elSeries,a),r.axisFlags.isXNumeric&&r.seriesData.seriesX.length>0&&(u=(r.seriesData.seriesX[a][0]-r.globals.minX)/this.xRatio),d.push(u);const v=u;let P;const y=v;let k=this.zeroY,w=this.zeroY;const Y=0;k=this.lineHelpers.determineFirstPrevY({i:t,realIndex:a,series:e,prevY:k,lineYPosition:Y,translationsIndex:n}).prevY,"monotoneCubic"===r.config.stroke.curve&&null===e[t][0]?c.push(null):c.push(k);const A=k;let S;"rangeArea"===h&&(S=this.lineHelpers.determineFirstPrevY({i:t,realIndex:a,series:i,prevY:w,lineYPosition:Y,translationsIndex:n}),w=S.prevY,P=w,p.push(null!==c[0]?w:null));const I=this._calculatePathsFrom({type:h,series:e,i:t,realIndex:a,translationsIndex:n,prevX:y,prevY:k,prevY2:w}),R=[c[0]],F=[p[0]],C={type:h,series:e,realIndex:a,translationsIndex:n,i:t,x:u,y:f,pX:v,pY:A,pathsFrom:I,linePaths:m,areaPaths:x,seriesIndex:s,lineYPosition:Y,xArrj:d,yArrj:c,y2Arrj:p,seriesRangeEnd:i},_=this._iterateOverDataPoints(o(l({},C),{iterations:"rangeArea"===h?e[t].length-1:void 0,isRangeStart:!0}));if("rangeArea"===h){const e=this._calculatePathsFrom({series:i,i:t,realIndex:a,prevX:y,prevY:w}),s=this._iterateOverDataPoints(o(l({},C),{series:i,xArrj:[u],yArrj:R,y2Arrj:F,pY:P,areaPaths:_.areaPaths,pathsFrom:e,iterations:i[t].length-1,isRangeStart:!1})),r=_.linePaths.length/2;for(let e=0;e<r;e++)_.linePaths[e]=s.linePaths[e+r]+_.linePaths[e];_.linePaths.splice(r),_.pathFromLine=s.pathFromLine+_.pathFromLine}else _.pathFromArea+="z";this._handlePaths({type:h,realIndex:a,i:t,paths:_}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),g.push(this.elSeries)}if(void 0!==(null==(a=r.config.series[0])?void 0:a.zIndex)&&g.sort((e,t)=>Number(e.node.getAttribute("zIndex"))-Number(t.node.getAttribute("zIndex"))),r.config.chart.stacked)for(let e=g.length-1;e>=0;e--)c.add(g[e]);else for(let e=0;e<g.length;e++)c.add(g[e]);return c}_initSerieVariables(e,t,s){const i=this.w,a=new u(this.w);this.xDivision=i.layout.gridWidth/(i.globals.dataPoints-("on"===i.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(i.config.stroke.width)?i.config.stroke.width[s]:i.config.stroke.width;let r=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[s],r=s),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed,this.zeroY=i.layout.gridHeight-this.baseLineY[r]-(this.isReversed?i.layout.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>i.layout.gridHeight||"end"===i.config.plotOptions.area.fillTo)&&(this.areaBottomY=i.layout.gridHeight),this.categoryAxisCorrection=this.xDivision/2;const n=i.config.series[s];if(this.elSeries=a.group({class:"apexcharts-series",zIndex:void 0!==n.zIndex?n.zIndex:s,seriesName:v.escapeString(i.seriesData.seriesNames[s])}),this.elPointsMain=a.group({class:"apexcharts-series-markers-wrap","data:realIndex":s}),i.globals.hasNullValues){const e=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[i.layout.gridHeight+i.globals.markers.largestSize]},seriesIndex:t,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==e&&this.elPointsMain.add(e)}this.elDataLabelsWrap=a.group({class:"apexcharts-datalabels","data:realIndex":s});const l=e[t].length===i.globals.dataPoints;this.elSeries.attr({"data:longestSeries":l,rel:t+1,"data:realIndex":s}),this.appendPathFrom=!0}_calculatePathsFrom({type:e,series:t,i:s,realIndex:i,translationsIndex:a,prevX:r,prevY:n,prevY2:l}){const o=this.w,h=new u(this.w);let c,p,d,g;if(null===t[s][0]){for(let e=0;e<t[s].length;e++)if(null!==t[s][e]){r=this.xDivision*e,n=this.zeroY-t[s][e]/this.yRatio[a],c=h.move(r,n),p=h.move(r,this.areaBottomY);break}}else c=h.move(r,n),"rangeArea"===e&&(c=h.move(r,l)+h.line(r,n)),p=h.move(r,this.areaBottomY)+h.line(r,n);if(d=h.move(0,this.areaBottomY)+h.line(0,this.areaBottomY),g=h.move(0,this.areaBottomY)+h.line(0,this.areaBottomY),o.globals.previousPaths.length>0){const e=this.lineHelpers.checkPreviousPaths({pathFromLine:d,pathFromArea:g,realIndex:i});d=e.pathFromLine,g=e.pathFromArea}return{prevX:r,prevY:n,linePath:c,areaPath:p,pathFromLine:d,pathFromArea:g}}_handlePaths({type:e,realIndex:t,i:s,paths:i}){const a=this.w,r=new u(this.w),n=new g(this.w);this.prevSeriesY.push(i.yArrj),a.globals.seriesXvalues[t]=i.xArrj,a.globals.seriesYvalues[t]=i.yArrj;const h=a.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==e){const e=a.globals.seriesXvalues[t][a.globals.seriesXvalues[t].length-h.count-1],s=r.drawRect(e,0,a.layout.gridWidth,a.layout.gridHeight,0);a.dom.elForecastMask.appendChild(s.node);const i=r.drawRect(0,0,e,a.layout.gridHeight,0);a.dom.elNonForecastMask.appendChild(i.node)}this.pointsChart||a.globals.delayedElements.push({el:this.elPointsMain.node,index:t});const c={i:s,realIndex:t,animationDelay:s,initialSpeed:a.config.chart.animations.speed,dataChangeSpeed:a.config.chart.animations.dynamicAnimation.speed,className:`apexcharts-${e}`};if("area"===e){const e=n.fillPath({seriesNumber:t});for(let t=0;t<i.areaPaths.length;t++){const s=r.renderPaths(o(l({},c),{pathFrom:i.pathFromArea,pathTo:i.areaPaths[t],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:e}));this.elSeries.add(s)}}if(a.config.stroke.show&&!this.pointsChart){let p=null;if("line"===e)p=n.fillPath({seriesNumber:t,i:s});else if("solid"===a.config.stroke.fill.type)p=a.globals.stroke.colors[t];else{const e=a.config.fill;a.config.fill=a.config.stroke.fill,p=n.fillPath({seriesNumber:t,i:s}),a.config.fill=e}for(let s=0;s<i.linePaths.length;s++){let d=p;"rangeArea"===e&&(d=n.fillPath({seriesNumber:t}));const u=o(l({},c),{pathFrom:i.pathFromLine,pathTo:i.linePaths[s],stroke:p,strokeWidth:this.strokeWidth,strokeLineCap:a.config.stroke.lineCap,fill:"rangeArea"===e?d:"none"}),g=r.renderPaths(u);if(this.elSeries.add(g),g.attr("fill-rule","evenodd"),h.count>0&&"rangeArea"!==e){const e=r.renderPaths(u);e.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&e.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(e),e.attr("clip-path",`url(#forecastMask${a.globals.cuid})`),g.attr("clip-path",`url(#nonForecastMask${a.globals.cuid})`)}}}}_iterateOverDataPoints({type:e,series:t,iterations:s,realIndex:i,translationsIndex:a,i:r,x:n,y:l,pX:o,pY:h,pathsFrom:c,linePaths:p,areaPaths:d,seriesIndex:g,lineYPosition:f,xArrj:m,yArrj:x,y2Arrj:b,isRangeStart:P,seriesRangeEnd:y}){var k,w;const Y=this.w,A=new u(this.w),S=this.yRatio;let{prevY:I,linePath:R,areaPath:F,pathFromLine:C,pathFromArea:_}=c;const j=v.isNumber(Y.globals.minYArr[i])?Y.globals.minYArr[i]:Y.globals.minY;s||(s=Y.globals.dataPoints>1?Y.globals.dataPoints-1:Y.globals.dataPoints);const X=(e,t)=>t-e/S[a]+2*(this.isReversed?e/S[a]:0);let z=l;const D=Y.config.chart.stacked&&!Y.globals.comboCharts||Y.config.chart.stacked&&Y.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null==(k=this.w.config.series[i])?void 0:k.type)||"column"===(null==(w=this.w.config.series[i])?void 0:w.type));let L=Y.config.stroke.curve;Array.isArray(L)&&(L=Array.isArray(g)?L[g[r]]:L[r]);let M,N=0;for(let a=0;a<s&&0!==t[r].length;a++){const c=void 0===t[r][a+1]||null===t[r][a+1];if(Y.axisFlags.isXNumeric){let e=Y.seriesData.seriesX[i][a+1];void 0===Y.seriesData.seriesX[i][a+1]&&(e=Y.seriesData.seriesX[i][s-1]),n=(e-Y.globals.minX)/this.xRatio}else n+=this.xDivision;if(D)if(r>0&&Y.globals.collapsedSeries.length<Y.config.series.length-1){const e=e=>{for(let t=e;t>0;t--){if(!(Y.globals.collapsedSeriesIndices.indexOf((null==g?void 0:g[t])||t)>-1))return t;t--}return 0};f=this.prevSeriesY[e(r-1)][a+1]}else f=this.zeroY;else f=this.zeroY;c?l=X(j,f):(l=X(t[r][a+1],f),"rangeArea"===e&&(z=X(y[r][a+1],f))),m.push(null===t[r][a+1]?null:n),!c||"smooth"!==Y.config.stroke.curve&&"monotoneCubic"!==Y.config.stroke.curve?(x.push(l),b.push(z)):(x.push(null),b.push(null));const u=this.lineHelpers.calculatePoints({series:t,x:n,y:l,realIndex:i,i:r,j:a,prevY:I}),v=this._createPaths({type:e,series:t,i:r,j:a,x:n,y:l,y2:z,xArrj:m,yArrj:x,y2Arrj:b,pX:o,pY:h,pathState:N,segmentStartX:M,linePath:R,areaPath:F,linePaths:p,areaPaths:d,curve:L,isRangeStart:P});d=v.areaPaths,p=v.linePaths,o=v.pX,h=v.pY,N=v.pathState,M=v.segmentStartX,F=v.areaPath,R=v.linePath,!this.appendPathFrom||Y.globals.hasNullValues||"monotoneCubic"===L&&"rangeArea"===e||(C+=A.line(n,this.areaBottomY),_+=A.line(n,this.areaBottomY)),this.handleNullDataPoints(t,u,r,a,i),this._handleMarkersAndLabels({type:e,pointsPos:u,i:r,j:a,realIndex:i,isRangeStart:P})}return{yArrj:x,xArrj:m,pathFromArea:_,areaPaths:d,pathFromLine:C,linePaths:p,linePath:R,areaPath:F}}_handleMarkersAndLabels({type:e,pointsPos:t,isRangeStart:s,i:i,j:a,realIndex:r}){const n=this.w,l=new f(this.w,this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:r,pointsPos:t,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.seriesData.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");const e=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:r,j:a+1});null!==e&&this.elPointsMain.add(e)}const o=l.drawDataLabel({type:e,isRangeStart:s,pos:t,i:r,j:a+1});null!==o&&this.elDataLabelsWrap.add(o)}_createPaths({type:e,series:t,i:s,j:i,x:a,y:r,xArrj:n,yArrj:l,y2:o,y2Arrj:h,pX:c,pY:p,pathState:d,segmentStartX:g,linePath:f,areaPath:m,linePaths:x,areaPaths:b,curve:v,isRangeStart:P}){const y=new u(this.w),w=this.areaBottomY,Y="rangeArea"===e,A="rangeArea"===e&&P;switch(v){case"monotoneCubic":{const e=P?l:h,a=(e,t)=>e.map((e,s)=>[e,t[s]]).filter(e=>null!==e[1]),r=e=>{const t=[];let s=0;return e.forEach(e=>{null!==e?s++:s>0&&(t.push(s),s=0)}),s>0&&t.push(s),t},o=(e,t)=>{const s=r(e),i=[];for(let e=0,a=0;e<s.length;a+=s[e++])i[e]=k.slice(t,a,a+s[e]);return i};switch(d){case 0:if(null===e[i+1])break;d=1;case 1:if(!(Y?n.length===t[s].length:i===t[s].length-2))break;case 2:{const t=P?n:n.slice().reverse(),s=P?e:e.slice().reverse(),i=a(t,s),r=i.length>1?k.points(i):i;let l=[];Y&&(A?b=i:l=b.reverse());let h=0,c=0;if(o(s,r).forEach(e=>{h++;const t=(e=>{let t="";for(let s=0;s<e.length;s++){const i=e[s],a=i.length;a>4?(t+=`C${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`,t+=`, ${i[4]}, ${i[5]}`):a>2&&(t+=`S${i[0]}, ${i[1]}`,t+=`, ${i[2]}, ${i[3]}`)}return t})(e),s=c;c+=e.length;const a=c-1;A?f=y.move(i[s][0],i[s][1])+t:Y?f=y.move(l[s][0],l[s][1])+y.line(i[s][0],i[s][1])+t+y.line(l[a][0],l[a][1]):(f=y.move(i[s][0],i[s][1])+t,m=f+y.line(i[a][0],w)+y.line(i[s][0],w)+"z",b.push(m)),x.push(f)}),Y&&h>1&&!A){const e=x.slice(h).reverse();x.splice(h),e.forEach(e=>x.push(e))}d=0;break}}break}case"smooth":{const e=.35*(a-c);if(null===t[s][i])d=0;else switch(d){case 0:if(g=c,f=A?y.move(c,h[i])+y.line(c,p):y.move(c,p),m=y.move(c,p),null===t[s][i+1]||void 0===t[s][i+1]){x.push(f),b.push(m);break}if(d=1,i<t[s].length-2){const t=y.curve(c+e,p,a-e,r,a,r);f+=t,m+=t;break}case 1:if(null===t[s][i+1])f+=A?y.line(c,o):y.move(c,p),m+=y.line(c,w)+y.line(g,w)+"z",x.push(f),b.push(m),d=-1;else{const n=y.curve(c+e,p,a-e,r,a,r);f+=n,m+=n,i>=t[s].length-2&&(A&&(f+=y.curve(a,r,a,r,a,o)+y.move(a,o)),m+=y.curve(a,r,a,r,a,w)+y.line(g,w)+"z",x.push(f),b.push(m),d=-1)}}c=a,p=r;break}default:{const e=(e,t,s)=>{let i="";switch(e){case"stepline":i=y.line(t,null,"H")+y.line(null,s,"V");break;case"linestep":i=y.line(null,s,"V")+y.line(t,null,"H");break;case"straight":i=y.line(t,s)}return i};if(null===t[s][i])d=0;else switch(d){case 0:if(g=c,f=A?y.move(c,h[i])+y.line(c,p):y.move(c,p),m=y.move(c,p),null===t[s][i+1]||void 0===t[s][i+1]){x.push(f),b.push(m);break}if(d=1,i<t[s].length-2){const t=e(v,a,r);f+=t,m+=t;break}case 1:if(null===t[s][i+1])f+=A?y.line(c,o):y.move(c,p),m+=y.line(c,w)+y.line(g,w)+"z",x.push(f),b.push(m),d=-1;else{const n=e(v,a,r);f+=n,m+=n,i>=t[s].length-2&&(A&&(f+=y.line(a,o)),m+=y.line(a,w)+y.line(g,w)+"z",x.push(f),b.push(m),d=-1)}}c=a,p=r;break}}return{linePaths:x,areaPaths:b,pX:c,pY:p,pathState:d,segmentStartX:g,linePath:f,areaPath:m}}handleNullDataPoints(e,t,s,i,a){const r=this.w;if(null===e[s][i]&&r.config.markers.showNullDataPoints||1===e[s].length){let e=this.strokeWidth-r.config.markers.strokeWidth/2;e>0||(e=0);const s=this.markers.plotChartMarkers({pointsPos:t,seriesIndex:a,j:i+1,pSize:e,alwaysDrawMarker:!0});null!==s&&this.elPointsMain.add(s)}}}h.use({line:Y,area:Y,scatter:Y,bubble:Y,rangeArea:Y}),exports.default=h;