@undp/data-viz 1.5.4 → 1.5.6
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.js +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.js +2 -2
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.js +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.js +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +0 -2
- package/dist/ChoroplethMap.js +2 -2
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.js +2 -2
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.js +1 -1
- package/dist/GraphEl-C6yjl1VM.cjs +2 -0
- package/dist/GraphEl-C6yjl1VM.cjs.map +1 -0
- package/dist/{GraphEl-CMWeARJ3.js → GraphEl-CqWzvOyr.js} +1 -2
- package/dist/GraphEl-CqWzvOyr.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +1 -1
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +1 -1
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.js +1 -1
- package/dist/MultiGraphDashboard.d.ts +1 -1
- package/dist/MultiGraphDashboardFromConfig.d.ts +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -1
- package/dist/PerformanceIntensiveScrollStory.d.ts +1 -1
- package/dist/ScrollStory.d.ts +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +1 -1
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +2 -2
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.d.ts +2 -2
- package/dist/ThreeDGlobe.js +394 -333
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/Types.d.ts +1 -1
- package/dist/{YAxesLabels-DSm6I5zG.js → YAxesLabels-DECkMgq8.js} +9 -8
- package/dist/YAxesLabels-DECkMgq8.js.map +1 -0
- package/dist/{YAxesLabels-CctDydGR.cjs → YAxesLabels-yRFFdx1s.cjs} +2 -2
- package/dist/YAxesLabels-yRFFdx1s.cjs.map +1 -0
- package/dist/index-9tDEUqOZ.js +752 -0
- package/dist/{index-qfWCwobm.js.map → index-9tDEUqOZ.js.map} +1 -1
- package/dist/index-CoZbeNM9.cjs +2 -0
- package/dist/{index-D05lK1Te.cjs.map → index-CoZbeNM9.cjs.map} +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/{zoom-Bsbhil-K.cjs → zoom-BiMNsz72.cjs} +2 -2
- package/dist/{zoom-Bsbhil-K.cjs.map → zoom-BiMNsz72.cjs.map} +1 -1
- package/dist/{zoom-DAu91HKr.js → zoom-QipiAl5W.js} +2 -2
- package/dist/{zoom-DAu91HKr.js.map → zoom-QipiAl5W.js.map} +1 -1
- package/package.json +2 -1
- package/dist/GraphEl-BcYgMnN2.cjs +0 -2
- package/dist/GraphEl-BcYgMnN2.cjs.map +0 -1
- package/dist/GraphEl-CMWeARJ3.js.map +0 -1
- package/dist/YAxesLabels-CctDydGR.cjs.map +0 -1
- package/dist/YAxesLabels-DSm6I5zG.js.map +0 -1
- package/dist/index-D05lK1Te.cjs +0 -2
- package/dist/index-qfWCwobm.js +0 -682
package/dist/BarGraph.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DDoeWRVt.cjs"),d=require("react"),Ee=require("./parse-hMnG_lRV.cjs"),Ie=require("./getSliderMarks-CRIbTGYV.cjs"),$e=require("./index-CQ3e6Ewi.cjs"),Ae=require("./index-DQA8q5sC.cjs"),ze=require("./Modal-tXZlLE5s.cjs"),Me=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-De16GWhY.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ce=require("./Colors.cjs"),Le=require("./string2HTML-z7CwHXcx.cjs"),Ze=require("./XTicksAndGridLines-CCzXIV8d.cjs"),et=require("./YAxesLabels-CctDydGR.cjs"),Be=require("./AxisTitle-CK9YeovX.cjs"),Fe=require("./Axis-DE7dSn1_.cjs"),Pe=require("./ReferenceLine-CFVBBN__.cjs"),He=require("./use-in-view-sQJZ_xDO.cjs"),qe=require("./linear-BVckp9RD.cjs"),Te=require("./band-CAApY4Pd.cjs"),Ge=require("./index-BW8iNx7E.cjs"),fe=require("./proxy-BHRoeZgd.cjs"),Ue=require("./GraphFooter.cjs"),We=require("./GraphHeader.cjs"),Xe=require("./ColorLegendWithMouseOver.cjs"),Ye=require("./EmptyState-d8_8SxeW.cjs"),De=require("./index-BW_-wD2k.cjs"),Re=require("./ensureCompleteData-DkQYPeDa.cjs"),Se=require("./uniqBy-O05lp2S5.cjs"),_e=require("./sort-O96oMZLb.cjs"),Je=require("./init-DU0ybBc_.cjs"),ke=require("./index-CSNtgibC.cjs"),Qe=require("./getTextColorBasedOnBgColor-nqY-bsM_.cjs"),tt=require("./XAxesLabels-Drf7M3YK.cjs"),it=require("./YTicksAndGridLines-DBDuz6vb.cjs");function at(ye){const{data:o,barColor:p,suffix:G,prefix:$,barPadding:U,showValues:me,showTicks:de,leftMargin:he,truncateBy:Z,width:H,height:ie,colorDomain:N,rightMargin:ne,topMargin:ce,bottomMargin:C,showLabels:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,highlightedDataPoints:V,maxValue:ae,minValue:se,onSeriesMouseClick:K,labelOrder:te,rtl:re,maxBarThickness:X,minBarThickness:pe,resetSelectionOnDoubleClick:oe,detailsOnClick:I,barAxisTitle:b,valueColor:g,noOfTicks:k,styles:D,classNames:M,animate:O,dimmedOpacity:T,precision:A,customLayers:v,naLabel:w}=ye,Y=d.useRef(null),S=He.useInView(Y,{once:O.once,amount:O.amount}),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E={top:b?ce+25:ce,bottom:C,left:he,right:ne},h=H-E.left-E.right,c=ie-E.top-E.bottom,x=o.map((s,f)=>({...s,id:te?`${s.label}`:`${f}`})),u=qe.linear().domain([se,ae]).range([0,h]).nice(),a=te||x.map(s=>`${s.id}`),r=Te.band().domain(a).range([0,pe?Math.max(c,pe*a.length):X?Math.min(c,X*a.length):c]).paddingInner(U),t=u.ticks(k);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:Y,width:`${H}px`,height:`${ie}px`,viewBox:`0 0 ${H} ${ie}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${E.left},${E.top})`,children:[de?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:t.filter(s=>s!==0),x:t.filter(s=>s!==0).map(s=>u(s)),y1:0-ce,y2:c+E.bottom,styles:{gridLines:D?.xAxis?.gridLines,labels:D?.xAxis?.labels},classNames:{gridLines:M?.xAxis?.gridLines,labels:M?.xAxis?.labels},suffix:G,prefix:$,labelType:"secondary",showGridLines:!0,precision:A}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:h/2,y:0-E.top+15,style:D?.xAxis?.title,className:M?.xAxis?.title,text:b}),v.filter(s=>s.position==="before").map(s=>s.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map(s=>q.checkIfNullOrUndefined(r(s.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85},whileInView:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(s),m(f.clientY),R(f.clientX),ee?.(s)},onClick:()=>{(K||I)&&(Ae.isEqual(P,s)&&oe?(B(void 0),K?.(void 0)):(B(s),K?.(s)))},onMouseMove:f=>{le(s),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[s.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{variants:{initial:{width:0,x:u(0),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray},whileInView:{width:s.size>=0?u(s.size)-u(0):u(0)-u(s.size),x:s.size>=0?u(0):u(s.size),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{width:0,x:u(0),transition:{duration:O.duration}},height:r.bandwidth()}):null,W?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${s.label}`.length<Z?`${s.label}`:`${`${s.label}`.substring(0,Z)}...`,y:r(s.id)||0,x:(s.size||0)<0?u(0):0-E.left,width:(s.size||0)<0?H-u(0):u(0)+E.left,height:r.bandwidth(),alignment:s.size&&s.size<0?"left":"right",style:D?.yAxis?.labels,className:M?.yAxis?.labels,animate:O,isInView:S}):null,me?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:s.size&&s.size<0?"end":"start",...D?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!g&&p.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",M?.graphObjectValues),dx:s.size&&s.size<0?-5:5,dy:"0.33em",variants:{initial:{x:u(0),y:r(`${s.id}`)+r.bandwidth()/2,opacity:0,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray)},whileInView:{x:s.size?u(s.size):u(0),opacity:1,y:r(`${s.id}`)+r.bandwidth()/2,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray),transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(s.size,w,A,$,G)}):null]},s.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:u(se<0?0:se),x2:u(se<0?0:se),y1:-2.5,y2:c+E.bottom,classNames:{axis:M?.yAxis?.axis},styles:{axis:D?.yAxis?.axis}}),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((s,f)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:s.text,color:s.color,x:u(s.value),y1:0-E.top,y2:c+E.bottom,textSide:u(s.value)>h*.75||re?"left":"right",classNames:s.classNames,styles:s.styles,animate:O,isInView:S},f))}):null]}),v.filter(s=>s.position==="after").map(s=>s.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:D?.tooltip,className:M?.tooltip}):null,I&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof I=="string"?{__html:Le.string2HTML(I,P)}:void 0,children:typeof I=="function"?I(P):null})}):null]})}function st(ye){const{data:o,graphTitle:p,colors:G,suffix:$="",sources:U,prefix:me="",graphDescription:de,barPadding:he=.25,showValues:Z=!0,showTicks:H=!0,leftMargin:ie=100,rightMargin:N=40,truncateBy:ne=999,height:ce,width:C,footNote:W,colorDomain:J,colorLegendTitle:ee,highlightedDataPoints:j=[],padding:y,backgroundColor:V=!1,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,showColorScale:oe=!0,graphID:I,maxValue:b,minValue:g,onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,sortData:O,labelOrder:T,language:A="en",showNAColor:v=!0,minHeight:w=0,theme:Y="light",maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(C||je[0].target.clientWidth||620),_(ce||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),C||n.observe(i.current)),()=>n.disconnect()},[C,ce]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${Y||"light"} flex ${C?"w-fit grow-0":"w-full grow"}`,dir:A==="he"||A==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${V?V===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${A||"en"}`,C?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...V&&V!==!0?{backgroundColor:V}:{}},id:I,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a bar chart. ${de?` ${de}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:V?y||"1rem":y||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||de||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:de,width:C,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[oe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:C,colorLegendTitle:ee,colors:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:J||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:v}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(C||f)&&(ce||ue)?e.jsxRuntimeExports.jsx(at,{data:O?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?O==="asc"?1/0:-1/0:n.size],[O]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:J||Se.uniqBy(o,"color",!0),width:C||f,selectedColor:Ne,height:Math.max(w,ce||(te?w?(C||f)*te>w?(C||f)*te:w:(C||f)*te:ue)),suffix:$,prefix:me,barPadding:he,showValues:Z,showTicks:H,leftMargin:ie,rightMargin:N,topMargin:ae,bottomMargin:se,truncateBy:ne,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(b)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,minValue:q.checkIfNullOrUndefined(g)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):g,highlightedDataPoints:j,onSeriesMouseClick:k,labelOrder:T,rtl:A==="he"||A==="ar",maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:h,styles:E,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),U||W?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{sources:U,footNote:W,width:C,styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source}}):null]})})})})}function rt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,truncateBy:me,width:de,height:he,suffix:Z,prefix:H,showValues:ie,rightMargin:N,topMargin:ne,bottomMargin:ce,showLabels:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,rtl:se,labelOrder:K,maxBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?ne+25:ne,bottom:ce,left:U,right:N},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=de-w.left-w.right,m=he-w.top-w.bottom,E=o.map((r,t)=>({...r,id:K?`${r.label}`:`${t}`})),h=K||E.map(r=>`${r.id}`),c=qe.linear().domain([y,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.min(m,te*h.length):m]).paddingInner(G),u=Te.band().domain(o[0].size.map((r,t)=>`${t}`)).range([0,x.bandwidth()]).paddingInner(.1),a=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${de}px`,height:`${he}px`,viewBox:`0 0 ${de} ${he}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:a.filter(r=>r!==0),x:a.filter(r=>r!==0).map(r=>c(r)),y1:0-ne,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:Z,prefix:H,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(r=>r.position==="before").map(r=>r.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(r=>q.checkIfNullOrUndefined(x(r.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:0,y:x(`${r.id}`)},whileInView:{x:0,y:x(`${r.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[r.size.map((t,s)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?p[s]===ae?1:.3:.85,onMouseEnter:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX),J?.({...r,sizeIndex:s})},onMouseMove:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),J?.(void 0)},onClick:()=>{(V||X)&&(Ae.isEqual(L,{...r,sizeIndex:s})&&re?(le(void 0),V?.(void 0)):(le({...r,sizeIndex:s}),V&&V({...r,sizeIndex:s})))},children:[q.checkIfNullOrUndefined(t)?null:e.jsxRuntimeExports.jsx(fe.motion.rect,{y:u(`${s}`),variants:{initial:{width:0,x:c(0),fill:p[s]},whileInView:{width:q.checkIfNullOrUndefined(t)?0:t>=0?c(t)-c(0):c(0)-c(t),x:t>=0?c(0):c(t),fill:p[s],transition:{duration:k.duration}}},exit:{width:0,x:c(0),transition:{duration:k.duration}},height:u.bandwidth(),initial:"initial",animate:v?"whileInView":"initial"}),ie?e.jsxRuntimeExports.jsx(fe.motion.text,{y:u(`${s}`)+u.bandwidth()/2,style:{fill:oe||p[s],textAnchor:t&&t<0?"end":"start",...b?.graphObjectValues||{}},className:e.mo("graph-value text-sm",g?.graphObjectValues),dx:t&&t<0?-5:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(t||0),opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:Me.numberFormattingFunction(t,T,M,H,Z)}):null]},`${r.label}-${D[s]||s}`)),C?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${r.label}`.length<me?`${r.label}`:`${`${r.label}`.substring(0,me)}...`,y:0,x:0-w.left,width:c(y<0?0:y)+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null]},r.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(y<0?0:y),x2:c(y<0?0:y),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((r,t)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:r.text,color:r.color,x:c(r.value),y1:0-w.top,y2:m+w.bottom,textSide:c(r.value)>F*.75||se?"left":"right",classNames:r.classNames,styles:r.styles,animate:k,isInView:v},t))}):null]}),O.filter(r=>r.position==="after").map(r=>r.layer)]})}),Y&&W&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:W,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function nt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,truncateBy:he=999,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce="",prefix:C="",showValues:W=!0,showColorScale:J=!0,padding:ee,backgroundColor:j=!1,leftMargin:y=100,rightMargin:V=40,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,graphID:oe,maxValue:I,minValue:b,onSeriesMouseClick:g,graphDownload:k=!1,dataDownload:D=!1,language:M="en",labelOrder:O,minHeight:T=0,theme:A="light",maxBarThickness:v,ariaLabel:w,resetSelectionOnDoubleClick:Y=!0,detailsOnClick:S,barAxisTitle:L,noOfTicks:le=5,valueColor:P,styles:B,classNames:Q,filterNA:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(H||i[0].target.clientWidth||620),s(Z||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),H||l.observe(be.current)),()=>l.disconnect()},[H,Z]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${A||"light"} flex ${H?"w-fit grow-0":"w-full grow"}`,dir:M==="he"||M==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${j?j===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${M||"en"}`,H?"w-fit":"w-full",Q?.graphContainer),style:{...B?.graphContainer||{},...j&&j!==!0?{backgroundColor:j}:{}},id:oe,ref:ve,"aria-label":w||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:j?ee||"1rem":ee||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||k||D?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:B?.title,description:B?.description},classNames:{title:Q?.title,description:Q?.description},graphTitle:p,graphDescription:U,width:H,graphDownload:k?ve.current:void 0,dataDownload:D?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[J?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:H,colorDomain:N,colors:G,colorLegendTitle:ne,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(H||a)&&(Z||t)?e.jsxRuntimeExports.jsx(rt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>R?!l.size.every(i=>i==null):l),barColors:G,width:H||a,height:Math.max(T,Z||(te?T?(H||a)*te>T?(H||a)*te:T:(H||a)*te:t)),suffix:ce,prefix:C,showValues:W,barPadding:me,showTicks:de,leftMargin:y,rightMargin:V,topMargin:ae,bottomMargin:se,truncateBy:he,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):b,onSeriesMouseClick:g,selectedColor:Oe,labelOrder:O,rtl:M==="he"||M==="ar",maxBarThickness:v,resetSelectionOnDoubleClick:Y,detailsOnClick:S,barAxisTitle:L,noOfTicks:le,valueColor:P,styles:B,classNames:Q,colorDomain:N,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},precision:m,customLayers:E,naLabel:c}):null})]})}),$||ie?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:B?.footnote,source:B?.source},classNames:{footnote:Q?.footnote,source:Q?.source},sources:$,footNote:ie,width:H}):null]})})})})}function lt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,rightMargin:me,truncateBy:de,width:he,height:Z,topMargin:H,bottomMargin:ie,tooltip:N,onSeriesMouseOver:ne,showLabels:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,rtl:ae,labelOrder:se,maxBarThickness:K,minBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?H+25:H,bottom:ie,left:U,right:me},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=he-w.left-w.right,m=Z-w.top-w.bottom,E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=qe.linear().domain([0,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.max(m,te*h.length):K?Math.min(m,K*h.length):m]).paddingInner(G),u=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${he}px`,height:`${Z}px`,viewBox:`0 0 ${he} ${Z}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:u.filter(a=>a!==0),x:u.filter(a=>a!==0).map(a=>c(a)),y1:0-H,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(x(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:0,y:x(`${a.id}`)},whileInView:{x:0,y:x(`${a.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?p[t]===V?1:.3:1,onMouseEnter:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX),ne?.({...a,sizeIndex:t})},onMouseMove:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),ne?.(void 0)},onClick:()=>{(y||X)&&(Ae.isEqual(L,{...a,sizeIndex:t})&&re?(le(void 0),y?.(void 0)):(le({...a,sizeIndex:t}),y&&y({...a,sizeIndex:t})))},children:[r?e.jsxRuntimeExports.jsx(fe.motion.rect,{y:0,style:{fill:p[t]},height:x.bandwidth(),exit:{width:0,x:c(0),transition:{duration:k.duration}},variants:{initial:{width:0,x:c(0),fill:p[t]},whileInView:{width:c(r||0),x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s))),fill:p[t],transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial"},t):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{y:x.bandwidth()/2,style:{textAnchor:"middle",...b?.graphObjectValues||{}},dy:"0.33em",className:e.mo("graph-value text-sm",g?.graphObjectValues),exit:{opacity:0,transition:{duration:k.duration}},variants:{initial:{x:c(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor(p[t])},whileInView:{x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s)))+c(r||0)/2,opacity:r&&c(r)/Me.numberFormattingFunction(r,T,M,W,C).length>12?1:0,fill:Qe.getTextColorBasedOnBgColor(p[t]),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(r,T,M,W,C)}):null]},`${a.label}-${D[t]||t}`)),ce?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${a.label}`.length<de?`${a.label}`:`${`${a.label}`.substring(0,de)}...`,y:0,x:0-w.left,width:0+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{className:e.mo("graph-value graph-value-total text-sm",oe?"":" fill-primary-gray-700 dark:fill-primary-gray-300",g?.graphObjectValues),style:{...oe?{fill:oe}:{},textAnchor:"start",...b?.graphObjectValues||{}},y:x.bandwidth()/2,dx:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(ke.sum(a.size.map(r=>r||0))),opacity:1,transition:{duration:k.duration}}},exit:{opacity:0,transition:{duration:k.duration}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(a.size.filter(r=>r)),T,M,W,C)}):null]},a.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(0),x2:c(0),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:a.text,color:a.color,x:c(a.value),y1:0-w.top,y2:m+w.bottom,textSide:c(a.value)>F*.75||ae?"left":"right",classNames:a.classNames,styles:a.styles,animate:k,isInView:v},r))}):null]}),O.filter(a=>a.position==="after").map(a=>a.layer)]})}),Y&&N&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:N,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function ot(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=100,rightMargin:Z=40,truncateBy:H=999,height:ie,width:N,footNote:ne,colorDomain:ce,colorLegendTitle:C,padding:W,backgroundColor:J=!1,topMargin:ee=25,bottomMargin:j=10,tooltip:y,onSeriesMouseOver:V,suffix:ae="",prefix:se="",showLabels:K=!0,relativeHeight:te,showValues:re=!0,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b=!1,dataDownload:g=!1,language:k="en",labelOrder:D,minHeight:M=0,theme:O="light",maxBarThickness:T,sortParameter:A,maxNumberOfBars:v,minBarThickness:w,showColorScale:Y=!0,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(N||z[0].target.clientWidth||620),f(ie||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),N||i.observe(ve.current)),()=>i.disconnect()},[N,ie]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${O||"light"} flex ${N?"w-fit grow-0":"w-full grow"}`,dir:k==="he"||k==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${J?J===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${k||"en"}`,N?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...J&&J!==!0?{backgroundColor:J}:{}},id:pe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:J?W||"1rem":W||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||b||g?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:N,graphDownload:b?Ne.current:void 0,dataDownload:g?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[Y?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:N,colorDomain:ce,colors:G,colorLegendTitle:C,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(N||r)&&(ie||s)?e.jsxRuntimeExports.jsx(lt,{data:A!==void 0?A==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>v?z<v:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[A])?-1/0:i.size[A],[a||"asc"]).filter((i,z)=>v?z<v:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>v?z<v:!0),barColors:G,width:N||r,height:Math.max(M,ie||(te?M?(N||r)*te>M?(N||r)*te:M:(N||r)*te:s)),barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:ee,bottomMargin:j,truncateBy:H,showLabels:K,tooltip:y,onSeriesMouseOver:V,showValues:re,suffix:ae,prefix:se,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):oe,onSeriesMouseClick:I,selectedColor:xe,rtl:k==="he"||k==="ar",labelOrder:D,maxBarThickness:T,minBarThickness:w,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:F,styles:R,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ce,precision:h,customLayers:c,naLabel:u}):null})]})}),$||ne?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:ne,width:N}):null]})})})})}function ut(ye){const{data:o,width:p,height:G,barColor:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,colorDomain:ie,truncateBy:N,rightMargin:ne,topMargin:ce,bottomMargin:C,leftMargin:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,maxValue:V,minValue:ae,highlightedDataPoints:se,onSeriesMouseClick:K,labelOrder:te,maxBarThickness:re,minBarThickness:X,resetSelectionOnDoubleClick:pe,detailsOnClick:oe,barAxisTitle:I,valueColor:b,noOfTicks:g,styles:k,classNames:D,dimmedOpacity:M,animate:O,precision:T,customLayers:A,naLabel:v}=ye,w=d.useRef(null),Y=He.useInView(w,{once:O.once,amount:O.amount}),S={top:ce,bottom:C,left:I?W+30:W,right:ne},[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E=p-S.left-S.right,h=G-S.top-S.bottom,c=qe.linear().domain([ae,V]).range([h,0]).nice(),x=o.map((t,s)=>({...t,id:te?`${t.label}`:`${s}`})),u=te||x.map(t=>`${t.id}`),a=Te.band().domain(u).range([0,X?Math.max(E,X*u.length):re?Math.min(E,re*u.length):E]).paddingInner(de),r=c.ticks(g);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:w,width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${S.left},${S.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:c(ae<0?0:ae),y2:c(ae<0?0:ae),x1:0-W,x2:E+S.right,label:Me.numberFormattingFunction(ae<0?0:ae,v,T,me,U),labelPos:{x:0-W,dx:0,dy:V<0?"1em":-5,y:c(ae<0?0:ae)},classNames:{axis:D?.xAxis?.axis,label:D?.yAxis?.labels},styles:{axis:k?.xAxis?.axis,label:k?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:r.filter(t=>t!==0),y:r.filter(t=>t!==0).map(t=>c(t)),x1:0-W,x2:E+S.right,styles:{gridLines:k?.yAxis?.gridLines,labels:k?.yAxis?.labels},classNames:{gridLines:D?.yAxis?.gridLines,labels:D?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:T}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-W-15,y:h/2,style:k?.yAxis?.title,className:D?.yAxis?.title,text:I,rotate90:!0}),A.filter(t=>t.position==="before").map(t=>t.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map((t,s)=>q.checkIfNullOrUndefined(a(t.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85},whileInView:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85,transition:{duration:O.duration}}},exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(t),m(f.clientY),R(f.clientX),ee?.(t)},onClick:()=>{(K||oe)&&(Ae.isEqual(P,t)&&pe?(B(void 0),K?.(void 0)):(B(t),K?.(t)))},onMouseMove:f=>{le(t),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[t.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{width:a.bandwidth(),initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{height:0,x:a(`${t.id}`),y:c(0),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray},whileInView:{height:t.size?Math.abs(c(t.size)-c(0)):0,y:t.size&&t.size>0?c(t.size):c(0),x:a(`${t.id}`),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},exit:{height:0,y:c(0),transition:{duration:O.duration}}}):null,he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${t.label}`.length<N?`${t.label}`:`${`${t.label}`.substring(0,N)}...`,y:(t.size||0)<0?0:c(0)+5,x:a(`${t.id}`),width:a.bandwidth(),height:(t.size||0)<0?c(0)-5:S.bottom,style:k?.xAxis?.labels,className:D?.xAxis?.labels,alignment:(t.size||0)<0?"bottom":"top",animate:O,isInView:Y}):null,Z?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:"middle",...k?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!b&&$.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",D?.graphObjectValues),dy:t.size?t.size>=0?"-5px":"1em":"-5px",variants:{initial:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(0),opacity:0,fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray)},whileInView:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(t.size||0),fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray),opacity:1,transition:{duration:O.duration}}},initial:"initial",animate:Y?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(t.size,v,T,me,U)}):null]},t.label)),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((t,s)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:t.text,color:t.color,y:c(t.value),x1:0-W,x2:E+S.right,classNames:t.classNames,styles:t.styles,animate:O,isInView:Y},s))}):null]}),A.filter(t=>t.position==="after").map(t=>t.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:k?.tooltip,className:D?.tooltip}):null,oe&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof oe=="string"?{__html:Le.string2HTML(oe,P)}:void 0,children:typeof oe=="function"?oe(P):null})}):null]})}function ct(ye){const{data:o,graphTitle:p,colors:G,barPadding:$=.25,showTicks:U=!0,leftMargin:me=20,rightMargin:de=20,topMargin:he=20,bottomMargin:Z=25,truncateBy:H=999,showLabels:ie=!0,showValues:N=!0,backgroundColor:ne=!1,suffix:ce="",prefix:C="",sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe=!0,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g=[],onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,language:O="en",theme:T="light",sortData:A,labelOrder:v,showNAColor:w=!0,minHeight:Y=0,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(j||je[0].target.clientWidth||620),_(ee||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),j||n.observe(i.current)),()=>n.disconnect()},[j,ee]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${T||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:O==="he"||O==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${ne?ne===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${O||"en"}`,j?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...ne&&ne!==!0?{backgroundColor:ne}:{}},id:oe,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${J?` ${J}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:ne?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||J||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:J,width:j,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[pe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorLegendTitle:ae,colors:G||Ce.Colors[T].categoricalColors.colors,colorDomain:V||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:w}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(j||f)&&(ee||ue)?e.jsxRuntimeExports.jsx(ut,{data:A?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?A==="asc"?-1/0:1/0:n.size],[A]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[T].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:V||Se.uniqBy(o,"color",!0),width:j||f,refValues:X,height:Math.max(Y,ee||(K?Y?(j||f)*K>Y?(j||f)*K:Y:(j||f)*K:ue)),suffix:ce,prefix:C,barPadding:$,showLabels:ie,showValues:N,showTicks:U,truncateBy:H,leftMargin:me,rightMargin:de,selectedColor:Ne,topMargin:he,bottomMargin:Z,tooltip:te,onSeriesMouseOver:re,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,highlightedDataPoints:g,onSeriesMouseClick:k,labelOrder:v,maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,styles:E,classNames:h,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),W||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source},sources:W,footNote:y,width:j}):null]})})})})}function xt(ye){const{data:o,width:p,height:G,barColors:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,truncateBy:ie,leftMargin:N,rightMargin:ne,topMargin:ce,bottomMargin:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,labelOrder:se,maxBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:ce,bottom:C,left:X?N+30:N,right:ne},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([y,j]).range([F,0]).nice(),E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=Te.band().domain(h).range([0,K?Math.min(R,K*h.length):R]).paddingInner(de),x=Te.band().domain(o[0].size.map((a,r)=>`${r}`)).range([0,c.bandwidth()]).paddingInner(.1),u=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(y<0?0:y),y2:m(y<0?0:y),x1:0-N,x2:R+v.right,label:Me.numberFormattingFunction(y<0?0:y,O,D,me,U),labelPos:{x:0-N,dx:0,dy:j<0?"1em":-5,y:m(y<0?0:y)},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:u.filter(a=>a!==0),y:u.filter(a=>a!==0).map(a=>m(a)),x1:0-N,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-N-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(c(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:c(`${a.id}`),y:0},whileInView:{x:c(`${a.id}`),y:0,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?$[t]===ae?1:.3:.85,onMouseEnter:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX),J?.({...a,sizeIndex:t})},onMouseMove:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),J?.(void 0)},onClick:()=>{(V||re)&&(Ae.isEqual(S,{...a,sizeIndex:t})&&te?(L(void 0),V?.(void 0)):(L({...a,sizeIndex:t}),V&&V({...a,sizeIndex:t})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:x(`${t}`),width:x.bandwidth(),variants:{initial:{height:0,y:m(0),fill:$[t]},whileInView:{height:q.checkIfNullOrUndefined(r)?0:Math.abs(m(r)-m(0)),y:q.checkIfNullOrUndefined(r)?m(0):r>0?m(r):m(0),fill:$[t],transition:{duration:g.duration}}},exit:{height:0,y:m(0),transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial"}),Z?e.jsxRuntimeExports.jsx(fe.motion.text,{x:x(`${t}`)+x.bandwidth()/2,style:{fill:pe||$[t],textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:r?r>=0?"-5px":"1em":"-5px",variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(r||0),opacity:1,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(r,O,D,me,U)}):null]},`${a.label}-${k[t]||t}`)),he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${a.label}`.length<ie?`${a.label}`:`${`${a.label}`.substring(0,ie)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null]},a.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:a.text,color:a.color,y:m(a.value),x1:0-N,x2:R+v.right,classNames:a.classNames,styles:a.styles,animate:g,isInView:A},r))}):null]}),M.filter(a=>a.position==="after").map(a=>a.layer)]})}),w&&W&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:W,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function dt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,suffix:W="",prefix:J="",height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,ariaLabel:v,resetSelectionOnDoubleClick:w=!0,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L=5,valueColor:le,styles:P,classNames:B,filterNA:Q=!0,showColorScale:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(j||i[0].target.clientWidth||620),s(ee||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),j||l.observe(be.current)),()=>l.disconnect()},[j,ee]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,j?"w-fit":"w-full",B?.graphContainer),style:{...P?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:pe,ref:ve,"aria-label":v||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:C?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:P?.title,description:P?.description},classNames:{title:B?.title,description:B?.description},graphTitle:p,graphDescription:U,width:j,graphDownload:g?ve.current:void 0,dataDownload:k?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[R?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorDomain:V,colors:G,colorLegendTitle:ae,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(j||a)&&(ee||t)?e.jsxRuntimeExports.jsx(xt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>Q?!l.size.every(i=>i==null):l),barColors:G,width:j||a,height:Math.max(T,ee||(K?T?(j||a)*K>T?(j||a)*K:T:(j||a)*K:t)),suffix:W,prefix:J,barPadding:me,showLabels:ne,showValues:ce,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):oe,minValue:q.checkIfNullOrUndefined(I)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,onSeriesMouseClick:b,selectedColor:Oe,labelOrder:O,maxBarThickness:A,resetSelectionOnDoubleClick:w,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L,valueColor:le,styles:P,classNames:B,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},colorDomain:V,precision:m,customLayers:E,naLabel:c}):null})]})}),$||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:P?.footnote,source:P?.source},classNames:{footnote:B?.footnote,source:B?.source},sources:$,footNote:y,width:j}):null]})})})})}function mt(ye){const{data:o,width:p,height:G,barColors:$,barPadding:U,showLabels:me,showTicks:de,truncateBy:he,leftMargin:Z,topMargin:H,bottomMargin:ie,rightMargin:N,tooltip:ne,onSeriesMouseOver:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,labelOrder:ae,maxBarThickness:se,minBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:H,bottom:ie,left:X?Z+30:Z,right:N},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([0,j]).range([F,0]).nice(),E=o.map((u,a)=>({...u,id:ae?`${u.label}`:`${a}`})),h=ae||E.map(u=>`${u.id}`),c=Te.band().domain(h).range([0,K?Math.max(R,K*h.length):se?Math.min(R,se*h.length):R]).paddingInner(U),x=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(0),y2:m(0),x1:0-Z,x2:R+v.right,label:Me.numberFormattingFunction(0,O,D,W,C),labelPos:{x:0-Z,y:m(0),dx:0,dy:-5},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),de?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:x.filter(u=>u!==0),y:x.filter(u=>u!==0).map(u=>m(u)),x1:0-Z,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-Z-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(u=>u.position==="before").map(u=>u.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(u=>q.checkIfNullOrUndefined(c(u.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:c(`${u.id}`),y:0},whileInView:{x:c(`${u.id}`),y:0,transition:{duration:g.duration}}},transition:{duration:g.duration},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[u.size.map((a,r)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?$[r]===V?1:.3:1,onMouseEnter:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX),ce?.({...u,sizeIndex:r})},onMouseMove:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),ce?.(void 0)},onClick:()=>{(y||re)&&(Ae.isEqual(S,{...u,sizeIndex:r})&&te?(L(void 0),y?.(void 0)):(L({...u,sizeIndex:r}),y&&y({...u,sizeIndex:r})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:0,width:c.bandwidth(),variants:{initial:{height:0,fill:$[r],y:m(0)},whileInView:{height:Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t)))),y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t))),fill:$[r],transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{height:0,y:m(0),transition:{duration:g.duration}}}),J?e.jsxRuntimeExports.jsx(fe.motion.text,{x:c.bandwidth()/2,style:{fill:Qe.getTextColorBasedOnBgColor($[r]),textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:"0.33em",variants:{initial:{y:m(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor($[r])},whileInView:{y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))+Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))/2,opacity:a&&Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))>20?1:0,fill:Qe.getTextColorBasedOnBgColor($[r]),transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(a,O,D,W,C)}):null]},`${u.label}-${k[r]||r}`)),me?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${u.label}`.length<he?`${u.label}`:`${`${u.label}`.substring(0,he)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{...pe&&{fill:pe},textAnchor:"middle",...I?.graphObjectValues||{}},x:c.bandwidth()/2,dy:-10,className:e.mo("graph-value graph-value-total",pe?"text-sm":"fill-primary-gray-700 dark:fill-primary-gray-300 text-sm",b?.graphObjectValues),variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(ke.sum(u.size.map(a=>a||0))),opacity:1,transition:{duration:g.duration}}},exit:{opacity:0,transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(u.size.filter(a=>a)),O,D,W,C)}):null]},u.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((u,a)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:u.text,color:u.color,y:m(u.value),x1:0-Z,x2:R+v.right,classNames:u.classNames,styles:u.styles,animate:g,isInView:A},a))}):null]}),M.filter(u=>u.position==="after").map(u=>u.layer)]})}),w&&ne&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:ne,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function ht(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,showColorScale:W=!0,suffix:J="",prefix:ee="",height:j,width:y,footNote:V,colorDomain:ae,colorLegendTitle:se,padding:K,tooltip:te,onSeriesMouseOver:re,relativeHeight:X,refValues:pe,graphID:oe,maxValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,sortParameter:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(y||z[0].target.clientWidth||620),f(j||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),y||i.observe(ve.current)),()=>i.disconnect()},[y,j]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${y?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,y?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:oe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{style:{padding:C?K||"1rem":K||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:y,graphDownload:g?Ne.current:void 0,dataDownload:k?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[W?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:y,colorDomain:ae,colors:G,colorLegendTitle:se,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(y||r)&&(j||s)?e.jsxRuntimeExports.jsx(mt,{data:v!==void 0?v==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>w?z<w:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[v])?-1/0:i.size[v],[a||"asc"]).filter((i,z)=>w?z<w:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>w?z<w:!0),barColors:G,width:y||r,height:Math.max(T,j||(X?T?(y||r)*X>T?(y||r)*X:T:(y||r)*X:s)),barPadding:me,showLabels:ne,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,showValues:ce,suffix:J,prefix:ee,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):I,onSeriesMouseClick:b,selectedColor:xe,labelOrder:O,maxBarThickness:A,minBarThickness:Y,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,styles:R,classNames:F,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ae,precision:h,customLayers:c,naLabel:u}):null})]})}),$||V?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:V,width:y}):null]})})})})}function pt(ye){const{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,orientation:E="vertical",styles:h,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}=ye;return E==="vertical"?e.jsxRuntimeExports.jsx(ct,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}):e.jsxRuntimeExports.jsx(st,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f})}function gt(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,sortParameter:A,sortData:v,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,orientation:Q="vertical",styles:R,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}=ye;return Q==="vertical"?e.jsxRuntimeExports.jsx(dt,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,sortParameter:A,sortData:v,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}):e.jsxRuntimeExports.jsx(nt,{data:o,graphTitle:p,colors:G,sortParameter:A,sortData:v,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a})}function ft(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,orientation:R="vertical",styles:F,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}=ye;return R==="vertical"?e.jsxRuntimeExports.jsx(ht,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}):e.jsxRuntimeExports.jsx(ot,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r})}exports.GroupedBarGraph=gt;exports.SimpleBarGraph=pt;exports.StackedBarGraph=ft;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DDoeWRVt.cjs"),d=require("react"),Ee=require("./parse-hMnG_lRV.cjs"),Ie=require("./getSliderMarks-CRIbTGYV.cjs"),$e=require("./index-CQ3e6Ewi.cjs"),Ae=require("./index-DQA8q5sC.cjs"),ze=require("./Modal-tXZlLE5s.cjs"),Me=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-De16GWhY.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ce=require("./Colors.cjs"),Le=require("./string2HTML-z7CwHXcx.cjs"),Ze=require("./XTicksAndGridLines-CCzXIV8d.cjs"),et=require("./YAxesLabels-yRFFdx1s.cjs"),Be=require("./AxisTitle-CK9YeovX.cjs"),Fe=require("./Axis-DE7dSn1_.cjs"),Pe=require("./ReferenceLine-CFVBBN__.cjs"),He=require("./use-in-view-sQJZ_xDO.cjs"),qe=require("./linear-BVckp9RD.cjs"),Te=require("./band-CAApY4Pd.cjs"),Ge=require("./index-BW8iNx7E.cjs"),fe=require("./proxy-BHRoeZgd.cjs"),Ue=require("./GraphFooter.cjs"),We=require("./GraphHeader.cjs"),Xe=require("./ColorLegendWithMouseOver.cjs"),Ye=require("./EmptyState-d8_8SxeW.cjs"),De=require("./index-BW_-wD2k.cjs"),Re=require("./ensureCompleteData-DkQYPeDa.cjs"),Se=require("./uniqBy-O05lp2S5.cjs"),_e=require("./sort-O96oMZLb.cjs"),Je=require("./init-DU0ybBc_.cjs"),ke=require("./index-CSNtgibC.cjs"),Qe=require("./getTextColorBasedOnBgColor-nqY-bsM_.cjs"),tt=require("./XAxesLabels-Drf7M3YK.cjs"),it=require("./YTicksAndGridLines-DBDuz6vb.cjs");function at(ye){const{data:o,barColor:p,suffix:G,prefix:$,barPadding:U,showValues:me,showTicks:de,leftMargin:he,truncateBy:Z,width:H,height:ie,colorDomain:N,rightMargin:ne,topMargin:ce,bottomMargin:C,showLabels:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,highlightedDataPoints:V,maxValue:ae,minValue:se,onSeriesMouseClick:K,labelOrder:te,rtl:re,maxBarThickness:X,minBarThickness:pe,resetSelectionOnDoubleClick:oe,detailsOnClick:I,barAxisTitle:b,valueColor:g,noOfTicks:k,styles:D,classNames:M,animate:O,dimmedOpacity:T,precision:A,customLayers:v,naLabel:w}=ye,Y=d.useRef(null),S=He.useInView(Y,{once:O.once,amount:O.amount}),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E={top:b?ce+25:ce,bottom:C,left:he,right:ne},h=H-E.left-E.right,c=ie-E.top-E.bottom,x=o.map((s,f)=>({...s,id:te?`${s.label}`:`${f}`})),u=qe.linear().domain([se,ae]).range([0,h]).nice(),a=te||x.map(s=>`${s.id}`),r=Te.band().domain(a).range([0,pe?Math.max(c,pe*a.length):X?Math.min(c,X*a.length):c]).paddingInner(U),t=u.ticks(k);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:Y,width:`${H}px`,height:`${ie}px`,viewBox:`0 0 ${H} ${ie}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${E.left},${E.top})`,children:[de?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:t.filter(s=>s!==0),x:t.filter(s=>s!==0).map(s=>u(s)),y1:0-ce,y2:c+E.bottom,styles:{gridLines:D?.xAxis?.gridLines,labels:D?.xAxis?.labels},classNames:{gridLines:M?.xAxis?.gridLines,labels:M?.xAxis?.labels},suffix:G,prefix:$,labelType:"secondary",showGridLines:!0,precision:A}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:h/2,y:0-E.top+15,style:D?.xAxis?.title,className:M?.xAxis?.title,text:b}),v.filter(s=>s.position==="before").map(s=>s.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map(s=>q.checkIfNullOrUndefined(r(s.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85},whileInView:{opacity:y?s.color&&p[N.indexOf(s.color)]===y?1:T:V.length!==0?V.indexOf(s.label)!==-1?.85:T:.85,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(s),m(f.clientY),R(f.clientX),ee?.(s)},onClick:()=>{(K||I)&&(Ae.isEqual(P,s)&&oe?(B(void 0),K?.(void 0)):(B(s),K?.(s)))},onMouseMove:f=>{le(s),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[s.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{variants:{initial:{width:0,x:u(0),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray},whileInView:{width:s.size>=0?u(s.size)-u(0):u(0)-u(s.size),x:s.size>=0?u(0):u(s.size),y:r(`${s.id}`),fill:o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{width:0,x:u(0),transition:{duration:O.duration}},height:r.bandwidth()}):null,W?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${s.label}`.length<Z?`${s.label}`:`${`${s.label}`.substring(0,Z)}...`,y:r(s.id)||0,x:(s.size||0)<0?u(0):0-E.left,width:(s.size||0)<0?H-u(0):u(0)+E.left,height:r.bandwidth(),alignment:s.size&&s.size<0?"left":"right",style:D?.yAxis?.labels,className:M?.yAxis?.labels,animate:O,isInView:S}):null,me?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:s.size&&s.size<0?"end":"start",...D?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!g&&p.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",M?.graphObjectValues),dx:s.size&&s.size<0?-5:5,dy:"0.33em",variants:{initial:{x:u(0),y:r(`${s.id}`)+r.bandwidth()/2,opacity:0,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray)},whileInView:{x:s.size?u(s.size):u(0),opacity:1,y:r(`${s.id}`)+r.bandwidth()/2,fill:g||(o.filter(f=>f.color).length===0?p[0]:s.color?p[N.indexOf(s.color)]:Ce.Colors.gray),transition:{duration:O.duration}}},initial:"initial",animate:S?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(s.size,w,A,$,G)}):null]},s.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:u(se<0?0:se),x2:u(se<0?0:se),y1:-2.5,y2:c+E.bottom,classNames:{axis:M?.yAxis?.axis},styles:{axis:D?.yAxis?.axis}}),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((s,f)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:s.text,color:s.color,x:u(s.value),y1:0-E.top,y2:c+E.bottom,textSide:u(s.value)>h*.75||re?"left":"right",classNames:s.classNames,styles:s.styles,animate:O,isInView:S},f))}):null]}),v.filter(s=>s.position==="after").map(s=>s.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:D?.tooltip,className:M?.tooltip}):null,I&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof I=="string"?{__html:Le.string2HTML(I,P)}:void 0,children:typeof I=="function"?I(P):null})}):null]})}function st(ye){const{data:o,graphTitle:p,colors:G,suffix:$="",sources:U,prefix:me="",graphDescription:de,barPadding:he=.25,showValues:Z=!0,showTicks:H=!0,leftMargin:ie=100,rightMargin:N=40,truncateBy:ne=999,height:ce,width:C,footNote:W,colorDomain:J,colorLegendTitle:ee,highlightedDataPoints:j=[],padding:y,backgroundColor:V=!1,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,showColorScale:oe=!0,graphID:I,maxValue:b,minValue:g,onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,sortData:O,labelOrder:T,language:A="en",showNAColor:v=!0,minHeight:w=0,theme:Y="light",maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(C||je[0].target.clientWidth||620),_(ce||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),C||n.observe(i.current)),()=>n.disconnect()},[C,ce]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${Y||"light"} flex ${C?"w-fit grow-0":"w-full grow"}`,dir:A==="he"||A==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${V?V===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${A||"en"}`,C?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...V&&V!==!0?{backgroundColor:V}:{}},id:I,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a bar chart. ${de?` ${de}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:V?y||"1rem":y||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||de||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:de,width:C,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[oe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:C,colorLegendTitle:ee,colors:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:J||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:v}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(C||f)&&(ce||ue)?e.jsxRuntimeExports.jsx(at,{data:O?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?O==="asc"?1/0:-1/0:n.size],[O]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[Y].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:J||Se.uniqBy(o,"color",!0),width:C||f,selectedColor:Ne,height:Math.max(w,ce||(te?w?(C||f)*te>w?(C||f)*te:w:(C||f)*te:ue)),suffix:$,prefix:me,barPadding:he,showValues:Z,showTicks:H,leftMargin:ie,rightMargin:N,topMargin:ae,bottomMargin:se,truncateBy:ne,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(b)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,minValue:q.checkIfNullOrUndefined(g)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):g,highlightedDataPoints:j,onSeriesMouseClick:k,labelOrder:T,rtl:A==="he"||A==="ar",maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:h,styles:E,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),U||W?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{sources:U,footNote:W,width:C,styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source}}):null]})})})})}function rt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,truncateBy:me,width:de,height:he,suffix:Z,prefix:H,showValues:ie,rightMargin:N,topMargin:ne,bottomMargin:ce,showLabels:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,rtl:se,labelOrder:K,maxBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?ne+25:ne,bottom:ce,left:U,right:N},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=de-w.left-w.right,m=he-w.top-w.bottom,E=o.map((r,t)=>({...r,id:K?`${r.label}`:`${t}`})),h=K||E.map(r=>`${r.id}`),c=qe.linear().domain([y,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.min(m,te*h.length):m]).paddingInner(G),u=Te.band().domain(o[0].size.map((r,t)=>`${t}`)).range([0,x.bandwidth()]).paddingInner(.1),a=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${de}px`,height:`${he}px`,viewBox:`0 0 ${de} ${he}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:a.filter(r=>r!==0),x:a.filter(r=>r!==0).map(r=>c(r)),y1:0-ne,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:Z,prefix:H,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(r=>r.position==="before").map(r=>r.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(r=>q.checkIfNullOrUndefined(x(r.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:0,y:x(`${r.id}`)},whileInView:{x:0,y:x(`${r.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[r.size.map((t,s)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?p[s]===ae?1:.3:.85,onMouseEnter:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX),J?.({...r,sizeIndex:s})},onMouseMove:f=>{S({...r,sizeIndex:s}),R(f.clientY),B(f.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),J?.(void 0)},onClick:()=>{(V||X)&&(Ae.isEqual(L,{...r,sizeIndex:s})&&re?(le(void 0),V?.(void 0)):(le({...r,sizeIndex:s}),V&&V({...r,sizeIndex:s})))},children:[q.checkIfNullOrUndefined(t)?null:e.jsxRuntimeExports.jsx(fe.motion.rect,{y:u(`${s}`),variants:{initial:{width:0,x:c(0),fill:p[s]},whileInView:{width:q.checkIfNullOrUndefined(t)?0:t>=0?c(t)-c(0):c(0)-c(t),x:t>=0?c(0):c(t),fill:p[s],transition:{duration:k.duration}}},exit:{width:0,x:c(0),transition:{duration:k.duration}},height:u.bandwidth(),initial:"initial",animate:v?"whileInView":"initial"}),ie?e.jsxRuntimeExports.jsx(fe.motion.text,{y:u(`${s}`)+u.bandwidth()/2,style:{fill:oe||p[s],textAnchor:t&&t<0?"end":"start",...b?.graphObjectValues||{}},className:e.mo("graph-value text-sm",g?.graphObjectValues),dx:t&&t<0?-5:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(t||0),opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:Me.numberFormattingFunction(t,T,M,H,Z)}):null]},`${r.label}-${D[s]||s}`)),C?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${r.label}`.length<me?`${r.label}`:`${`${r.label}`.substring(0,me)}...`,y:0,x:0-w.left,width:c(y<0?0:y)+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null]},r.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(y<0?0:y),x2:c(y<0?0:y),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((r,t)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:r.text,color:r.color,x:c(r.value),y1:0-w.top,y2:m+w.bottom,textSide:c(r.value)>F*.75||se?"left":"right",classNames:r.classNames,styles:r.styles,animate:k,isInView:v},t))}):null]}),O.filter(r=>r.position==="after").map(r=>r.layer)]})}),Y&&W&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:W,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function nt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,truncateBy:he=999,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce="",prefix:C="",showValues:W=!0,showColorScale:J=!0,padding:ee,backgroundColor:j=!1,leftMargin:y=100,rightMargin:V=40,topMargin:ae=25,bottomMargin:se=10,showLabels:K=!0,relativeHeight:te,tooltip:re,onSeriesMouseOver:X,refValues:pe,graphID:oe,maxValue:I,minValue:b,onSeriesMouseClick:g,graphDownload:k=!1,dataDownload:D=!1,language:M="en",labelOrder:O,minHeight:T=0,theme:A="light",maxBarThickness:v,ariaLabel:w,resetSelectionOnDoubleClick:Y=!0,detailsOnClick:S,barAxisTitle:L,noOfTicks:le=5,valueColor:P,styles:B,classNames:Q,filterNA:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(H||i[0].target.clientWidth||620),s(Z||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),H||l.observe(be.current)),()=>l.disconnect()},[H,Z]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${A||"light"} flex ${H?"w-fit grow-0":"w-full grow"}`,dir:M==="he"||M==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${j?j===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${M||"en"}`,H?"w-fit":"w-full",Q?.graphContainer),style:{...B?.graphContainer||{},...j&&j!==!0?{backgroundColor:j}:{}},id:oe,ref:ve,"aria-label":w||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:j?ee||"1rem":ee||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||k||D?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:B?.title,description:B?.description},classNames:{title:Q?.title,description:Q?.description},graphTitle:p,graphDescription:U,width:H,graphDownload:k?ve.current:void 0,dataDownload:D?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[J?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:H,colorDomain:N,colors:G,colorLegendTitle:ne,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(H||a)&&(Z||t)?e.jsxRuntimeExports.jsx(rt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>R?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>R?!l.size.every(i=>i==null):l),barColors:G,width:H||a,height:Math.max(T,Z||(te?T?(H||a)*te>T?(H||a)*te:T:(H||a)*te:t)),suffix:ce,prefix:C,showValues:W,barPadding:me,showTicks:de,leftMargin:y,rightMargin:V,topMargin:ae,bottomMargin:se,truncateBy:he,showLabels:K,tooltip:re,onSeriesMouseOver:X,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):b,onSeriesMouseClick:g,selectedColor:Oe,labelOrder:O,rtl:M==="he"||M==="ar",maxBarThickness:v,resetSelectionOnDoubleClick:Y,detailsOnClick:S,barAxisTitle:L,noOfTicks:le,valueColor:P,styles:B,classNames:Q,colorDomain:N,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},precision:m,customLayers:E,naLabel:c}):null})]})}),$||ie?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:B?.footnote,source:B?.source},classNames:{footnote:Q?.footnote,source:Q?.source},sources:$,footNote:ie,width:H}):null]})})})})}function lt(ye){const{data:o,barColors:p,barPadding:G,showTicks:$,leftMargin:U,rightMargin:me,truncateBy:de,width:he,height:Z,topMargin:H,bottomMargin:ie,tooltip:N,onSeriesMouseOver:ne,showLabels:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,rtl:ae,labelOrder:se,maxBarThickness:K,minBarThickness:te,resetSelectionOnDoubleClick:re,detailsOnClick:X,barAxisTitle:pe,valueColor:oe,noOfTicks:I,styles:b,classNames:g,animate:k,colorDomain:D,precision:M,customLayers:O,naLabel:T}=ye,A=d.useRef(null),v=He.useInView(A,{once:k.once,amount:k.amount}),w={top:pe?H+25:H,bottom:ie,left:U,right:me},[Y,S]=d.useState(void 0),[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),F=he-w.left-w.right,m=Z-w.top-w.bottom,E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=qe.linear().domain([0,j]).range([0,F]).nice(),x=Te.band().domain(h).range([0,te?Math.max(m,te*h.length):K?Math.min(m,K*h.length):m]).paddingInner(G),u=c.ticks(I);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:A,width:`${he}px`,height:`${Z}px`,viewBox:`0 0 ${he} ${Z}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${w.left},${w.top})`,children:[$?e.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:u.filter(a=>a!==0),x:u.filter(a=>a!==0).map(a=>c(a)),y1:0-H,y2:m+w.bottom,styles:{gridLines:b?.xAxis?.gridLines,labels:b?.xAxis?.labels},classNames:{gridLines:g?.xAxis?.gridLines,labels:g?.xAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,precision:M}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:F/2,y:0-w.top+15,style:b?.xAxis?.title,className:g?.xAxis?.title,text:pe}),O.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(x(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:0,y:x(`${a.id}`)},whileInView:{x:0,y:x(`${a.id}`),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?p[t]===V?1:.3:1,onMouseEnter:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX),ne?.({...a,sizeIndex:t})},onMouseMove:s=>{S({...a,sizeIndex:t}),R(s.clientY),B(s.clientX)},onMouseLeave:()=>{S(void 0),B(void 0),R(void 0),ne?.(void 0)},onClick:()=>{(y||X)&&(Ae.isEqual(L,{...a,sizeIndex:t})&&re?(le(void 0),y?.(void 0)):(le({...a,sizeIndex:t}),y&&y({...a,sizeIndex:t})))},children:[r?e.jsxRuntimeExports.jsx(fe.motion.rect,{y:0,style:{fill:p[t]},height:x.bandwidth(),exit:{width:0,x:c(0),transition:{duration:k.duration}},variants:{initial:{width:0,x:c(0),fill:p[t]},whileInView:{width:c(r||0),x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s))),fill:p[t],transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial"},t):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{y:x.bandwidth()/2,style:{textAnchor:"middle",...b?.graphObjectValues||{}},dy:"0.33em",className:e.mo("graph-value text-sm",g?.graphObjectValues),exit:{opacity:0,transition:{duration:k.duration}},variants:{initial:{x:c(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor(p[t])},whileInView:{x:c(t===0?0:ke.sum(a.size.filter((s,f)=>f<t&&s)))+c(r||0)/2,opacity:r&&c(r)/Me.numberFormattingFunction(r,T,M,W,C).length>12?1:0,fill:Qe.getTextColorBasedOnBgColor(p[t]),transition:{duration:k.duration}}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(r,T,M,W,C)}):null]},`${a.label}-${D[t]||t}`)),ce?e.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${a.label}`.length<de?`${a.label}`:`${`${a.label}`.substring(0,de)}...`,y:0,x:0-w.left,width:0+w.left,height:x.bandwidth(),style:b?.yAxis?.labels,className:g?.yAxis?.labels,animate:k,isInView:v}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{className:e.mo("graph-value graph-value-total text-sm",oe?"":" fill-primary-gray-700 dark:fill-primary-gray-300",g?.graphObjectValues),style:{...oe?{fill:oe}:{},textAnchor:"start",...b?.graphObjectValues||{}},y:x.bandwidth()/2,dx:5,dy:"0.33em",variants:{initial:{x:c(0),opacity:0},whileInView:{x:c(ke.sum(a.size.map(r=>r||0))),opacity:1,transition:{duration:k.duration}}},exit:{opacity:0,transition:{duration:k.duration}},initial:"initial",animate:v?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(a.size.filter(r=>r)),T,M,W,C)}):null]},a.label)),e.jsxRuntimeExports.jsx(Fe.Axis,{x1:c(0),x2:c(0),y1:-2.5,y2:m+w.bottom,classNames:{axis:g?.yAxis?.axis},styles:{axis:b?.yAxis?.axis}}),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineX,{text:a.text,color:a.color,x:c(a.value),y1:0-w.top,y2:m+w.bottom,textSide:c(a.value)>F*.75||ae?"left":"right",classNames:a.classNames,styles:a.styles,animate:k,isInView:v},r))}):null]}),O.filter(a=>a.position==="after").map(a=>a.layer)]})}),Y&&N&&P&&Q?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:Y,body:N,xPos:P,yPos:Q,backgroundStyle:b?.tooltip,className:g?.tooltip}):null,X&&L!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:L!==void 0,onClose:()=>{le(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof X=="string"?{__html:Le.string2HTML(X,L)}:void 0,children:typeof X=="function"?X(L):null})}):null]})}function ot(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=100,rightMargin:Z=40,truncateBy:H=999,height:ie,width:N,footNote:ne,colorDomain:ce,colorLegendTitle:C,padding:W,backgroundColor:J=!1,topMargin:ee=25,bottomMargin:j=10,tooltip:y,onSeriesMouseOver:V,suffix:ae="",prefix:se="",showLabels:K=!0,relativeHeight:te,showValues:re=!0,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b=!1,dataDownload:g=!1,language:k="en",labelOrder:D,minHeight:M=0,theme:O="light",maxBarThickness:T,sortParameter:A,maxNumberOfBars:v,minBarThickness:w,showColorScale:Y=!0,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(N||z[0].target.clientWidth||620),f(ie||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),N||i.observe(ve.current)),()=>i.disconnect()},[N,ie]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${O||"light"} flex ${N?"w-fit grow-0":"w-full grow"}`,dir:k==="he"||k==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${J?J===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${k||"en"}`,N?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...J&&J!==!0?{backgroundColor:J}:{}},id:pe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:J?W||"1rem":W||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-4 w-full grow justify-between",children:[p||U||b||g?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:N,graphDownload:b?Ne.current:void 0,dataDownload:g?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[Y?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:N,colorDomain:ce,colors:G,colorLegendTitle:C,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(N||r)&&(ie||s)?e.jsxRuntimeExports.jsx(lt,{data:A!==void 0?A==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>v?z<v:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[A])?-1/0:i.size[A],[a||"asc"]).filter((i,z)=>v?z<v:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>v?z<v:!0),barColors:G,width:N||r,height:Math.max(M,ie||(te?M?(N||r)*te>M?(N||r)*te:M:(N||r)*te:s)),barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:ee,bottomMargin:j,truncateBy:H,showLabels:K,tooltip:y,onSeriesMouseOver:V,showValues:re,suffix:ae,prefix:se,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):oe,onSeriesMouseClick:I,selectedColor:xe,rtl:k==="he"||k==="ar",labelOrder:D,maxBarThickness:T,minBarThickness:w,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:F,styles:R,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ce,precision:h,customLayers:c,naLabel:u}):null})]})}),$||ne?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:ne,width:N}):null]})})})})}function ut(ye){const{data:o,width:p,height:G,barColor:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,colorDomain:ie,truncateBy:N,rightMargin:ne,topMargin:ce,bottomMargin:C,leftMargin:W,tooltip:J,onSeriesMouseOver:ee,refValues:j,selectedColor:y,maxValue:V,minValue:ae,highlightedDataPoints:se,onSeriesMouseClick:K,labelOrder:te,maxBarThickness:re,minBarThickness:X,resetSelectionOnDoubleClick:pe,detailsOnClick:oe,barAxisTitle:I,valueColor:b,noOfTicks:g,styles:k,classNames:D,dimmedOpacity:M,animate:O,precision:T,customLayers:A,naLabel:v}=ye,w=d.useRef(null),Y=He.useInView(w,{once:O.once,amount:O.amount}),S={top:ce,bottom:C,left:I?W+30:W,right:ne},[L,le]=d.useState(void 0),[P,B]=d.useState(void 0),[Q,R]=d.useState(void 0),[F,m]=d.useState(void 0),E=p-S.left-S.right,h=G-S.top-S.bottom,c=qe.linear().domain([ae,V]).range([h,0]).nice(),x=o.map((t,s)=>({...t,id:te?`${t.label}`:`${s}`})),u=te||x.map(t=>`${t.id}`),a=Te.band().domain(u).range([0,X?Math.max(E,X*u.length):re?Math.min(E,re*u.length):E]).paddingInner(de),r=c.ticks(g);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{ref:w,width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${S.left},${S.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:c(ae<0?0:ae),y2:c(ae<0?0:ae),x1:0-W,x2:E+S.right,label:Me.numberFormattingFunction(ae<0?0:ae,v,T,me,U),labelPos:{x:0-W,dx:0,dy:V<0?"1em":-5,y:c(ae<0?0:ae)},classNames:{axis:D?.xAxis?.axis,label:D?.yAxis?.labels},styles:{axis:k?.xAxis?.axis,label:k?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:r.filter(t=>t!==0),y:r.filter(t=>t!==0).map(t=>c(t)),x1:0-W,x2:E+S.right,styles:{gridLines:k?.yAxis?.gridLines,labels:k?.yAxis?.labels},classNames:{gridLines:D?.yAxis?.gridLines,labels:D?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:T}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-W-15,y:h/2,style:k?.yAxis?.title,className:D?.yAxis?.title,text:I,rotate90:!0}),A.filter(t=>t.position==="before").map(t=>t.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[x.map((t,s)=>q.checkIfNullOrUndefined(a(t.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85},whileInView:{opacity:y?t.color&&$[ie.indexOf(t.color)]===y?1:M:se.length!==0?se.indexOf(t.label)!==-1?.85:M:.85,transition:{duration:O.duration}}},exit:{opacity:0,transition:{duration:O.duration}},onMouseEnter:f=>{le(t),m(f.clientY),R(f.clientX),ee?.(t)},onClick:()=>{(K||oe)&&(Ae.isEqual(P,t)&&pe?(B(void 0),K?.(void 0)):(B(t),K?.(t)))},onMouseMove:f=>{le(t),m(f.clientY),R(f.clientX)},onMouseLeave:()=>{le(void 0),R(void 0),m(void 0),ee?.(void 0)},children:[t.size?e.jsxRuntimeExports.jsx(fe.motion.rect,{width:a.bandwidth(),initial:"initial",animate:Y?"whileInView":"initial",variants:{initial:{height:0,x:a(`${t.id}`),y:c(0),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray},whileInView:{height:t.size?Math.abs(c(t.size)-c(0)):0,y:t.size&&t.size>0?c(t.size):c(0),x:a(`${t.id}`),fill:o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray,transition:{duration:O.duration}}},exit:{height:0,y:c(0),transition:{duration:O.duration}}}):null,he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${t.label}`.length<N?`${t.label}`:`${`${t.label}`.substring(0,N)}...`,y:(t.size||0)<0?0:c(0)+5,x:a(`${t.id}`),width:a.bandwidth(),height:(t.size||0)<0?c(0)-5:S.bottom,style:k?.xAxis?.labels,className:D?.xAxis?.labels,alignment:(t.size||0)<0?"bottom":"top",animate:O,isInView:Y}):null,Z?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{textAnchor:"middle",...k?.graphObjectValues||{}},className:e.mo("graph-value text-sm",!b&&$.length>1?" fill-primary-gray-600 dark:fill-primary-gray-300":"",D?.graphObjectValues),dy:t.size?t.size>=0?"-5px":"1em":"-5px",variants:{initial:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(0),opacity:0,fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray)},whileInView:{x:a(`${t.id}`)+a.bandwidth()/2,y:c(t.size||0),fill:b||(o.filter(f=>f.color).length===0?$[0]:t.color?$[ie.indexOf(t.color)]:Ce.Colors.gray),opacity:1,transition:{duration:O.duration}}},initial:"initial",animate:Y?"whileInView":"initial",exit:{opacity:0,transition:{duration:O.duration}},children:Me.numberFormattingFunction(t.size,v,T,me,U)}):null]},t.label)),j?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:j.map((t,s)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:t.text,color:t.color,y:c(t.value),x1:0-W,x2:E+S.right,classNames:t.classNames,styles:t.styles,animate:O,isInView:Y},s))}):null]}),A.filter(t=>t.position==="after").map(t=>t.layer)]})}),L&&J&&Q&&F?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:L,body:J,xPos:Q,yPos:F,backgroundStyle:k?.tooltip,className:D?.tooltip}):null,oe&&P!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:P!==void 0,onClose:()=>{B(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof oe=="string"?{__html:Le.string2HTML(oe,P)}:void 0,children:typeof oe=="function"?oe(P):null})}):null]})}function ct(ye){const{data:o,graphTitle:p,colors:G,barPadding:$=.25,showTicks:U=!0,leftMargin:me=20,rightMargin:de=20,topMargin:he=20,bottomMargin:Z=25,truncateBy:H=999,showLabels:ie=!0,showValues:N=!0,backgroundColor:ne=!1,suffix:ce="",prefix:C="",sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe=!0,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g=[],onSeriesMouseClick:k,graphDownload:D=!1,dataDownload:M=!1,language:O="en",theme:T="light",sortData:A,labelOrder:v,showNAColor:w=!0,minHeight:Y=0,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B=!0,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F=5,valueColor:m,styles:E,classNames:h,filterNA:c=!0,animate:x=!1,dimmedOpacity:u=.3,precision:a=2,customLayers:r=[],timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:s="NA"}=ye,[f,we]=d.useState(0),[ue,_]=d.useState(0),[ge,Oe]=d.useState(t.autoplay),xe=_e.sort(Se.uniqBy(o,"date",!0).map(n=>Ee.parse(`${n}`,t.dateFormat||"yyyy",new Date).getTime()),(n,je)=>Je.ascending(n,je)),[be,ve]=d.useState(t.autoplay?0:xe.length-1),[Ne,l]=d.useState(void 0),i=d.useRef(null),z=d.useRef(null);d.useEffect(()=>{const n=new ResizeObserver(je=>{we(j||je[0].target.clientWidth||620),_(ee||je[0].target.clientHeight||480)});return i.current&&(_(i.current.clientHeight||480),we(i.current.clientWidth||620),j||n.observe(i.current)),()=>n.disconnect()},[j,ee]),d.useEffect(()=>{const n=setInterval(()=>{ve(je=>je<xe.length-1?je+1:0)},(t.speed||2)*1e3);return ge||clearInterval(n),()=>clearInterval(n)},[xe,ge,t.speed]);const Ke=Ie.getSliderMarks(xe,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${T||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:O==="he"||O==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${ne?ne===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${O||"en"}`,j?"w-fit":"w-full",h?.graphContainer),style:{...E?.graphContainer||{},...ne&&ne!==!0?{backgroundColor:ne}:{}},id:oe,ref:z,"aria-label":P||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${J?` ${J}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:ne?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||J||D||M?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:h?.title,description:h?.description},graphTitle:p,graphDescription:J,width:j,graphDownload:D?z.current:void 0,dataDownload:M?o.map(n=>n.data).filter(n=>n!==void 0).length>0?o.map(n=>n.data).filter(n=>n!==void 0):o.filter(n=>n!==void 0):null}):null,t.enabled&&xe.length>0&&Ke?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Oe(!ge)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":ge?"Click to pause animation":"Click to play animation",children:ge?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:xe[0],max:xe[xe.length-1],marks:Ke,step:null,defaultValue:xe[xe.length-1],value:xe[be],onChangeComplete:n=>{ve(xe.indexOf(n))},onChange:n=>{ve(xe.indexOf(n))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[pe&&o.filter(n=>n.color).length!==0?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorLegendTitle:ae,colors:G||Ce.Colors[T].categoricalColors.colors,colorDomain:V||Se.uniqBy(o,"color",!0),setSelectedColor:l,showNAColor:w}):null,e.jsxRuntimeExports.jsx("div",{className:"flex grow flex-col justify-center w-full leading-0",ref:i,"aria-label":"Graph area",children:(j||f)&&(ee||ue)?e.jsxRuntimeExports.jsx(ut,{data:A?$e.orderBy(Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n),[n=>n.size===void 0?A==="asc"?-1/0:1/0:n.size],[A]).filter((n,je)=>L?je<L:!0):Re.ensureCompleteDataForBarChart(o,t.dateFormat||"yyyy").filter(n=>t.enabled?n.date===Ee.format(new Date(xe[be]),t.dateFormat||"yyyy"):n).filter(n=>c?!q.checkIfNullOrUndefined(n.size):n).filter((n,je)=>L?je<L:!0),barColor:o.filter(n=>n.color).length===0?G?[G]:[Ce.Colors.primaryColors["blue-600"]]:G||Ce.Colors[T].categoricalColors.colors,colorDomain:o.filter(n=>n.color).length===0?[]:V||Se.uniqBy(o,"color",!0),width:j||f,refValues:X,height:Math.max(Y,ee||(K?Y?(j||f)*K>Y?(j||f)*K:Y:(j||f)*K:ue)),suffix:ce,prefix:C,barPadding:$,showLabels:ie,showValues:N,showTicks:U,truncateBy:H,leftMargin:me,rightMargin:de,selectedColor:Ne,topMargin:he,bottomMargin:Z,tooltip:te,onSeriesMouseOver:re,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))<0?0:Math.max(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):I,minValue:q.checkIfNullOrUndefined(b)?Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size))>=0?0:Math.min(...o.filter(n=>!q.checkIfNullOrUndefined(n.size)).map(n=>n.size)):b,highlightedDataPoints:g,onSeriesMouseClick:k,labelOrder:v,maxBarThickness:S,minBarThickness:le,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,styles:E,classNames:h,animate:x===!0?{duration:.5,once:!0,amount:.5}:x||{duration:0,once:!0,amount:0},dimmedOpacity:u,precision:a,customLayers:r,naLabel:s}):null})]})}),W||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:h?.footnote,source:h?.source},sources:W,footNote:y,width:j}):null]})})})})}function xt(ye){const{data:o,width:p,height:G,barColors:$,suffix:U,prefix:me,barPadding:de,showLabels:he,showValues:Z,showTicks:H,truncateBy:ie,leftMargin:N,rightMargin:ne,topMargin:ce,bottomMargin:C,tooltip:W,onSeriesMouseOver:J,refValues:ee,maxValue:j,minValue:y,onSeriesMouseClick:V,selectedColor:ae,labelOrder:se,maxBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:ce,bottom:C,left:X?N+30:N,right:ne},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([y,j]).range([F,0]).nice(),E=o.map((a,r)=>({...a,id:se?`${a.label}`:`${r}`})),h=se||E.map(a=>`${a.id}`),c=Te.band().domain(h).range([0,K?Math.min(R,K*h.length):R]).paddingInner(de),x=Te.band().domain(o[0].size.map((a,r)=>`${r}`)).range([0,c.bandwidth()]).paddingInner(.1),u=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(y<0?0:y),y2:m(y<0?0:y),x1:0-N,x2:R+v.right,label:Me.numberFormattingFunction(y<0?0:y,O,D,me,U),labelPos:{x:0-N,dx:0,dy:j<0?"1em":-5,y:m(y<0?0:y)},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),H?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:u.filter(a=>a!==0),y:u.filter(a=>a!==0).map(a=>m(a)),x1:0-N,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:U,prefix:me,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-N-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(a=>a.position==="before").map(a=>a.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(a=>q.checkIfNullOrUndefined(c(a.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{variants:{initial:{x:c(`${a.id}`),y:0},whileInView:{x:c(`${a.id}`),y:0,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[a.size.map((r,t)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-g-with-hover",opacity:ae?$[t]===ae?1:.3:.85,onMouseEnter:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX),J?.({...a,sizeIndex:t})},onMouseMove:s=>{Y({...a,sizeIndex:t}),Q(s.clientY),P(s.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),J?.(void 0)},onClick:()=>{(V||re)&&(Ae.isEqual(S,{...a,sizeIndex:t})&&te?(L(void 0),V?.(void 0)):(L({...a,sizeIndex:t}),V&&V({...a,sizeIndex:t})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:x(`${t}`),width:x.bandwidth(),variants:{initial:{height:0,y:m(0),fill:$[t]},whileInView:{height:q.checkIfNullOrUndefined(r)?0:Math.abs(m(r)-m(0)),y:q.checkIfNullOrUndefined(r)?m(0):r>0?m(r):m(0),fill:$[t],transition:{duration:g.duration}}},exit:{height:0,y:m(0),transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial"}),Z?e.jsxRuntimeExports.jsx(fe.motion.text,{x:x(`${t}`)+x.bandwidth()/2,style:{fill:pe||$[t],textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:r?r>=0?"-5px":"1em":"-5px",variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(r||0),opacity:1,transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(r,O,D,me,U)}):null]},`${a.label}-${k[t]||t}`)),he?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${a.label}`.length<ie?`${a.label}`:`${`${a.label}`.substring(0,ie)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null]},a.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((a,r)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:a.text,color:a.color,y:m(a.value),x1:0-N,x2:R+v.right,classNames:a.classNames,styles:a.styles,animate:g,isInView:A},r))}):null]}),M.filter(a=>a.position==="after").map(a=>a.layer)]})}),w&&W&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:W,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function dt(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,suffix:W="",prefix:J="",height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,ariaLabel:v,resetSelectionOnDoubleClick:w=!0,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L=5,valueColor:le,styles:P,classNames:B,filterNA:Q=!0,showColorScale:R=!0,animate:F=!1,precision:m=2,customLayers:E=[],timeline:h={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:c="NA",sortParameter:x,sortData:u}=ye,[a,r]=d.useState(0),[t,s]=d.useState(0),[f,we]=d.useState(h.autoplay),ue=_e.sort(Se.uniqBy(o,"date",!0).map(l=>Ee.parse(`${l}`,h.dateFormat||"yyyy",new Date).getTime()),(l,i)=>Je.ascending(l,i)),[_,ge]=d.useState(h.autoplay?0:ue.length-1),[Oe,xe]=d.useState(void 0),be=d.useRef(null),ve=d.useRef(null);d.useEffect(()=>{const l=new ResizeObserver(i=>{r(j||i[0].target.clientWidth||620),s(ee||i[0].target.clientHeight||480)});return be.current&&(s(be.current.clientHeight||480),r(be.current.clientWidth||620),j||l.observe(be.current)),()=>l.disconnect()},[j,ee]),d.useEffect(()=>{const l=setInterval(()=>{ge(i=>i<ue.length-1?i+1:0)},(h.speed||2)*1e3);return f||clearInterval(l),()=>clearInterval(l)},[ue,f,h.speed]);const Ne=Ie.getSliderMarks(ue,_,h.showOnlyActiveDate,h.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${j?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,j?"w-fit":"w-full",B?.graphContainer),style:{...P?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:pe,ref:ve,"aria-label":v||`${p?`The graph shows ${p}. `:""}This is a grouped bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:C?se||"1rem":se||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:P?.title,description:P?.description},classNames:{title:B?.title,description:B?.description},graphTitle:p,graphDescription:U,width:j,graphDownload:g?ve.current:void 0,dataDownload:k?o.map(l=>l.data).filter(l=>l!==void 0).length>0?o.map(l=>l.data).filter(l=>l!==void 0):o.filter(l=>l!==void 0):null}):null,h.enabled&&ue.length>0&&Ne?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{we(!f)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":f?"Click to pause animation":"Click to play animation",children:f?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:ue[0],max:ue[ue.length-1],marks:Ne,step:null,defaultValue:ue[ue.length-1],value:ue[_],onChangeComplete:l=>{ge(ue.indexOf(l))},onChange:l=>{ge(ue.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[R?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:j,colorDomain:V,colors:G,colorLegendTitle:ae,setSelectedColor:xe,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:be,"aria-label":"Graph area",children:(j||a)&&(ee||t)?e.jsxRuntimeExports.jsx(xt,{data:x!==void 0?x==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>ke.sum(l.size.filter(i=>!q.checkIfNullOrUndefined(i))),[u||"asc"]):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>h.enabled?l.date===Ee.format(new Date(ue[_]),h.dateFormat||"yyyy"):l).filter(l=>Q?!l.size.every(i=>i==null):l),l=>q.checkIfNullOrUndefined(l.size[x])?-1/0:l.size[x],[u||"asc"]):Re.ensureCompleteDataForStackedBarChart(o,h.dateFormat||"yyyy").filter(l=>Q?!l.size.every(i=>i==null):l),barColors:G,width:j||a,height:Math.max(T,ee||(K?T?(j||a)*K>T?(j||a)*K:T:(j||a)*K:t)),suffix:W,prefix:J,barPadding:me,showLabels:ne,showValues:ce,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,refValues:X,maxValue:q.checkIfNullOrUndefined(oe)?Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))<0?0:Math.max(...o.map(l=>Math.max(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):oe,minValue:q.checkIfNullOrUndefined(I)?Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i)))))>=0?0:Math.min(...o.map(l=>Math.min(...l.size.filter(i=>!q.checkIfNullOrUndefined(i))))):I,onSeriesMouseClick:b,selectedColor:Oe,labelOrder:O,maxBarThickness:A,resetSelectionOnDoubleClick:w,detailsOnClick:Y,barAxisTitle:S,noOfTicks:L,valueColor:le,styles:P,classNames:B,animate:F===!0?{duration:.5,once:!0,amount:.5}:F||{duration:0,once:!0,amount:0},colorDomain:V,precision:m,customLayers:E,naLabel:c}):null})]})}),$||y?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:P?.footnote,source:P?.source},classNames:{footnote:B?.footnote,source:B?.source},sources:$,footNote:y,width:j}):null]})})})})}function mt(ye){const{data:o,width:p,height:G,barColors:$,barPadding:U,showLabels:me,showTicks:de,truncateBy:he,leftMargin:Z,topMargin:H,bottomMargin:ie,rightMargin:N,tooltip:ne,onSeriesMouseOver:ce,suffix:C,prefix:W,showValues:J,refValues:ee,maxValue:j,onSeriesMouseClick:y,selectedColor:V,labelOrder:ae,maxBarThickness:se,minBarThickness:K,resetSelectionOnDoubleClick:te,detailsOnClick:re,barAxisTitle:X,valueColor:pe,noOfTicks:oe,styles:I,classNames:b,animate:g,colorDomain:k,precision:D,customLayers:M,naLabel:O}=ye,T=d.useRef(null),A=He.useInView(T,{once:g.once,amount:g.amount}),v={top:H,bottom:ie,left:X?Z+30:Z,right:N},[w,Y]=d.useState(void 0),[S,L]=d.useState(void 0),[le,P]=d.useState(void 0),[B,Q]=d.useState(void 0),R=p-v.left-v.right,F=G-v.top-v.bottom,m=qe.linear().domain([0,j]).range([F,0]).nice(),E=o.map((u,a)=>({...u,id:ae?`${u.label}`:`${a}`})),h=ae||E.map(u=>`${u.id}`),c=Te.band().domain(h).range([0,K?Math.max(R,K*h.length):se?Math.min(R,se*h.length):R]).paddingInner(U),x=m.ticks(oe);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(fe.motion.svg,{width:`${p}px`,height:`${G}px`,viewBox:`0 0 ${p} ${G}`,direction:"ltr",ref:T,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${v.left},${v.top})`,children:[e.jsxRuntimeExports.jsx(Fe.Axis,{y1:m(0),y2:m(0),x1:0-Z,x2:R+v.right,label:Me.numberFormattingFunction(0,O,D,W,C),labelPos:{x:0-Z,y:m(0),dx:0,dy:-5},classNames:{axis:b?.xAxis?.axis,label:b?.yAxis?.labels},styles:{axis:I?.xAxis?.axis,label:I?.yAxis?.labels}}),de?e.jsxRuntimeExports.jsx(it.YTicksAndGridLines,{values:x.filter(u=>u!==0),y:x.filter(u=>u!==0).map(u=>m(u)),x1:0-Z,x2:R+v.right,styles:{gridLines:I?.yAxis?.gridLines,labels:I?.yAxis?.labels},classNames:{gridLines:b?.yAxis?.gridLines,labels:b?.yAxis?.labels},suffix:C,prefix:W,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:D}):null,e.jsxRuntimeExports.jsx(Be.AxisTitle,{x:0-Z-15,y:F/2,style:I?.yAxis?.title,className:b?.yAxis?.title,text:X,rotate90:!0}),M.filter(u=>u.position==="before").map(u=>u.layer),e.jsxRuntimeExports.jsxs(Ge.AnimatePresence,{children:[E.map(u=>q.checkIfNullOrUndefined(c(u.id))?null:e.jsxRuntimeExports.jsxs(fe.motion.g,{className:"undp-viz-low-opacity undp-viz-g-with-hover",variants:{initial:{x:c(`${u.id}`),y:0},whileInView:{x:c(`${u.id}`),y:0,transition:{duration:g.duration}}},transition:{duration:g.duration},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:[u.size.map((a,r)=>e.jsxRuntimeExports.jsxs(fe.motion.g,{opacity:V?$[r]===V?1:.3:1,onMouseEnter:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX),ce?.({...u,sizeIndex:r})},onMouseMove:t=>{Y({...u,sizeIndex:r}),Q(t.clientY),P(t.clientX)},onMouseLeave:()=>{Y(void 0),P(void 0),Q(void 0),ce?.(void 0)},onClick:()=>{(y||re)&&(Ae.isEqual(S,{...u,sizeIndex:r})&&te?(L(void 0),y?.(void 0)):(L({...u,sizeIndex:r}),y&&y({...u,sizeIndex:r})))},children:[e.jsxRuntimeExports.jsx(fe.motion.rect,{x:0,width:c.bandwidth(),variants:{initial:{height:0,fill:$[r],y:m(0)},whileInView:{height:Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t)))),y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t))),fill:$[r],transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{height:0,y:m(0),transition:{duration:g.duration}}}),J?e.jsxRuntimeExports.jsx(fe.motion.text,{x:c.bandwidth()/2,style:{fill:Qe.getTextColorBasedOnBgColor($[r]),textAnchor:"middle",...I?.graphObjectValues||{}},className:e.mo("graph-value text-sm",b?.graphObjectValues),dy:"0.33em",variants:{initial:{y:m(0),opacity:0,fill:Qe.getTextColorBasedOnBgColor($[r])},whileInView:{y:m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))+Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))/2,opacity:a&&Math.abs(m(ke.sum(u.size.filter((t,s)=>s<=r&&t)))-m(ke.sum(u.size.filter((t,s)=>s<r&&t))))>20?1:0,fill:Qe.getTextColorBasedOnBgColor($[r]),transition:{duration:g.duration}}},initial:"initial",animate:A?"whileInView":"initial",exit:{opacity:0,transition:{duration:g.duration}},children:Me.numberFormattingFunction(a,O,D,W,C)}):null]},`${u.label}-${k[r]||r}`)),me?e.jsxRuntimeExports.jsx(tt.XAxesLabels,{value:`${u.label}`.length<he?`${u.label}`:`${`${u.label}`.substring(0,he)}...`,y:m(0)+5,x:0,width:c.bandwidth(),height:v.bottom,style:I?.xAxis?.labels,className:b?.xAxis?.labels,alignment:"top",animate:g,isInView:A}):null,J?e.jsxRuntimeExports.jsx(fe.motion.text,{style:{...pe&&{fill:pe},textAnchor:"middle",...I?.graphObjectValues||{}},x:c.bandwidth()/2,dy:-10,className:e.mo("graph-value graph-value-total",pe?"text-sm":"fill-primary-gray-700 dark:fill-primary-gray-300 text-sm",b?.graphObjectValues),variants:{initial:{y:m(0),opacity:0},whileInView:{y:m(ke.sum(u.size.map(a=>a||0))),opacity:1,transition:{duration:g.duration}}},exit:{opacity:0,transition:{duration:g.duration}},initial:"initial",animate:A?"whileInView":"initial",children:Me.numberFormattingFunction(ke.sum(u.size.filter(a=>a)),O,D,W,C)}):null]},u.label)),ee?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:ee.map((u,a)=>e.jsxRuntimeExports.jsx(Pe.RefLineY,{text:u.text,color:u.color,y:m(u.value),x1:0-Z,x2:R+v.right,classNames:u.classNames,styles:u.styles,animate:g,isInView:A},a))}):null]}),M.filter(u=>u.position==="after").map(u=>u.layer)]})}),w&&ne&&le&&B?e.jsxRuntimeExports.jsx(Ve.Tooltip,{data:w,body:ne,xPos:le,yPos:B,backgroundStyle:I?.tooltip,className:b?.tooltip}):null,re&&S!==void 0?e.jsxRuntimeExports.jsx(ze.X,{open:S!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof re=="string"?{__html:Le.string2HTML(re,S)}:void 0,children:typeof re=="function"?re(S):null})}):null]})}function ht(ye){const{data:o,graphTitle:p,colors:G=Ce.Colors.light.categoricalColors.colors,sources:$,graphDescription:U,barPadding:me=.25,showTicks:de=!0,leftMargin:he=20,rightMargin:Z=20,topMargin:H=20,bottomMargin:ie=25,truncateBy:N=999,showLabels:ne=!0,showValues:ce=!0,backgroundColor:C=!1,showColorScale:W=!0,suffix:J="",prefix:ee="",height:j,width:y,footNote:V,colorDomain:ae,colorLegendTitle:se,padding:K,tooltip:te,onSeriesMouseOver:re,relativeHeight:X,refValues:pe,graphID:oe,maxValue:I,onSeriesMouseClick:b,graphDownload:g=!1,dataDownload:k=!1,language:D="en",theme:M="light",labelOrder:O,minHeight:T=0,maxBarThickness:A,sortParameter:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L=!0,detailsOnClick:le,barAxisTitle:P,noOfTicks:B=5,valueColor:Q,styles:R,classNames:F,filterNA:m=!0,animate:E=!1,precision:h=2,customLayers:c=[],timeline:x={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},naLabel:u="NA",sortData:a}=ye,[r,t]=d.useState(0),[s,f]=d.useState(0),[we,ue]=d.useState(x.autoplay),_=_e.sort(Se.uniqBy(o,"date",!0).map(i=>Ee.parse(`${i}`,x.dateFormat||"yyyy",new Date).getTime()),(i,z)=>Je.ascending(i,z)),[ge,Oe]=d.useState(x.autoplay?0:_.length-1),[xe,be]=d.useState(void 0),ve=d.useRef(null),Ne=d.useRef(null);d.useEffect(()=>{const i=new ResizeObserver(z=>{t(y||z[0].target.clientWidth||620),f(j||z[0].target.clientHeight||480)});return ve.current&&(f(ve.current.clientHeight||480),t(ve.current.clientWidth||620),y||i.observe(ve.current)),()=>i.disconnect()},[y,j]),d.useEffect(()=>{const i=setInterval(()=>{Oe(z=>z<_.length-1?z+1:0)},(x.speed||2)*1e3);return we||clearInterval(i),()=>clearInterval(i)},[_,we,x.speed]);const l=Ie.getSliderMarks(_,ge,x.showOnlyActiveDate,x.dateFormat||"yyyy");return e.jsxRuntimeExports.jsx("div",{className:`${M||"light"} flex ${y?"w-fit grow-0":"w-full grow"}`,dir:D==="he"||D==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${D||"en"}`,y?"w-fit":"w-full",F?.graphContainer),style:{...R?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:oe,ref:Ne,"aria-label":S||`${p?`The graph shows ${p}. `:""}This is a stacked bar chart. ${U?` ${U}`:""}`,children:e.jsxRuntimeExports.jsx("div",{style:{padding:C?K||"1rem":K||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||U||g||k?e.jsxRuntimeExports.jsx(We.GraphHeader,{styles:{title:R?.title,description:R?.description},classNames:{title:F?.title,description:F?.description},graphTitle:p,graphDescription:U,width:y,graphDownload:g?Ne.current:void 0,dataDownload:k?o.map(i=>i.data).filter(i=>i!==void 0).length>0?o.map(i=>i.data).filter(i=>i!==void 0):o.filter(i=>i!==void 0):null}):null,x.enabled&&_.length>0&&l?e.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[e.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{ue(!we)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":we?"Click to pause animation":"Click to play animation",children:we?e.jsxRuntimeExports.jsx(De.Pause,{}):e.jsxRuntimeExports.jsx(De.Play,{})}),e.jsxRuntimeExports.jsx(Ie.xr,{min:_[0],max:_[_.length-1],marks:l,step:null,defaultValue:_[_.length-1],value:_[ge],onChangeComplete:i=>{Oe(_.indexOf(i))},onChange:i=>{Oe(_.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?e.jsxRuntimeExports.jsx(Ye.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[W?e.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:y,colorDomain:ae,colors:G,colorLegendTitle:se,setSelectedColor:be,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"w-full grow leading-0",ref:ve,"aria-label":"Graph area",children:(y||r)&&(j||s)?e.jsxRuntimeExports.jsx(mt,{data:v!==void 0?v==="total"?$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z))),[a||"asc"]).filter((i,z)=>w?z<w:!0):$e.orderBy(Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>x.enabled?i.date===Ee.format(new Date(_[ge]),x.dateFormat||"yyyy"):i).filter(i=>m?!i.size.every(z=>z==null):i),i=>q.checkIfNullOrUndefined(i.size[v])?-1/0:i.size[v],[a||"asc"]).filter((i,z)=>w?z<w:!0):Re.ensureCompleteDataForStackedBarChart(o,x.dateFormat||"yyyy").filter(i=>m?!i.size.every(z=>z==null):i).filter((i,z)=>w?z<w:!0),barColors:G,width:y||r,height:Math.max(T,j||(X?T?(y||r)*X>T?(y||r)*X:T:(y||r)*X:s)),barPadding:me,showLabels:ne,showTicks:de,truncateBy:N,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,tooltip:te,onSeriesMouseOver:re,showValues:ce,suffix:J,prefix:ee,refValues:pe,maxValue:q.checkIfNullOrUndefined(I)?Math.max(...o.map(i=>ke.sum(i.size.filter(z=>!q.checkIfNullOrUndefined(z)))||0)):I,onSeriesMouseClick:b,selectedColor:xe,labelOrder:O,maxBarThickness:A,minBarThickness:Y,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,styles:R,classNames:F,animate:E===!0?{duration:.5,once:!0,amount:.5}:E||{duration:0,once:!0,amount:0},colorDomain:ae,precision:h,customLayers:c,naLabel:u}):null})]})}),$||V?e.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:R?.footnote,source:R?.source},classNames:{footnote:F?.footnote,source:F?.source},sources:$,footNote:V,width:y}):null]})})})})}function pt(ye){const{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,orientation:E="vertical",styles:h,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}=ye;return E==="vertical"?e.jsxRuntimeExports.jsx(ct,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f}):e.jsxRuntimeExports.jsx(st,{data:o,graphTitle:p,colors:G,barPadding:$,showTicks:U,leftMargin:me,rightMargin:de,topMargin:he,bottomMargin:Z,truncateBy:H,showLabels:ie,showValues:N,backgroundColor:ne,suffix:ce,prefix:C,sources:W,graphDescription:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,showColorScale:pe,graphID:oe,maxValue:I,minValue:b,highlightedDataPoints:g,onSeriesMouseClick:k,graphDownload:D,dataDownload:M,language:O,theme:T,sortData:A,labelOrder:v,showNAColor:w,minHeight:Y,maxBarThickness:S,maxNumberOfBars:L,minBarThickness:le,ariaLabel:P,resetSelectionOnDoubleClick:B,styles:h,detailsOnClick:Q,barAxisTitle:R,noOfTicks:F,valueColor:m,classNames:c,filterNA:x,animate:u,dimmedOpacity:a,precision:r,customLayers:t,timeline:s,naLabel:f})}function gt(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,sortParameter:A,sortData:v,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,orientation:Q="vertical",styles:R,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}=ye;return Q==="vertical"?e.jsxRuntimeExports.jsx(dt,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,sortParameter:A,sortData:v,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a}):e.jsxRuntimeExports.jsx(nt,{data:o,graphTitle:p,colors:G,sortParameter:A,sortData:v,sources:$,graphDescription:U,barPadding:me,showTicks:de,truncateBy:he,height:Z,width:H,footNote:ie,colorDomain:N,colorLegendTitle:ne,suffix:ce,prefix:C,showValues:W,padding:J,backgroundColor:ee,leftMargin:j,rightMargin:y,topMargin:V,bottomMargin:ae,showLabels:se,relativeHeight:K,tooltip:te,onSeriesMouseOver:re,refValues:X,graphID:pe,maxValue:oe,minValue:I,onSeriesMouseClick:b,graphDownload:g,dataDownload:k,language:D,labelOrder:M,minHeight:O,theme:T,maxBarThickness:w,ariaLabel:Y,resetSelectionOnDoubleClick:S,styles:R,detailsOnClick:L,barAxisTitle:le,noOfTicks:P,valueColor:B,classNames:F,filterNA:m,animate:E,precision:h,customLayers:c,showColorScale:x,timeline:u,naLabel:a})}function ft(ye){const{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,orientation:R="vertical",styles:F,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}=ye;return R==="vertical"?e.jsxRuntimeExports.jsx(ht,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r}):e.jsxRuntimeExports.jsx(ot,{data:o,graphTitle:p,colors:G,sources:$,graphDescription:U,barPadding:me,showTicks:de,leftMargin:he,rightMargin:Z,topMargin:H,bottomMargin:ie,truncateBy:N,showLabels:ne,showValues:ce,backgroundColor:C,suffix:W,prefix:J,height:ee,width:j,footNote:y,colorDomain:V,colorLegendTitle:ae,padding:se,tooltip:K,onSeriesMouseOver:te,relativeHeight:re,refValues:X,graphID:pe,maxValue:oe,onSeriesMouseClick:I,graphDownload:b,dataDownload:g,language:k,theme:D,labelOrder:M,minHeight:O,maxBarThickness:T,sortParameter:A,sortData:v,maxNumberOfBars:w,minBarThickness:Y,ariaLabel:S,resetSelectionOnDoubleClick:L,styles:F,detailsOnClick:le,barAxisTitle:P,noOfTicks:B,valueColor:Q,classNames:m,filterNA:E,animate:h,precision:c,customLayers:x,showColorScale:u,timeline:a,naLabel:r})}exports.GroupedBarGraph=gt;exports.SimpleBarGraph=pt;exports.StackedBarGraph=ft;
|
|
2
2
|
//# sourceMappingURL=BarGraph.cjs.map
|
package/dist/BarGraph.js
CHANGED
|
@@ -11,7 +11,7 @@ import { c as X } from "./checkIfNullOrUndefined-DmfiKkNw.js";
|
|
|
11
11
|
import { Colors as je } from "./Colors.js";
|
|
12
12
|
import { s as Ge } from "./string2HTML-oFCROsus.js";
|
|
13
13
|
import { X as st } from "./XTicksAndGridLines-Bn9u5gOM.js";
|
|
14
|
-
import { Y as rt } from "./YAxesLabels-
|
|
14
|
+
import { Y as rt } from "./YAxesLabels-DECkMgq8.js";
|
|
15
15
|
import { A as Xe } from "./AxisTitle-BmHLMRJZ.js";
|
|
16
16
|
import { A as Ye } from "./Axis-Ddg-seDi.js";
|
|
17
17
|
import { a as ot, R as nt } from "./ReferenceLine-CfAW3vKJ.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CHPV5EwG-DDoeWRVt.cjs"),u=require("react"),$e=require("./getSliderMarks-CRIbTGYV.cjs"),Ie=require("./Spinner-DA6Z5E4n.cjs"),Ce=require("./parse-hMnG_lRV.cjs"),Pe=require("./index-DQA8q5sC.cjs"),L=require("./zoom-Bsbhil-K.cjs"),Le=require("./index-D05lK1Te.cjs"),Te=require("./Modal-tXZlLE5s.cjs"),Se=require("./Typography-k-kOjICQ.cjs"),Ne=require("./numberFormattingFunction-02t-wJta.cjs"),ze=require("./Tooltip-De16GWhY.cjs"),We=require("./string2HTML-z7CwHXcx.cjs"),De=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Re=require("./index-BW_-wD2k.cjs"),ke=require("./select-Bnfk0lJx.cjs"),Me=require("./threshold-DNsSUf8Q.cjs"),Be=require("./use-in-view-sQJZ_xDO.cjs"),ae=require("./proxy-BHRoeZgd.cjs"),Ae=require("./index-BW8iNx7E.cjs"),Fe=require("./GraphHeader.cjs"),Ve=require("./GraphFooter.cjs"),we=require("./Colors.cjs"),He=require("./fetchAndParseData-Ba-_CgxS.cjs"),qe=require("./getJenks-GYmdwBqm.cjs"),_e=require("./uniqBy-O05lp2S5.cjs"),Ge=require("./sort-O96oMZLb.cjs"),Ue=require("./init-DU0ybBc_.cjs");function Xe(je){const{data:v,xDomain:R,mapData:f,xColorLegendTitle:D,yDomain:T,yColorLegendTitle:z,width:d,height:s,colors:Y,scale:J,centerPoint:$,mapBorderWidth:W,mapNoDataColor:M,mapBorderColor:ne,tooltip:se,onSeriesMouseOver:le,zoomScaleExtend:ce,zoomTranslateExtend:ve,highlightedIds:B,onSeriesMouseClick:b,mapProperty:A,resetSelectionOnDoubleClick:E,detailsOnClick:S,showColorScale:ue,styles:be,classNames:Ee,mapProjection:F,zoomInteraction:q,animate:k,dimmedOpacity:V,customLayers:me}=je,[de,K]=u.useState(!(d<680)),[H,_]=u.useState(void 0),[h,Z]=u.useState(void 0),[G,Q]=u.useState(void 0),[pe,w]=u.useState(void 0),[C,ee]=u.useState(void 0),O=u.useRef(null),U=Be.useInView(O,{once:k.once,amount:k.amount}),xe=u.useRef(null),te=u.useRef(null);u.useEffect(()=>{const e=ke.select(xe.current),n=ke.select(O.current),r=o=>{if(q==="noZoom")return!1;if(q==="button")return!o.type.includes("wheel");const a=o.type==="wheel",m=o.type.startsWith("touch"),l=o.type==="mousedown"||o.type==="mousemove";return m?!0:a?q==="scroll"?!0:o.ctrlKey:l&&!o.button&&!o.ctrlKey},i=L.zoom().scaleExtent(ce).translateExtent(ve||[[-20,-20],[d+20,s+20]]).filter(r).on("zoom",({transform:o})=>{e.attr("transform",o)});n.call(i),te.current=i},[s,d,q]);const p=L.turf_bbox_default(f),g=Le.turf_center_of_mass_default(f),he=p[2]-p[0],re=p[3]-p[1],ge=d*190/960*360/he,I=s*190/678*180/re,P=J*Math.min(ge,I),c=F==="mercator"?L.geoMercator().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="equalEarth"?L.geoEqualEarth().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="naturalEarth"?L.geoNaturalEarth1().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="orthographic"?L.geoOrthographic().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):L.geoAlbersUsa().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P),oe=Array.from({length:R.length},(e,n)=>n),ie=Array.from({length:T.length},(e,n)=>n),X=Me.threshold().domain(R).range(oe),ye=Me.threshold().domain(T).range(ie),N=e=>{if(!O.current||!te.current)return;ke.select(O.current).call(te.current.scaleBy,e==="in"?1.2:1/1.2)};return t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsxs("div",{className:"relative",children:[t.jsxRuntimeExports.jsx(ae.motion.svg,{viewBox:`0 0 ${d} ${s}`,width:`${d}px`,height:`${s}px`,ref:O,direction:"ltr",children:t.jsxRuntimeExports.jsxs("g",{ref:xe,children:[me.filter(e=>e.position==="before").map(e=>e.layer),f.features.map((e,n)=>v.findIndex(i=>i.id===e.properties[A])!==-1?null:t.jsxRuntimeExports.jsx(ae.motion.g,{opacity:H?V:B.length!==0?B.indexOf(e.properties[A])!==-1?1:V:1,children:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.map((i,o)=>{let a="";return i.forEach(m=>{let l=" M";m.forEach((x,y)=>{const j=c([x[0],x[1]]);y!==m.length-1?l=`${l}${j[0]} ${j[1]}L`:l=`${l}${j[0]} ${j[1]}`}),a+=l}),t.jsxRuntimeExports.jsx("path",{d:a,style:{stroke:ne,strokeWidth:W,fill:M}},o)}):e.geometry.coordinates.map((i,o)=>{let a="M";return i.forEach((m,l)=>{const x=c([m[0],m[1]]);l!==i.length-1?a=`${a}${x[0]} ${x[1]}L`:a=`${a}${x[0]} ${x[1]}`}),t.jsxRuntimeExports.jsx("path",{d:a,style:{stroke:ne,strokeWidth:W,fill:M}},o)})},n)),t.jsxRuntimeExports.jsx(Ae.AnimatePresence,{children:v.map(e=>{const n=f.features.findIndex(a=>e.id===a.properties[A]),r=De.checkIfNullOrUndefined(e.x)?void 0:X(e.x),i=De.checkIfNullOrUndefined(e.y)?void 0:ye(e.y),o=r!==void 0&&i!==void 0?Y[i][r]:M;return t.jsxRuntimeExports.jsx(ae.motion.g,{variants:{initial:{opacity:0},whileInView:{opacity:H?H===o?1:V:B.length!==0?B.indexOf(e.id)!==-1?1:V:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},onMouseEnter:a=>{Q(e),ee(a.clientY),w(a.clientX),le?.(e)},onClick:()=>{(b||S)&&(Pe.isEqual(h,e)&&E?(Z(void 0),b?.(void 0)):(Z(e),b?.(e)))},onMouseMove:a=>{Q(e),ee(a.clientY),w(a.clientX)},onMouseLeave:()=>{Q(void 0),w(void 0),ee(void 0),le?.(void 0)},children:n===-1?null:f.features[n].geometry.type==="MultiPolygon"?f.features[n].geometry.coordinates.map((a,m)=>{let l="";return a.forEach(x=>{let y=" M";x.forEach((j,Oe)=>{const fe=c([j[0],j[1]]);Oe!==x.length-1?y=`${y}${fe[0]} ${fe[1]}L`:y=`${y}${fe[0]} ${fe[1]}`}),l+=y}),t.jsxRuntimeExports.jsx(ae.motion.path,{variants:{initial:{fill:o,opacity:0},whileInView:{fill:o,opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},d:l,className:`${o===M?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{strokeWidth:W}},`${e.id}-${m}`)}):f.features[n].geometry.coordinates.map((a,m)=>{let l="M";return a.forEach((x,y)=>{const j=c([x[0],x[1]]);y!==a.length-1?l=`${l}${j[0]} ${j[1]}L`:l=`${l}${j[0]} ${j[1]}`}),t.jsxRuntimeExports.jsx(ae.motion.path,{d:l,variants:{initial:{fill:o,opacity:0},whileInView:{fill:o,opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},className:`${o===M?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{strokeWidth:W}},`${e.id}-${m}`)})},e.id)})}),G?f.features.filter(e=>e.properties[A]===G.id).map((e,n)=>t.jsxRuntimeExports.jsx("g",{children:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.map((r,i)=>{let o="";return r.forEach(a=>{let m=" M";a.forEach((l,x)=>{const y=c([l[0],l[1]]);x!==a.length-1?m=`${m}${y[0]} ${y[1]}L`:m=`${m}${y[0]} ${y[1]}`}),o+=m}),t.jsxRuntimeExports.jsx("path",{d:o,className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5"}},i)}):e.geometry.coordinates.map((r,i)=>{let o="M";return r.forEach((a,m)=>{const l=c([a[0],a[1]]);m!==r.length-1?o=`${o}${l[0]} ${l[1]}L`:o=`${o}${l[0]} ${l[1]}`}),t.jsxRuntimeExports.jsx("path",{d:o,className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5"}},i)})},n)):null,me.filter(e=>e.position==="after").map(e=>e.layer)]})}),ue===!1?null:t.jsxRuntimeExports.jsx("div",{className:"absolute left-4 bottom-4",children:de?t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx("div",{style:{backgroundColor:"rgba(240,240,240, 0.7)",border:"1px solid var(--gray-400)",borderRadius:"999px",width:"24px",height:"24px",padding:"3px",cursor:"pointer",zIndex:10,position:"absolute",right:"-0.75rem",top:"-0.75rem"},onClick:()=>{K(!1)},children:t.jsxRuntimeExports.jsx(Re.X,{})}),t.jsxRuntimeExports.jsxs("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)",width:"175px"},children:[t.jsxRuntimeExports.jsxs("div",{className:"flex gap-1 items-center",children:[t.jsxRuntimeExports.jsx("svg",{width:"136px",viewBox:"0 0 136 136",className:"shrink-0",children:t.jsxRuntimeExports.jsxs("g",{children:[Y.map((e,n)=>t.jsxRuntimeExports.jsx("g",{transform:`translate(0,${100-n*25})`,children:e.map((r,i)=>t.jsxRuntimeExports.jsx("rect",{y:1,x:i*25+1,fill:r,width:23,height:23,strokeWidth:H===r?2:.25,style:{cursor:"pointer"},onMouseOver:()=>{_(r)},onMouseLeave:()=>{_(void 0)}},i))},n)),t.jsxRuntimeExports.jsx("g",{transform:"translate(0,125)",children:R.map((e,n)=>t.jsxRuntimeExports.jsx("text",{y:10,x:(n+1)*25,fontSize:10,textAnchor:"middle",children:typeof e=="string"||e<1?e:Ne.numberFormattingFunction(e,"NA")},n))}),T.map((e,n)=>t.jsxRuntimeExports.jsx("g",{transform:`translate(${Math.max(Math.min(R.length+1,5),4)*25+10},${100-n*25})`,children:t.jsxRuntimeExports.jsx("text",{x:0,transform:"rotate(-90)",y:0,fontSize:10,textAnchor:"middle",children:typeof e=="string"||e<1?e:Ne.numberFormattingFunction(e,"NA")})},n))]})}),t.jsxRuntimeExports.jsx(Se.u,{marginBottom:"none",size:"xs",className:"leading-normal text-center shrink-0",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical",overflow:"hidden",writingMode:"vertical-rl",height:"8.5rem",transform:"rotate(180deg)"},children:z})]}),t.jsxRuntimeExports.jsx(Se.u,{marginBottom:"none",size:"xs",className:"mt-1 leading-normal text-center",style:{display:"-webkit-box",WebkitLineClamp:"1",width:"8.5rem",WebkitBoxOrient:"vertical",overflow:"hidden"},children:D})]})]}):t.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{K(!0)},children:t.jsxRuntimeExports.jsx("div",{className:"items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),q==="button"&&t.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col",children:[t.jsxRuntimeExports.jsx("button",{onClick:()=>N("in"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"+"}),t.jsxRuntimeExports.jsx("button",{onClick:()=>N("out"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-t-0 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"–"})]})]}),G&&se&&pe&&C?t.jsxRuntimeExports.jsx(ze.Tooltip,{data:G,body:se,xPos:pe,yPos:C,backgroundStyle:be?.tooltip,className:Ee?.tooltip}):null,S&&h!==void 0?t.jsxRuntimeExports.jsx(Te.X,{open:h!==void 0,onClose:()=>{Z(void 0)},children:t.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof S=="string"?{__html:We.string2HTML(S,h)}:void 0,children:typeof S=="function"?S(h):null})}):null]})}function Ye(je){const{data:v,graphTitle:R,mapData:f="https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap.json",colors:D=we.Colors.light.bivariateColors.colors05x05,sources:T,graphDescription:z,height:d,width:s,footNote:Y="The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.",xDomain:J,yDomain:$,xColorLegendTitle:W="X Color key",yColorLegendTitle:M="Y Color key",tooltip:ne,scale:se=.95,centerPoint:le,padding:ce,mapBorderWidth:ve=.5,mapNoDataColor:B=we.Colors.light.graphNoData,backgroundColor:b=!1,mapBorderColor:A=we.Colors.light.grays["gray-500"],relativeHeight:E,onSeriesMouseOver:S,isWorldMap:ue=!0,zoomScaleExtend:be=[.8,6],zoomTranslateExtend:Ee,graphID:F,showColorScale:q=!0,highlightedIds:k=[],onSeriesMouseClick:V,mapProperty:me="ISO3",graphDownload:de=!1,dataDownload:K=!1,showAntarctica:H=!1,language:_="en",minHeight:h=0,theme:Z="light",ariaLabel:G,resetSelectionOnDoubleClick:Q=!0,detailsOnClick:pe,styles:w,classNames:C,mapProjection:ee,zoomInteraction:O="button",animate:U=!1,dimmedOpacity:xe=.3,customLayers:te=[],timeline:p={enabled:!1,autoplay:!1,showOnlyActiveDate:!0}}=je,[g,he]=u.useState(0),[re,ge]=u.useState(0),[I,P]=u.useState(p.autoplay),c=Ge.sort(_e.uniqBy(v,"date",!0).map(r=>Ce.parse(`${r}`,p.dateFormat||"yyyy",new Date).getTime()),(r,i)=>Ue.ascending(r,i)),[oe,ie]=u.useState(p.autoplay?0:c.length-1),[X,ye]=u.useState(void 0),N=u.useRef(null),e=u.useRef(null);u.useEffect(()=>{const r=new ResizeObserver(i=>{he(s||i[0].contentRect.width||760),ge(d||i[0].target.clientHeight||480)});return N.current&&(ge(N.current.clientHeight||480),he(N.current.clientWidth||760),s||r.observe(N.current)),()=>r.disconnect()},[s,d]),u.useEffect(()=>{typeof f=="string"?He.fetchAndParseJSON(f).then(i=>{ye(i)}):ye(f)},[f]),u.useEffect(()=>{const r=setInterval(()=>{ie(i=>i<c.length-1?i+1:0)},(p.speed||2)*1e3);return I||clearInterval(r),()=>clearInterval(r)},[c,I,p.speed]);const n=$e.getSliderMarks(c,oe,p.showOnlyActiveDate,p.dateFormat||"yyyy");return J&&$&&(J.length!==D[0].length-1||$.length!==D.length-1)?(console.error("the xDomain and yDomain array length don't match to the color array length"),null):t.jsxRuntimeExports.jsx("div",{className:`${Z||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:_==="he"||_==="ar"?"rtl":void 0,children:t.jsxRuntimeExports.jsx("div",{className:t.mo(`${b?b===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${_||"en"}`,s?"w-fit":"w-full",C?.graphContainer),style:{...w?.graphContainer||{},...b&&b!==!0?{backgroundColor:b}:{}},id:F,ref:e,"aria-label":G||`${R?`The graph shows ${R}. `:""}This is bi-variate choropleth map where geographic areas are colored in proportion to two variables.${z?` ${z}`:""}`,children:t.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:b?ce||"1rem":ce||0},children:t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[R||z||de||K?t.jsxRuntimeExports.jsx(Fe.GraphHeader,{styles:{title:w?.title,description:w?.description},classNames:{title:C?.title,description:C?.description},graphTitle:R,graphDescription:z,width:s,graphDownload:de?e.current:void 0,dataDownload:K?v.map(r=>r.data).filter(r=>r!==void 0).length>0?v.map(r=>r.data).filter(r=>r!==void 0):v.filter(r=>r!==void 0):null}):null,p.enabled&&c.length>0&&n?t.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[t.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{P(!I)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":I?"Click to pause animation":"Click to play animation",children:I?t.jsxRuntimeExports.jsx(Re.Pause,{}):t.jsxRuntimeExports.jsx(Re.Play,{})}),t.jsxRuntimeExports.jsx($e.xr,{min:c[0],max:c[c.length-1],marks:n,step:null,defaultValue:c[c.length-1],value:c[oe],onChangeComplete:r=>{ie(c.indexOf(r))},onChange:r=>{ie(c.indexOf(r))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t.jsxRuntimeExports.jsx("div",{className:"flex flex-col grow justify-center leading-0",ref:N,"aria-label":"Map area",children:(s||g)&&(d||re)&&X?t.jsxRuntimeExports.jsx(Xe,{data:v.filter(r=>p.enabled?r.date===Ce.format(new Date(c[oe]),p.dateFormat||"yyyy"):r),mapData:H?X:{...X,features:X.features.filter(r=>r.properties.NAME!=="Antarctica")},xDomain:J||qe.getJenks(v.map(r=>r.x),D[0].length),yDomain:$||qe.getJenks(v.map(r=>r.y),D.length),width:s||g,height:Math.max(h,d||(E?h?(s||g)*E>h?(s||g)*E:h:(s||g)*E:re)),scale:se,centerPoint:le,colors:D,xColorLegendTitle:W,yColorLegendTitle:M,mapBorderWidth:ve,mapNoDataColor:B,mapBorderColor:A,tooltip:ne,onSeriesMouseOver:S,isWorldMap:ue,zoomScaleExtend:be,zoomTranslateExtend:Ee,onSeriesMouseClick:V,mapProperty:me,highlightedIds:k,resetSelectionOnDoubleClick:Q,styles:w,showColorScale:q,classNames:C,mapProjection:ee||(ue?"naturalEarth":"mercator"),detailsOnClick:pe,zoomInteraction:O,animate:U===!0?{duration:.5,once:!0,amount:.5}:U||{duration:0,once:!0,amount:0},dimmedOpacity:xe,customLayers:te}):t.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(h,d||(E?h?(s||g)*E>h?(s||g)*E:h:(s||g)*E:re))}px`},className:"flex items-center justify-center",children:t.jsxRuntimeExports.jsx(Ie.y,{"aria-label":"Loading graph"})})}),T||Y?t.jsxRuntimeExports.jsx(Ve.GraphFooter,{styles:{footnote:w?.footnote,source:w?.source},classNames:{footnote:C?.footnote,source:C?.source},sources:T,footNote:Y,width:s}):null]})})})})}exports.BiVariateChoroplethMap=Ye;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CHPV5EwG-DDoeWRVt.cjs"),u=require("react"),$e=require("./getSliderMarks-CRIbTGYV.cjs"),Ie=require("./Spinner-DA6Z5E4n.cjs"),Ce=require("./parse-hMnG_lRV.cjs"),Pe=require("./index-DQA8q5sC.cjs"),L=require("./zoom-BiMNsz72.cjs"),Le=require("./index-CoZbeNM9.cjs"),Te=require("./Modal-tXZlLE5s.cjs"),Se=require("./Typography-k-kOjICQ.cjs"),Ne=require("./numberFormattingFunction-02t-wJta.cjs"),ze=require("./Tooltip-De16GWhY.cjs"),We=require("./string2HTML-z7CwHXcx.cjs"),De=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Re=require("./index-BW_-wD2k.cjs"),ke=require("./select-Bnfk0lJx.cjs"),Me=require("./threshold-DNsSUf8Q.cjs"),Be=require("./use-in-view-sQJZ_xDO.cjs"),ae=require("./proxy-BHRoeZgd.cjs"),Ae=require("./index-BW8iNx7E.cjs"),Fe=require("./GraphHeader.cjs"),Ve=require("./GraphFooter.cjs"),we=require("./Colors.cjs"),He=require("./fetchAndParseData-Ba-_CgxS.cjs"),qe=require("./getJenks-GYmdwBqm.cjs"),_e=require("./uniqBy-O05lp2S5.cjs"),Ge=require("./sort-O96oMZLb.cjs"),Ue=require("./init-DU0ybBc_.cjs");function Xe(je){const{data:v,xDomain:R,mapData:f,xColorLegendTitle:D,yDomain:T,yColorLegendTitle:z,width:d,height:s,colors:Y,scale:J,centerPoint:$,mapBorderWidth:W,mapNoDataColor:M,mapBorderColor:ne,tooltip:se,onSeriesMouseOver:le,zoomScaleExtend:ce,zoomTranslateExtend:ve,highlightedIds:B,onSeriesMouseClick:b,mapProperty:A,resetSelectionOnDoubleClick:E,detailsOnClick:S,showColorScale:ue,styles:be,classNames:Ee,mapProjection:F,zoomInteraction:q,animate:k,dimmedOpacity:V,customLayers:me}=je,[de,K]=u.useState(!(d<680)),[H,_]=u.useState(void 0),[h,Z]=u.useState(void 0),[G,Q]=u.useState(void 0),[pe,w]=u.useState(void 0),[C,ee]=u.useState(void 0),O=u.useRef(null),U=Be.useInView(O,{once:k.once,amount:k.amount}),xe=u.useRef(null),te=u.useRef(null);u.useEffect(()=>{const e=ke.select(xe.current),n=ke.select(O.current),r=o=>{if(q==="noZoom")return!1;if(q==="button")return!o.type.includes("wheel");const a=o.type==="wheel",m=o.type.startsWith("touch"),l=o.type==="mousedown"||o.type==="mousemove";return m?!0:a?q==="scroll"?!0:o.ctrlKey:l&&!o.button&&!o.ctrlKey},i=L.zoom().scaleExtent(ce).translateExtent(ve||[[-20,-20],[d+20,s+20]]).filter(r).on("zoom",({transform:o})=>{e.attr("transform",o)});n.call(i),te.current=i},[s,d,q]);const p=L.turf_bbox_default(f),g=Le.turf_center_of_mass_default(f),he=p[2]-p[0],re=p[3]-p[1],ge=d*190/960*360/he,I=s*190/678*180/re,P=J*Math.min(ge,I),c=F==="mercator"?L.geoMercator().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="equalEarth"?L.geoEqualEarth().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="naturalEarth"?L.geoNaturalEarth1().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):F==="orthographic"?L.geoOrthographic().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P):L.geoAlbersUsa().rotate([0,0]).center($||g.geometry.coordinates).translate([d/2,s/2]).scale(P),oe=Array.from({length:R.length},(e,n)=>n),ie=Array.from({length:T.length},(e,n)=>n),X=Me.threshold().domain(R).range(oe),ye=Me.threshold().domain(T).range(ie),N=e=>{if(!O.current||!te.current)return;ke.select(O.current).call(te.current.scaleBy,e==="in"?1.2:1/1.2)};return t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsxs("div",{className:"relative",children:[t.jsxRuntimeExports.jsx(ae.motion.svg,{viewBox:`0 0 ${d} ${s}`,width:`${d}px`,height:`${s}px`,ref:O,direction:"ltr",children:t.jsxRuntimeExports.jsxs("g",{ref:xe,children:[me.filter(e=>e.position==="before").map(e=>e.layer),f.features.map((e,n)=>v.findIndex(i=>i.id===e.properties[A])!==-1?null:t.jsxRuntimeExports.jsx(ae.motion.g,{opacity:H?V:B.length!==0?B.indexOf(e.properties[A])!==-1?1:V:1,children:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.map((i,o)=>{let a="";return i.forEach(m=>{let l=" M";m.forEach((x,y)=>{const j=c([x[0],x[1]]);y!==m.length-1?l=`${l}${j[0]} ${j[1]}L`:l=`${l}${j[0]} ${j[1]}`}),a+=l}),t.jsxRuntimeExports.jsx("path",{d:a,style:{stroke:ne,strokeWidth:W,fill:M}},o)}):e.geometry.coordinates.map((i,o)=>{let a="M";return i.forEach((m,l)=>{const x=c([m[0],m[1]]);l!==i.length-1?a=`${a}${x[0]} ${x[1]}L`:a=`${a}${x[0]} ${x[1]}`}),t.jsxRuntimeExports.jsx("path",{d:a,style:{stroke:ne,strokeWidth:W,fill:M}},o)})},n)),t.jsxRuntimeExports.jsx(Ae.AnimatePresence,{children:v.map(e=>{const n=f.features.findIndex(a=>e.id===a.properties[A]),r=De.checkIfNullOrUndefined(e.x)?void 0:X(e.x),i=De.checkIfNullOrUndefined(e.y)?void 0:ye(e.y),o=r!==void 0&&i!==void 0?Y[i][r]:M;return t.jsxRuntimeExports.jsx(ae.motion.g,{variants:{initial:{opacity:0},whileInView:{opacity:H?H===o?1:V:B.length!==0?B.indexOf(e.id)!==-1?1:V:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},onMouseEnter:a=>{Q(e),ee(a.clientY),w(a.clientX),le?.(e)},onClick:()=>{(b||S)&&(Pe.isEqual(h,e)&&E?(Z(void 0),b?.(void 0)):(Z(e),b?.(e)))},onMouseMove:a=>{Q(e),ee(a.clientY),w(a.clientX)},onMouseLeave:()=>{Q(void 0),w(void 0),ee(void 0),le?.(void 0)},children:n===-1?null:f.features[n].geometry.type==="MultiPolygon"?f.features[n].geometry.coordinates.map((a,m)=>{let l="";return a.forEach(x=>{let y=" M";x.forEach((j,Oe)=>{const fe=c([j[0],j[1]]);Oe!==x.length-1?y=`${y}${fe[0]} ${fe[1]}L`:y=`${y}${fe[0]} ${fe[1]}`}),l+=y}),t.jsxRuntimeExports.jsx(ae.motion.path,{variants:{initial:{fill:o,opacity:0},whileInView:{fill:o,opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},d:l,className:`${o===M?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{strokeWidth:W}},`${e.id}-${m}`)}):f.features[n].geometry.coordinates.map((a,m)=>{let l="M";return a.forEach((x,y)=>{const j=c([x[0],x[1]]);y!==a.length-1?l=`${l}${j[0]} ${j[1]}L`:l=`${l}${j[0]} ${j[1]}`}),t.jsxRuntimeExports.jsx(ae.motion.path,{d:l,variants:{initial:{fill:o,opacity:0},whileInView:{fill:o,opacity:1,transition:{duration:k.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:k.duration}},className:`${o===M?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{strokeWidth:W}},`${e.id}-${m}`)})},e.id)})}),G?f.features.filter(e=>e.properties[A]===G.id).map((e,n)=>t.jsxRuntimeExports.jsx("g",{children:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.map((r,i)=>{let o="";return r.forEach(a=>{let m=" M";a.forEach((l,x)=>{const y=c([l[0],l[1]]);x!==a.length-1?m=`${m}${y[0]} ${y[1]}L`:m=`${m}${y[0]} ${y[1]}`}),o+=m}),t.jsxRuntimeExports.jsx("path",{d:o,className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5"}},i)}):e.geometry.coordinates.map((r,i)=>{let o="M";return r.forEach((a,m)=>{const l=c([a[0],a[1]]);m!==r.length-1?o=`${o}${l[0]} ${l[1]}L`:o=`${o}${l[0]} ${l[1]}`}),t.jsxRuntimeExports.jsx("path",{d:o,className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5"}},i)})},n)):null,me.filter(e=>e.position==="after").map(e=>e.layer)]})}),ue===!1?null:t.jsxRuntimeExports.jsx("div",{className:"absolute left-4 bottom-4",children:de?t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx("div",{style:{backgroundColor:"rgba(240,240,240, 0.7)",border:"1px solid var(--gray-400)",borderRadius:"999px",width:"24px",height:"24px",padding:"3px",cursor:"pointer",zIndex:10,position:"absolute",right:"-0.75rem",top:"-0.75rem"},onClick:()=>{K(!1)},children:t.jsxRuntimeExports.jsx(Re.X,{})}),t.jsxRuntimeExports.jsxs("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)",width:"175px"},children:[t.jsxRuntimeExports.jsxs("div",{className:"flex gap-1 items-center",children:[t.jsxRuntimeExports.jsx("svg",{width:"136px",viewBox:"0 0 136 136",className:"shrink-0",children:t.jsxRuntimeExports.jsxs("g",{children:[Y.map((e,n)=>t.jsxRuntimeExports.jsx("g",{transform:`translate(0,${100-n*25})`,children:e.map((r,i)=>t.jsxRuntimeExports.jsx("rect",{y:1,x:i*25+1,fill:r,width:23,height:23,strokeWidth:H===r?2:.25,style:{cursor:"pointer"},onMouseOver:()=>{_(r)},onMouseLeave:()=>{_(void 0)}},i))},n)),t.jsxRuntimeExports.jsx("g",{transform:"translate(0,125)",children:R.map((e,n)=>t.jsxRuntimeExports.jsx("text",{y:10,x:(n+1)*25,fontSize:10,textAnchor:"middle",children:typeof e=="string"||e<1?e:Ne.numberFormattingFunction(e,"NA")},n))}),T.map((e,n)=>t.jsxRuntimeExports.jsx("g",{transform:`translate(${Math.max(Math.min(R.length+1,5),4)*25+10},${100-n*25})`,children:t.jsxRuntimeExports.jsx("text",{x:0,transform:"rotate(-90)",y:0,fontSize:10,textAnchor:"middle",children:typeof e=="string"||e<1?e:Ne.numberFormattingFunction(e,"NA")})},n))]})}),t.jsxRuntimeExports.jsx(Se.u,{marginBottom:"none",size:"xs",className:"leading-normal text-center shrink-0",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical",overflow:"hidden",writingMode:"vertical-rl",height:"8.5rem",transform:"rotate(180deg)"},children:z})]}),t.jsxRuntimeExports.jsx(Se.u,{marginBottom:"none",size:"xs",className:"mt-1 leading-normal text-center",style:{display:"-webkit-box",WebkitLineClamp:"1",width:"8.5rem",WebkitBoxOrient:"vertical",overflow:"hidden"},children:D})]})]}):t.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{K(!0)},children:t.jsxRuntimeExports.jsx("div",{className:"items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),q==="button"&&t.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col",children:[t.jsxRuntimeExports.jsx("button",{onClick:()=>N("in"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"+"}),t.jsxRuntimeExports.jsx("button",{onClick:()=>N("out"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-t-0 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"–"})]})]}),G&&se&&pe&&C?t.jsxRuntimeExports.jsx(ze.Tooltip,{data:G,body:se,xPos:pe,yPos:C,backgroundStyle:be?.tooltip,className:Ee?.tooltip}):null,S&&h!==void 0?t.jsxRuntimeExports.jsx(Te.X,{open:h!==void 0,onClose:()=>{Z(void 0)},children:t.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof S=="string"?{__html:We.string2HTML(S,h)}:void 0,children:typeof S=="function"?S(h):null})}):null]})}function Ye(je){const{data:v,graphTitle:R,mapData:f="https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap.json",colors:D=we.Colors.light.bivariateColors.colors05x05,sources:T,graphDescription:z,height:d,width:s,footNote:Y="The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.",xDomain:J,yDomain:$,xColorLegendTitle:W="X Color key",yColorLegendTitle:M="Y Color key",tooltip:ne,scale:se=.95,centerPoint:le,padding:ce,mapBorderWidth:ve=.5,mapNoDataColor:B=we.Colors.light.graphNoData,backgroundColor:b=!1,mapBorderColor:A=we.Colors.light.grays["gray-500"],relativeHeight:E,onSeriesMouseOver:S,isWorldMap:ue=!0,zoomScaleExtend:be=[.8,6],zoomTranslateExtend:Ee,graphID:F,showColorScale:q=!0,highlightedIds:k=[],onSeriesMouseClick:V,mapProperty:me="ISO3",graphDownload:de=!1,dataDownload:K=!1,showAntarctica:H=!1,language:_="en",minHeight:h=0,theme:Z="light",ariaLabel:G,resetSelectionOnDoubleClick:Q=!0,detailsOnClick:pe,styles:w,classNames:C,mapProjection:ee,zoomInteraction:O="button",animate:U=!1,dimmedOpacity:xe=.3,customLayers:te=[],timeline:p={enabled:!1,autoplay:!1,showOnlyActiveDate:!0}}=je,[g,he]=u.useState(0),[re,ge]=u.useState(0),[I,P]=u.useState(p.autoplay),c=Ge.sort(_e.uniqBy(v,"date",!0).map(r=>Ce.parse(`${r}`,p.dateFormat||"yyyy",new Date).getTime()),(r,i)=>Ue.ascending(r,i)),[oe,ie]=u.useState(p.autoplay?0:c.length-1),[X,ye]=u.useState(void 0),N=u.useRef(null),e=u.useRef(null);u.useEffect(()=>{const r=new ResizeObserver(i=>{he(s||i[0].contentRect.width||760),ge(d||i[0].target.clientHeight||480)});return N.current&&(ge(N.current.clientHeight||480),he(N.current.clientWidth||760),s||r.observe(N.current)),()=>r.disconnect()},[s,d]),u.useEffect(()=>{typeof f=="string"?He.fetchAndParseJSON(f).then(i=>{ye(i)}):ye(f)},[f]),u.useEffect(()=>{const r=setInterval(()=>{ie(i=>i<c.length-1?i+1:0)},(p.speed||2)*1e3);return I||clearInterval(r),()=>clearInterval(r)},[c,I,p.speed]);const n=$e.getSliderMarks(c,oe,p.showOnlyActiveDate,p.dateFormat||"yyyy");return J&&$&&(J.length!==D[0].length-1||$.length!==D.length-1)?(console.error("the xDomain and yDomain array length don't match to the color array length"),null):t.jsxRuntimeExports.jsx("div",{className:`${Z||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:_==="he"||_==="ar"?"rtl":void 0,children:t.jsxRuntimeExports.jsx("div",{className:t.mo(`${b?b===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${_||"en"}`,s?"w-fit":"w-full",C?.graphContainer),style:{...w?.graphContainer||{},...b&&b!==!0?{backgroundColor:b}:{}},id:F,ref:e,"aria-label":G||`${R?`The graph shows ${R}. `:""}This is bi-variate choropleth map where geographic areas are colored in proportion to two variables.${z?` ${z}`:""}`,children:t.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:b?ce||"1rem":ce||0},children:t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[R||z||de||K?t.jsxRuntimeExports.jsx(Fe.GraphHeader,{styles:{title:w?.title,description:w?.description},classNames:{title:C?.title,description:C?.description},graphTitle:R,graphDescription:z,width:s,graphDownload:de?e.current:void 0,dataDownload:K?v.map(r=>r.data).filter(r=>r!==void 0).length>0?v.map(r=>r.data).filter(r=>r!==void 0):v.filter(r=>r!==void 0):null}):null,p.enabled&&c.length>0&&n?t.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[t.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{P(!I)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":I?"Click to pause animation":"Click to play animation",children:I?t.jsxRuntimeExports.jsx(Re.Pause,{}):t.jsxRuntimeExports.jsx(Re.Play,{})}),t.jsxRuntimeExports.jsx($e.xr,{min:c[0],max:c[c.length-1],marks:n,step:null,defaultValue:c[c.length-1],value:c[oe],onChangeComplete:r=>{ie(c.indexOf(r))},onChange:r=>{ie(c.indexOf(r))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t.jsxRuntimeExports.jsx("div",{className:"flex flex-col grow justify-center leading-0",ref:N,"aria-label":"Map area",children:(s||g)&&(d||re)&&X?t.jsxRuntimeExports.jsx(Xe,{data:v.filter(r=>p.enabled?r.date===Ce.format(new Date(c[oe]),p.dateFormat||"yyyy"):r),mapData:H?X:{...X,features:X.features.filter(r=>r.properties.NAME!=="Antarctica")},xDomain:J||qe.getJenks(v.map(r=>r.x),D[0].length),yDomain:$||qe.getJenks(v.map(r=>r.y),D.length),width:s||g,height:Math.max(h,d||(E?h?(s||g)*E>h?(s||g)*E:h:(s||g)*E:re)),scale:se,centerPoint:le,colors:D,xColorLegendTitle:W,yColorLegendTitle:M,mapBorderWidth:ve,mapNoDataColor:B,mapBorderColor:A,tooltip:ne,onSeriesMouseOver:S,isWorldMap:ue,zoomScaleExtend:be,zoomTranslateExtend:Ee,onSeriesMouseClick:V,mapProperty:me,highlightedIds:k,resetSelectionOnDoubleClick:Q,styles:w,showColorScale:q,classNames:C,mapProjection:ee||(ue?"naturalEarth":"mercator"),detailsOnClick:pe,zoomInteraction:O,animate:U===!0?{duration:.5,once:!0,amount:.5}:U||{duration:0,once:!0,amount:0},dimmedOpacity:xe,customLayers:te}):t.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(h,d||(E?h?(s||g)*E>h?(s||g)*E:h:(s||g)*E:re))}px`},className:"flex items-center justify-center",children:t.jsxRuntimeExports.jsx(Ie.y,{"aria-label":"Loading graph"})})}),T||Y?t.jsxRuntimeExports.jsx(Ve.GraphFooter,{styles:{footnote:w?.footnote,source:w?.source},classNames:{footnote:C?.footnote,source:C?.source},sources:T,footNote:Y,width:s}):null]})})})})}exports.BiVariateChoroplethMap=Ye;
|
|
2
2
|
//# sourceMappingURL=BiVariateChoroplethMap.cjs.map
|
|
@@ -4,8 +4,8 @@ import { g as Ie, x as Le } from "./getSliderMarks-9cNoRkDx.js";
|
|
|
4
4
|
import { y as ze } from "./Spinner-C85UF28E.js";
|
|
5
5
|
import { p as We, f as Te } from "./parse-DlCRUFh_.js";
|
|
6
6
|
import { i as Ae } from "./index-Bwrro8-q.js";
|
|
7
|
-
import { z as Be, t as Ve, g as _e, a as Fe, b as He, c as Xe, d as Re } from "./zoom-
|
|
8
|
-
import { t as Ue } from "./index-
|
|
7
|
+
import { z as Be, t as Ve, g as _e, a as Fe, b as He, c as Xe, d as Re } from "./zoom-QipiAl5W.js";
|
|
8
|
+
import { t as Ue } from "./index-9tDEUqOZ.js";
|
|
9
9
|
import { X as Ye } from "./Modal-DVVwpKhP.js";
|
|
10
10
|
import { u as Ne } from "./Typography-Ctgfl1J5.js";
|
|
11
11
|
import { n as De } from "./numberFormattingFunction-14YCbkN2.js";
|