@undp/data-viz 1.5.6 → 1.5.8
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/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.js +650 -648
- package/dist/BarGraph.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.js +210 -208
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.js +42 -40
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.js +122 -120
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.js +133 -113
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.js +274 -274
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.js +194 -174
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.js +160 -161
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.js +77 -66
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.js +166 -161
- package/dist/ParetoChart.js.map +1 -1
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +253 -241
- package/dist/RadarChart.js.map +1 -1
- package/dist/{RegressionLine-mH7UKOPi.js → RegressionLine-C2--oMQq.js} +10 -9
- package/dist/RegressionLine-C2--oMQq.js.map +1 -0
- package/dist/RegressionLine-Dj0GSiAp.cjs +2 -0
- package/dist/RegressionLine-Dj0GSiAp.cjs.map +1 -0
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.js +130 -129
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.js +43 -38
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +113 -109
- package/dist/SlopeChart.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.js +282 -270
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.js +284 -349
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.js +20 -21
- package/dist/UnitChart.js.map +1 -1
- package/dist/getCentroidCoordinates-Dfk6IqEG.js +70 -0
- package/dist/getCentroidCoordinates-Dfk6IqEG.js.map +1 -0
- package/dist/getCentroidCoordinates-DxTBqzp2.cjs +2 -0
- package/dist/getCentroidCoordinates-DxTBqzp2.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +34 -32
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.js +16 -14
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/RegressionLine-mH7UKOPi.js.map +0 -1
- package/dist/RegressionLine-xKdiJ8sw.cjs +0 -2
- package/dist/RegressionLine-xKdiJ8sw.cjs.map +0 -1
package/dist/BarGraph.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DDoeWRVt.cjs"),d=require("react"),Ee=require("./parse-hMnG_lRV.cjs"),Ie=require("./getSliderMarks-CRIbTGYV.cjs"),$e=require("./index-CQ3e6Ewi.cjs"),Ae=require("./index-DQA8q5sC.cjs"),ze=require("./Modal-tXZlLE5s.cjs"),Me=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-De16GWhY.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ce=require("./Colors.cjs"),Le=require("./string2HTML-z7CwHXcx.cjs"),Ze=require("./XTicksAndGridLines-CCzXIV8d.cjs"),et=require("./YAxesLabels-yRFFdx1s.cjs"),Be=require("./AxisTitle-CK9YeovX.cjs"),Fe=require("./Axis-DE7dSn1_.cjs"),Pe=require("./ReferenceLine-CFVBBN__.cjs"),He=require("./use-in-view-sQJZ_xDO.cjs"),qe=require("./linear-BVckp9RD.cjs"),Te=require("./band-CAApY4Pd.cjs"),Ge=require("./index-BW8iNx7E.cjs"),fe=require("./proxy-BHRoeZgd.cjs"),Ue=require("./GraphFooter.cjs"),We=require("./GraphHeader.cjs"),Xe=require("./ColorLegendWithMouseOver.cjs"),Ye=require("./EmptyState-d8_8SxeW.cjs"),De=require("./index-BW_-wD2k.cjs"),Re=require("./ensureCompleteData-DkQYPeDa.cjs"),Se=require("./uniqBy-O05lp2S5.cjs"),_e=require("./sort-O96oMZLb.cjs"),Je=require("./init-DU0ybBc_.cjs"),ke=require("./index-CSNtgibC.cjs"),Qe=require("./getTextColorBasedOnBgColor-nqY-bsM_.cjs"),tt=require("./XAxesLabels-Drf7M3YK.cjs"),it=require("./YTicksAndGridLines-DBDuz6vb.cjs");function at(ye){const{data:o,barColor:p,suffix:G,prefix:$,barPadding:U,showValues:me,showTicks:de,leftMargin:he,truncateBy:Z,width:H,height:ie,colorDomain:N,rightMargin:ne,topMargin:ce,bottomMargin:C,showLabels:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,highlightedDataPoints:V,maxValue:ae,minValue:se,onSeriesMouseClick:K,labelOrder:te,rtl:re,maxBarThickness:X,minBarThickness:pe,resetSelectionOnDoubleClick:oe,detailsOnClick:I,barAxisTitle:b,valueColor:g,noOfTicks:k,styles:D,classNames:M,animate:O,dimmedOpacity:T,precision:A,customLayers:v,naLabel:w}=ye,Y=d.useRef(null),S=He.useInView(Y,{once:O.once,amount:O.amount}),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E={top:b?ce+25:ce,bottom:C,left:he,right:ne},h=H-E.left-E.right,c=ie-E.top-E.bottom,x=o.map((s,f)=>({...s,id:te?`${s.label}`:`${f}`})),u=qe.linear().domain([se,ae]).range([0,h]).nice(),a=te||x.map(s=>`${s.id}`),r=Te.band().domain(a).range([0,pe?Math.max(c,pe*a.length):X?Math.min(c,X*a.length):c]).paddingInner(U),t=u.ticks(k);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:Y,width:`${H}px`,height:`${ie}px`,viewBox:`0 0 ${H} ${ie}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${E.left},${E.top})`,children:[de?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:t.filter(s=>s!==0),x:t.filter(s=>s!==0).map(s=>u(s)),y1:0-ce,y2:c+E.bottom,styles:{gridLines:D?.xAxis?.gridLines,labels:D?.xAxis?.labels},classNames:{gridLines:M?.xAxis?.gridLines,labels:M?.xAxis?.labels},suffix:G,prefix:$,labelType:"secondary",showGridLines:!0,precision:A}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:h/2,y:0-E.top+15,style:D?.xAxis?.title,className:M?.xAxis?.title,text:b}),v.filter(s=>s.position==="before").map(s=>s.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map(s=>q.checkIfNullOrUndefined(r(s.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85},whileInView:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(s),m(f.clientY),R(f.clientX),ee?.(s)},onClick:()=>{(K||I)&&(Ae.isEqual(P,s)&&oe?(B(void 0),K?.(void 0)):(B(s),K?.(s)))},onMouseMove:f=>{le(s),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[s.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{variants:{initial:{width:0,x:u(0),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray},whileInView:{width:s.size>=0?u(s.size)-u(0):u(0)-u(s.size),x:s.size>=0?u(0):u(s.size),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{width:0,x:u(0),transition:{duration:O.duration}},height:r.bandwidth()}):null,W?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${s.label}`.length<Z?`${s.label}`:`${`${s.label}`.substring(0,Z)}...`,y:r(s.id)||0,x:(s.size||0)<0?u(0):0-E.left,width:(s.size||0)<0?H-u(0):u(0)+E.left,height:r.bandwidth(),alignment:s.size&&s.size<0?"left":"right",style:D?.yAxis?.labels,className:M?.yAxis?.labels,animate:O,isInView:S}):null,me?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:s.size&&s.size<0?"end":"start",...D?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!g&&p.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",M?.graphObjectValues),dx:s.size&&s.size<0?-5:5,dy:"0.33em",variants:{initial:{x:u(0),y:r(`${s.id}`)+r.bandwidth()/2,opacity:0,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray)},whileInView:{x:s.size?u(s.size):u(0),opacity:1,y:r(`${s.id}`)+r.bandwidth()/2,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray),transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(s.size,w,A,$,G)}):null]},s.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:u(se<0?0:se),x2:u(se<0?0:se),y1:-2.5,y2:c+E.bottom,classNames:{axis:M?.yAxis?.axis},styles:{axis:D?.yAxis?.axis}}),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((s,f)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:s.text,color:s.color,x:u(s.value),y1:0-E.top,y2:c+E.bottom,textSide:u(s.value)>h*.75||re?"left":"right",classNames:s.classNames,styles:s.styles,animate:O,isInView:S},f))}):null]}),v.filter(s=>s.position==="after").map(s=>s.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:D?.tooltip,className:M?.tooltip}):null,I&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof I=="string"?{__html:Le.string2HTML(I,P)}:void 0,children:typeof I=="function"?I(P):null})}):null]})}function st(ye){const{data:o,graphTitle:p,colors:G,suffix:$="",sources:U,prefix:me="",graphDescription:de,barPadding:he=.25,showValues:Z=!0,showTicks:H=!0,leftMargin:ie=100,rightMargin:N=40,truncateBy:ne=999,height:ce,width:C,footNote:W,colorDomain:J,colorLegendTitle:ee,highlightedDataPoints:j=[],padding:y,backgroundColor:V=!1,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,showColorScale:oe=!0,graphID:I,maxValue:b,minValue:g,onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,sortData:O,labelOrder:T,language:A="en",showNAColor:v=!0,minHeight:w=0,theme:Y="light",maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(C||je[0].target.clientWidth||620),_(ce||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),C||n.observe(i.current)),()=>n.disconnect()},[C,ce]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${Y||"light"} flex ${C?"w-fit grow-0":"w-full grow"}`,dir:A==="he"||A==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${V?V===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${A||"en"}`,C?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...V&&V!==!0?{backgroundColor:V}:{}},id:I,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a bar chart. ${de?` ${de}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:V?y||"1rem":y||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||de||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:de,width:C,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[oe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:C,colorLegendTitle:ee,colors:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:J||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:v}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(C||f)&&(ce||ue)?e.jsxRuntimeExports.jsx(at,{data:O?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?O==="asc"?1/0:-1/0:n.size],[O]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:J||Se.uniqBy(o,"color",!0),width:C||f,selectedColor:Ne,height:Math.max(w,ce||(te?w?(C||f)*te>w?(C||f)*te:w:(C||f)*te:ue)),suffix:$,prefix:me,barPadding:he,showValues:Z,showTicks:H,leftMargin:ie,rightMargin:N,topMargin:ae,bottomMargin:se,truncateBy:ne,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(b)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,minValue:q.checkIfNullOrUndefined(g)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):g,highlightedDataPoints:j,onSeriesMouseClick:k,labelOrder:T,rtl:A==="he"||A==="ar",maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:h,styles:E,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),U||W?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{sources:U,footNote:W,width:C,styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source}}):null]})})})})}function rt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,truncateBy:me,width:de,height:he,suffix:Z,prefix:H,showValues:ie,rightMargin:N,topMargin:ne,bottomMargin:ce,showLabels:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,rtl:se,labelOrder:K,maxBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?ne+25:ne,bottom:ce,left:U,right:N},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=de-w.left-w.right,m=he-w.top-w.bottom,E=o.map((r,t)=>({...r,id:K?`${r.label}`:`${t}`})),h=K||E.map(r=>`${r.id}`),c=qe.linear().domain([y,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.min(m,te*h.length):m]).paddingInner(G),u=Te.band().domain(o[0].size.map((r,t)=>`${t}`)).range([0,x.bandwidth()]).paddingInner(.1),a=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${de}px`,height:`${he}px`,viewBox:`0 0 ${de} ${he}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:a.filter(r=>r!==0),x:a.filter(r=>r!==0).map(r=>c(r)),y1:0-ne,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:Z,prefix:H,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(r=>r.position==="before").map(r=>r.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(r=>q.checkIfNullOrUndefined(x(r.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:0,y:x(`${r.id}`)},whileInView:{x:0,y:x(`${r.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[r.size.map((t,s)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?p[s]===ae?1:.3:.85,onMouseEnter:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX),J?.({...r,sizeIndex:s})},onMouseMove:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),J?.(void 0)},onClick:()=>{(V||X)&&(Ae.isEqual(L,{...r,sizeIndex:s})&&re?(le(void 0),V?.(void 0)):(le({...r,sizeIndex:s}),V&&V({...r,sizeIndex:s})))},children:[q.checkIfNullOrUndefined(t)?null:e.jsxRuntimeExports.jsx(fe.motion.rect,{y:u(`${s}`),variants:{initial:{width:0,x:c(0),fill:p[s]},whileInView:{width:q.checkIfNullOrUndefined(t)?0:t>=0?c(t)-c(0):c(0)-c(t),x:t>=0?c(0):c(t),fill:p[s],transition:{duration:k.duration}}},exit:{width:0,x:c(0),transition:{duration:k.duration}},height:u.bandwidth(),initial:"initial",animate:v?"whileInView":"initial"}),ie?e.jsxRuntimeExports.jsx(fe.motion.text,{y:u(`${s}`)+u.bandwidth()/2,style:{fill:oe||p[s],textAnchor:t&&t<0?"end":"start",...b?.graphObjectValues||{}},className:e.mo("graph-value text-sm",g?.graphObjectValues),dx:t&&t<0?-5:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(t||0),opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:Me.numberFormattingFunction(t,T,M,H,Z)}):null]},`${r.label}-${D[s]||s}`)),C?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${r.label}`.length<me?`${r.label}`:`${`${r.label}`.substring(0,me)}...`,y:0,x:0-w.left,width:c(y<0?0:y)+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null]},r.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(y<0?0:y),x2:c(y<0?0:y),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((r,t)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:r.text,color:r.color,x:c(r.value),y1:0-w.top,y2:m+w.bottom,textSide:c(r.value)>F*.75||se?"left":"right",classNames:r.classNames,styles:r.styles,animate:k,isInView:v},t))}):null]}),O.filter(r=>r.position==="after").map(r=>r.layer)]})}),Y&&W&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:W,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function nt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,truncateBy:he=999,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce="",prefix:C="",showValues:W=!0,showColorScale:J=!0,padding:ee,backgroundColor:j=!1,leftMargin:y=100,rightMargin:V=40,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,graphID:oe,maxValue:I,minValue:b,onSeriesMouseClick:g,graphDownload:k=!1,dataDownload:D=!1,language:M="en",labelOrder:O,minHeight:T=0,theme:A="light",maxBarThickness:v,ariaLabel:w,resetSelectionOnDoubleClick:Y=!0,detailsOnClick:S,barAxisTitle:L,noOfTicks:le=5,valueColor:P,styles:B,classNames:Q,filterNA:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(H||i[0].target.clientWidth||620),s(Z||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),H||l.observe(be.current)),()=>l.disconnect()},[H,Z]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${A||"light"} flex ${H?"w-fit grow-0":"w-full grow"}`,dir:M==="he"||M==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${j?j===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${M||"en"}`,H?"w-fit":"w-full",Q?.graphContainer),style:{...B?.graphContainer||{},...j&&j!==!0?{backgroundColor:j}:{}},id:oe,ref:ve,"aria-label":w||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:j?ee||"1rem":ee||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||k||D?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:B?.title,description:B?.description},classNames:{title:Q?.title,description:Q?.description},graphTitle:p,graphDescription:U,width:H,graphDownload:k?ve.current:void 0,dataDownload:D?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[J?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:H,colorDomain:N,colors:G,colorLegendTitle:ne,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(H||a)&&(Z||t)?e.jsxRuntimeExports.jsx(rt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>R?!l.size.every(i=>i==null):l),barColors:G,width:H||a,height:Math.max(T,Z||(te?T?(H||a)*te>T?(H||a)*te:T:(H||a)*te:t)),suffix:ce,prefix:C,showValues:W,barPadding:me,showTicks:de,leftMargin:y,rightMargin:V,topMargin:ae,bottomMargin:se,truncateBy:he,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):b,onSeriesMouseClick:g,selectedColor:Oe,labelOrder:O,rtl:M==="he"||M==="ar",maxBarThickness:v,resetSelectionOnDoubleClick:Y,detailsOnClick:S,barAxisTitle:L,noOfTicks:le,valueColor:P,styles:B,classNames:Q,colorDomain:N,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},precision:m,customLayers:E,naLabel:c}):null})]})}),$||ie?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:B?.footnote,source:B?.source},classNames:{footnote:Q?.footnote,source:Q?.source},sources:$,footNote:ie,width:H}):null]})})})})}function lt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,rightMargin:me,truncateBy:de,width:he,height:Z,topMargin:H,bottomMargin:ie,tooltip:N,onSeriesMouseOver:ne,showLabels:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,rtl:ae,labelOrder:se,maxBarThickness:K,minBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?H+25:H,bottom:ie,left:U,right:me},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=he-w.left-w.right,m=Z-w.top-w.bottom,E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=qe.linear().domain([0,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.max(m,te*h.length):K?Math.min(m,K*h.length):m]).paddingInner(G),u=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${he}px`,height:`${Z}px`,viewBox:`0 0 ${he} ${Z}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:u.filter(a=>a!==0),x:u.filter(a=>a!==0).map(a=>c(a)),y1:0-H,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(x(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:0,y:x(`${a.id}`)},whileInView:{x:0,y:x(`${a.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?p[t]===V?1:.3:1,onMouseEnter:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX),ne?.({...a,sizeIndex:t})},onMouseMove:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),ne?.(void 0)},onClick:()=>{(y||X)&&(Ae.isEqual(L,{...a,sizeIndex:t})&&re?(le(void 0),y?.(void 0)):(le({...a,sizeIndex:t}),y&&y({...a,sizeIndex:t})))},children:[r?e.jsxRuntimeExports.jsx(fe.motion.rect,{y:0,style:{fill:p[t]},height:x.bandwidth(),exit:{width:0,x:c(0),transition:{duration:k.duration}},variants:{initial:{width:0,x:c(0),fill:p[t]},whileInView:{width:c(r||0),x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s))),fill:p[t],transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial"},t):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{y:x.bandwidth()/2,style:{textAnchor:"middle",...b?.graphObjectValues||{}},dy:"0.33em",className:e.mo("graph-value text-sm",g?.graphObjectValues),exit:{opacity:0,transition:{duration:k.duration}},variants:{initial:{x:c(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor(p[t])},whileInView:{x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s)))+c(r||0)/2,opacity:r&&c(r)/Me.numberFormattingFunction(r,T,M,W,C).length>12?1:0,fill:Qe.getTextColorBasedOnBgColor(p[t]),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(r,T,M,W,C)}):null]},`${a.label}-${D[t]||t}`)),ce?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${a.label}`.length<de?`${a.label}`:`${`${a.label}`.substring(0,de)}...`,y:0,x:0-w.left,width:0+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{className:e.mo("graph-value graph-value-total text-sm",oe?"":" fill-primary-gray-700 dark:fill-primary-gray-300",g?.graphObjectValues),style:{...oe?{fill:oe}:{},textAnchor:"start",...b?.graphObjectValues||{}},y:x.bandwidth()/2,dx:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(ke.sum(a.size.map(r=>r||0))),opacity:1,transition:{duration:k.duration}}},exit:{opacity:0,transition:{duration:k.duration}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(a.size.filter(r=>r)),T,M,W,C)}):null]},a.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(0),x2:c(0),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:a.text,color:a.color,x:c(a.value),y1:0-w.top,y2:m+w.bottom,textSide:c(a.value)>F*.75||ae?"left":"right",classNames:a.classNames,styles:a.styles,animate:k,isInView:v},r))}):null]}),O.filter(a=>a.position==="after").map(a=>a.layer)]})}),Y&&N&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:N,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function ot(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=100,rightMargin:Z=40,truncateBy:H=999,height:ie,width:N,footNote:ne,colorDomain:ce,colorLegendTitle:C,padding:W,backgroundColor:J=!1,topMargin:ee=25,bottomMargin:j=10,tooltip:y,onSeriesMouseOver:V,suffix:ae="",prefix:se="",showLabels:K=!0,relativeHeight:te,showValues:re=!0,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b=!1,dataDownload:g=!1,language:k="en",labelOrder:D,minHeight:M=0,theme:O="light",maxBarThickness:T,sortParameter:A,maxNumberOfBars:v,minBarThickness:w,showColorScale:Y=!0,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(N||z[0].target.clientWidth||620),f(ie||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),N||i.observe(ve.current)),()=>i.disconnect()},[N,ie]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${O||"light"} flex ${N?"w-fit grow-0":"w-full grow"}`,dir:k==="he"||k==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${J?J===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${k||"en"}`,N?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...J&&J!==!0?{backgroundColor:J}:{}},id:pe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:J?W||"1rem":W||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||b||g?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:N,graphDownload:b?Ne.current:void 0,dataDownload:g?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[Y?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:N,colorDomain:ce,colors:G,colorLegendTitle:C,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(N||r)&&(ie||s)?e.jsxRuntimeExports.jsx(lt,{data:A!==void 0?A==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>v?z<v:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[A])?-1/0:i.size[A],[a||"asc"]).filter((i,z)=>v?z<v:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>v?z<v:!0),barColors:G,width:N||r,height:Math.max(M,ie||(te?M?(N||r)*te>M?(N||r)*te:M:(N||r)*te:s)),barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:ee,bottomMargin:j,truncateBy:H,showLabels:K,tooltip:y,onSeriesMouseOver:V,showValues:re,suffix:ae,prefix:se,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):oe,onSeriesMouseClick:I,selectedColor:xe,rtl:k==="he"||k==="ar",labelOrder:D,maxBarThickness:T,minBarThickness:w,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:F,styles:R,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ce,precision:h,customLayers:c,naLabel:u}):null})]})}),$||ne?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:ne,width:N}):null]})})})})}function ut(ye){const{data:o,width:p,height:G,barColor:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,colorDomain:ie,truncateBy:N,rightMargin:ne,topMargin:ce,bottomMargin:C,leftMargin:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,maxValue:V,minValue:ae,highlightedDataPoints:se,onSeriesMouseClick:K,labelOrder:te,maxBarThickness:re,minBarThickness:X,resetSelectionOnDoubleClick:pe,detailsOnClick:oe,barAxisTitle:I,valueColor:b,noOfTicks:g,styles:k,classNames:D,dimmedOpacity:M,animate:O,precision:T,customLayers:A,naLabel:v}=ye,w=d.useRef(null),Y=He.useInView(w,{once:O.once,amount:O.amount}),S={top:ce,bottom:C,left:I?W+30:W,right:ne},[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E=p-S.left-S.right,h=G-S.top-S.bottom,c=qe.linear().domain([ae,V]).range([h,0]).nice(),x=o.map((t,s)=>({...t,id:te?`${t.label}`:`${s}`})),u=te||x.map(t=>`${t.id}`),a=Te.band().domain(u).range([0,X?Math.max(E,X*u.length):re?Math.min(E,re*u.length):E]).paddingInner(de),r=c.ticks(g);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:w,width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${S.left},${S.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:c(ae<0?0:ae),y2:c(ae<0?0:ae),x1:0-W,x2:E+S.right,label:Me.numberFormattingFunction(ae<0?0:ae,v,T,me,U),labelPos:{x:0-W,dx:0,dy:V<0?"1em":-5,y:c(ae<0?0:ae)},classNames:{axis:D?.xAxis?.axis,label:D?.yAxis?.labels},styles:{axis:k?.xAxis?.axis,label:k?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:r.filter(t=>t!==0),y:r.filter(t=>t!==0).map(t=>c(t)),x1:0-W,x2:E+S.right,styles:{gridLines:k?.yAxis?.gridLines,labels:k?.yAxis?.labels},classNames:{gridLines:D?.yAxis?.gridLines,labels:D?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:T}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-W-15,y:h/2,style:k?.yAxis?.title,className:D?.yAxis?.title,text:I,rotate90:!0}),A.filter(t=>t.position==="before").map(t=>t.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map((t,s)=>q.checkIfNullOrUndefined(a(t.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85},whileInView:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85,transition:{duration:O.duration}}},exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(t),m(f.clientY),R(f.clientX),ee?.(t)},onClick:()=>{(K||oe)&&(Ae.isEqual(P,t)&&pe?(B(void 0),K?.(void 0)):(B(t),K?.(t)))},onMouseMove:f=>{le(t),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[t.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{width:a.bandwidth(),initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{height:0,x:a(`${t.id}`),y:c(0),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray},whileInView:{height:t.size?Math.abs(c(t.size)-c(0)):0,y:t.size&&t.size>0?c(t.size):c(0),x:a(`${t.id}`),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},exit:{height:0,y:c(0),transition:{duration:O.duration}}}):null,he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${t.label}`.length<N?`${t.label}`:`${`${t.label}`.substring(0,N)}...`,y:(t.size||0)<0?0:c(0)+5,x:a(`${t.id}`),width:a.bandwidth(),height:(t.size||0)<0?c(0)-5:S.bottom,style:k?.xAxis?.labels,className:D?.xAxis?.labels,alignment:(t.size||0)<0?"bottom":"top",animate:O,isInView:Y}):null,Z?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:"middle",...k?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!b&&$.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",D?.graphObjectValues),dy:t.size?t.size>=0?"-5px":"1em":"-5px",variants:{initial:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(0),opacity:0,fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray)},whileInView:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(t.size||0),fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray),opacity:1,transition:{duration:O.duration}}},initial:"initial",animate:Y?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(t.size,v,T,me,U)}):null]},t.label)),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((t,s)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:t.text,color:t.color,y:c(t.value),x1:0-W,x2:E+S.right,classNames:t.classNames,styles:t.styles,animate:O,isInView:Y},s))}):null]}),A.filter(t=>t.position==="after").map(t=>t.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:k?.tooltip,className:D?.tooltip}):null,oe&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof oe=="string"?{__html:Le.string2HTML(oe,P)}:void 0,children:typeof oe=="function"?oe(P):null})}):null]})}function ct(ye){const{data:o,graphTitle:p,colors:G,barPadding:$=.25,showTicks:U=!0,leftMargin:me=20,rightMargin:de=20,topMargin:he=20,bottomMargin:Z=25,truncateBy:H=999,showLabels:ie=!0,showValues:N=!0,backgroundColor:ne=!1,suffix:ce="",prefix:C="",sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe=!0,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g=[],onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,language:O="en",theme:T="light",sortData:A,labelOrder:v,showNAColor:w=!0,minHeight:Y=0,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(j||je[0].target.clientWidth||620),_(ee||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),j||n.observe(i.current)),()=>n.disconnect()},[j,ee]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${T||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:O==="he"||O==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${ne?ne===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${O||"en"}`,j?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...ne&&ne!==!0?{backgroundColor:ne}:{}},id:oe,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${J?` ${J}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:ne?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||J||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:J,width:j,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[pe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorLegendTitle:ae,colors:G||Ce.Colors[T].categoricalColors.colors,colorDomain:V||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:w}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(j||f)&&(ee||ue)?e.jsxRuntimeExports.jsx(ut,{data:A?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?A==="asc"?-1/0:1/0:n.size],[A]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[T].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:V||Se.uniqBy(o,"color",!0),width:j||f,refValues:X,height:Math.max(Y,ee||(K?Y?(j||f)*K>Y?(j||f)*K:Y:(j||f)*K:ue)),suffix:ce,prefix:C,barPadding:$,showLabels:ie,showValues:N,showTicks:U,truncateBy:H,leftMargin:me,rightMargin:de,selectedColor:Ne,topMargin:he,bottomMargin:Z,tooltip:te,onSeriesMouseOver:re,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,highlightedDataPoints:g,onSeriesMouseClick:k,labelOrder:v,maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,styles:E,classNames:h,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),W||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source},sources:W,footNote:y,width:j}):null]})})})})}function xt(ye){const{data:o,width:p,height:G,barColors:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,truncateBy:ie,leftMargin:N,rightMargin:ne,topMargin:ce,bottomMargin:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,labelOrder:se,maxBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:ce,bottom:C,left:X?N+30:N,right:ne},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([y,j]).range([F,0]).nice(),E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=Te.band().domain(h).range([0,K?Math.min(R,K*h.length):R]).paddingInner(de),x=Te.band().domain(o[0].size.map((a,r)=>`${r}`)).range([0,c.bandwidth()]).paddingInner(.1),u=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(y<0?0:y),y2:m(y<0?0:y),x1:0-N,x2:R+v.right,label:Me.numberFormattingFunction(y<0?0:y,O,D,me,U),labelPos:{x:0-N,dx:0,dy:j<0?"1em":-5,y:m(y<0?0:y)},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:u.filter(a=>a!==0),y:u.filter(a=>a!==0).map(a=>m(a)),x1:0-N,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-N-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(c(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:c(`${a.id}`),y:0},whileInView:{x:c(`${a.id}`),y:0,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?$[t]===ae?1:.3:.85,onMouseEnter:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX),J?.({...a,sizeIndex:t})},onMouseMove:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),J?.(void 0)},onClick:()=>{(V||re)&&(Ae.isEqual(S,{...a,sizeIndex:t})&&te?(L(void 0),V?.(void 0)):(L({...a,sizeIndex:t}),V&&V({...a,sizeIndex:t})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:x(`${t}`),width:x.bandwidth(),variants:{initial:{height:0,y:m(0),fill:$[t]},whileInView:{height:q.checkIfNullOrUndefined(r)?0:Math.abs(m(r)-m(0)),y:q.checkIfNullOrUndefined(r)?m(0):r>0?m(r):m(0),fill:$[t],transition:{duration:g.duration}}},exit:{height:0,y:m(0),transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial"}),Z?e.jsxRuntimeExports.jsx(fe.motion.text,{x:x(`${t}`)+x.bandwidth()/2,style:{fill:pe||$[t],textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:r?r>=0?"-5px":"1em":"-5px",variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(r||0),opacity:1,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(r,O,D,me,U)}):null]},`${a.label}-${k[t]||t}`)),he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${a.label}`.length<ie?`${a.label}`:`${`${a.label}`.substring(0,ie)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null]},a.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:a.text,color:a.color,y:m(a.value),x1:0-N,x2:R+v.right,classNames:a.classNames,styles:a.styles,animate:g,isInView:A},r))}):null]}),M.filter(a=>a.position==="after").map(a=>a.layer)]})}),w&&W&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:W,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function dt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,suffix:W="",prefix:J="",height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,ariaLabel:v,resetSelectionOnDoubleClick:w=!0,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L=5,valueColor:le,styles:P,classNames:B,filterNA:Q=!0,showColorScale:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(j||i[0].target.clientWidth||620),s(ee||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),j||l.observe(be.current)),()=>l.disconnect()},[j,ee]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,j?"w-fit":"w-full",B?.graphContainer),style:{...P?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:pe,ref:ve,"aria-label":v||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:C?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:P?.title,description:P?.description},classNames:{title:B?.title,description:B?.description},graphTitle:p,graphDescription:U,width:j,graphDownload:g?ve.current:void 0,dataDownload:k?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[R?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorDomain:V,colors:G,colorLegendTitle:ae,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(j||a)&&(ee||t)?e.jsxRuntimeExports.jsx(xt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>Q?!l.size.every(i=>i==null):l),barColors:G,width:j||a,height:Math.max(T,ee||(K?T?(j||a)*K>T?(j||a)*K:T:(j||a)*K:t)),suffix:W,prefix:J,barPadding:me,showLabels:ne,showValues:ce,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):oe,minValue:q.checkIfNullOrUndefined(I)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,onSeriesMouseClick:b,selectedColor:Oe,labelOrder:O,maxBarThickness:A,resetSelectionOnDoubleClick:w,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L,valueColor:le,styles:P,classNames:B,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},colorDomain:V,precision:m,customLayers:E,naLabel:c}):null})]})}),$||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:P?.footnote,source:P?.source},classNames:{footnote:B?.footnote,source:B?.source},sources:$,footNote:y,width:j}):null]})})})})}function mt(ye){const{data:o,width:p,height:G,barColors:$,barPadding:U,showLabels:me,showTicks:de,truncateBy:he,leftMargin:Z,topMargin:H,bottomMargin:ie,rightMargin:N,tooltip:ne,onSeriesMouseOver:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,labelOrder:ae,maxBarThickness:se,minBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:H,bottom:ie,left:X?Z+30:Z,right:N},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([0,j]).range([F,0]).nice(),E=o.map((u,a)=>({...u,id:ae?`${u.label}`:`${a}`})),h=ae||E.map(u=>`${u.id}`),c=Te.band().domain(h).range([0,K?Math.max(R,K*h.length):se?Math.min(R,se*h.length):R]).paddingInner(U),x=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(0),y2:m(0),x1:0-Z,x2:R+v.right,label:Me.numberFormattingFunction(0,O,D,W,C),labelPos:{x:0-Z,y:m(0),dx:0,dy:-5},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),de?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:x.filter(u=>u!==0),y:x.filter(u=>u!==0).map(u=>m(u)),x1:0-Z,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-Z-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(u=>u.position==="before").map(u=>u.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(u=>q.checkIfNullOrUndefined(c(u.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:c(`${u.id}`),y:0},whileInView:{x:c(`${u.id}`),y:0,transition:{duration:g.duration}}},transition:{duration:g.duration},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[u.size.map((a,r)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?$[r]===V?1:.3:1,onMouseEnter:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX),ce?.({...u,sizeIndex:r})},onMouseMove:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),ce?.(void 0)},onClick:()=>{(y||re)&&(Ae.isEqual(S,{...u,sizeIndex:r})&&te?(L(void 0),y?.(void 0)):(L({...u,sizeIndex:r}),y&&y({...u,sizeIndex:r})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:0,width:c.bandwidth(),variants:{initial:{height:0,fill:$[r],y:m(0)},whileInView:{height:Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t)))),y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t))),fill:$[r],transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{height:0,y:m(0),transition:{duration:g.duration}}}),J?e.jsxRuntimeExports.jsx(fe.motion.text,{x:c.bandwidth()/2,style:{fill:Qe.getTextColorBasedOnBgColor($[r]),textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:"0.33em",variants:{initial:{y:m(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor($[r])},whileInView:{y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))+Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))/2,opacity:a&&Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))>20?1:0,fill:Qe.getTextColorBasedOnBgColor($[r]),transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(a,O,D,W,C)}):null]},`${u.label}-${k[r]||r}`)),me?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${u.label}`.length<he?`${u.label}`:`${`${u.label}`.substring(0,he)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{...pe&&{fill:pe},textAnchor:"middle",...I?.graphObjectValues||{}},x:c.bandwidth()/2,dy:-10,className:e.mo("graph-value graph-value-total",pe?"text-sm":"fill-primary-gray-700 dark:fill-primary-gray-300 text-sm",b?.graphObjectValues),variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(ke.sum(u.size.map(a=>a||0))),opacity:1,transition:{duration:g.duration}}},exit:{opacity:0,transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(u.size.filter(a=>a)),O,D,W,C)}):null]},u.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((u,a)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:u.text,color:u.color,y:m(u.value),x1:0-Z,x2:R+v.right,classNames:u.classNames,styles:u.styles,animate:g,isInView:A},a))}):null]}),M.filter(u=>u.position==="after").map(u=>u.layer)]})}),w&&ne&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:ne,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function ht(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,showColorScale:W=!0,suffix:J="",prefix:ee="",height:j,width:y,footNote:V,colorDomain:ae,colorLegendTitle:se,padding:K,tooltip:te,onSeriesMouseOver:re,relativeHeight:X,refValues:pe,graphID:oe,maxValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,sortParameter:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(y||z[0].target.clientWidth||620),f(j||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),y||i.observe(ve.current)),()=>i.disconnect()},[y,j]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${y?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,y?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:oe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{style:{padding:C?K||"1rem":K||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:y,graphDownload:g?Ne.current:void 0,dataDownload:k?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[W?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:y,colorDomain:ae,colors:G,colorLegendTitle:se,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(y||r)&&(j||s)?e.jsxRuntimeExports.jsx(mt,{data:v!==void 0?v==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>w?z<w:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[v])?-1/0:i.size[v],[a||"asc"]).filter((i,z)=>w?z<w:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>w?z<w:!0),barColors:G,width:y||r,height:Math.max(T,j||(X?T?(y||r)*X>T?(y||r)*X:T:(y||r)*X:s)),barPadding:me,showLabels:ne,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,showValues:ce,suffix:J,prefix:ee,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):I,onSeriesMouseClick:b,selectedColor:xe,labelOrder:O,maxBarThickness:A,minBarThickness:Y,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,styles:R,classNames:F,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ae,precision:h,customLayers:c,naLabel:u}):null})]})}),$||V?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:V,width:y}):null]})})})})}function pt(ye){const{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,orientation:E="vertical",styles:h,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}=ye;return E==="vertical"?e.jsxRuntimeExports.jsx(ct,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}):e.jsxRuntimeExports.jsx(st,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f})}function gt(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,sortParameter:A,sortData:v,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,orientation:Q="vertical",styles:R,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}=ye;return Q==="vertical"?e.jsxRuntimeExports.jsx(dt,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,sortParameter:A,sortData:v,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}):e.jsxRuntimeExports.jsx(nt,{data:o,graphTitle:p,colors:G,sortParameter:A,sortData:v,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a})}function ft(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,orientation:R="vertical",styles:F,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}=ye;return R==="vertical"?e.jsxRuntimeExports.jsx(ht,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}):e.jsxRuntimeExports.jsx(ot,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r})}exports.GroupedBarGraph=gt;exports.SimpleBarGraph=pt;exports.StackedBarGraph=ft;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DDoeWRVt.cjs"),d=require("react"),Ee=require("./parse-hMnG_lRV.cjs"),Ie=require("./getSliderMarks-CRIbTGYV.cjs"),$e=require("./index-CQ3e6Ewi.cjs"),Ae=require("./index-DQA8q5sC.cjs"),ze=require("./Modal-tXZlLE5s.cjs"),Me=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-De16GWhY.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ce=require("./Colors.cjs"),Le=require("./string2HTML-z7CwHXcx.cjs"),Ze=require("./XTicksAndGridLines-CCzXIV8d.cjs"),et=require("./YAxesLabels-yRFFdx1s.cjs"),Be=require("./AxisTitle-CK9YeovX.cjs"),Fe=require("./Axis-DE7dSn1_.cjs"),Pe=require("./ReferenceLine-CFVBBN__.cjs"),He=require("./use-in-view-sQJZ_xDO.cjs"),qe=require("./linear-BVckp9RD.cjs"),Te=require("./band-CAApY4Pd.cjs"),Ge=require("./index-BW8iNx7E.cjs"),fe=require("./proxy-BHRoeZgd.cjs"),Ue=require("./GraphFooter.cjs"),We=require("./GraphHeader.cjs"),Xe=require("./ColorLegendWithMouseOver.cjs"),Ye=require("./EmptyState-d8_8SxeW.cjs"),De=require("./index-BW_-wD2k.cjs"),Re=require("./ensureCompleteData-DkQYPeDa.cjs"),Se=require("./uniqBy-O05lp2S5.cjs"),_e=require("./sort-O96oMZLb.cjs"),Je=require("./init-DU0ybBc_.cjs"),ke=require("./index-CSNtgibC.cjs"),Qe=require("./getTextColorBasedOnBgColor-nqY-bsM_.cjs"),tt=require("./XAxesLabels-Drf7M3YK.cjs"),it=require("./YTicksAndGridLines-DBDuz6vb.cjs");function at(ye){const{data:o,barColor:p,suffix:G,prefix:$,barPadding:U,showValues:he,showTicks:me,leftMargin:pe,truncateBy:ee,width:H,height:ae,colorDomain:N,rightMargin:le,topMargin:xe,bottomMargin:C,showLabels:W,tooltip:J,onSeriesMouseOver:te,refValues:j,selectedColor:y,highlightedDataPoints:V,maxValue:se,minValue:re,onSeriesMouseClick:K,labelOrder:ie,rtl:ne,maxBarThickness:X,minBarThickness:ce,resetSelectionOnDoubleClick:Q,detailsOnClick:I,barAxisTitle:b,valueColor:g,noOfTicks:k,styles:D,classNames:M,animate:O,dimmedOpacity:T,precision:A,customLayers:v,naLabel:w}=ye,Y=d.useRef(null),S=He.useInView(Y,{once:O.once,amount:O.amount}),[L,oe]=d.useState(void 0),[P,B]=d.useState(void 0),[Z,R]=d.useState(void 0),[F,m]=d.useState(void 0),E={top:b?xe+25:xe,bottom:C,left:pe,right:le},h=H-E.left-E.right,c=ae-E.top-E.bottom,x=o.map((s,f)=>({...s,id:ie?`${s.label}`:`${f}`})),u=qe.linear().domain([re,se]).range([0,h]).nice(),a=ie||x.map(s=>`${s.id}`),r=Te.band().domain(a).range([0,ce?Math.max(c,ce*a.length):X?Math.min(c,X*a.length):c]).paddingInner(U),t=u.ticks(k);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:Y,width:`${H}px`,height:`${ae}px`,viewBox:`0 0 ${H} ${ae}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${E.left},${E.top})`,children:[me?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:t.filter(s=>s!==0),x:t.filter(s=>s!==0).map(s=>u(s)),y1:0-xe,y2:c+E.bottom,styles:{gridLines:D?.xAxis?.gridLines,labels:D?.xAxis?.labels},classNames:{gridLines:M?.xAxis?.gridLines,labels:M?.xAxis?.labels},suffix:G,prefix:$,labelType:"secondary",showGridLines:!0,precision:A}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:h/2,y:0-E.top+15,style:D?.xAxis?.title,className:M?.xAxis?.title,text:b}),v.filter(s=>s.position==="before").map(s=>s.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map(s=>q.checkIfNullOrUndefined(r(s.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85},whileInView:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{oe(s),m(f.clientY),R(f.clientX),te?.(s)},onClick:()=>{(K||I)&&(Ae.isEqual(P,s)&&Q?(B(void 0),K?.(void 0)):(B(s),K?.(s)))},onMouseMove:f=>{oe(s),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{oe(void 0),R(void 0),m(void 0),te?.(void 0)},children:[s.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{variants:{initial:{width:0,x:u(0),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray},whileInView:{width:s.size>=0?u(s.size)-u(0):u(0)-u(s.size),x:s.size>=0?u(0):u(s.size),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{width:0,x:u(0),transition:{duration:O.duration}},height:r.bandwidth()}):null,W?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${s.label}`.length<ee?`${s.label}`:`${`${s.label}`.substring(0,ee)}...`,y:r(s.id)||0,x:(s.size||0)<0?u(0):0-E.left,width:(s.size||0)<0?H-u(0):u(0)+E.left,height:r.bandwidth(),alignment:s.size&&s.size<0?"left":"right",style:D?.yAxis?.labels,className:M?.yAxis?.labels,animate:O,isInView:S}):null,he?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:s.size&&s.size<0?"end":"start",...D?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!g&&p.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",M?.graphObjectValues),dx:s.size&&s.size<0?-5:5,dy:"0.33em",variants:{initial:{x:u(0),y:r(`${s.id}`)+r.bandwidth()/2,opacity:0,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray)},whileInView:{x:s.size?u(s.size):u(0),opacity:1,y:r(`${s.id}`)+r.bandwidth()/2,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray),transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(s.size,w,A,$,G)}):null]},s.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:u(re<0?0:re),x2:u(re<0?0:re),y1:-2.5,y2:c+E.bottom,classNames:{axis:M?.yAxis?.axis},styles:{axis:D?.yAxis?.axis}}),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((s,f)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:s.text,color:s.color,x:u(s.value),y1:0-E.top,y2:c+E.bottom,textSide:u(s.value)>h*.75||ne?"left":"right",classNames:s.classNames,styles:s.styles,animate:O,isInView:S},f))}):null]}),v.filter(s=>s.position==="after").map(s=>s.layer)]})}),L&&J&&Z&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Z,yPos:F,backgroundStyle:D?.tooltip,className:M?.tooltip}):null,I&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof I=="string"?{__html:Le.string2HTML(I,P)}:void 0,children:typeof I=="function"?I(P):null})}):null]})}function st(ye){const{data:o,graphTitle:p,colors:G,suffix:$="",sources:U,prefix:he="",graphDescription:me,barPadding:pe=.25,showValues:ee=!0,showTicks:H=!0,leftMargin:ae=100,rightMargin:N=40,truncateBy:le=999,height:xe,width:C,footNote:W,colorDomain:J,colorLegendTitle:te,highlightedDataPoints:j=[],padding:y,backgroundColor:V=!1,topMargin:se=25,bottomMargin:re=10,showLabels:K=!0,relativeHeight:ie,tooltip:ne,onSeriesMouseOver:X,refValues:ce,showColorScale:Q=!0,graphID:I,maxValue:b,minValue:g,onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,sortData:O,labelOrder:T,language:A="en",showNAColor:v=!0,minHeight:w=0,theme:Y="light",maxBarThickness:S,maxNumberOfBars:L,minBarThickness:oe,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),de=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:de.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(C||je[0].target.clientWidth||620),_(xe||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),C||n.observe(i.current)),()=>n.disconnect()},[C,xe]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<de.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[de,ge,t.speed]);const Ke=Ie.getSliderMarks(de,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${Y||"light"} flex ${C?"w-fit grow-0":"w-full grow"}`,dir:A==="he"||A==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${V?V===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${A||"en"}`,C?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...V&&V!==!0?{backgroundColor:V}:{}},id:I,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a bar chart. ${me?` ${me}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:V?y||"1rem":y||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||me||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:me,width:C,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&de.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:de[0],max:de[de.length-1],marks:Ke,step:null,defaultValue:de[de.length-1],value:de[be],onChangeComplete:n=>{ve(de.indexOf(n))},onChange:n=>{ve(de.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[Q&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:C,colorLegendTitle:te,colors:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:J||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:v}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(C||f)&&(xe||ue)?e.jsxRuntimeExports.jsx(at,{data:O?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(de[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?O==="asc"?1/0:-1/0:n.size],[O]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(de[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:J||Se.uniqBy(o,"color",!0),width:C||f,selectedColor:Ne,height:Math.max(w,xe||(ie?w?(C||f)*ie>w?(C||f)*ie:w:(C||f)*ie:ue)),suffix:$,prefix:he,barPadding:pe,showValues:ee,showTicks:H,leftMargin:ae,rightMargin:N,topMargin:se,bottomMargin:re,truncateBy:le,showLabels:K,tooltip:ne,onSeriesMouseOver:X,refValues:ce,maxValue:q.checkIfNullOrUndefined(b)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,minValue:q.checkIfNullOrUndefined(g)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):g,highlightedDataPoints:j,onSeriesMouseClick:k,labelOrder:T,rtl:A==="he"||A==="ar",maxBarThickness:S,minBarThickness:oe,resetSelectionOnDoubleClick:B,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:h,styles:E,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),U||W?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{sources:U,footNote:W,width:C,styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source}}):null]})})})})}function rt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,truncateBy:he,width:me,height:pe,suffix:ee,prefix:H,showValues:ae,rightMargin:N,topMargin:le,bottomMargin:xe,showLabels:C,tooltip:W,onSeriesMouseOver:J,refValues:te,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:se,rtl:re,labelOrder:K,maxBarThickness:ie,resetSelectionOnDoubleClick:ne,detailsOnClick:X,barAxisTitle:ce,valueColor:Q,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:ce?le+25:le,bottom:xe,left:U,right:N},[Y,S]=d.useState(void 0),[L,oe]=d.useState(void 0),[P,B]=d.useState(void 0),[Z,R]=d.useState(void 0),F=me-w.left-w.right,m=pe-w.top-w.bottom,E=o.map((r,t)=>({...r,id:K?`${r.label}`:`${t}`})),h=K||E.map(r=>`${r.id}`),c=qe.linear().domain([y,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,ie?Math.min(m,ie*h.length):m]).paddingInner(G),u=Te.band().domain(o[0].size.map((r,t)=>`${t}`)).range([0,x.bandwidth()]).paddingInner(.1),a=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${me}px`,height:`${pe}px`,viewBox:`0 0 ${me} ${pe}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:a.filter(r=>r!==0),x:a.filter(r=>r!==0).map(r=>c(r)),y1:0-le,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:ee,prefix:H,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:ce}),O.filter(r=>r.position==="before").map(r=>r.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(r=>q.checkIfNullOrUndefined(x(r.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:0,y:x(`${r.id}`)},whileInView:{x:0,y:x(`${r.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[r.size.map((t,s)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:se?p[s]===se?1:.3:.85,onMouseEnter:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX),J?.({...r,sizeIndex:s})},onMouseMove:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),J?.(void 0)},onClick:()=>{(V||X)&&(Ae.isEqual(L,{...r,sizeIndex:s})&&ne?(oe(void 0),V?.(void 0)):(oe({...r,sizeIndex:s}),V&&V({...r,sizeIndex:s})))},children:[q.checkIfNullOrUndefined(t)?null:e.jsxRuntimeExports.jsx(fe.motion.rect,{y:u(`${s}`),variants:{initial:{width:0,x:c(0),fill:p[s]},whileInView:{width:q.checkIfNullOrUndefined(t)?0:t>=0?c(t)-c(0):c(0)-c(t),x:t>=0?c(0):c(t),fill:p[s],transition:{duration:k.duration}}},exit:{width:0,x:c(0),transition:{duration:k.duration}},height:u.bandwidth(),initial:"initial",animate:v?"whileInView":"initial"}),ae?e.jsxRuntimeExports.jsx(fe.motion.text,{y:u(`${s}`)+u.bandwidth()/2,style:{textAnchor:t&&t<0?"end":"start",...b?.graphObjectValues||{}},className:e.mo("graph-value text-sm",g?.graphObjectValues),dx:t&&t<0?-5:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0,fill:Q||p[s]},whileInView:{x:c(t||0),opacity:1,fill:Q||p[s],transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:Me.numberFormattingFunction(t,T,M,H,ee)}):null]},`${r.label}-${D[s]||s}`)),C?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${r.label}`.length<he?`${r.label}`:`${`${r.label}`.substring(0,he)}...`,y:0,x:0-w.left,width:c(y<0?0:y)+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null]},r.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(y<0?0:y),x2:c(y<0?0:y),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),te?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:te.map((r,t)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:r.text,color:r.color,x:c(r.value),y1:0-w.top,y2:m+w.bottom,textSide:c(r.value)>F*.75||re?"left":"right",classNames:r.classNames,styles:r.styles,animate:k,isInView:v},t))}):null]}),O.filter(r=>r.position==="after").map(r=>r.layer)]})}),Y&&W&&P&&Z?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:W,xPos:P,yPos:Z,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{oe(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function nt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:he=.25,showTicks:me=!0,truncateBy:pe=999,height:ee,width:H,footNote:ae,colorDomain:N,colorLegendTitle:le,suffix:xe="",prefix:C="",showValues:W=!0,showColorScale:J=!0,padding:te,backgroundColor:j=!1,leftMargin:y=100,rightMargin:V=40,topMargin:se=25,bottomMargin:re=10,showLabels:K=!0,relativeHeight:ie,tooltip:ne,onSeriesMouseOver:X,refValues:ce,graphID:Q,maxValue:I,minValue:b,onSeriesMouseClick:g,graphDownload:k=!1,dataDownload:D=!1,language:M="en",labelOrder:O,minHeight:T=0,theme:A="light",maxBarThickness:v,ariaLabel:w,resetSelectionOnDoubleClick:Y=!0,detailsOnClick:S,barAxisTitle:L,noOfTicks:oe=5,valueColor:P,styles:B,classNames:Z,filterNA:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,de]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(H||i[0].target.clientWidth||620),s(ee||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),H||l.observe(be.current)),()=>l.disconnect()},[H,ee]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${A||"light"} flex ${H?"w-fit grow-0":"w-full grow"}`,dir:M==="he"||M==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${j?j===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${M||"en"}`,H?"w-fit":"w-full",Z?.graphContainer),style:{...B?.graphContainer||{},...j&&j!==!0?{backgroundColor:j}:{}},id:Q,ref:ve,"aria-label":w||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:j?te||"1rem":te||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||k||D?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:B?.title,description:B?.description},classNames:{title:Z?.title,description:Z?.description},graphTitle:p,graphDescription:U,width:H,graphDownload:k?ve.current:void 0,dataDownload:D?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[J?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:H,colorDomain:N,colors:G,colorLegendTitle:le,setSelectedColor:de,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(H||a)&&(ee||t)?e.jsxRuntimeExports.jsx(rt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>R?!l.size.every(i=>i==null):l),barColors:G,width:H||a,height:Math.max(T,ee||(ie?T?(H||a)*ie>T?(H||a)*ie:T:(H||a)*ie:t)),suffix:xe,prefix:C,showValues:W,barPadding:he,showTicks:me,leftMargin:y,rightMargin:V,topMargin:se,bottomMargin:re,truncateBy:pe,showLabels:K,tooltip:ne,onSeriesMouseOver:X,refValues:ce,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):b,onSeriesMouseClick:g,selectedColor:Oe,labelOrder:O,rtl:M==="he"||M==="ar",maxBarThickness:v,resetSelectionOnDoubleClick:Y,detailsOnClick:S,barAxisTitle:L,noOfTicks:oe,valueColor:P,styles:B,classNames:Z,colorDomain:N,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},precision:m,customLayers:E,naLabel:c}):null})]})}),$||ae?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:B?.footnote,source:B?.source},classNames:{footnote:Z?.footnote,source:Z?.source},sources:$,footNote:ae,width:H}):null]})})})})}function lt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,rightMargin:he,truncateBy:me,width:pe,height:ee,topMargin:H,bottomMargin:ae,tooltip:N,onSeriesMouseOver:le,showLabels:xe,suffix:C,prefix:W,showValues:J,refValues:te,maxValue:j,onSeriesMouseClick:y,selectedColor:V,rtl:se,labelOrder:re,maxBarThickness:K,minBarThickness:ie,resetSelectionOnDoubleClick:ne,detailsOnClick:X,barAxisTitle:ce,valueColor:Q,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:ce?H+25:H,bottom:ae,left:U,right:he},[Y,S]=d.useState(void 0),[L,oe]=d.useState(void 0),[P,B]=d.useState(void 0),[Z,R]=d.useState(void 0),F=pe-w.left-w.right,m=ee-w.top-w.bottom,E=o.map((a,r)=>({...a,id:re?`${a.label}`:`${r}`})),h=re||E.map(a=>`${a.id}`),c=qe.linear().domain([0,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,ie?Math.max(m,ie*h.length):K?Math.min(m,K*h.length):m]).paddingInner(G),u=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${pe}px`,height:`${ee}px`,viewBox:`0 0 ${pe} ${ee}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:u.filter(a=>a!==0),x:u.filter(a=>a!==0).map(a=>c(a)),y1:0-H,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:ce}),O.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(x(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:0,y:x(`${a.id}`)},whileInView:{x:0,y:x(`${a.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?p[t]===V?1:.3:1,onMouseEnter:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX),le?.({...a,sizeIndex:t})},onMouseMove:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),le?.(void 0)},onClick:()=>{(y||X)&&(Ae.isEqual(L,{...a,sizeIndex:t})&&ne?(oe(void 0),y?.(void 0)):(oe({...a,sizeIndex:t}),y&&y({...a,sizeIndex:t})))},children:[r?e.jsxRuntimeExports.jsx(fe.motion.rect,{y:0,style:{fill:p[t]},height:x.bandwidth(),exit:{width:0,x:c(0),transition:{duration:k.duration}},variants:{initial:{width:0,x:c(0),fill:p[t]},whileInView:{width:c(r||0),x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s))),fill:p[t],transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial"},t):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{y:x.bandwidth()/2,style:{textAnchor:"middle",...b?.graphObjectValues||{}},dy:"0.33em",className:e.mo("graph-value text-sm",g?.graphObjectValues),exit:{opacity:0,transition:{duration:k.duration}},variants:{initial:{x:c(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor(p[t])},whileInView:{x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s)))+c(r||0)/2,opacity:r&&c(r)/Me.numberFormattingFunction(r,T,M,W,C).length>12?1:0,fill:Qe.getTextColorBasedOnBgColor(p[t]),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(r,T,M,W,C)}):null]},`${a.label}-${D[t]||t}`)),xe?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${a.label}`.length<me?`${a.label}`:`${`${a.label}`.substring(0,me)}...`,y:0,x:0-w.left,width:0+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{className:e.mo("graph-value graph-value-total text-sm",Q?"":" fill-primary-gray-700 dark:fill-primary-gray-300",g?.graphObjectValues),style:{...Q?{fill:Q}:{},textAnchor:"start",...b?.graphObjectValues||{}},y:x.bandwidth()/2,dx:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0,...Q?{fill:Q}:{}},whileInView:{x:c(ke.sum(a.size.map(r=>r||0))),opacity:1,...Q?{fill:Q}:{},transition:{duration:k.duration}}},exit:{opacity:0,transition:{duration:k.duration}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(a.size.filter(r=>r)),T,M,W,C)}):null]},a.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(0),x2:c(0),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),te?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:te.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:a.text,color:a.color,x:c(a.value),y1:0-w.top,y2:m+w.bottom,textSide:c(a.value)>F*.75||se?"left":"right",classNames:a.classNames,styles:a.styles,animate:k,isInView:v},r))}):null]}),O.filter(a=>a.position==="after").map(a=>a.layer)]})}),Y&&N&&P&&Z?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:N,xPos:P,yPos:Z,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{oe(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function ot(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:he=.25,showTicks:me=!0,leftMargin:pe=100,rightMargin:ee=40,truncateBy:H=999,height:ae,width:N,footNote:le,colorDomain:xe,colorLegendTitle:C,padding:W,backgroundColor:J=!1,topMargin:te=25,bottomMargin:j=10,tooltip:y,onSeriesMouseOver:V,suffix:se="",prefix:re="",showLabels:K=!0,relativeHeight:ie,showValues:ne=!0,refValues:X,graphID:ce,maxValue:Q,onSeriesMouseClick:I,graphDownload:b=!1,dataDownload:g=!1,language:k="en",labelOrder:D,minHeight:M=0,theme:O="light",maxBarThickness:T,sortParameter:A,maxNumberOfBars:v,minBarThickness:w,showColorScale:Y=!0,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B=5,valueColor:Z,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[de,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(N||z[0].target.clientWidth||620),f(ae||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),N||i.observe(ve.current)),()=>i.disconnect()},[N,ae]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${O||"light"} flex ${N?"w-fit grow-0":"w-full grow"}`,dir:k==="he"||k==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${J?J===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${k||"en"}`,N?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...J&&J!==!0?{backgroundColor:J}:{}},id:ce,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:J?W||"1rem":W||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||b||g?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:N,graphDownload:b?Ne.current:void 0,dataDownload:g?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[Y?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:N,colorDomain:xe,colors:G,colorLegendTitle:C,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(N||r)&&(ae||s)?e.jsxRuntimeExports.jsx(lt,{data:A!==void 0?A==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>v?z<v:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[A])?-1/0:i.size[A],[a||"asc"]).filter((i,z)=>v?z<v:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>v?z<v:!0),barColors:G,width:N||r,height:Math.max(M,ae||(ie?M?(N||r)*ie>M?(N||r)*ie:M:(N||r)*ie:s)),barPadding:he,showTicks:me,leftMargin:pe,rightMargin:ee,topMargin:te,bottomMargin:j,truncateBy:H,showLabels:K,tooltip:y,onSeriesMouseOver:V,showValues:ne,suffix:se,prefix:re,refValues:X,maxValue:q.checkIfNullOrUndefined(Q)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):Q,onSeriesMouseClick:I,selectedColor:de,rtl:k==="he"||k==="ar",labelOrder:D,maxBarThickness:T,minBarThickness:w,resetSelectionOnDoubleClick:L,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B,valueColor:Z,classNames:F,styles:R,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:xe,precision:h,customLayers:c,naLabel:u}):null})]})}),$||le?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:le,width:N}):null]})})})})}function ut(ye){const{data:o,width:p,height:G,barColor:$,suffix:U,prefix:he,barPadding:me,showLabels:pe,showValues:ee,showTicks:H,colorDomain:ae,truncateBy:N,rightMargin:le,topMargin:xe,bottomMargin:C,leftMargin:W,tooltip:J,onSeriesMouseOver:te,refValues:j,selectedColor:y,maxValue:V,minValue:se,highlightedDataPoints:re,onSeriesMouseClick:K,labelOrder:ie,maxBarThickness:ne,minBarThickness:X,resetSelectionOnDoubleClick:ce,detailsOnClick:Q,barAxisTitle:I,valueColor:b,noOfTicks:g,styles:k,classNames:D,dimmedOpacity:M,animate:O,precision:T,customLayers:A,naLabel:v}=ye,w=d.useRef(null),Y=He.useInView(w,{once:O.once,amount:O.amount}),S={top:xe,bottom:C,left:I?W+30:W,right:le},[L,oe]=d.useState(void 0),[P,B]=d.useState(void 0),[Z,R]=d.useState(void 0),[F,m]=d.useState(void 0),E=p-S.left-S.right,h=G-S.top-S.bottom,c=qe.linear().domain([se,V]).range([h,0]).nice(),x=o.map((t,s)=>({...t,id:ie?`${t.label}`:`${s}`})),u=ie||x.map(t=>`${t.id}`),a=Te.band().domain(u).range([0,X?Math.max(E,X*u.length):ne?Math.min(E,ne*u.length):E]).paddingInner(me),r=c.ticks(g);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:w,width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${S.left},${S.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:c(se<0?0:se),y2:c(se<0?0:se),x1:0-W,x2:E+S.right,label:Me.numberFormattingFunction(se<0?0:se,v,T,he,U),labelPos:{x:0-W,dx:0,dy:V<0?"1em":-5,y:c(se<0?0:se)},classNames:{axis:D?.xAxis?.axis,label:D?.yAxis?.labels},styles:{axis:k?.xAxis?.axis,label:k?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:r.filter(t=>t!==0),y:r.filter(t=>t!==0).map(t=>c(t)),x1:0-W,x2:E+S.right,styles:{gridLines:k?.yAxis?.gridLines,labels:k?.yAxis?.labels},classNames:{gridLines:D?.yAxis?.gridLines,labels:D?.yAxis?.labels},suffix:U,prefix:he,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:T}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-W-15,y:h/2,style:k?.yAxis?.title,className:D?.yAxis?.title,text:I,rotate90:!0}),A.filter(t=>t.position==="before").map(t=>t.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map((t,s)=>q.checkIfNullOrUndefined(a(t.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{opacity:y?t.color&&$[ae.indexOf(t.color)]===y?1:M:re.length!==0?re.indexOf(t.label)!==-1?.85:M:.85},whileInView:{opacity:y?t.color&&$[ae.indexOf(t.color)]===y?1:M:re.length!==0?re.indexOf(t.label)!==-1?.85:M:.85,transition:{duration:O.duration}}},exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{oe(t),m(f.clientY),R(f.clientX),te?.(t)},onClick:()=>{(K||Q)&&(Ae.isEqual(P,t)&&ce?(B(void 0),K?.(void 0)):(B(t),K?.(t)))},onMouseMove:f=>{oe(t),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{oe(void 0),R(void 0),m(void 0),te?.(void 0)},children:[t.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{width:a.bandwidth(),initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{height:0,x:a(`${t.id}`),y:c(0),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ae.indexOf(t.color)]:Ce.Colors.gray},whileInView:{height:t.size?Math.abs(c(t.size)-c(0)):0,y:t.size&&t.size>0?c(t.size):c(0),x:a(`${t.id}`),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ae.indexOf(t.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},exit:{height:0,y:c(0),transition:{duration:O.duration}}}):null,pe?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${t.label}`.length<N?`${t.label}`:`${`${t.label}`.substring(0,N)}...`,y:(t.size||0)<0?0:c(0)+5,x:a(`${t.id}`),width:a.bandwidth(),height:(t.size||0)<0?c(0)-5:S.bottom,style:k?.xAxis?.labels,className:D?.xAxis?.labels,alignment:(t.size||0)<0?"bottom":"top",animate:O,isInView:Y}):null,ee?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:"middle",...k?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!b&&$.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",D?.graphObjectValues),dy:t.size?t.size>=0?"-5px":"1em":"-5px",variants:{initial:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(0),opacity:0,fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ae.indexOf(t.color)]:Ce.Colors.gray)},whileInView:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(t.size||0),fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ae.indexOf(t.color)]:Ce.Colors.gray),opacity:1,transition:{duration:O.duration}}},initial:"initial",animate:Y?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(t.size,v,T,he,U)}):null]},t.label)),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((t,s)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:t.text,color:t.color,y:c(t.value),x1:0-W,x2:E+S.right,classNames:t.classNames,styles:t.styles,animate:O,isInView:Y},s))}):null]}),A.filter(t=>t.position==="after").map(t=>t.layer)]})}),L&&J&&Z&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Z,yPos:F,backgroundStyle:k?.tooltip,className:D?.tooltip}):null,Q&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof Q=="string"?{__html:Le.string2HTML(Q,P)}:void 0,children:typeof Q=="function"?Q(P):null})}):null]})}function ct(ye){const{data:o,graphTitle:p,colors:G,barPadding:$=.25,showTicks:U=!0,leftMargin:he=20,rightMargin:me=20,topMargin:pe=20,bottomMargin:ee=25,truncateBy:H=999,showLabels:ae=!0,showValues:N=!0,backgroundColor:le=!1,suffix:xe="",prefix:C="",sources:W,graphDescription:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,showColorScale:ce=!0,graphID:Q,maxValue:I,minValue:b,highlightedDataPoints:g=[],onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,language:O="en",theme:T="light",sortData:A,labelOrder:v,showNAColor:w=!0,minHeight:Y=0,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:oe,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),de=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:de.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(j||je[0].target.clientWidth||620),_(te||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),j||n.observe(i.current)),()=>n.disconnect()},[j,te]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<de.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[de,ge,t.speed]);const Ke=Ie.getSliderMarks(de,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${T||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:O==="he"||O==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${le?le===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${O||"en"}`,j?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...le&&le!==!0?{backgroundColor:le}:{}},id:Q,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${J?` ${J}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:le?re||"1rem":re||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||J||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:J,width:j,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&de.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:de[0],max:de[de.length-1],marks:Ke,step:null,defaultValue:de[de.length-1],value:de[be],onChangeComplete:n=>{ve(de.indexOf(n))},onChange:n=>{ve(de.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[ce&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorLegendTitle:se,colors:G||Ce.Colors[T].categoricalColors.colors,colorDomain:V||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:w}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(j||f)&&(te||ue)?e.jsxRuntimeExports.jsx(ut,{data:A?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(de[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?A==="asc"?-1/0:1/0:n.size],[A]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(de[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[T].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:V||Se.uniqBy(o,"color",!0),width:j||f,refValues:X,height:Math.max(Y,te||(K?Y?(j||f)*K>Y?(j||f)*K:Y:(j||f)*K:ue)),suffix:xe,prefix:C,barPadding:$,showLabels:ae,showValues:N,showTicks:U,truncateBy:H,leftMargin:he,rightMargin:me,selectedColor:Ne,topMargin:pe,bottomMargin:ee,tooltip:ie,onSeriesMouseOver:ne,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,highlightedDataPoints:g,onSeriesMouseClick:k,labelOrder:v,maxBarThickness:S,minBarThickness:oe,resetSelectionOnDoubleClick:B,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F,valueColor:m,styles:E,classNames:h,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),W||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source},sources:W,footNote:y,width:j}):null]})})})})}function xt(ye){const{data:o,width:p,height:G,barColors:$,suffix:U,prefix:he,barPadding:me,showLabels:pe,showValues:ee,showTicks:H,truncateBy:ae,leftMargin:N,rightMargin:le,topMargin:xe,bottomMargin:C,tooltip:W,onSeriesMouseOver:J,refValues:te,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:se,labelOrder:re,maxBarThickness:K,resetSelectionOnDoubleClick:ie,detailsOnClick:ne,barAxisTitle:X,valueColor:ce,noOfTicks:Q,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:xe,bottom:C,left:X?N+30:N,right:le},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[oe,P]=d.useState(void 0),[B,Z]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([y,j]).range([F,0]).nice(),E=o.map((a,r)=>({...a,id:re?`${a.label}`:`${r}`})),h=re||E.map(a=>`${a.id}`),c=Te.band().domain(h).range([0,K?Math.min(R,K*h.length):R]).paddingInner(me),x=Te.band().domain(o[0].size.map((a,r)=>`${r}`)).range([0,c.bandwidth()]).paddingInner(.1),u=m.ticks(Q);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(y<0?0:y),y2:m(y<0?0:y),x1:0-N,x2:R+v.right,label:Me.numberFormattingFunction(y<0?0:y,O,D,he,U),labelPos:{x:0-N,dx:0,dy:j<0?"1em":-5,y:m(y<0?0:y)},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:u.filter(a=>a!==0),y:u.filter(a=>a!==0).map(a=>m(a)),x1:0-N,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:U,prefix:he,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-N-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(c(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:c(`${a.id}`),y:0},whileInView:{x:c(`${a.id}`),y:0,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:se?$[t]===se?1:.3:.85,onMouseEnter:s=>{Y({...a,sizeIndex:t}),Z(s.clientY),P(s.clientX),J?.({...a,sizeIndex:t})},onMouseMove:s=>{Y({...a,sizeIndex:t}),Z(s.clientY),P(s.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Z(void 0),J?.(void 0)},onClick:()=>{(V||ne)&&(Ae.isEqual(S,{...a,sizeIndex:t})&&ie?(L(void 0),V?.(void 0)):(L({...a,sizeIndex:t}),V&&V({...a,sizeIndex:t})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:x(`${t}`),width:x.bandwidth(),variants:{initial:{height:0,y:m(0),fill:$[t]},whileInView:{height:q.checkIfNullOrUndefined(r)?0:Math.abs(m(r)-m(0)),y:q.checkIfNullOrUndefined(r)?m(0):r>0?m(r):m(0),fill:$[t],transition:{duration:g.duration}}},exit:{height:0,y:m(0),transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial"}),ee?e.jsxRuntimeExports.jsx(fe.motion.text,{x:x(`${t}`)+x.bandwidth()/2,style:{textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:r?r>=0?"-5px":"1em":"-5px",variants:{initial:{y:m(0),opacity:0,fill:ce||$[t]},whileInView:{y:m(r||0),opacity:1,fill:ce||$[t],transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(r,O,D,he,U)}):null]},`${a.label}-${k[t]||t}`)),pe?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${a.label}`.length<ae?`${a.label}`:`${`${a.label}`.substring(0,ae)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null]},a.label)),te?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:te.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:a.text,color:a.color,y:m(a.value),x1:0-N,x2:R+v.right,classNames:a.classNames,styles:a.styles,animate:g,isInView:A},r))}):null]}),M.filter(a=>a.position==="after").map(a=>a.layer)]})}),w&&W&&oe&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:W,xPos:oe,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,ne&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof ne=="string"?{__html:Le.string2HTML(ne,S)}:void 0,children:typeof ne=="function"?ne(S):null})}):null]})}function dt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:he=.25,showTicks:me=!0,leftMargin:pe=20,rightMargin:ee=20,topMargin:H=20,bottomMargin:ae=25,truncateBy:N=999,showLabels:le=!0,showValues:xe=!0,backgroundColor:C=!1,suffix:W="",prefix:J="",height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,graphID:ce,maxValue:Q,minValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,ariaLabel:v,resetSelectionOnDoubleClick:w=!0,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L=5,valueColor:oe,styles:P,classNames:B,filterNA:Z=!0,showColorScale:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,de]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(j||i[0].target.clientWidth||620),s(te||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),j||l.observe(be.current)),()=>l.disconnect()},[j,te]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,j?"w-fit":"w-full",B?.graphContainer),style:{...P?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:ce,ref:ve,"aria-label":v||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:C?re||"1rem":re||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:P?.title,description:P?.description},classNames:{title:B?.title,description:B?.description},graphTitle:p,graphDescription:U,width:j,graphDownload:g?ve.current:void 0,dataDownload:k?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[R?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorDomain:V,colors:G,colorLegendTitle:se,setSelectedColor:de,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(j||a)&&(te||t)?e.jsxRuntimeExports.jsx(xt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Z?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Z?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>Z?!l.size.every(i=>i==null):l),barColors:G,width:j||a,height:Math.max(T,te||(K?T?(j||a)*K>T?(j||a)*K:T:(j||a)*K:t)),suffix:W,prefix:J,barPadding:he,showLabels:le,showValues:xe,showTicks:me,truncateBy:N,leftMargin:pe,rightMargin:ee,topMargin:H,bottomMargin:ae,tooltip:ie,onSeriesMouseOver:ne,refValues:X,maxValue:q.checkIfNullOrUndefined(Q)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):Q,minValue:q.checkIfNullOrUndefined(I)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,onSeriesMouseClick:b,selectedColor:Oe,labelOrder:O,maxBarThickness:A,resetSelectionOnDoubleClick:w,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L,valueColor:oe,styles:P,classNames:B,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},colorDomain:V,precision:m,customLayers:E,naLabel:c}):null})]})}),$||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:P?.footnote,source:P?.source},classNames:{footnote:B?.footnote,source:B?.source},sources:$,footNote:y,width:j}):null]})})})})}function mt(ye){const{data:o,width:p,height:G,barColors:$,barPadding:U,showLabels:he,showTicks:me,truncateBy:pe,leftMargin:ee,topMargin:H,bottomMargin:ae,rightMargin:N,tooltip:le,onSeriesMouseOver:xe,suffix:C,prefix:W,showValues:J,refValues:te,maxValue:j,onSeriesMouseClick:y,selectedColor:V,labelOrder:se,maxBarThickness:re,minBarThickness:K,resetSelectionOnDoubleClick:ie,detailsOnClick:ne,barAxisTitle:X,valueColor:ce,noOfTicks:Q,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:H,bottom:ae,left:X?ee+30:ee,right:N},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[oe,P]=d.useState(void 0),[B,Z]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([0,j]).range([F,0]).nice(),E=o.map((u,a)=>({...u,id:se?`${u.label}`:`${a}`})),h=se||E.map(u=>`${u.id}`),c=Te.band().domain(h).range([0,K?Math.max(R,K*h.length):re?Math.min(R,re*h.length):R]).paddingInner(U),x=m.ticks(Q);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(0),y2:m(0),x1:0-ee,x2:R+v.right,label:Me.numberFormattingFunction(0,O,D,W,C),labelPos:{x:0-ee,y:m(0),dx:0,dy:-5},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),me?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:x.filter(u=>u!==0),y:x.filter(u=>u!==0).map(u=>m(u)),x1:0-ee,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-ee-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(u=>u.position==="before").map(u=>u.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(u=>q.checkIfNullOrUndefined(c(u.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:c(`${u.id}`),y:0},whileInView:{x:c(`${u.id}`),y:0,transition:{duration:g.duration}}},transition:{duration:g.duration},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[u.size.map((a,r)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?$[r]===V?1:.3:1,onMouseEnter:t=>{Y({...u,sizeIndex:r}),Z(t.clientY),P(t.clientX),xe?.({...u,sizeIndex:r})},onMouseMove:t=>{Y({...u,sizeIndex:r}),Z(t.clientY),P(t.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Z(void 0),xe?.(void 0)},onClick:()=>{(y||ne)&&(Ae.isEqual(S,{...u,sizeIndex:r})&&ie?(L(void 0),y?.(void 0)):(L({...u,sizeIndex:r}),y&&y({...u,sizeIndex:r})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:0,width:c.bandwidth(),variants:{initial:{height:0,fill:$[r],y:m(0)},whileInView:{height:Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t)))),y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t))),fill:$[r],transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{height:0,y:m(0),transition:{duration:g.duration}}}),J?e.jsxRuntimeExports.jsx(fe.motion.text,{x:c.bandwidth()/2,style:{textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:"0.33em",variants:{initial:{y:m(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor($[r])},whileInView:{y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))+Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))/2,opacity:a&&Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))>20?1:0,fill:Qe.getTextColorBasedOnBgColor($[r]),transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(a,O,D,W,C)}):null]},`${u.label}-${k[r]||r}`)),he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${u.label}`.length<pe?`${u.label}`:`${`${u.label}`.substring(0,pe)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:"middle",...I?.graphObjectValues||{}},x:c.bandwidth()/2,dy:-10,className:e.mo("graph-value graph-value-total",ce?"text-sm":"fill-primary-gray-700 dark:fill-primary-gray-300 text-sm",b?.graphObjectValues),variants:{initial:{y:m(0),opacity:0,...ce&&{fill:ce}},whileInView:{y:m(ke.sum(u.size.map(a=>a||0))),opacity:1,...ce&&{fill:ce},transition:{duration:g.duration}}},exit:{opacity:0,transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(u.size.filter(a=>a)),O,D,W,C)}):null]},u.label)),te?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:te.map((u,a)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:u.text,color:u.color,y:m(u.value),x1:0-ee,x2:R+v.right,classNames:u.classNames,styles:u.styles,animate:g,isInView:A},a))}):null]}),M.filter(u=>u.position==="after").map(u=>u.layer)]})}),w&&le&&oe&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:le,xPos:oe,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,ne&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof ne=="string"?{__html:Le.string2HTML(ne,S)}:void 0,children:typeof ne=="function"?ne(S):null})}):null]})}function ht(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:he=.25,showTicks:me=!0,leftMargin:pe=20,rightMargin:ee=20,topMargin:H=20,bottomMargin:ae=25,truncateBy:N=999,showLabels:le=!0,showValues:xe=!0,backgroundColor:C=!1,showColorScale:W=!0,suffix:J="",prefix:te="",height:j,width:y,footNote:V,colorDomain:se,colorLegendTitle:re,padding:K,tooltip:ie,onSeriesMouseOver:ne,relativeHeight:X,refValues:ce,graphID:Q,maxValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,sortParameter:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B=5,valueColor:Z,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[de,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(y||z[0].target.clientWidth||620),f(j||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),y||i.observe(ve.current)),()=>i.disconnect()},[y,j]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${y?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,y?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:Q,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{style:{padding:C?K||"1rem":K||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:y,graphDownload:g?Ne.current:void 0,dataDownload:k?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[W?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:y,colorDomain:se,colors:G,colorLegendTitle:re,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(y||r)&&(j||s)?e.jsxRuntimeExports.jsx(mt,{data:v!==void 0?v==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>w?z<w:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[v])?-1/0:i.size[v],[a||"asc"]).filter((i,z)=>w?z<w:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>w?z<w:!0),barColors:G,width:y||r,height:Math.max(T,j||(X?T?(y||r)*X>T?(y||r)*X:T:(y||r)*X:s)),barPadding:he,showLabels:le,showTicks:me,truncateBy:N,leftMargin:pe,rightMargin:ee,topMargin:H,bottomMargin:ae,tooltip:ie,onSeriesMouseOver:ne,showValues:xe,suffix:J,prefix:te,refValues:ce,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):I,onSeriesMouseClick:b,selectedColor:de,labelOrder:O,maxBarThickness:A,minBarThickness:Y,resetSelectionOnDoubleClick:L,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B,valueColor:Z,styles:R,classNames:F,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:se,precision:h,customLayers:c,naLabel:u}):null})]})}),$||V?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:V,width:y}):null]})})})})}function pt(ye){const{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:he,rightMargin:me,topMargin:pe,bottomMargin:ee,truncateBy:H,showLabels:ae,showValues:N,backgroundColor:le,suffix:xe,prefix:C,sources:W,graphDescription:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,showColorScale:ce,graphID:Q,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:oe,ariaLabel:P,resetSelectionOnDoubleClick:B,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F,valueColor:m,orientation:E="vertical",styles:h,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}=ye;return E==="vertical"?e.jsxRuntimeExports.jsx(ct,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:he,rightMargin:me,topMargin:pe,bottomMargin:ee,truncateBy:H,showLabels:ae,showValues:N,backgroundColor:le,suffix:xe,prefix:C,sources:W,graphDescription:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,showColorScale:ce,graphID:Q,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:oe,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}):e.jsxRuntimeExports.jsx(st,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:he,rightMargin:me,topMargin:pe,bottomMargin:ee,truncateBy:H,showLabels:ae,showValues:N,backgroundColor:le,suffix:xe,prefix:C,sources:W,graphDescription:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,showColorScale:ce,graphID:Q,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:oe,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Z,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f})}function gt(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:he,showTicks:me,truncateBy:pe,height:ee,width:H,footNote:ae,colorDomain:N,colorLegendTitle:le,suffix:xe,prefix:C,showValues:W,padding:J,backgroundColor:te,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:se,showLabels:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,graphID:ce,maxValue:Q,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,sortParameter:A,sortData:v,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,detailsOnClick:L,barAxisTitle:oe,noOfTicks:P,valueColor:B,orientation:Z="vertical",styles:R,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}=ye;return Z==="vertical"?e.jsxRuntimeExports.jsx(dt,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:he,showTicks:me,truncateBy:pe,height:ee,width:H,footNote:ae,colorDomain:N,colorLegendTitle:le,suffix:xe,prefix:C,showValues:W,padding:J,backgroundColor:te,leftMargin:j,rightMargin:y,sortParameter:A,sortData:v,topMargin:V,bottomMargin:se,showLabels:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,graphID:ce,maxValue:Q,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:oe,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}):e.jsxRuntimeExports.jsx(nt,{data:o,graphTitle:p,colors:G,sortParameter:A,sortData:v,sources:$,graphDescription:U,barPadding:he,showTicks:me,truncateBy:pe,height:ee,width:H,footNote:ae,colorDomain:N,colorLegendTitle:le,suffix:xe,prefix:C,showValues:W,padding:J,backgroundColor:te,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:se,showLabels:re,relativeHeight:K,tooltip:ie,onSeriesMouseOver:ne,refValues:X,graphID:ce,maxValue:Q,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:oe,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a})}function ft(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:he,showTicks:me,leftMargin:pe,rightMargin:ee,topMargin:H,bottomMargin:ae,truncateBy:N,showLabels:le,showValues:xe,backgroundColor:C,suffix:W,prefix:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,tooltip:K,onSeriesMouseOver:ie,relativeHeight:ne,refValues:X,graphID:ce,maxValue:Q,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B,valueColor:Z,orientation:R="vertical",styles:F,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}=ye;return R==="vertical"?e.jsxRuntimeExports.jsx(ht,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:he,showTicks:me,leftMargin:pe,rightMargin:ee,topMargin:H,bottomMargin:ae,truncateBy:N,showLabels:le,showValues:xe,backgroundColor:C,suffix:W,prefix:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,tooltip:K,onSeriesMouseOver:ie,relativeHeight:ne,refValues:X,graphID:ce,maxValue:Q,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B,valueColor:Z,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}):e.jsxRuntimeExports.jsx(ot,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:he,showTicks:me,leftMargin:pe,rightMargin:ee,topMargin:H,bottomMargin:ae,truncateBy:N,showLabels:le,showValues:xe,backgroundColor:C,suffix:W,prefix:J,height:te,width:j,footNote:y,colorDomain:V,colorLegendTitle:se,padding:re,tooltip:K,onSeriesMouseOver:ie,relativeHeight:ne,refValues:X,graphID:ce,maxValue:Q,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:oe,barAxisTitle:P,noOfTicks:B,valueColor:Z,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r})}exports.GroupedBarGraph=gt;exports.SimpleBarGraph=pt;exports.StackedBarGraph=ft;
|
|
2
2
|
//# sourceMappingURL=BarGraph.cjs.map
|