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