@undp/data-viz 2.3.15 → 2.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +9 -6
- package/dist/BiVariateChoroplethMap.js +1 -1
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +9 -6
- package/dist/ChoroplethMap.js +1 -1
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/Data/data.json +2627 -0
- package/dist/Data/testMap.json +1 -361
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +7 -5
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/{GraphEl-BgNA-xFf.js → GraphEl-CnJf8b50.js} +2 -1
- package/dist/GraphEl-CnJf8b50.js.map +1 -0
- package/dist/{GraphEl-Bl1Hnqnd.cjs → GraphEl-D_w0Qak4.cjs} +2 -2
- package/dist/GraphEl-D_w0Qak4.cjs.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +8 -5
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +8 -5
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +7 -5
- package/dist/HybridMap.js.map +1 -1
- package/dist/MultiGraphDashboard.d.ts +8 -5
- package/dist/MultiGraphDashboardFromConfig.d.ts +8 -5
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +2 -0
- package/dist/MultiLineAltChart.js +387 -379
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +8 -5
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +8 -5
- package/dist/PerformanceIntensiveScrollStory.d.ts +8 -5
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.d.ts +2 -0
- package/dist/ScatterPlot.js +396 -400
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.d.ts +8 -5
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +8 -5
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +8 -5
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +8 -5
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +8 -5
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +8 -5
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +8 -5
- package/dist/Types.d.ts +8 -5
- package/dist/index.d.ts +18 -27
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/GraphEl-BgNA-xFf.js.map +0 -1
- package/dist/GraphEl-Bl1Hnqnd.cjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-CHPV5EwG-6v2a2njQ.cjs"),L=require("react"),b=require("./parse-xYI9yrvL.cjs"),$e=require("./index-Cno4Q0YE.cjs"),Ve=require("./numberFormattingFunction-02t-wJta.cjs"),Xe=require("./Tooltip-BLa2EfMs.cjs"),v=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Te=require("./customArea-B1LWQBmM.cjs"),Fe=require("./AxisTitle-DV4n0RxE.cjs"),Pe=require("./Axis-Jt_tmhxS.cjs"),Be=require("./XTicksAndGridLines-CekrPykD.cjs"),ze=require("./ReferenceLine-M9aP3dj-.cjs"),Je=require("./YTicksAndGridLines-UzVC5eBM.cjs"),Ke=require("./index-D69M6klB.cjs"),F=require("./Colors.cjs"),ke=require("./uniqBy-O05lp2S5.cjs"),Ne=require("./init-DU0ybBc_.cjs"),Qe=require("./time-CkcKbhwe.cjs"),Ze=require("./linear-CgUCbw9F.cjs"),_e=require("./delaunay-rcy0HhZi.cjs"),Ue=require("./line-DaEMhXmx.cjs"),Le=require("./step-BZ3C8QFW.cjs"),tn=require("./select-Bnfk0lJx.cjs"),zt=require("./proxy-C4-uo6nS.cjs"),en=require("./pointer-Dkq5NV1q.cjs"),nn=require("./use-in-view-C3o_ntMv.cjs"),on=require("./GraphFooter.cjs"),rn=require("./GraphHeader.cjs"),sn=require("./EmptyState-B4c-CrXs.cjs"),ln=require("./ColorLegendWithMouseOver.cjs"),He=require("./GraphContainer-B1EDxJ0S.cjs"),an=require("./getNoOfTicks-C_1CFXv_.cjs");function cn(e,t){return Array.from(t,o=>e[o])}function un(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[o]=t;if(o&&o.length!==2||t.length>1){const O=Uint32Array.from(e,(k,u)=>u);return t.length>1?(t=t.map(k=>e.map(k)),O.sort((k,u)=>{for(const r of t){const bt=Ie(r[k],r[u]);if(bt)return bt}})):(o=e.map(o),O.sort((k,u)=>Ie(o[k],o[u]))),cn(e,O)}return e.sort(fn(o))}function fn(e=Ne.ascending){if(e===Ne.ascending)return Ie;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,o)=>{const O=e(t,o);return O||O===0?O:(e(o,o)===0)-(e(t,t)===0)}}function Ie(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function mn(e){const t=s.compilerRuntimeExports.c(128),{data:o,width:O,height:k,lineColors:u,dateFormat:r,noOfXTicks:bt,rightMargin:it,topMargin:Jt,bottomMargin:ot,suffix:$,prefix:g,leftMargin:C,tooltip:Ct,onSeriesMouseOver:rt,refValues:st,highlightAreaSettings:Kt,minValue:P,maxValue:Rt,highlightedLines:V,animate:l,rtl:B,strokeWidth:q,showDots:le,annotations:At,customHighlightAreaSettings:Qt,yAxisTitle:Et,noOfYTicks:Zt,minDate:Lt,maxDate:_t,curveType:lt,styles:w,colorDomain:R,selectedColor:kt,classNames:A,showLabels:pe,dimmedOpacity:S,precision:U,naLabel:ge,customLayers:z,showHighlightedLinesLabels:ye}=e,Nt=L.useRef(null);let J;t[0]!==l.amount||t[1]!==l.once?(J={once:l.once,amount:l.amount},t[0]=l.amount,t[1]=l.once,t[2]=J):J=t[2];const m=nn.useInView(Nt,J),[N,ae]=L.useState(!1);let Dt,at;t[3]!==l.duration||t[4]!==N||t[5]!==m?(Dt=()=>{if(m&&!N){const n=setTimeout(()=>{ae(!0)},(l.duration+.5)*1e3);return()=>clearTimeout(n)}},at=[m,N,l.duration],t[3]=l.duration,t[4]=N,t[5]=m,t[6]=Dt,t[7]=at):(Dt=t[6],at=t[7]),L.useEffect(Dt,at);const ce=lt==="linear"?Ue.curveLinear:lt==="step"?Le.curveStep:lt==="stepAfter"?Le.stepAfter:lt==="stepBefore"?Le.stepBefore:Le.monotoneX;let qt;t[8]!==r?(qt=n=>({...n,date:b.parse(`${n.date}`,r,new Date)}),t[8]=r,t[9]=qt):qt=t[9];const a=$e.orderBy(o.map(qt),["date"],["asc"]).filter(Yn),d=ke.uniqBy(a,"label",!0);let St;t[10]!==r?(St=n=>b.parse(`${n}`,r,new Date),t[10]=r,t[11]=St):St=t[11];const te=un(ke.uniqBy(o,"date",!0).map(St),Wn),[h,ct]=L.useState(void 0),[ut,K]=L.useState(void 0),[ft,Q]=L.useState(void 0),Mt=Et?C+30:C;let mt;t[12]!==ot||t[13]!==it||t[14]!==Mt||t[15]!==Jt?(mt={top:Jt,bottom:ot,left:Mt,right:it},t[12]=ot,t[13]=it,t[14]=Mt,t[15]=Jt,t[16]=mt):mt=t[16];const p=mt,ue=L.useRef(null),fe=d.map(n=>$e.orderBy(a.filter(i=>i.label==n),["date"],["asc"]));let xt;if(t[17]!==r||t[18]!==Kt){let n;t[20]!==r?(n=i=>({...i,coordinates:[i.coordinates[0]===null?null:b.parse(`${i.coordinates[0]}`,r,new Date),i.coordinates[1]===null?null:b.parse(`${i.coordinates[1]}`,r,new Date)]}),t[20]=r,t[21]=n):n=t[21],xt=Kt.map(n),t[17]=r,t[18]=Kt,t[19]=xt}else xt=t[19];const Tt=xt;let ht;if(t[22]!==Qt||t[23]!==r){let n;t[25]!==r?(n=i=>({...i,coordinates:i.coordinates.map((y,Bt)=>Bt%2===0?b.parse(`${y}`,r,new Date):y)}),t[25]=r,t[26]=n):n=t[26],ht=Qt.map(n),t[22]=Qt,t[23]=r,t[24]=ht}else ht=t[24];const me=ht,x=O-p.left-p.right,D=k-p.top-p.bottom,ee=Lt?b.parse(`${Lt}`,r,new Date):te[0],xe=_t?b.parse(`${_t}`,r,new Date):te[te.length-1],j=v.checkIfNullOrUndefined(P)?Math.min(...a.map(Gn).filter(Hn))?Math.min(...a.map(Un).filter(Vn))>0?0:Math.min(...a.map($n).filter(In)):0:P,Z=Math.max(...a.map(Tn).filter(Mn))?Math.max(...a.map(Sn).filter(qn)):0,f=Qe.time().domain([ee,xe]).range([0,x]);let _;t[27]!==j||t[28]!==P?(_=v.checkIfNullOrUndefined(P)?j:P,t[27]=j,t[28]=P,t[29]=_):_=t[29];let tt;t[30]!==Z||t[31]!==Rt?(tt=v.checkIfNullOrUndefined(Rt)?Z>0?Z:0:Rt,t[30]=Z,t[31]=Rt,t[32]=tt):tt=t[32];const c=Ze.linear().domain([_,tt]).range([D,0]).nice(),he=_e.Delaunay.from(a.filter(Dn),n=>f(n.date),n=>c(n.y)).voronoi([0,0,x<0?0:x,D<0?0:D]),It=Ue.line().x(n=>f(n.date)).y(n=>c(n.y)).curve(ce),ne=c.ticks(Zt),$t=f.ticks(bt);L.useEffect(()=>{const n=y=>{const Bt=a[Ne.bisectCenter(a.map(Nn),f.invert(en.pointer(y)[0]),0)];ct(Bt||a[a.length-1]),Q(y.clientY),K(y.clientX),rt?.(Bt||a[a.length-1])},i=()=>{ct(void 0),K(void 0),Q(void 0)};tn.select(ue.current).on("mousemove",n).on("mouseout",i),rt?.(void 0)},[f,a,rt]);let dt;t[33]!==l||t[34]!==D||t[35]!==x||t[36]!==Tt||t[37]!==m||t[38]!==f?(dt=s.jsxRuntimeExports.jsx(Ke.HighlightArea,{areaSettings:Tt,width:x,height:D,scale:f,animate:l,isInView:m}),t[33]=l,t[34]=D,t[35]=x,t[36]=Tt,t[37]=m,t[38]=f,t[39]=dt):dt=t[39];const pt=w?.yAxis?.gridLines,Vt=w?.yAxis?.labels;let E;t[40]!==pt||t[41]!==Vt?(E={gridLines:pt,labels:Vt},t[40]=pt,t[41]=Vt,t[42]=E):E=t[42];const Ut=A?.yAxis?.gridLines,Ht=A?.yAxis?.labels;let gt;t[43]!==Ut||t[44]!==Ht?(gt={gridLines:Ut,labels:Ht},t[43]=Ut,t[44]=Ht,t[45]=gt):gt=t[45];const Gt=c(j<0?0:j),yt=c(j<0?0:j),Wt=0-C,Yt=x+p.right,et=j<0?0:j;let vt;t[46]!==U||t[47]!==g||t[48]!==$||t[49]!==et?(vt=Ve.numberFormattingFunction(et,"NA",U,g,$),t[46]=U,t[47]=g,t[48]=$,t[49]=et,t[50]=vt):vt=t[50];const Ot=0-C,de=c(j<0?0:j),Xt=Z<0?"1em":-5;let jt;t[51]!==Ot||t[52]!==de||t[53]!==Xt?(jt={x:Ot,y:de,dx:0,dy:Xt},t[51]=Ot,t[52]=de,t[53]=Xt,t[54]=jt):jt=t[54];const Ft=A?.xAxis?.axis,ie=A?.yAxis?.labels;let M;t[55]!==Ft||t[56]!==ie?(M={axis:Ft,label:ie},t[55]=Ft,t[56]=ie,t[57]=M):M=t[57];const wt=w?.xAxis?.axis,Pt=w?.yAxis?.labels;let H;t[58]!==wt||t[59]!==Pt?(H={axis:wt,label:Pt},t[58]=wt,t[59]=Pt,t[60]=H):H=t[60];let T;t[61]!==Gt||t[62]!==yt||t[63]!==Wt||t[64]!==Yt||t[65]!==vt||t[66]!==jt||t[67]!==M||t[68]!==H?(T=s.jsxRuntimeExports.jsx(Pe.Axis,{y1:Gt,y2:yt,x1:Wt,x2:Yt,label:vt,labelPos:jt,classNames:M,styles:H}),t[61]=Gt,t[62]=yt,t[63]=Wt,t[64]=Yt,t[65]=vt,t[66]=jt,t[67]=M,t[68]=H,t[69]=T):T=t[69];const G=0-C-15,W=D/2,Y=w?.yAxis?.title,X=A?.yAxis?.title;let I;t[70]!==G||t[71]!==W||t[72]!==Y||t[73]!==X||t[74]!==Et?(I=s.jsxRuntimeExports.jsx(Fe.AxisTitle,{x:G,y:W,style:Y,className:X,text:Et,rotate90:!0}),t[70]=G,t[71]=W,t[72]=Y,t[73]=X,t[74]=Et,t[75]=I):I=t[75];let nt;t[76]!==r?(nt=n=>b.format(n,r),t[76]=r,t[77]=nt):nt=t[77];const ve=$t.map(nt),Oe=$t.map(n=>f(n)),De=w?.xAxis?.gridLines,qe=w?.xAxis?.labels;let je;t[78]!==De||t[79]!==qe?(je={gridLines:De,labels:qe},t[78]=De,t[79]=qe,t[80]=je):je=t[80];const Se=A?.xAxis?.gridLines;let oe;t[81]!==Se?(oe=s.mo("opacity-0",Se),t[81]=Se,t[82]=oe):oe=t[82];const Me=A?.xAxis?.labels;let re;t[83]!==Me?(re=s.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",Me),t[83]=Me,t[84]=re):re=t[84];let we;t[85]!==oe||t[86]!==re?(we={gridLines:oe,labels:re},t[85]=oe,t[86]=re,t[87]=we):we=t[87];let be;t[88]!==z?(be=z.filter(En).map(An),t[88]=z,t[89]=be):be=t[89];const Ge=a.filter(dn).map((n,i)=>s.jsxRuntimeExports.jsx("g",{children:s.jsxRuntimeExports.jsx("path",{d:he.renderCell(a.findIndex(y=>y.label===n.label&&y.date===n.date)),opacity:0,onMouseEnter:y=>{ct(n),Q(y.clientY),K(y.clientX),rt?.(n)},onMouseMove:y=>{ct(n),Q(y.clientY),K(y.clientX)},onMouseLeave:()=>{ct(void 0),K(void 0),Q(void 0),rt?.(void 0)}})},i));let Ce;t[90]!==l||t[91]!==x||t[92]!==m||t[93]!==C||t[94]!==p.right||t[95]!==st||t[96]!==c?(Ce=st?s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:st.map((n,i)=>s.jsxRuntimeExports.jsx(ze.RefLineY,{text:n.text,color:n.color,y:c(n.value),x1:0-C,x2:x+p.right,classNames:n.classNames,styles:n.styles,animate:l,isInView:m},i))}):null,t[90]=l,t[91]=x,t[92]=m,t[93]=C,t[94]=p.right,t[95]=st,t[96]=c,t[97]=Ce):Ce=t[97];let se;if(t[98]!==l||t[99]!==At||t[100]!==r||t[101]!==x||t[102]!==m||t[103]!==p.right||t[104]!==B||t[105]!==f||t[106]!==c){let n;t[108]!==l||t[109]!==r||t[110]!==x||t[111]!==m||t[112]!==p.right||t[113]!==B||t[114]!==f||t[115]!==c?(n=(i,y)=>{const Bt=Te.getLineEndPoint({x:i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date))+(i.xOffset||0):0+(i.xOffset||0),y:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0)-8:0+(i.yOffset||0)-8},{x:i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date)):0,y:i.yCoordinate?c(i.yCoordinate):0},v.checkIfNullOrUndefined(i.connectorRadius)?3.5:i.connectorRadius),We=i.showConnector?{y1:Bt.y,x1:Bt.x,y2:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0):0+(i.yOffset||0),x2:i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date))+(i.xOffset||0):0+(i.xOffset||0),cy:i.yCoordinate?c(i.yCoordinate):0,cx:i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date)):0,circleRadius:v.checkIfNullOrUndefined(i.connectorRadius)?3.5:i.connectorRadius,strokeWidth:i.showConnector===!0?2:Math.min(i.showConnector||0,1)}:void 0,Ye={y:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0)-8:0+(i.yOffset||0)-8,x:B?0:i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date))+(i.xOffset||0):0+(i.xOffset||0),width:B?i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date))+(i.xOffset||0):0+(i.xOffset||0):x+p.right-(i.xCoordinate?f(b.parse(`${i.xCoordinate}`,r,new Date))+(i.xOffset||0):0+(i.xOffset||0)),maxWidth:i.maxWidth,fontWeight:i.fontWeight,align:i.align};return s.jsxRuntimeExports.jsx(Te.Annotation,{color:i.color,connectorsSettings:We,labelSettings:Ye,text:i.text,classNames:i.classNames,styles:i.styles,animate:l,isInView:m},y)},t[108]=l,t[109]=r,t[110]=x,t[111]=m,t[112]=p.right,t[113]=B,t[114]=f,t[115]=c,t[116]=n):n=t[116],se=At.map(n),t[98]=l,t[99]=At,t[100]=r,t[101]=x,t[102]=m,t[103]=p.right,t[104]=B,t[105]=f,t[106]=c,t[107]=se}else se=t[107];let Re;t[117]!==se?(Re=s.jsxRuntimeExports.jsx("g",{children:se}),t[117]=se,t[118]=Re):Re=t[118];let Ae;t[119]!==z?(Ae=z.filter(hn).map(xn),t[119]=z,t[120]=Ae):Ae=t[120];let Ee;return t[121]!==A?.tooltip||t[122]!==ut||t[123]!==ft||t[124]!==h||t[125]!==w?.tooltip||t[126]!==Ct?(Ee=h&&Ct&&ut&&ft?s.jsxRuntimeExports.jsx(Xe.Tooltip,{data:h,body:Ct,xPos:ut,yPos:ft,backgroundStyle:w?.tooltip,className:A?.tooltip}):null,t[121]=A?.tooltip,t[122]=ut,t[123]=ft,t[124]=h,t[125]=w?.tooltip,t[126]=Ct,t[127]=Ee):Ee=t[127],s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx(zt.motion.svg,{width:`${O}px`,height:`${k}px`,viewBox:`0 0 ${O} ${k}`,direction:"ltr",ref:Nt,children:s.jsxRuntimeExports.jsxs("g",{transform:`translate(${p.left},${p.top})`,children:[dt,s.jsxRuntimeExports.jsx(Te.CustomArea,{areaSettings:me,scaleX:f,scaleY:c,animate:l,isInView:m}),s.jsxRuntimeExports.jsxs("g",{children:[s.jsxRuntimeExports.jsx(Je.YTicksAndGridLines,{values:ne.filter(kn),y:ne.filter(Ln).map(n=>c(n)),x1:0-C,x2:x+p.right,styles:E,classNames:gt,suffix:$,prefix:g,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:U}),T,I]}),s.jsxRuntimeExports.jsx("g",{children:s.jsxRuntimeExports.jsx(Be.XTicksAndGridLines,{values:ve,x:Oe,y1:0,y2:D,styles:je,classNames:we,suffix:$,prefix:g,labelType:"primary",showGridLines:!0,precision:U})}),be,s.jsxRuntimeExports.jsxs(zt.motion.g,{children:[fe.map(n=>s.jsxRuntimeExports.jsxs(zt.motion.g,{exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{opacity:h?n[0].label===h.label?1:S:kt?n[0].color&&u[R.indexOf(n[0].color)]===kt?1:S:V.length!==0?V.indexOf(n[0].label)!==-1?1:S:1},whileInView:{opacity:h?n[0].label===h.label?1:S:kt?n[0].color&&u[R.indexOf(n[0].color)]===kt?1:S:V.length!==0?V.indexOf(n[0].label)!==-1?1:S:1,transition:{duration:l.duration}}},initial:"initial",animate:m?"whileInView":"initial",children:[s.jsxRuntimeExports.jsx(zt.motion.path,{d:It(n.filter(Rn))||"",style:{fill:"none",strokeWidth:h?n[0].label===h.label?q+Math.max(2,.5*q):q:V.length!==0&&V.indexOf(n[0].label)!==-1?q+Math.max(2,.5*q):q},exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{pathLength:0,d:It(n.filter(Cn))||"",opacity:1,stroke:o.filter(bn).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray},whileInView:{pathLength:1,d:It(n.filter(wn))||"",opacity:1,stroke:o.filter(jn).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray,transition:{duration:l.duration}}},initial:"initial",animate:m?"whileInView":"initial"}),n.map((i,y)=>s.jsxRuntimeExports.jsx(zt.motion.g,{children:v.checkIfNullOrUndefined(i.y)?null:s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:le?s.jsxRuntimeExports.jsx(zt.motion.circle,{r:x/n.length<5?0:x/n.length<20?2:4,exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{opacity:0,fill:o.filter(On).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray,cx:f(i.date),cy:c(i.y)},whileInView:{opacity:1,fill:o.filter(vn).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray,transition:{duration:N?l.duration:.5,delay:N?0:l.duration},cx:f(i.date),cy:c(i.y)}},initial:"initial",animate:m?"whileInView":"initial"}):null})},y)),(V.indexOf(n[0].label)!==-1&&ye||h?.label===n[0].label)&&pe?s.jsxRuntimeExports.jsx(zt.motion.text,{className:"text-sm font-bold",dx:5,dy:4,exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{opacity:0,fill:o.filter(yn).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray,x:f(n[n.length-1].date),y:c(n[n.length-1].y)},whileInView:{opacity:1,fill:o.filter(gn).length===0?u[0]:n[0].color?u[R.indexOf(n[0].color)]:F.Colors.gray,x:f(n[n.length-1].date),y:c(n[n.length-1].y),transition:{duration:N?l.duration:.5,delay:N?0:l.duration}}},initial:"initial",animate:m?"whileInView":"initial",children:n[0].label}):null]},n[0].label)),h?s.jsxRuntimeExports.jsx("text",{y:c(h.y)-8,x:f(h.date),className:s.mo("graph-value text-sm font-bold",A?.graphObjectValues),style:{fill:o.filter(pn).length===0?u[0]:h.color?u[R.indexOf(h.color)]:F.Colors.gray,textAnchor:"middle",...w?.graphObjectValues||{}},children:Ve.numberFormattingFunction(h.y,ge,U,g,$)}):null]}),Ge,Ce,Re,Ae]})}),Ee]})}function xn(e){return e.layer}function hn(e){return e.position==="after"}function dn(e){return!v.checkIfNullOrUndefined(e.y)}function pn(e){return e.color}function gn(e){return e.color}function yn(e){return e.color}function vn(e){return e.color}function On(e){return e.color}function jn(e){return e.color}function wn(e){return!v.checkIfNullOrUndefined(e.y)}function bn(e){return e.color}function Cn(e){return!v.checkIfNullOrUndefined(e.y)}function Rn(e){return!v.checkIfNullOrUndefined(e.y)}function An(e){return e.layer}function En(e){return e.position==="before"}function Ln(e){return e!==0}function kn(e){return e!==0}function Nn(e){return e.date}function Dn(e){return!v.checkIfNullOrUndefined(e.date)&&!v.checkIfNullOrUndefined(e.y)}function qn(e){return!v.checkIfNullOrUndefined(e)}function Sn(e){return e.y}function Mn(e){return!v.checkIfNullOrUndefined(e)}function Tn(e){return e.y}function In(e){return!v.checkIfNullOrUndefined(e)}function $n(e){return e.y}function Vn(e){return!v.checkIfNullOrUndefined(e)}function Un(e){return e.y}function Hn(e){return!v.checkIfNullOrUndefined(e)}function Gn(e){return e.y}function Wn(e,t){return Ne.ascending(e,t)}function Yn(e){return!v.checkIfNullOrUndefined(e.y)}function Xn(e){const t=s.compilerRuntimeExports.c(107),{data:o,graphTitle:O,showNAColor:k,colors:u,colorDomain:r,suffix:bt,sources:it,prefix:Jt,graphDescription:ot,height:$,width:g,footNote:C,noOfXTicks:Ct,dateFormat:rt,padding:st,backgroundColor:Kt,leftMargin:P,rightMargin:Rt,topMargin:V,bottomMargin:l,showColorScale:B,tooltip:q,relativeHeight:le,onSeriesMouseOver:At,showLabels:Qt,showHighlightedLinesLabels:Et,refValues:Zt,highlightAreaSettings:Lt,graphID:_t,minValue:lt,maxValue:w,highlightedLines:R,graphDownload:kt,dataDownload:A,animate:pe,language:S,colorLegendTitle:U,minHeight:ge,strokeWidth:z,showDots:ye,annotations:Nt,customHighlightAreaSettings:J,theme:m,ariaLabel:N,yAxisTitle:ae,noOfYTicks:Dt,minDate:at,maxDate:ce,curveType:qt,styles:a,classNames:d,dimmedOpacity:St,precision:te,customLayers:h,naLabel:ct}=e,ut=k===void 0?!0:k,K=bt===void 0?"":bt,ft=Jt===void 0?"":Jt,Q=Ct===void 0?10:Ct,Mt=rt===void 0?"yyyy":rt,mt=Kt===void 0?!1:Kt,p=P===void 0?30:P,ue=Rt===void 0?50:Rt,fe=V===void 0?20:V,xt=l===void 0?25:l,Tt=B===void 0?!0:B,ht=Qt===void 0?!0:Qt,me=Et===void 0?!1:Et;let x;t[0]!==Zt?(x=Zt===void 0?[]:Zt,t[0]=Zt,t[1]=x):x=t[1];const D=x;let ee;t[2]!==Lt?(ee=Lt===void 0?[]:Lt,t[2]=Lt,t[3]=ee):ee=t[3];const xe=ee;let j;t[4]!==R?(j=R===void 0?[]:R,t[4]=R,t[5]=j):j=t[5];const Z=j,f=kt===void 0?!1:kt,_=A===void 0?!1:A,tt=pe===void 0?!1:pe,c=S===void 0?"en":S,he=ge===void 0?0:ge,It=z===void 0?2:z,ne=ye===void 0?!0:ye;let $t;t[6]!==Nt?($t=Nt===void 0?[]:Nt,t[6]=Nt,t[7]=$t):$t=t[7];const dt=$t;let pt;t[8]!==J?(pt=J===void 0?[]:J,t[8]=J,t[9]=pt):pt=t[9];const Vt=pt,E=m===void 0?"light":m,Ut=Dt===void 0?5:Dt,Ht=qt===void 0?"curve":qt,gt=St===void 0?.3:St,Gt=te===void 0?2:te;let yt;t[10]!==h?(yt=h===void 0?[]:h,t[10]=h,t[11]=yt):yt=t[11];const Wt=yt,Yt=ct===void 0?"NA":ct,[et,vt]=L.useState(0),[Ot,de]=L.useState(0),[Xt,jt]=L.useState(void 0),Ft=L.useRef(null),ie=L.useRef(null);let M,wt;t[12]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{const ve=new ResizeObserver(Oe=>{vt(Oe[0].target.clientWidth||620),de(Oe[0].target.clientHeight||480)});return Ft.current&&ve.observe(Ft.current),()=>ve.disconnect()},wt=[],t[12]=M,t[13]=wt):(M=t[12],wt=t[13]),L.useEffect(M,wt);const Pt=d?.graphContainer,H=a?.graphContainer;let T;t[14]!==d?.description||t[15]!==d?.title||t[16]!==o||t[17]!==_||t[18]!==ot||t[19]!==f||t[20]!==O||t[21]!==a?.description||t[22]!==a?.title||t[23]!==g?(T=O||ot||f||_?s.jsxRuntimeExports.jsx(rn.GraphHeader,{styles:{title:a?.title,description:a?.description},classNames:{title:d?.title,description:d?.description},graphTitle:O,graphDescription:ot,width:g,graphDownload:f?ie:void 0,dataDownload:_?o.map(Zn).filter(Qn).length>0?o.map(Kn).filter(Jn):o.filter(zn):null}):null,t[14]=d?.description,t[15]=d?.title,t[16]=o,t[17]=_,t[18]=ot,t[19]=f,t[20]=O,t[21]=a?.description,t[22]=a?.title,t[23]=g,t[24]=T):T=t[24];let G;t[25]!==d?.colorLegend||t[26]!==r||t[27]!==U||t[28]!==u||t[29]!==o||t[30]!==Tt||t[31]!==ut||t[32]!==E||t[33]!==g?(G=Tt&&o.filter(Bn).length!==0&&o.length>0?s.jsxRuntimeExports.jsx(ln.ColorLegendWithMouseOver,{width:g,colorLegendTitle:U,colors:u||F.Colors[E].categoricalColors.colors,colorDomain:r||ke.uniqBy(o,"color",!0),setSelectedColor:jt,showNAColor:ut,className:d?.colorLegend}):null,t[25]=d?.colorLegend,t[26]=r,t[27]=U,t[28]=u,t[29]=o,t[30]=Tt,t[31]=ut,t[32]=E,t[33]=g,t[34]=G):G=t[34];let W;t[35]!==o.length?(W=o.length===0&&s.jsxRuntimeExports.jsx(sn.EmptyState,{}),t[35]=o.length,t[36]=W):W=t[36];let Y;t[37]!==tt||t[38]!==dt||t[39]!==xt||t[40]!==d||t[41]!==r||t[42]!==u||t[43]!==Ht||t[44]!==Vt||t[45]!==Wt||t[46]!==o||t[47]!==Mt||t[48]!==gt||t[49]!==xe||t[50]!==Z||t[51]!==c||t[52]!==p||t[53]!==ce||t[54]!==w||t[55]!==at||t[56]!==lt||t[57]!==Yt||t[58]!==Q||t[59]!==Ut||t[60]!==At||t[61]!==Gt||t[62]!==ft||t[63]!==D||t[64]!==ue||t[65]!==Xt||t[66]!==ne||t[67]!==me||t[68]!==ht||t[69]!==It||t[70]!==a||t[71]!==K||t[72]!==Ot||t[73]!==et||t[74]!==E||t[75]!==q||t[76]!==fe||t[77]!==ae?(Y=et&&Ot&&o.length>0?s.jsxRuntimeExports.jsx(mn,{data:o,lineColors:o.filter(Pn).length===0?u?[u]:[F.Colors.primaryColors["blue-600"]]:u||F.Colors[E].categoricalColors.colors,width:et,height:Ot,dateFormat:Mt,noOfXTicks:Q??an.getNoOfTicks(et),leftMargin:p,rightMargin:ue,topMargin:fe,bottomMargin:xt,tooltip:q,onSeriesMouseOver:At,suffix:K,prefix:ft,highlightAreaSettings:xe,refValues:D,minValue:lt,maxValue:w,highlightedLines:Z,showHighlightedLinesLabels:me,animate:tt===!0?{duration:.5,once:!0,amount:.5}:tt||{duration:0,once:!0,amount:0},rtl:c==="he"||c==="ar",strokeWidth:It,showDots:ne,annotations:dt,customHighlightAreaSettings:Vt,yAxisTitle:ae,noOfYTicks:Ut,minDate:at,maxDate:ce,curveType:Ht,styles:a,classNames:d,selectedColor:Xt,showLabels:ht,colorDomain:o.filter(Fn).length===0?[]:r||ke.uniqBy(o,"color",!0),dimmedOpacity:gt,precision:Gt,customLayers:Wt,naLabel:Yt}):null,t[37]=tt,t[38]=dt,t[39]=xt,t[40]=d,t[41]=r,t[42]=u,t[43]=Ht,t[44]=Vt,t[45]=Wt,t[46]=o,t[47]=Mt,t[48]=gt,t[49]=xe,t[50]=Z,t[51]=c,t[52]=p,t[53]=ce,t[54]=w,t[55]=at,t[56]=lt,t[57]=Yt,t[58]=Q,t[59]=Ut,t[60]=At,t[61]=Gt,t[62]=ft,t[63]=D,t[64]=ue,t[65]=Xt,t[66]=ne,t[67]=me,t[68]=ht,t[69]=It,t[70]=a,t[71]=K,t[72]=Ot,t[73]=et,t[74]=E,t[75]=q,t[76]=fe,t[77]=ae,t[78]=Y):Y=t[78];let X;t[79]!==W||t[80]!==Y?(X=s.jsxRuntimeExports.jsxs(He.GraphArea,{ref:Ft,children:[W,Y]}),t[79]=W,t[80]=Y,t[81]=X):X=t[81];let I;t[82]!==d?.footnote||t[83]!==d?.source||t[84]!==C||t[85]!==it||t[86]!==a?.footnote||t[87]!==a?.source||t[88]!==g?(I=it||C?s.jsxRuntimeExports.jsx(on.GraphFooter,{styles:{footnote:a?.footnote,source:a?.source},classNames:{footnote:d?.footnote,source:d?.source},sources:it,footNote:C,width:g}):null,t[82]=d?.footnote,t[83]=d?.source,t[84]=C,t[85]=it,t[86]=a?.footnote,t[87]=a?.source,t[88]=g,t[89]=I):I=t[89];let nt;return t[90]!==N||t[91]!==mt||t[92]!==_t||t[93]!==$||t[94]!==c||t[95]!==he||t[96]!==st||t[97]!==le||t[98]!==Pt||t[99]!==H||t[100]!==T||t[101]!==G||t[102]!==X||t[103]!==I||t[104]!==E||t[105]!==g?(nt=s.jsxRuntimeExports.jsxs(He.GraphContainer,{className:Pt,style:H,id:_t,ref:ie,"aria-label":N,backgroundColor:mt,theme:E,language:c,minHeight:he,width:g,height:$,relativeHeight:le,padding:st,children:[T,G,X,I]}),t[90]=N,t[91]=mt,t[92]=_t,t[93]=$,t[94]=c,t[95]=he,t[96]=st,t[97]=le,t[98]=Pt,t[99]=H,t[100]=T,t[101]=G,t[102]=X,t[103]=I,t[104]=E,t[105]=g,t[106]=nt):nt=t[106],nt}function Fn(e){return e.color}function Pn(e){return e.color}function Bn(e){return e.color}function zn(e){return e!==void 0}function Jn(e){return e!==void 0}function Kn(e){return e.data}function Qn(e){return e!==void 0}function Zn(e){return e.data}exports.MultiLineAltChart=Xn;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-CHPV5EwG-6v2a2njQ.cjs"),k=require("react"),b=require("./parse-xYI9yrvL.cjs"),Ve=require("./index-Cno4Q0YE.cjs"),He=require("./numberFormattingFunction-02t-wJta.cjs"),Xe=require("./Tooltip-BLa2EfMs.cjs"),v=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ie=require("./customArea-B1LWQBmM.cjs"),Pe=require("./AxisTitle-DV4n0RxE.cjs"),Be=require("./Axis-Jt_tmhxS.cjs"),ze=require("./XTicksAndGridLines-CekrPykD.cjs"),Je=require("./ReferenceLine-M9aP3dj-.cjs"),Ke=require("./YTicksAndGridLines-UzVC5eBM.cjs"),Qe=require("./index-D69M6klB.cjs"),P=require("./Colors.cjs"),Ne=require("./uniqBy-O05lp2S5.cjs"),qe=require("./init-DU0ybBc_.cjs"),Ze=require("./time-CkcKbhwe.cjs"),_e=require("./linear-CgUCbw9F.cjs"),tn=require("./delaunay-rcy0HhZi.cjs"),Ue=require("./line-DaEMhXmx.cjs"),De=require("./step-BZ3C8QFW.cjs"),en=require("./select-Bnfk0lJx.cjs"),Bt=require("./proxy-C4-uo6nS.cjs"),nn=require("./pointer-Dkq5NV1q.cjs"),on=require("./use-in-view-C3o_ntMv.cjs"),rn=require("./GraphFooter.cjs"),sn=require("./GraphHeader.cjs"),ln=require("./EmptyState-B4c-CrXs.cjs"),an=require("./ColorLegendWithMouseOver.cjs"),Ge=require("./GraphContainer-B1EDxJ0S.cjs"),cn=require("./getNoOfTicks-C_1CFXv_.cjs");function un(e,t){return Array.from(t,r=>e[r])}function fn(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[r]=t;if(r&&r.length!==2||t.length>1){const j=Uint32Array.from(e,(L,f)=>f);return t.length>1?(t=t.map(L=>e.map(L)),j.sort((L,f)=>{for(const s of t){const Ct=$e(s[L],s[f]);if(Ct)return Ct}})):(r=e.map(r),j.sort((L,f)=>$e(r[L],r[f]))),un(e,j)}return e.sort(mn(r))}function mn(e=qe.ascending){if(e===qe.ascending)return $e;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const j=e(t,r);return j||j===0?j:(e(r,r)===0)-(e(t,t)===0)}}function $e(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function xn(e){const t=o.compilerRuntimeExports.c(128),{data:r,width:j,height:L,lineColors:f,dateFormat:s,noOfXTicks:Ct,rightMargin:nt,topMargin:zt,bottomMargin:it,suffix:$,prefix:g,leftMargin:R,tooltip:Rt,onSeriesMouseOver:ot,refValues:rt,highlightAreaSettings:Jt,minValue:B,maxValue:At,highlightedLines:V,animate:a,rtl:z,strokeWidth:S,showDots:le,annotations:Et,customHighlightAreaSettings:Kt,yAxisTitle:kt,noOfYTicks:Qt,minDate:Lt,maxDate:Zt,curveType:st,styles:O,colorDomain:A,selectedColor:Dt,classNames:C,showLabels:pe,dimmedOpacity:M,precision:H,naLabel:ge,customLayers:J,showHighlightedLinesLabels:ye,showDateOnHover:_t}=e,Nt=k.useRef(null);let qt;t[0]!==a.amount||t[1]!==a.once?(qt={once:a.once,amount:a.amount},t[0]=a.amount,t[1]=a.once,t[2]=qt):qt=t[2];const m=on.useInView(Nt,qt),[D,ve]=k.useState(!1);let lt,at;t[3]!==a.duration||t[4]!==D||t[5]!==m?(lt=()=>{if(m&&!D){const n=setTimeout(()=>{ve(!0)},(a.duration+.5)*1e3);return()=>clearTimeout(n)}},at=[m,D,a.duration],t[3]=a.duration,t[4]=D,t[5]=m,t[6]=lt,t[7]=at):(lt=t[6],at=t[7]),k.useEffect(lt,at);const je=st==="linear"?Ue.curveLinear:st==="step"?De.curveStep:st==="stepAfter"?De.stepAfter:st==="stepBefore"?De.stepBefore:De.monotoneX;let d;t[8]!==s?(d=n=>({...n,date:b.parse(`${n.date}`,s,new Date)}),t[8]=s,t[9]=d):d=t[9];const l=Ve.orderBy(r.map(d),["date"],["asc"]).filter(Fn),Oe=Ne.uniqBy(l,"label",!0);let St;t[10]!==s?(St=n=>b.parse(`${n}`,s,new Date),t[10]=s,t[11]=St):St=t[11];const ct=fn(Ne.uniqBy(r,"date",!0).map(St),Yn),[x,ut]=k.useState(void 0),[ft,K]=k.useState(void 0),[mt,Q]=k.useState(void 0),Mt=kt?R+30:R;let xt;t[12]!==it||t[13]!==nt||t[14]!==Mt||t[15]!==zt?(xt={top:zt,bottom:it,left:Mt,right:nt},t[12]=it,t[13]=nt,t[14]=Mt,t[15]=zt,t[16]=xt):xt=t[16];const p=xt,ae=k.useRef(null),ce=Oe.map(n=>Ve.orderBy(l.filter(i=>i.label==n),["date"],["asc"]));let ht;if(t[17]!==s||t[18]!==Jt){let n;t[20]!==s?(n=i=>({...i,coordinates:[i.coordinates[0]===null?null:b.parse(`${i.coordinates[0]}`,s,new Date),i.coordinates[1]===null?null:b.parse(`${i.coordinates[1]}`,s,new Date)]}),t[20]=s,t[21]=n):n=t[21],ht=Jt.map(n),t[17]=s,t[18]=Jt,t[19]=ht}else ht=t[19];const Tt=ht;let dt;if(t[22]!==Kt||t[23]!==s){let n;t[25]!==s?(n=i=>({...i,coordinates:i.coordinates.map((y,Pt)=>Pt%2===0?b.parse(`${y}`,s,new Date):y)}),t[25]=s,t[26]=n):n=t[26],dt=Kt.map(n),t[22]=Kt,t[23]=s,t[24]=dt}else dt=t[24];const ue=dt,h=j-p.left-p.right,N=L-p.top-p.bottom,te=Lt?b.parse(`${Lt}`,s,new Date):ct[0],fe=Zt?b.parse(`${Zt}`,s,new Date):ct[ct.length-1],w=v.checkIfNullOrUndefined(B)?Math.min(...l.map(Wn).filter(Gn))?Math.min(...l.map(Un).filter(Hn))>0?0:Math.min(...l.map(Vn).filter($n)):0:B,Z=Math.max(...l.map(In).filter(Tn))?Math.max(...l.map(Mn).filter(Sn)):0,u=Ze.time().domain([te,fe]).range([0,h]);let _;t[27]!==w||t[28]!==B?(_=v.checkIfNullOrUndefined(B)?w:B,t[27]=w,t[28]=B,t[29]=_):_=t[29];let tt;t[30]!==Z||t[31]!==At?(tt=v.checkIfNullOrUndefined(At)?Z>0?Z:0:At,t[30]=Z,t[31]=At,t[32]=tt):tt=t[32];const c=_e.linear().domain([_,tt]).range([N,0]).nice(),me=tn.Delaunay.from(l.filter(qn),n=>u(n.date),n=>c(n.y)).voronoi([0,0,h<0?0:h,N<0?0:N]),It=Ue.line().x(n=>u(n.date)).y(n=>c(n.y)).curve(je),ee=c.ticks(Qt),$t=u.ticks(Ct);k.useEffect(()=>{const n=y=>{const Pt=l[qe.bisectCenter(l.map(Nn),u.invert(nn.pointer(y)[0]),0)];ut(Pt||l[l.length-1]),Q(y.clientY),K(y.clientX),ot?.(Pt||l[l.length-1])},i=()=>{ut(void 0),K(void 0),Q(void 0)};en.select(ae.current).on("mousemove",n).on("mouseout",i),ot?.(void 0)},[u,l,ot]);let pt;t[33]!==a||t[34]!==N||t[35]!==h||t[36]!==Tt||t[37]!==m||t[38]!==u?(pt=o.jsxRuntimeExports.jsx(Qe.HighlightArea,{areaSettings:Tt,width:h,height:N,scale:u,animate:a,isInView:m}),t[33]=a,t[34]=N,t[35]=h,t[36]=Tt,t[37]=m,t[38]=u,t[39]=pt):pt=t[39];const gt=O?.yAxis?.gridLines,Vt=O?.yAxis?.labels;let E;t[40]!==gt||t[41]!==Vt?(E={gridLines:gt,labels:Vt},t[40]=gt,t[41]=Vt,t[42]=E):E=t[42];const Ht=C?.yAxis?.gridLines,Ut=C?.yAxis?.labels;let yt;t[43]!==Ht||t[44]!==Ut?(yt={gridLines:Ht,labels:Ut},t[43]=Ht,t[44]=Ut,t[45]=yt):yt=t[45];const Gt=c(w<0?0:w),vt=c(w<0?0:w),Wt=0-R,Yt=h+p.right,Ft=w<0?0:w;let q;t[46]!==H||t[47]!==g||t[48]!==$||t[49]!==Ft?(q=He.numberFormattingFunction(Ft,"NA",H,g,$),t[46]=H,t[47]=g,t[48]=$,t[49]=Ft,t[50]=q):q=t[50];const xe=0-R,jt=c(w<0?0:w),he=Z<0?"1em":-5;let U;t[51]!==xe||t[52]!==jt||t[53]!==he?(U={x:xe,y:jt,dx:0,dy:he},t[51]=xe,t[52]=jt,t[53]=he,t[54]=U):U=t[54];const de=C?.xAxis?.axis,Xt=C?.yAxis?.labels;let et;t[55]!==de||t[56]!==Xt?(et={axis:de,label:Xt},t[55]=de,t[56]=Xt,t[57]=et):et=t[57];const Ot=O?.xAxis?.axis,wt=O?.yAxis?.labels;let G;t[58]!==Ot||t[59]!==wt?(G={axis:Ot,label:wt},t[58]=Ot,t[59]=wt,t[60]=G):G=t[60];let bt;t[61]!==Gt||t[62]!==vt||t[63]!==Wt||t[64]!==Yt||t[65]!==q||t[66]!==U||t[67]!==et||t[68]!==G?(bt=o.jsxRuntimeExports.jsx(Be.Axis,{y1:Gt,y2:vt,x1:Wt,x2:Yt,label:q,labelPos:U,classNames:et,styles:G}),t[61]=Gt,t[62]=vt,t[63]=Wt,t[64]=Yt,t[65]=q,t[66]=U,t[67]=et,t[68]=G,t[69]=bt):bt=t[69];const W=0-R-15,Y=N/2,F=O?.yAxis?.title,X=C?.yAxis?.title;let T;t[70]!==W||t[71]!==Y||t[72]!==F||t[73]!==X||t[74]!==kt?(T=o.jsxRuntimeExports.jsx(Pe.AxisTitle,{x:W,y:Y,style:F,className:X,text:kt,rotate90:!0}),t[70]=W,t[71]=Y,t[72]=F,t[73]=X,t[74]=kt,t[75]=T):T=t[75];let I;t[76]!==s?(I=n=>b.format(n,s),t[76]=s,t[77]=I):I=t[77];const ne=$t.map(I),we=$t.map(n=>u(n)),ie=O?.xAxis?.gridLines,Se=O?.xAxis?.labels;let be;t[78]!==ie||t[79]!==Se?(be={gridLines:ie,labels:Se},t[78]=ie,t[79]=Se,t[80]=be):be=t[80];const Me=C?.xAxis?.gridLines;let oe;t[81]!==Me?(oe=o.mo("opacity-0",Me),t[81]=Me,t[82]=oe):oe=t[82];const Te=C?.xAxis?.labels;let re;t[83]!==Te?(re=o.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",Te),t[83]=Te,t[84]=re):re=t[84];let Ce;t[85]!==oe||t[86]!==re?(Ce={gridLines:oe,labels:re},t[85]=oe,t[86]=re,t[87]=Ce):Ce=t[87];let Re;t[88]!==J?(Re=J.filter(kn).map(En),t[88]=J,t[89]=Re):Re=t[89];const We=l.filter(pn).map((n,i)=>o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx("path",{d:me.renderCell(l.findIndex(y=>y.label===n.label&&y.date===n.date)),opacity:0,onMouseEnter:y=>{ut(n),Q(y.clientY),K(y.clientX),ot?.(n)},onMouseMove:y=>{ut(n),Q(y.clientY),K(y.clientX)},onMouseLeave:()=>{ut(void 0),K(void 0),Q(void 0),ot?.(void 0)}})},i));let Ae;t[90]!==a||t[91]!==h||t[92]!==m||t[93]!==R||t[94]!==p.right||t[95]!==rt||t[96]!==c?(Ae=rt?o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:rt.map((n,i)=>o.jsxRuntimeExports.jsx(Je.RefLineY,{text:n.text,color:n.color,y:c(n.value),x1:0-R,x2:h+p.right,classNames:n.classNames,styles:n.styles,animate:a,isInView:m},i))}):null,t[90]=a,t[91]=h,t[92]=m,t[93]=R,t[94]=p.right,t[95]=rt,t[96]=c,t[97]=Ae):Ae=t[97];let se;if(t[98]!==a||t[99]!==Et||t[100]!==s||t[101]!==h||t[102]!==m||t[103]!==p.right||t[104]!==z||t[105]!==u||t[106]!==c){let n;t[108]!==a||t[109]!==s||t[110]!==h||t[111]!==m||t[112]!==p.right||t[113]!==z||t[114]!==u||t[115]!==c?(n=(i,y)=>{const Pt=Ie.getLineEndPoint({x:i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date))+(i.xOffset||0):0+(i.xOffset||0),y:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0)-8:0+(i.yOffset||0)-8},{x:i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date)):0,y:i.yCoordinate?c(i.yCoordinate):0},v.checkIfNullOrUndefined(i.connectorRadius)?3.5:i.connectorRadius),Ye=i.showConnector?{y1:Pt.y,x1:Pt.x,y2:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0):0+(i.yOffset||0),x2:i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date))+(i.xOffset||0):0+(i.xOffset||0),cy:i.yCoordinate?c(i.yCoordinate):0,cx:i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date)):0,circleRadius:v.checkIfNullOrUndefined(i.connectorRadius)?3.5:i.connectorRadius,strokeWidth:i.showConnector===!0?2:Math.min(i.showConnector||0,1)}:void 0,Fe={y:i.yCoordinate?c(i.yCoordinate)+(i.yOffset||0)-8:0+(i.yOffset||0)-8,x:z?0:i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date))+(i.xOffset||0):0+(i.xOffset||0),width:z?i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date))+(i.xOffset||0):0+(i.xOffset||0):h+p.right-(i.xCoordinate?u(b.parse(`${i.xCoordinate}`,s,new Date))+(i.xOffset||0):0+(i.xOffset||0)),maxWidth:i.maxWidth,fontWeight:i.fontWeight,align:i.align};return o.jsxRuntimeExports.jsx(Ie.Annotation,{color:i.color,connectorsSettings:Ye,labelSettings:Fe,text:i.text,classNames:i.classNames,styles:i.styles,animate:a,isInView:m},y)},t[108]=a,t[109]=s,t[110]=h,t[111]=m,t[112]=p.right,t[113]=z,t[114]=u,t[115]=c,t[116]=n):n=t[116],se=Et.map(n),t[98]=a,t[99]=Et,t[100]=s,t[101]=h,t[102]=m,t[103]=p.right,t[104]=z,t[105]=u,t[106]=c,t[107]=se}else se=t[107];let Ee;t[117]!==se?(Ee=o.jsxRuntimeExports.jsx("g",{children:se}),t[117]=se,t[118]=Ee):Ee=t[118];let ke;t[119]!==J?(ke=J.filter(dn).map(hn),t[119]=J,t[120]=ke):ke=t[120];let Le;return t[121]!==C?.tooltip||t[122]!==ft||t[123]!==mt||t[124]!==x||t[125]!==O?.tooltip||t[126]!==Rt?(Le=x&&Rt&&ft&&mt?o.jsxRuntimeExports.jsx(Xe.Tooltip,{data:x,body:Rt,xPos:ft,yPos:mt,backgroundStyle:O?.tooltip,className:C?.tooltip}):null,t[121]=C?.tooltip,t[122]=ft,t[123]=mt,t[124]=x,t[125]=O?.tooltip,t[126]=Rt,t[127]=Le):Le=t[127],o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(Bt.motion.svg,{width:`${j}px`,height:`${L}px`,viewBox:`0 0 ${j} ${L}`,direction:"ltr",ref:Nt,children:o.jsxRuntimeExports.jsxs("g",{transform:`translate(${p.left},${p.top})`,children:[pt,o.jsxRuntimeExports.jsx(Ie.CustomArea,{areaSettings:ue,scaleX:u,scaleY:c,animate:a,isInView:m}),o.jsxRuntimeExports.jsxs("g",{children:[o.jsxRuntimeExports.jsx(Ke.YTicksAndGridLines,{values:ee.filter(Dn),y:ee.filter(Ln).map(n=>c(n)),x1:0-R,x2:h+p.right,styles:E,classNames:yt,suffix:$,prefix:g,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:H}),bt,T]}),o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx(ze.XTicksAndGridLines,{values:ne,x:we,y1:0,y2:N,styles:be,classNames:Ce,suffix:$,prefix:g,labelType:"primary",showGridLines:!0,precision:H})}),Re,o.jsxRuntimeExports.jsxs(Bt.motion.g,{children:[ce.map(n=>o.jsxRuntimeExports.jsxs(Bt.motion.g,{exit:{opacity:0,transition:{duration:a.duration}},variants:{initial:{opacity:x?n[0].label===x.label?1:M:Dt?n[0].color&&f[A.indexOf(n[0].color)]===Dt?1:M:V.length!==0?V.indexOf(n[0].label)!==-1?1:M:1},whileInView:{opacity:x?n[0].label===x.label?1:M:Dt?n[0].color&&f[A.indexOf(n[0].color)]===Dt?1:M:V.length!==0?V.indexOf(n[0].label)!==-1?1:M:1,transition:{duration:a.duration}}},initial:"initial",animate:m?"whileInView":"initial",children:[o.jsxRuntimeExports.jsx(Bt.motion.path,{d:It(n.filter(An))||"",style:{fill:"none",strokeWidth:x?n[0].label===x.label?S+Math.max(2,.5*S):S:V.length!==0&&V.indexOf(n[0].label)!==-1?S+Math.max(2,.5*S):S},exit:{opacity:0,transition:{duration:a.duration}},variants:{initial:{pathLength:0,d:It(n.filter(Rn))||"",opacity:1,stroke:r.filter(Cn).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray},whileInView:{pathLength:1,d:It(n.filter(bn))||"",opacity:1,stroke:r.filter(wn).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray,transition:{duration:a.duration}}},initial:"initial",animate:m?"whileInView":"initial"}),n.map((i,y)=>o.jsxRuntimeExports.jsx(Bt.motion.g,{children:v.checkIfNullOrUndefined(i.y)?null:o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:le?o.jsxRuntimeExports.jsx(Bt.motion.circle,{r:h/n.length<5?0:h/n.length<20?2:4,exit:{opacity:0,transition:{duration:a.duration}},variants:{initial:{opacity:0,fill:r.filter(On).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray,cx:u(i.date),cy:c(i.y)},whileInView:{opacity:1,fill:r.filter(jn).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray,transition:{duration:D?a.duration:.5,delay:D?0:a.duration},cx:u(i.date),cy:c(i.y)}},initial:"initial",animate:m?"whileInView":"initial"}):null})},y)),(V.indexOf(n[0].label)!==-1&&ye||x?.label===n[0].label)&&pe?o.jsxRuntimeExports.jsx(Bt.motion.text,{className:"text-sm font-bold",dx:5,dy:4,exit:{opacity:0,transition:{duration:a.duration}},variants:{initial:{opacity:0,fill:r.filter(vn).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray,x:u(n[n.length-1].date),y:c(n[n.length-1].y)},whileInView:{opacity:1,fill:r.filter(yn).length===0?f[0]:n[0].color?f[A.indexOf(n[0].color)]:P.Colors.gray,x:u(n[n.length-1].date),y:c(n[n.length-1].y),transition:{duration:D?a.duration:.5,delay:D?0:a.duration}}},initial:"initial",animate:m?"whileInView":"initial",children:n[0].label}):null]},n[0].label)),x?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("text",{y:c(x.y)-8,x:u(x.date),className:o.mo("graph-value text-sm font-bold",C?.graphObjectValues),style:{fill:r.filter(gn).length===0?f[0]:x.color?f[A.indexOf(x.color)]:P.Colors.gray,textAnchor:"middle",...O?.graphObjectValues||{}},children:He.numberFormattingFunction(x.y,ge,H,g,$)}),_t&&o.jsxRuntimeExports.jsx("text",{y:c(x.y)+20,x:u(x.date),className:o.mo("graph-value text-sm fill-primary-gray-500 dark:fill-primary-gray-400",C?.graphObjectValues),style:{textAnchor:"middle",...O?.graphObjectValues||{}},children:b.format(new Date(x.date),s||"yyyy")})]}):null]}),We,Ae,Ee,ke]})}),Le]})}function hn(e){return e.layer}function dn(e){return e.position==="after"}function pn(e){return!v.checkIfNullOrUndefined(e.y)}function gn(e){return e.color}function yn(e){return e.color}function vn(e){return e.color}function jn(e){return e.color}function On(e){return e.color}function wn(e){return e.color}function bn(e){return!v.checkIfNullOrUndefined(e.y)}function Cn(e){return e.color}function Rn(e){return!v.checkIfNullOrUndefined(e.y)}function An(e){return!v.checkIfNullOrUndefined(e.y)}function En(e){return e.layer}function kn(e){return e.position==="before"}function Ln(e){return e!==0}function Dn(e){return e!==0}function Nn(e){return e.date}function qn(e){return!v.checkIfNullOrUndefined(e.date)&&!v.checkIfNullOrUndefined(e.y)}function Sn(e){return!v.checkIfNullOrUndefined(e)}function Mn(e){return e.y}function Tn(e){return!v.checkIfNullOrUndefined(e)}function In(e){return e.y}function $n(e){return!v.checkIfNullOrUndefined(e)}function Vn(e){return e.y}function Hn(e){return!v.checkIfNullOrUndefined(e)}function Un(e){return e.y}function Gn(e){return!v.checkIfNullOrUndefined(e)}function Wn(e){return e.y}function Yn(e,t){return qe.ascending(e,t)}function Fn(e){return!v.checkIfNullOrUndefined(e.y)}function Xn(e){const t=o.compilerRuntimeExports.c(108),{data:r,graphTitle:j,showNAColor:L,colors:f,colorDomain:s,suffix:Ct,sources:nt,prefix:zt,graphDescription:it,height:$,width:g,footNote:R,noOfXTicks:Rt,dateFormat:ot,padding:rt,backgroundColor:Jt,leftMargin:B,rightMargin:At,topMargin:V,bottomMargin:a,showColorScale:z,tooltip:S,relativeHeight:le,onSeriesMouseOver:Et,showLabels:Kt,showHighlightedLinesLabels:kt,refValues:Qt,highlightAreaSettings:Lt,graphID:Zt,minValue:st,maxValue:O,highlightedLines:A,graphDownload:Dt,dataDownload:C,animate:pe,language:M,colorLegendTitle:H,minHeight:ge,strokeWidth:J,showDots:ye,annotations:_t,customHighlightAreaSettings:Nt,theme:qt,ariaLabel:m,yAxisTitle:D,noOfYTicks:ve,minDate:lt,maxDate:at,curveType:je,styles:d,classNames:l,dimmedOpacity:Oe,precision:St,customLayers:ct,naLabel:x,showDateOnHover:ut}=e,ft=L===void 0?!0:L,K=Ct===void 0?"":Ct,mt=zt===void 0?"":zt,Q=Rt===void 0?10:Rt,Mt=ot===void 0?"yyyy":ot,xt=Jt===void 0?!1:Jt,p=B===void 0?30:B,ae=At===void 0?50:At,ce=V===void 0?20:V,ht=a===void 0?25:a,Tt=z===void 0?!0:z,dt=Kt===void 0?!0:Kt,ue=kt===void 0?!1:kt;let h;t[0]!==Qt?(h=Qt===void 0?[]:Qt,t[0]=Qt,t[1]=h):h=t[1];const N=h;let te;t[2]!==Lt?(te=Lt===void 0?[]:Lt,t[2]=Lt,t[3]=te):te=t[3];const fe=te;let w;t[4]!==A?(w=A===void 0?[]:A,t[4]=A,t[5]=w):w=t[5];const Z=w,u=Dt===void 0?!1:Dt,_=C===void 0?!1:C,tt=pe===void 0?!1:pe,c=M===void 0?"en":M,me=ge===void 0?0:ge,It=J===void 0?2:J,ee=ye===void 0?!0:ye;let $t;t[6]!==_t?($t=_t===void 0?[]:_t,t[6]=_t,t[7]=$t):$t=t[7];const pt=$t;let gt;t[8]!==Nt?(gt=Nt===void 0?[]:Nt,t[8]=Nt,t[9]=gt):gt=t[9];const Vt=gt,E=qt===void 0?"light":qt,Ht=ve===void 0?5:ve,Ut=je===void 0?"curve":je,yt=Oe===void 0?.3:Oe,Gt=St===void 0?2:St;let vt;t[10]!==ct?(vt=ct===void 0?[]:ct,t[10]=ct,t[11]=vt):vt=t[11];const Wt=vt,Yt=x===void 0?"NA":x,Ft=ut===void 0?!1:ut,[q,xe]=k.useState(0),[jt,he]=k.useState(0),[U,de]=k.useState(void 0),Xt=k.useRef(null),et=k.useRef(null);let Ot,wt;t[12]===Symbol.for("react.memo_cache_sentinel")?(Ot=()=>{const we=new ResizeObserver(ie=>{xe(ie[0].target.clientWidth||620),he(ie[0].target.clientHeight||480)});return Xt.current&&we.observe(Xt.current),()=>we.disconnect()},wt=[],t[12]=Ot,t[13]=wt):(Ot=t[12],wt=t[13]),k.useEffect(Ot,wt);const G=l?.graphContainer,bt=d?.graphContainer;let W;t[14]!==l?.description||t[15]!==l?.title||t[16]!==r||t[17]!==_||t[18]!==it||t[19]!==u||t[20]!==j||t[21]!==d?.description||t[22]!==d?.title||t[23]!==g?(W=j||it||u||_?o.jsxRuntimeExports.jsx(sn.GraphHeader,{styles:{title:d?.title,description:d?.description},classNames:{title:l?.title,description:l?.description},graphTitle:j,graphDescription:it,width:g,graphDownload:u?et:void 0,dataDownload:_?r.map(_n).filter(Zn).length>0?r.map(Qn).filter(Kn):r.filter(Jn):null}):null,t[14]=l?.description,t[15]=l?.title,t[16]=r,t[17]=_,t[18]=it,t[19]=u,t[20]=j,t[21]=d?.description,t[22]=d?.title,t[23]=g,t[24]=W):W=t[24];let Y;t[25]!==l?.colorLegend||t[26]!==s||t[27]!==H||t[28]!==f||t[29]!==r||t[30]!==Tt||t[31]!==ft||t[32]!==E||t[33]!==g?(Y=Tt&&r.filter(zn).length!==0&&r.length>0?o.jsxRuntimeExports.jsx(an.ColorLegendWithMouseOver,{width:g,colorLegendTitle:H,colors:f||P.Colors[E].categoricalColors.colors,colorDomain:s||Ne.uniqBy(r,"color",!0),setSelectedColor:de,showNAColor:ft,className:l?.colorLegend}):null,t[25]=l?.colorLegend,t[26]=s,t[27]=H,t[28]=f,t[29]=r,t[30]=Tt,t[31]=ft,t[32]=E,t[33]=g,t[34]=Y):Y=t[34];let F;t[35]!==r.length?(F=r.length===0&&o.jsxRuntimeExports.jsx(ln.EmptyState,{}),t[35]=r.length,t[36]=F):F=t[36];let X;t[37]!==tt||t[38]!==pt||t[39]!==ht||t[40]!==l||t[41]!==s||t[42]!==f||t[43]!==Ut||t[44]!==Vt||t[45]!==Wt||t[46]!==r||t[47]!==Mt||t[48]!==yt||t[49]!==fe||t[50]!==Z||t[51]!==c||t[52]!==p||t[53]!==at||t[54]!==O||t[55]!==lt||t[56]!==st||t[57]!==Yt||t[58]!==Q||t[59]!==Ht||t[60]!==Et||t[61]!==Gt||t[62]!==mt||t[63]!==N||t[64]!==ae||t[65]!==U||t[66]!==Ft||t[67]!==ee||t[68]!==ue||t[69]!==dt||t[70]!==It||t[71]!==d||t[72]!==K||t[73]!==jt||t[74]!==q||t[75]!==E||t[76]!==S||t[77]!==ce||t[78]!==D?(X=q&&jt&&r.length>0?o.jsxRuntimeExports.jsx(xn,{data:r,lineColors:r.filter(Bn).length===0?f?[f]:[P.Colors.primaryColors["blue-600"]]:f||P.Colors[E].categoricalColors.colors,width:q,height:jt,dateFormat:Mt,noOfXTicks:Q??cn.getNoOfTicks(q),leftMargin:p,rightMargin:ae,topMargin:ce,bottomMargin:ht,tooltip:S,onSeriesMouseOver:Et,suffix:K,prefix:mt,highlightAreaSettings:fe,refValues:N,minValue:st,maxValue:O,highlightedLines:Z,showHighlightedLinesLabels:ue,animate:tt===!0?{duration:.5,once:!0,amount:.5}:tt||{duration:0,once:!0,amount:0},rtl:c==="he"||c==="ar",strokeWidth:It,showDots:ee,annotations:pt,customHighlightAreaSettings:Vt,yAxisTitle:D,noOfYTicks:Ht,minDate:lt,maxDate:at,curveType:Ut,styles:d,classNames:l,selectedColor:U,showLabels:dt,colorDomain:r.filter(Pn).length===0?[]:s||Ne.uniqBy(r,"color",!0),dimmedOpacity:yt,precision:Gt,customLayers:Wt,naLabel:Yt,showDateOnHover:Ft}):null,t[37]=tt,t[38]=pt,t[39]=ht,t[40]=l,t[41]=s,t[42]=f,t[43]=Ut,t[44]=Vt,t[45]=Wt,t[46]=r,t[47]=Mt,t[48]=yt,t[49]=fe,t[50]=Z,t[51]=c,t[52]=p,t[53]=at,t[54]=O,t[55]=lt,t[56]=st,t[57]=Yt,t[58]=Q,t[59]=Ht,t[60]=Et,t[61]=Gt,t[62]=mt,t[63]=N,t[64]=ae,t[65]=U,t[66]=Ft,t[67]=ee,t[68]=ue,t[69]=dt,t[70]=It,t[71]=d,t[72]=K,t[73]=jt,t[74]=q,t[75]=E,t[76]=S,t[77]=ce,t[78]=D,t[79]=X):X=t[79];let T;t[80]!==F||t[81]!==X?(T=o.jsxRuntimeExports.jsxs(Ge.GraphArea,{ref:Xt,children:[F,X]}),t[80]=F,t[81]=X,t[82]=T):T=t[82];let I;t[83]!==l?.footnote||t[84]!==l?.source||t[85]!==R||t[86]!==nt||t[87]!==d?.footnote||t[88]!==d?.source||t[89]!==g?(I=nt||R?o.jsxRuntimeExports.jsx(rn.GraphFooter,{styles:{footnote:d?.footnote,source:d?.source},classNames:{footnote:l?.footnote,source:l?.source},sources:nt,footNote:R,width:g}):null,t[83]=l?.footnote,t[84]=l?.source,t[85]=R,t[86]=nt,t[87]=d?.footnote,t[88]=d?.source,t[89]=g,t[90]=I):I=t[90];let ne;return t[91]!==m||t[92]!==xt||t[93]!==Zt||t[94]!==$||t[95]!==c||t[96]!==me||t[97]!==rt||t[98]!==le||t[99]!==G||t[100]!==bt||t[101]!==W||t[102]!==Y||t[103]!==T||t[104]!==I||t[105]!==E||t[106]!==g?(ne=o.jsxRuntimeExports.jsxs(Ge.GraphContainer,{className:G,style:bt,id:Zt,ref:et,"aria-label":m,backgroundColor:xt,theme:E,language:c,minHeight:me,width:g,height:$,relativeHeight:le,padding:rt,children:[W,Y,T,I]}),t[91]=m,t[92]=xt,t[93]=Zt,t[94]=$,t[95]=c,t[96]=me,t[97]=rt,t[98]=le,t[99]=G,t[100]=bt,t[101]=W,t[102]=Y,t[103]=T,t[104]=I,t[105]=E,t[106]=g,t[107]=ne):ne=t[107],ne}function Pn(e){return e.color}function Bn(e){return e.color}function zn(e){return e.color}function Jn(e){return e!==void 0}function Kn(e){return e!==void 0}function Qn(e){return e.data}function Zn(e){return e!==void 0}function _n(e){return e.data}exports.MultiLineAltChart=Xn;
|
|
2
2
|
//# sourceMappingURL=MultiLineAltChart.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLineAltChart.cjs","sources":["../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sort.js","../src/Components/Graphs/LineCharts/MultiLineAltChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineAltChart/index.tsx"],"sourcesContent":["export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { ascending, sort } from 'd3-array';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Delaunay } from 'd3-delaunay';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineAltChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showLabels: boolean;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n colorDomain: (string | number)[];\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n selectedColor?: string;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n showHighlightedLinesLabels: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n label: number | string;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n dateFormat,\r\n noOfXTicks,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n colorDomain,\r\n selectedColor,\r\n classNames,\r\n showLabels,\r\n dimmedOpacity,\r\n precision,\r\n naLabel,\r\n customLayers,\r\n showHighlightedLinesLabels,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n ).filter(d => !checkIfNullOrUndefined(d.y));\r\n const labels = uniqBy(dataFormatted, 'label', true) as (string | number)[];\r\n const dates = sort(\r\n uniqBy(data, 'date', true).map(d => parse(`${d}`, dateFormat, new Date())),\r\n (a, b) => ascending(a, b),\r\n );\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const lineArray = labels.map(d =>\r\n orderBy(\r\n dataFormatted.filter(el => el.label == d),\r\n ['date'],\r\n ['asc'],\r\n ),\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dates[0];\r\n const maxYear = maxDate ? parse(`${maxDate}`, dateFormat, new Date()) : dates[dates.length - 1];\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]))\r\n ? (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number) > 0\r\n ? 0\r\n : (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n ? (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const voronoiDiagram = Delaunay.from(\r\n dataFormatted.filter(d => !checkIfNullOrUndefined(d.date) && !checkIfNullOrUndefined(d.y)),\r\n d => x(d.date),\r\n d => y(d.y as number),\r\n ).voronoi([0, 0, graphWidth < 0 ? 0 : graphWidth, graphHeight < 0 ? 0 : graphHeight]);\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <motion.g>\r\n {lineArray.map(d => (\r\n <motion.g\r\n key={d[0].label}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n d={\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || ''\r\n }\r\n style={{\r\n fill: 'none',\r\n strokeWidth: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : strokeWidth,\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <motion.g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={graphWidth / d.length < 5 ? 0 : graphWidth / d.length < 20 ? 2 : 4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {((highlightedLines.indexOf(d[0].label) !== -1 && showHighlightedLinesLabels) ||\r\n mouseOverData?.label === d[0].label) &&\r\n showLabels ? (\r\n <motion.text\r\n className='text-sm font-bold'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {d[0].label}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <text\r\n y={y(mouseOverData.y) - 8}\r\n x={x(mouseOverData.date)}\r\n className={cn('graph-value text-sm font-bold', classNames?.graphObjectValues)}\r\n style={{\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !mouseOverData.color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(mouseOverData.color)],\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(mouseOverData.y, naLabel, precision, prefix, suffix)}\r\n </text>\r\n ) : null}\r\n </motion.g>\r\n {dataFormatted\r\n .filter(d => !checkIfNullOrUndefined(d.y))\r\n .map((d, i) => {\r\n return (\r\n <g key={i}>\r\n <path\r\n d={voronoiDiagram.renderCell(\r\n dataFormatted.findIndex(el => el.label === d.label && el.date === d.date),\r\n )}\r\n opacity={0}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n />\r\n </g>\r\n );\r\n })}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineAltChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for lines */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: (string | number)[];\r\n /** Toggle the visibility of labels of the lines when highlighted or mouse hovered */\r\n showLabels?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines if the labels should be shown for highlighted lines. */\r\n showHighlightedLinesLabels?: boolean;\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function MultiLineAltChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n showNAColor = true,\r\n colors,\r\n colorDomain,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n padding,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n showColorScale = true,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showLabels = true,\r\n showHighlightedLinesLabels = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines = [],\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n lineColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n suffix={suffix}\r\n prefix={prefix}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n showHighlightedLinesLabels={showHighlightedLinesLabels}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n selectedColor={selectedColor}\r\n showLabels={showLabels}\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["permute","source","keys","key","sort","values","F","f","index","d","i","j","c","ascendingDefined","compareDefined","compare","ascending","a","b","x","Graph","props","$","_c","data","width","height","lineColors","dateFormat","noOfXTicks","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","colorDomain","selectedColor","classNames","showLabels","dimmedOpacity","precision","naLabel","customLayers","showHighlightedLinesLabels","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","t3","date","parse","Date","dataFormatted","orderBy","map","filter","_temp","labels","uniqBy","t4","d_1","dates","_temp2","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t5","t6","top","bottom","left","right","margin","MouseoverRectRef","lineArray","el","label","t7","t8","d_3","coordinates","highlightAreaSettingsFormatted","t9","d_4","el_0","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp4","_temp5","_temp6","_temp7","_temp8","maxParam","max","_temp9","_temp0","_temp1","_temp10","scaleTime","domain","range","t10","y","scaleLinear","nice","voronoiDiagram","Delaunay","from","_temp11","d_16","voronoi","lineShape","line","d_18","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp12","invert","pointer","clientY","clientX","mouseout","select","current","on","t11","jsx","HighlightArea","t12","yAxis","gridLines","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","numberFormattingFunction","t24","t25","t26","t27","dx","dy","t28","xAxis","axis","t29","t30","t31","t32","t33","t34","Axis","t35","t36","t37","title","t38","t39","AxisTitle","t40","d_24","format","t41","t42","d_25","t43","t44","t45","t46","t47","cn","t48","t49","t50","t51","_temp15","_temp16","t52","_temp27","d_30","renderCell","findIndex","el_12","event_0","event_1","t53","Fragment","el_13","i_0","RefLineY","text","color","value","t54","t55","d_31","i_1","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","cy","cx","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t56","_temp28","_temp29","t57","Tooltip","jsxs","motion","CustomArea","YTicksAndGridLines","_temp13","_temp14","d_23","XTicksAndGridLines","d_28","opacity","transition","initial","indexOf","whileInView","_temp17","fill","pathLength","_temp18","stroke","_temp19","Colors","gray","_temp20","_temp21","el_6","j_0","_temp22","_temp23","delay","_temp24","_temp25","graphObjectValues","_temp26","textAnchor","d_33","layer","d_32","position","d_29","el_11","el_10","el_9","el_8","el_7","el_5","el_4","el_3","el_2","el_1","d_27","d_26","d_22","d_21","d_20","d_15","d_12","d_11","d_14","d_13","d_6","d_5","d_8","d_7","d_10","d_9","d_0","MultiLineAltChart","graphTitle","showNAColor","colors","sources","graphDescription","footNote","padding","backgroundColor","showColorScale","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegendWithMouseOver","categoricalColors","EmptyState","primaryColors","getNoOfTicks","GraphArea","footnote","GraphFooter","GraphContainer","d_2"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"MultiLineAltChart.cjs","sources":["../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sort.js","../src/Components/Graphs/LineCharts/MultiLineAltChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineAltChart/index.tsx"],"sourcesContent":["export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { ascending, sort } from 'd3-array';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Delaunay } from 'd3-delaunay';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineAltChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showLabels: boolean;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n colorDomain: (string | number)[];\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n selectedColor?: string;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n showHighlightedLinesLabels: boolean;\r\n showDateOnHover: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n label: number | string;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n dateFormat,\r\n noOfXTicks,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n colorDomain,\r\n selectedColor,\r\n classNames,\r\n showLabels,\r\n dimmedOpacity,\r\n precision,\r\n naLabel,\r\n customLayers,\r\n showHighlightedLinesLabels,\r\n showDateOnHover,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n ).filter(d => !checkIfNullOrUndefined(d.y));\r\n const labels = uniqBy(dataFormatted, 'label', true) as (string | number)[];\r\n const dates = sort(\r\n uniqBy(data, 'date', true).map(d => parse(`${d}`, dateFormat, new Date())),\r\n (a, b) => ascending(a, b),\r\n );\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const lineArray = labels.map(d =>\r\n orderBy(\r\n dataFormatted.filter(el => el.label == d),\r\n ['date'],\r\n ['asc'],\r\n ),\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dates[0];\r\n const maxYear = maxDate ? parse(`${maxDate}`, dateFormat, new Date()) : dates[dates.length - 1];\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]))\r\n ? (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number) > 0\r\n ? 0\r\n : (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n ? (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const voronoiDiagram = Delaunay.from(\r\n dataFormatted.filter(d => !checkIfNullOrUndefined(d.date) && !checkIfNullOrUndefined(d.y)),\r\n d => x(d.date),\r\n d => y(d.y as number),\r\n ).voronoi([0, 0, graphWidth < 0 ? 0 : graphWidth, graphHeight < 0 ? 0 : graphHeight]);\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <motion.g>\r\n {lineArray.map(d => (\r\n <motion.g\r\n key={d[0].label}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n d={\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || ''\r\n }\r\n style={{\r\n fill: 'none',\r\n strokeWidth: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : strokeWidth,\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <motion.g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={graphWidth / d.length < 5 ? 0 : graphWidth / d.length < 20 ? 2 : 4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {((highlightedLines.indexOf(d[0].label) !== -1 && showHighlightedLinesLabels) ||\r\n mouseOverData?.label === d[0].label) &&\r\n showLabels ? (\r\n <motion.text\r\n className='text-sm font-bold'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {d[0].label}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <>\r\n <text\r\n y={y(mouseOverData.y) - 8}\r\n x={x(mouseOverData.date)}\r\n className={cn('graph-value text-sm font-bold', classNames?.graphObjectValues)}\r\n style={{\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !mouseOverData.color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(mouseOverData.color)],\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(mouseOverData.y, naLabel, precision, prefix, suffix)}\r\n </text>\r\n {showDateOnHover && (\r\n <text\r\n y={y(mouseOverData.y) + 20}\r\n x={x(mouseOverData.date)}\r\n className={cn(\r\n 'graph-value text-sm fill-primary-gray-500 dark:fill-primary-gray-400',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {format(new Date(mouseOverData.date), dateFormat || 'yyyy')}\r\n </text>\r\n )}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n {dataFormatted\r\n .filter(d => !checkIfNullOrUndefined(d.y))\r\n .map((d, i) => {\r\n return (\r\n <g key={i}>\r\n <path\r\n d={voronoiDiagram.renderCell(\r\n dataFormatted.findIndex(el => el.label === d.label && el.date === d.date),\r\n )}\r\n opacity={0}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n />\r\n </g>\r\n );\r\n })}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineAltChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for lines */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: (string | number)[];\r\n /** Toggle the visibility of labels of the lines when highlighted or mouse hovered */\r\n showLabels?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Toggle visibility of year labels on hover. */\r\n showDateOnHover?: boolean;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines if the labels should be shown for highlighted lines. */\r\n showHighlightedLinesLabels?: boolean;\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function MultiLineAltChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n showNAColor = true,\r\n colors,\r\n colorDomain,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n padding,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n showColorScale = true,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showLabels = true,\r\n showHighlightedLinesLabels = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines = [],\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n naLabel = 'NA',\r\n showDateOnHover = false,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n lineColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n suffix={suffix}\r\n prefix={prefix}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n showHighlightedLinesLabels={showHighlightedLinesLabels}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n selectedColor={selectedColor}\r\n showLabels={showLabels}\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n showDateOnHover={showDateOnHover}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["permute","source","keys","key","sort","values","F","f","index","d","i","j","c","ascendingDefined","compareDefined","compare","ascending","a","b","x","Graph","props","$","_c","data","width","height","lineColors","dateFormat","noOfXTicks","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","colorDomain","selectedColor","classNames","showLabels","dimmedOpacity","precision","naLabel","customLayers","showHighlightedLinesLabels","showDateOnHover","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","t3","date","parse","Date","dataFormatted","orderBy","map","filter","_temp","labels","uniqBy","t4","d_1","dates","_temp2","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t5","t6","top","bottom","left","right","margin","MouseoverRectRef","lineArray","el","label","t7","t8","d_3","coordinates","highlightAreaSettingsFormatted","t9","d_4","el_0","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp4","_temp5","_temp6","_temp7","_temp8","maxParam","max","_temp9","_temp0","_temp1","_temp10","scaleTime","domain","range","t10","y","scaleLinear","nice","voronoiDiagram","Delaunay","from","_temp11","d_16","voronoi","lineShape","line","d_18","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp12","invert","pointer","clientY","clientX","mouseout","select","current","on","t11","jsx","HighlightArea","t12","yAxis","gridLines","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","numberFormattingFunction","t24","t25","t26","t27","dx","dy","t28","xAxis","axis","t29","t30","t31","t32","t33","t34","Axis","t35","t36","t37","title","t38","t39","AxisTitle","t40","d_24","format","t41","t42","d_25","t43","t44","t45","t46","t47","cn","t48","t49","t50","t51","_temp15","_temp16","t52","_temp27","d_30","renderCell","findIndex","el_12","event_0","event_1","t53","Fragment","el_13","i_0","RefLineY","text","color","value","t54","t55","d_31","i_1","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","cy","cx","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t56","_temp28","_temp29","t57","Tooltip","jsxs","motion","CustomArea","YTicksAndGridLines","_temp13","_temp14","d_23","XTicksAndGridLines","d_28","opacity","transition","initial","indexOf","whileInView","_temp17","fill","pathLength","_temp18","stroke","_temp19","Colors","gray","_temp20","_temp21","el_6","j_0","_temp22","_temp23","delay","_temp24","_temp25","graphObjectValues","_temp26","textAnchor","d_33","layer","d_32","position","d_29","el_11","el_10","el_9","el_8","el_7","el_5","el_4","el_3","el_2","el_1","d_27","d_26","d_22","d_21","d_20","d_15","d_12","d_11","d_14","d_13","d_6","d_5","d_8","d_7","d_10","d_9","d_0","MultiLineAltChart","graphTitle","showNAColor","colors","sources","graphDescription","footNote","padding","backgroundColor","showColorScale","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegendWithMouseOver","categoricalColors","EmptyState","primaryColors","getNoOfTicks","GraphArea","footnote","GraphFooter","GraphContainer","d_2"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -174,6 +174,8 @@ declare interface Props {
|
|
|
174
174
|
showColorScale?: boolean;
|
|
175
175
|
/** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */
|
|
176
176
|
showNAColor?: boolean;
|
|
177
|
+
/** Toggle visibility of year labels on hover. */
|
|
178
|
+
showDateOnHover?: boolean;
|
|
177
179
|
/** Defines how “NA” values should be displayed/labelled in the graph */
|
|
178
180
|
naLabel?: string;
|
|
179
181
|
/** Data points to highlight. Use the label value from data to highlight the data point */
|