@undp/data-viz 2.1.8 → 2.2.0

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.
Files changed (461) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.js +19 -19
  3. package/dist/AreaChart.js.map +1 -1
  4. package/dist/{Axis-CRyfcLjc.js → Axis-DoOqnt6g.js} +2 -2
  5. package/dist/{Axis-CRyfcLjc.js.map → Axis-DoOqnt6g.js.map} +1 -1
  6. package/dist/{Axis-DxRV2yMi.cjs → Axis-Dtjn-EgM.cjs} +2 -2
  7. package/dist/{Axis-DxRV2yMi.cjs.map → Axis-Dtjn-EgM.cjs.map} +1 -1
  8. package/dist/{AxisTitle-sS5bLLR7.cjs → AxisTitle-DV4n0RxE.cjs} +2 -2
  9. package/dist/{AxisTitle-sS5bLLR7.cjs.map → AxisTitle-DV4n0RxE.cjs.map} +1 -1
  10. package/dist/{AxisTitle-jeI7am8o.js → AxisTitle-VFq89Olw.js} +2 -2
  11. package/dist/{AxisTitle-jeI7am8o.js.map → AxisTitle-VFq89Olw.js.map} +1 -1
  12. package/dist/BarGraph.cjs +1 -1
  13. package/dist/BarGraph.js +24 -24
  14. package/dist/BarGraph.js.map +1 -1
  15. package/dist/BasicStatCard.cjs +1 -1
  16. package/dist/BasicStatCard.js +2 -2
  17. package/dist/BeeSwarmChart.cjs +1 -1
  18. package/dist/BeeSwarmChart.js +14 -14
  19. package/dist/BeeSwarmChart.js.map +1 -1
  20. package/dist/BiVariateChoroplethMap.cjs +1 -1
  21. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  22. package/dist/BiVariateChoroplethMap.js +48 -48
  23. package/dist/BiVariateChoroplethMap.js.map +1 -1
  24. package/dist/BulletChart.cjs +1 -1
  25. package/dist/BulletChart.js +22 -22
  26. package/dist/BulletChart.js.map +1 -1
  27. package/dist/ButterflyChart.cjs +1 -1
  28. package/dist/ButterflyChart.js +19 -19
  29. package/dist/ButterflyChart.js.map +1 -1
  30. package/dist/ChoroplethMap.cjs +1 -1
  31. package/dist/ChoroplethMap.cjs.map +1 -1
  32. package/dist/ChoroplethMap.js +51 -51
  33. package/dist/ChoroplethMap.js.map +1 -1
  34. package/dist/CirclePackingGraph.cjs +1 -1
  35. package/dist/CirclePackingGraph.js +4 -4
  36. package/dist/ColorLegend.cjs +1 -1
  37. package/dist/ColorLegend.js +2 -2
  38. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  39. package/dist/ColorLegendWithMouseOver.js +2 -2
  40. package/dist/CopyTextButton.cjs +1 -16
  41. package/dist/CopyTextButton.cjs.map +1 -1
  42. package/dist/CopyTextButton.js +13 -31
  43. package/dist/CopyTextButton.js.map +1 -1
  44. package/dist/CsvDownloadButton.cjs +2 -20
  45. package/dist/CsvDownloadButton.cjs.map +1 -1
  46. package/dist/CsvDownloadButton.js +5 -26
  47. package/dist/CsvDownloadButton.js.map +1 -1
  48. package/dist/DataCards.cjs +1 -21
  49. package/dist/DataCards.cjs.map +1 -1
  50. package/dist/DataCards.js +18 -42
  51. package/dist/DataCards.js.map +1 -1
  52. package/dist/DataTable.cjs +1 -1
  53. package/dist/DataTable.js +6 -6
  54. package/dist/DataTable.js.map +1 -1
  55. package/dist/{DetailsModal-0Ry5nXiC.js → DetailsModal-BMCTgVsk.js} +4 -4
  56. package/dist/{DetailsModal-0Ry5nXiC.js.map → DetailsModal-BMCTgVsk.js.map} +1 -1
  57. package/dist/{DetailsModal-BN0HDFlV.cjs → DetailsModal-DHttOA80.cjs} +2 -2
  58. package/dist/{DetailsModal-BN0HDFlV.cjs.map → DetailsModal-DHttOA80.cjs.map} +1 -1
  59. package/dist/DifferenceLineChart.cjs +1 -1
  60. package/dist/DifferenceLineChart.js +22 -22
  61. package/dist/DifferenceLineChart.js.map +1 -1
  62. package/dist/DonutChart.cjs +1 -1
  63. package/dist/DonutChart.js +10 -10
  64. package/dist/DotDensityMap.cjs +1 -1
  65. package/dist/DotDensityMap.cjs.map +1 -1
  66. package/dist/DotDensityMap.d.ts +1 -1
  67. package/dist/DotDensityMap.js +78 -78
  68. package/dist/DotDensityMap.js.map +1 -1
  69. package/dist/{DropdownSelect-BbdPQa2k.js → DropdownSelect-D8rFbygC.js} +5 -33
  70. package/dist/{DropdownSelect-BbdPQa2k.js.map → DropdownSelect-D8rFbygC.js.map} +1 -1
  71. package/dist/{DropdownSelect-Doz3mCrM.cjs → DropdownSelect-NNpOs7DX.cjs} +2 -26
  72. package/dist/{DropdownSelect-Doz3mCrM.cjs.map → DropdownSelect-NNpOs7DX.cjs.map} +1 -1
  73. package/dist/DualAxisLineChart.cjs +1 -1
  74. package/dist/DualAxisLineChart.js +15 -15
  75. package/dist/DualAxisLineChart.js.map +1 -1
  76. package/dist/DumbbellChart.cjs +1 -1
  77. package/dist/DumbbellChart.js +22 -22
  78. package/dist/DumbbellChart.js.map +1 -1
  79. package/dist/{EmptyState-gLDRXBHm.cjs → EmptyState-CGeBqbmR.cjs} +2 -2
  80. package/dist/{EmptyState-gLDRXBHm.cjs.map → EmptyState-CGeBqbmR.cjs.map} +1 -1
  81. package/dist/EmptyState-tZBErBKF.js +15 -0
  82. package/dist/{EmptyState-C7ZXkZWd.js.map → EmptyState-tZBErBKF.js.map} +1 -1
  83. package/dist/ExcelDownloadButton.cjs +1 -1
  84. package/dist/ExcelDownloadButton.js +2 -2
  85. package/dist/FootNote.cjs +1 -1
  86. package/dist/FootNote.js +2 -2
  87. package/dist/GeoHubCompareMaps.cjs +1 -1
  88. package/dist/GeoHubCompareMaps.js +13 -13
  89. package/dist/GeoHubCompareMaps.js.map +1 -1
  90. package/dist/GeoHubMap.cjs +1 -1
  91. package/dist/GeoHubMap.js +8 -8
  92. package/dist/GeoHubMap.js.map +1 -1
  93. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  94. package/dist/GeoHubMapWithLayerSelection.js +12 -12
  95. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  96. package/dist/{GraphContainer-d8A46BK2.cjs → GraphContainer-B1EDxJ0S.cjs} +2 -2
  97. package/dist/{GraphContainer-d8A46BK2.cjs.map → GraphContainer-B1EDxJ0S.cjs.map} +1 -1
  98. package/dist/{GraphContainer-CRqzdKu2.js → GraphContainer-CF6ws3pd.js} +2 -2
  99. package/dist/{GraphContainer-CRqzdKu2.js.map → GraphContainer-CF6ws3pd.js.map} +1 -1
  100. package/dist/GraphDescription.cjs +1 -1
  101. package/dist/GraphDescription.js +2 -2
  102. package/dist/GraphEl-CBZdcvb7.cjs +2 -0
  103. package/dist/GraphEl-CBZdcvb7.cjs.map +1 -0
  104. package/dist/{GraphEl-Dyu_EIQb.js → GraphEl-DKrjuQNB.js} +79 -18
  105. package/dist/GraphEl-DKrjuQNB.js.map +1 -0
  106. package/dist/GraphFooter.cjs +1 -1
  107. package/dist/GraphFooter.js +2 -2
  108. package/dist/GraphHeader.cjs +1 -1
  109. package/dist/GraphHeader.js +1 -1
  110. package/dist/GraphTitle.cjs +1 -1
  111. package/dist/GraphTitle.js +2 -2
  112. package/dist/GriddedGraphs.cjs +1 -1
  113. package/dist/GriddedGraphs.d.ts +1 -1
  114. package/dist/GriddedGraphs.js +8 -8
  115. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  116. package/dist/GriddedGraphsFromConfig.d.ts +1 -1
  117. package/dist/GriddedGraphsFromConfig.js +4 -4
  118. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  119. package/dist/HeatMap.cjs +1 -1
  120. package/dist/HeatMap.js +14 -14
  121. package/dist/HeatMap.js.map +1 -1
  122. package/dist/Histogram.cjs +1 -1
  123. package/dist/Histogram.js +5 -5
  124. package/dist/Histogram.js.map +1 -1
  125. package/dist/HybridMap.cjs +1 -1
  126. package/dist/HybridMap.cjs.map +1 -1
  127. package/dist/HybridMap.js +134 -133
  128. package/dist/HybridMap.js.map +1 -1
  129. package/dist/ImageDownloadButton.cjs +1 -1
  130. package/dist/ImageDownloadButton.js +3 -3
  131. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  132. package/dist/LineChartWithConfidenceInterval.js +18 -18
  133. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  134. package/dist/LinearColorLegend.cjs +1 -1
  135. package/dist/LinearColorLegend.js +2 -2
  136. package/dist/{Modal-JW_IExO3.cjs → Modal-CaYa_TLE.cjs} +2 -2
  137. package/dist/{Modal-JW_IExO3.cjs.map → Modal-CaYa_TLE.cjs.map} +1 -1
  138. package/dist/{Modal-bMQA6bL_.js → Modal-Ch9wvKxF.js} +4 -4
  139. package/dist/{Modal-bMQA6bL_.js.map → Modal-Ch9wvKxF.js.map} +1 -1
  140. package/dist/MultiGraphDashboard.cjs +1 -1
  141. package/dist/MultiGraphDashboard.d.ts +1 -1
  142. package/dist/MultiGraphDashboard.js +5 -5
  143. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  144. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -1
  145. package/dist/MultiGraphDashboardFromConfig.js +4 -4
  146. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  147. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  148. package/dist/MultiGraphDashboardWideToLongFormat.js +5 -5
  149. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  150. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +4 -4
  151. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  152. package/dist/MultiLineAltChart.cjs +1 -1
  153. package/dist/MultiLineAltChart.js +17 -17
  154. package/dist/MultiLineAltChart.js.map +1 -1
  155. package/dist/MultiLineChart.cjs +1 -1
  156. package/dist/MultiLineChart.js +19 -19
  157. package/dist/MultiLineChart.js.map +1 -1
  158. package/dist/ParetoChart.cjs +1 -1
  159. package/dist/ParetoChart.js +15 -15
  160. package/dist/ParetoChart.js.map +1 -1
  161. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  162. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -1
  163. package/dist/PerformanceIntensiveMultiGraphDashboard.js +5 -5
  164. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  165. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -1
  166. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +4 -4
  167. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  168. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  169. package/dist/PerformanceIntensiveScrollStory.d.ts +1 -1
  170. package/dist/PerformanceIntensiveScrollStory.js +6 -6
  171. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  172. package/dist/RadarChart.cjs +1 -1
  173. package/dist/RadarChart.cjs.map +1 -1
  174. package/dist/RadarChart.js +9 -9
  175. package/dist/{ReferenceLine-2XCwHXQ4.js → ReferenceLine-DgtoRgw0.js} +5 -5
  176. package/dist/ReferenceLine-DgtoRgw0.js.map +1 -0
  177. package/dist/{ReferenceLine-BH0qdf4R.cjs → ReferenceLine-M9aP3dj-.cjs} +2 -2
  178. package/dist/{ReferenceLine-BH0qdf4R.cjs.map → ReferenceLine-M9aP3dj-.cjs.map} +1 -1
  179. package/dist/{RegressionLine-BOTTNSrr.cjs → RegressionLine-Ci-Dh0w0.cjs} +2 -2
  180. package/dist/{RegressionLine-BOTTNSrr.cjs.map → RegressionLine-Ci-Dh0w0.cjs.map} +1 -1
  181. package/dist/{RegressionLine-DAcY2DjT.js → RegressionLine-D2aqeBKp.js} +6 -6
  182. package/dist/RegressionLine-D2aqeBKp.js.map +1 -0
  183. package/dist/SVGDownloadButton.cjs +1 -1
  184. package/dist/SVGDownloadButton.js +2 -2
  185. package/dist/SankeyChart.cjs +1 -1
  186. package/dist/SankeyChart.cjs.map +1 -1
  187. package/dist/SankeyChart.js +61 -67
  188. package/dist/SankeyChart.js.map +1 -1
  189. package/dist/ScatterPlot.cjs +1 -1
  190. package/dist/ScatterPlot.js +23 -23
  191. package/dist/ScatterPlot.js.map +1 -1
  192. package/dist/ScrollStory.cjs +1 -1
  193. package/dist/ScrollStory.d.ts +1 -1
  194. package/dist/ScrollStory.js +4 -4
  195. package/dist/ScrollStory.js.map +1 -1
  196. package/dist/SimpleLineChart.cjs +1 -1
  197. package/dist/SimpleLineChart.js +19 -19
  198. package/dist/SimpleLineChart.js.map +1 -1
  199. package/dist/SingleGraphDashboard.cjs +1 -1
  200. package/dist/SingleGraphDashboard.d.ts +1 -1
  201. package/dist/SingleGraphDashboard.js +9 -9
  202. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  203. package/dist/SingleGraphDashboardFromConfig.d.ts +1 -1
  204. package/dist/SingleGraphDashboardFromConfig.js +4 -4
  205. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  206. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  207. package/dist/SingleGraphDashboardGeoHubMaps.js +5 -5
  208. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
  209. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  210. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +4 -4
  211. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  212. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  213. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  214. package/dist/SingleGraphDashboardThreeDGraphs.js +63 -70
  215. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  216. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  217. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +4 -4
  218. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  219. package/dist/SlopeChart.cjs +1 -1
  220. package/dist/SlopeChart.js +12 -12
  221. package/dist/SlopeChart.js.map +1 -1
  222. package/dist/{Source-DYMJRrsq.cjs → Source-B5AoSlsi.cjs} +2 -2
  223. package/dist/{Source-DYMJRrsq.cjs.map → Source-B5AoSlsi.cjs.map} +1 -1
  224. package/dist/{Source-DwTHB8fn.js → Source-F8EYCYkV.js} +4 -4
  225. package/dist/{Source-DwTHB8fn.js.map → Source-F8EYCYkV.js.map} +1 -1
  226. package/dist/Source.cjs +1 -1
  227. package/dist/Source.js +3 -3
  228. package/dist/SparkLine.cjs +1 -1
  229. package/dist/SparkLine.js +8 -8
  230. package/dist/SparkLine.js.map +1 -1
  231. package/dist/{Spinner-DVBnY6Vg.js → Spinner--r2RrJV8.js} +2 -2
  232. package/dist/{Spinner-DVBnY6Vg.js.map → Spinner--r2RrJV8.js.map} +1 -1
  233. package/dist/{Spinner-CQZcjzwd.cjs → Spinner-jTMOLuw_.cjs} +2 -2
  234. package/dist/{Spinner-CQZcjzwd.cjs.map → Spinner-jTMOLuw_.cjs.map} +1 -1
  235. package/dist/StatCardFromData.cjs +1 -1
  236. package/dist/StatCardFromData.js +2 -2
  237. package/dist/StripChart.cjs +1 -1
  238. package/dist/StripChart.js +10 -10
  239. package/dist/StripChart.js.map +1 -1
  240. package/dist/ThreeDGlobe.cjs +1 -1
  241. package/dist/ThreeDGlobe.js +13 -13
  242. package/dist/ThreeDGlobe.js.map +1 -1
  243. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  244. package/dist/ThresholdColorLegendWithMouseOver.js +3 -3
  245. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  246. package/dist/{Tooltip-uUdw6wJL.cjs → Tooltip-BLa2EfMs.cjs} +2 -2
  247. package/dist/{Tooltip-uUdw6wJL.cjs.map → Tooltip-BLa2EfMs.cjs.map} +1 -1
  248. package/dist/{Tooltip-Dj5eVppQ.js → Tooltip-BRnAz2Gv.js} +3 -3
  249. package/dist/{Tooltip-Dj5eVppQ.js.map → Tooltip-BRnAz2Gv.js.map} +1 -1
  250. package/dist/TreeMapGraph.cjs +1 -1
  251. package/dist/TreeMapGraph.js +10 -10
  252. package/dist/TreeMapGraph.js.map +1 -1
  253. package/dist/Types.d.ts +8 -1
  254. package/dist/{Typography-PxtFcnJb.js → Typography-hWfh3H0J.js} +2 -2
  255. package/dist/{Typography-PxtFcnJb.js.map → Typography-hWfh3H0J.js.map} +1 -1
  256. package/dist/{Typography-DX7PlgQU.cjs → Typography-sa1UE0oF.cjs} +2 -2
  257. package/dist/{Typography-DX7PlgQU.cjs.map → Typography-sa1UE0oF.cjs.map} +1 -1
  258. package/dist/UnitChart.cjs +1 -1
  259. package/dist/UnitChart.js +8 -8
  260. package/dist/WaterfallChart.cjs +2 -0
  261. package/dist/WaterfallChart.cjs.map +1 -0
  262. package/dist/WaterfallChart.d.ts +208 -0
  263. package/dist/WaterfallChart.js +427 -0
  264. package/dist/WaterfallChart.js.map +1 -0
  265. package/dist/{XAxesLabels-Bt5NZBmX.cjs → XAxesLabels-C6o9jJal.cjs} +2 -2
  266. package/dist/{XAxesLabels-Bt5NZBmX.cjs.map → XAxesLabels-C6o9jJal.cjs.map} +1 -1
  267. package/dist/{XAxesLabels-Dy8E1SEo.js → XAxesLabels-rhK7lRjO.js} +3 -3
  268. package/dist/{XAxesLabels-Dy8E1SEo.js.map → XAxesLabels-rhK7lRjO.js.map} +1 -1
  269. package/dist/{XTicksAndGridLines-CObVFSm4.js → XTicksAndGridLines-CVZkZkpS.js} +2 -2
  270. package/dist/{XTicksAndGridLines-CObVFSm4.js.map → XTicksAndGridLines-CVZkZkpS.js.map} +1 -1
  271. package/dist/{XTicksAndGridLines-B6CELS7q.cjs → XTicksAndGridLines-CekrPykD.cjs} +2 -2
  272. package/dist/{XTicksAndGridLines-B6CELS7q.cjs.map → XTicksAndGridLines-CekrPykD.cjs.map} +1 -1
  273. package/dist/{YAxesLabels-DesLesUP.cjs → YAxesLabels-BQ2aCazV.cjs} +2 -2
  274. package/dist/{YAxesLabels-DesLesUP.cjs.map → YAxesLabels-BQ2aCazV.cjs.map} +1 -1
  275. package/dist/{YAxesLabels-a57ZRv-0.js → YAxesLabels-QICWVsHf.js} +3 -3
  276. package/dist/{YAxesLabels-a57ZRv-0.js.map → YAxesLabels-QICWVsHf.js.map} +1 -1
  277. package/dist/{YTicksAndGridLines-Blepl7XF.js → YTicksAndGridLines-GnXnSRF2.js} +2 -2
  278. package/dist/{YTicksAndGridLines-Blepl7XF.js.map → YTicksAndGridLines-GnXnSRF2.js.map} +1 -1
  279. package/dist/{YTicksAndGridLines-4pxTRlRK.cjs → YTicksAndGridLines-UzVC5eBM.cjs} +2 -2
  280. package/dist/{YTicksAndGridLines-4pxTRlRK.cjs.map → YTicksAndGridLines-UzVC5eBM.cjs.map} +1 -1
  281. package/dist/{band-DHUZ2X7J.js → band-DYty33LD.js} +2 -2
  282. package/dist/{band-DHUZ2X7J.js.map → band-DYty33LD.js.map} +1 -1
  283. package/dist/{checkIfMultiple-CIRtG0KE.js → checkIfMultiple-D9fVkeOq.js} +7 -19
  284. package/dist/{checkIfMultiple-CIRtG0KE.js.map → checkIfMultiple-D9fVkeOq.js.map} +1 -1
  285. package/dist/checkIfMultiple-DxnGtm3t.cjs +2 -0
  286. package/dist/{checkIfMultiple-wg6hJLXy.cjs.map → checkIfMultiple-DxnGtm3t.cjs.map} +1 -1
  287. package/dist/{customArea-BUhPiPT6.js → customArea-ASDaSE4u.js} +5 -5
  288. package/dist/{customArea-BUhPiPT6.js.map → customArea-ASDaSE4u.js.map} +1 -1
  289. package/dist/{customArea-CMF5g-C3.cjs → customArea-B1LWQBmM.cjs} +2 -2
  290. package/dist/{customArea-CMF5g-C3.cjs.map → customArea-B1LWQBmM.cjs.map} +1 -1
  291. package/dist/defaultLocale-C4wbwF1n.cjs +2 -0
  292. package/dist/defaultLocale-C4wbwF1n.cjs.map +1 -0
  293. package/dist/defaultLocale-CPy_WVtp.js +172 -0
  294. package/dist/defaultLocale-CPy_WVtp.js.map +1 -0
  295. package/dist/{ensureCompleteData-DH5c52Ub.js → ensureCompleteData-CDIukSG6.js} +2 -2
  296. package/dist/{ensureCompleteData-DH5c52Ub.js.map → ensureCompleteData-CDIukSG6.js.map} +1 -1
  297. package/dist/{ensureCompleteData-pZ9QO6kB.cjs → ensureCompleteData-D9bQTiVS.cjs} +2 -2
  298. package/dist/{ensureCompleteData-pZ9QO6kB.cjs.map → ensureCompleteData-D9bQTiVS.cjs.map} +1 -1
  299. package/dist/{fetchAndParseData-BpqkBPQL.js → fetchAndParseData-BAXhgTDM.js} +12 -18
  300. package/dist/{fetchAndParseData-BpqkBPQL.js.map → fetchAndParseData-BAXhgTDM.js.map} +1 -1
  301. package/dist/{fetchAndParseData-l5HGMAEs.cjs → fetchAndParseData-QTF6tjij.cjs} +3 -8
  302. package/dist/{fetchAndParseData-l5HGMAEs.cjs.map → fetchAndParseData-QTF6tjij.cjs.map} +1 -1
  303. package/dist/fetchAndParseData.cjs +1 -1
  304. package/dist/fetchAndParseData.js +1 -1
  305. package/dist/getCentroidCoordinates-CtBGrNC8.cjs +2 -0
  306. package/dist/getCentroidCoordinates-CtBGrNC8.cjs.map +1 -0
  307. package/dist/{getCentroidCoordinates-D7r34N4w.js → getCentroidCoordinates-s0OOUjLF.js} +15 -15
  308. package/dist/getCentroidCoordinates-s0OOUjLF.js.map +1 -0
  309. package/dist/{getGraphList-Dxwo9TDb.js → getGraphList-Bpd3PVmF.js} +7 -1
  310. package/dist/getGraphList-Bpd3PVmF.js.map +1 -0
  311. package/dist/getGraphList-DQ24IzAn.cjs +2 -0
  312. package/dist/getGraphList-DQ24IzAn.cjs.map +1 -0
  313. package/dist/{getJenks-GYmdwBqm.cjs → getJenks-BzJvhy_H.cjs} +2 -2
  314. package/dist/{getJenks-GYmdwBqm.cjs.map → getJenks-BzJvhy_H.cjs.map} +1 -1
  315. package/dist/{getJenks-BbngDoBQ.js → getJenks-DTCcQSDi.js} +2 -2
  316. package/dist/{getJenks-BbngDoBQ.js.map → getJenks-DTCcQSDi.js.map} +1 -1
  317. package/dist/getSchema.cjs +1 -1
  318. package/dist/getSchema.cjs.map +1 -1
  319. package/dist/getSchema.d.ts +3 -3
  320. package/dist/getSchema.js +24 -16
  321. package/dist/getSchema.js.map +1 -1
  322. package/dist/getSliderMarks-CIuSoedo.cjs +2 -0
  323. package/dist/{getSliderMarks-BmADcPQt.cjs.map → getSliderMarks-CIuSoedo.cjs.map} +1 -1
  324. package/dist/{getSliderMarks-HIDJ0_Cd.js → getSliderMarks-Cvg8zHBU.js} +4 -9
  325. package/dist/getSliderMarks-Cvg8zHBU.js.map +1 -0
  326. package/dist/{imageDownload-NYXbvKob.cjs → imageDownload-61q6jyJW.cjs} +3 -3
  327. package/dist/imageDownload-61q6jyJW.cjs.map +1 -0
  328. package/dist/{imageDownload-BU4qnxJP.js → imageDownload-Diofs_vY.js} +14 -15
  329. package/dist/imageDownload-Diofs_vY.js.map +1 -0
  330. package/dist/{index-D491FEn1.js → index-BQYOuXdl.js} +15 -15
  331. package/dist/{index-D491FEn1.js.map → index-BQYOuXdl.js.map} +1 -1
  332. package/dist/{index-DxXnJ8Ti.cjs → index-C5K--w8d.cjs} +2 -2
  333. package/dist/index-C5K--w8d.cjs.map +1 -0
  334. package/dist/{index-DRXx7m-C.cjs → index-C6er0ety.cjs} +2 -2
  335. package/dist/{index-DRXx7m-C.cjs.map → index-C6er0ety.cjs.map} +1 -1
  336. package/dist/{index-CHPV5EwG-CTPQjnHt.cjs → index-CHPV5EwG-6v2a2njQ.cjs} +5 -69
  337. package/dist/{index-CHPV5EwG-CTPQjnHt.cjs.map → index-CHPV5EwG-6v2a2njQ.cjs.map} +1 -1
  338. package/dist/{index-CHPV5EwG-Curnpaqc.js → index-CHPV5EwG-DecW7_qr.js} +5 -77
  339. package/dist/{index-CHPV5EwG-Curnpaqc.js.map → index-CHPV5EwG-DecW7_qr.js.map} +1 -1
  340. package/dist/{index-SKgJALZg.js → index-CSiFiXPj.js} +3 -3
  341. package/dist/{index-SKgJALZg.js.map → index-CSiFiXPj.js.map} +1 -1
  342. package/dist/index-CoobIWNj.cjs +10 -0
  343. package/dist/index-CoobIWNj.cjs.map +1 -0
  344. package/dist/index-CtMBjvtq.js +148 -0
  345. package/dist/index-CtMBjvtq.js.map +1 -0
  346. package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs → index-Cw8sCyo_-CEcCMKUi.cjs} +2 -2
  347. package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs.map → index-Cw8sCyo_-CEcCMKUi.cjs.map} +1 -1
  348. package/dist/{index-Cw8sCyo_-B2hEKjzG.js → index-Cw8sCyo_-n4AacHGk.js} +6 -4
  349. package/dist/{index-Cw8sCyo_-B2hEKjzG.js.map → index-Cw8sCyo_-n4AacHGk.js.map} +1 -1
  350. package/dist/{index-R1gTfap5.js → index-D5ihtaJJ.js} +12 -12
  351. package/dist/{index-R1gTfap5.js.map → index-D5ihtaJJ.js.map} +1 -1
  352. package/dist/{index-B_sAFsEV.cjs → index-D69M6klB.cjs} +2 -2
  353. package/dist/{index-B_sAFsEV.cjs.map → index-D69M6klB.cjs.map} +1 -1
  354. package/dist/{index-GEsywGxz.js → index-DCsFBfJ_.js} +160 -104
  355. package/dist/index-DCsFBfJ_.js.map +1 -0
  356. package/dist/{index-WML2dCZ0.cjs → index-Dgjq6aZ2.cjs} +2 -2
  357. package/dist/{index-WML2dCZ0.cjs.map → index-Dgjq6aZ2.cjs.map} +1 -1
  358. package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs → index-Dzc_aaI9-C3DbPpy3.cjs} +2 -2
  359. package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs.map → index-Dzc_aaI9-C3DbPpy3.cjs.map} +1 -1
  360. package/dist/{index-Dzc_aaI9-Bb7gobH_.js → index-Dzc_aaI9-CG2Ar7l1.js} +4 -4
  361. package/dist/{index-Dzc_aaI9-Bb7gobH_.js.map → index-Dzc_aaI9-CG2Ar7l1.js.map} +1 -1
  362. package/dist/index.cjs +1 -1
  363. package/dist/index.d.ts +209 -94
  364. package/dist/index.js +129 -127
  365. package/dist/index.js.map +1 -1
  366. package/dist/{linear-BqltdMeF.js → linear-CalFSAaO.js} +2 -2
  367. package/dist/{linear-BqltdMeF.js.map → linear-CalFSAaO.js.map} +1 -1
  368. package/dist/{linear-BwPAspcq.cjs → linear-CgUCbw9F.cjs} +2 -2
  369. package/dist/{linear-BwPAspcq.cjs.map → linear-CgUCbw9F.cjs.map} +1 -1
  370. package/dist/{ordinal-BJ6O_LC5.js → ordinal-CHaxGJ_l.js} +2 -2
  371. package/dist/{ordinal-BJ6O_LC5.js.map → ordinal-CHaxGJ_l.js.map} +1 -1
  372. package/dist/{parse-DlCRUFh_.js → parse-Dv4of-PN.js} +2 -67
  373. package/dist/{parse-DlCRUFh_.js.map → parse-Dv4of-PN.js.map} +1 -1
  374. package/dist/parse-xYI9yrvL.cjs +2 -0
  375. package/dist/{parse-hMnG_lRV.cjs.map → parse-xYI9yrvL.cjs.map} +1 -1
  376. package/dist/{pow-DgrUorRi.cjs → pow-BnyPO-NX.cjs} +2 -2
  377. package/dist/{pow-DgrUorRi.cjs.map → pow-BnyPO-NX.cjs.map} +1 -1
  378. package/dist/{pow-CM2aze4M.js → pow-CaIrlM4J.js} +2 -2
  379. package/dist/{pow-CM2aze4M.js.map → pow-CaIrlM4J.js.map} +1 -1
  380. package/dist/proxy-C4-uo6nS.cjs +2 -0
  381. package/dist/proxy-C4-uo6nS.cjs.map +1 -0
  382. package/dist/{proxy-BxkFHwUw.js → proxy-DRuSUlPL.js} +2828 -2717
  383. package/dist/proxy-DRuSUlPL.js.map +1 -0
  384. package/dist/{string2HTML-DhG75NqA.js → string2HTML-DUYZT1L9.js} +17 -17
  385. package/dist/{string2HTML-DhG75NqA.js.map → string2HTML-DUYZT1L9.js.map} +1 -1
  386. package/dist/{string2HTML-CPGr_I5E.cjs → string2HTML-xx9MzTtY.cjs} +3 -3
  387. package/dist/{string2HTML-CPGr_I5E.cjs.map → string2HTML-xx9MzTtY.cjs.map} +1 -1
  388. package/dist/style.css +1 -1
  389. package/dist/{time-BUL-dwnK.js → time-CAtex-RV.js} +2 -2
  390. package/dist/{time-BUL-dwnK.js.map → time-CAtex-RV.js.map} +1 -1
  391. package/dist/{time-CZd5YLSP.cjs → time-CkcKbhwe.cjs} +2 -2
  392. package/dist/{time-CZd5YLSP.cjs.map → time-CkcKbhwe.cjs.map} +1 -1
  393. package/dist/transformData.cjs +1 -1
  394. package/dist/transformData.d.ts +1 -1
  395. package/dist/transformData.js +3 -3
  396. package/dist/transformDataForAggregation-BFdha9Dx.cjs +2 -0
  397. package/dist/transformDataForAggregation-BFdha9Dx.cjs.map +1 -0
  398. package/dist/{transformDataForAggregation-j34UL73s.js → transformDataForAggregation-wdPf8bNt.js} +26 -11
  399. package/dist/transformDataForAggregation-wdPf8bNt.js.map +1 -0
  400. package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs → transformDataForGraphFromFile-DOhp1qrp.cjs} +2 -2
  401. package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs.map → transformDataForGraphFromFile-DOhp1qrp.cjs.map} +1 -1
  402. package/dist/{transformDataForGraphFromFile-DyP-83Nh.js → transformDataForGraphFromFile-dt9sHTVy.js} +3 -3
  403. package/dist/{transformDataForGraphFromFile-DyP-83Nh.js.map → transformDataForGraphFromFile-dt9sHTVy.js.map} +1 -1
  404. package/dist/{use-in-view-QcfiW0w3.cjs → use-in-view-C3o_ntMv.cjs} +2 -2
  405. package/dist/use-in-view-C3o_ntMv.cjs.map +1 -0
  406. package/dist/{use-in-view-Cxa7y1TH.js → use-in-view-Dl5L8LtP.js} +2 -2
  407. package/dist/use-in-view-Dl5L8LtP.js.map +1 -0
  408. package/dist/utils.cjs +1 -1
  409. package/dist/utils.js +4 -4
  410. package/dist/validateSchema.cjs +1 -1
  411. package/dist/validateSchema.d.ts +1 -1
  412. package/dist/validateSchema.js +1 -1
  413. package/dist/{x-BBpi7a_7-WVdj1j6r.js → x-BBpi7a_7-BsvWCzYM.js} +1 -31
  414. package/dist/{x-BBpi7a_7-WVdj1j6r.js.map → x-BBpi7a_7-BsvWCzYM.js.map} +1 -1
  415. package/dist/x-BBpi7a_7-DXYIEFwN.cjs +2 -0
  416. package/dist/{x-BBpi7a_7-mTo40uId.cjs.map → x-BBpi7a_7-DXYIEFwN.cjs.map} +1 -1
  417. package/dist/{zoom-C9MFjAaV.js → zoom-5AkJSuWO.js} +3 -3
  418. package/dist/zoom-5AkJSuWO.js.map +1 -0
  419. package/dist/{zoom-DPw8bba-.cjs → zoom-ChcvXFIz.cjs} +2 -2
  420. package/dist/zoom-ChcvXFIz.cjs.map +1 -0
  421. package/package.json +21 -1
  422. package/readme.md +33 -22
  423. package/dist/EmptyState-C7ZXkZWd.js +0 -15
  424. package/dist/GraphEl-BixTEyKW.cjs +0 -2
  425. package/dist/GraphEl-BixTEyKW.cjs.map +0 -1
  426. package/dist/GraphEl-Dyu_EIQb.js.map +0 -1
  427. package/dist/ReferenceLine-2XCwHXQ4.js.map +0 -1
  428. package/dist/RegressionLine-DAcY2DjT.js.map +0 -1
  429. package/dist/checkIfMultiple-wg6hJLXy.cjs +0 -12
  430. package/dist/defaultLocale-BEa-49Qz.js +0 -172
  431. package/dist/defaultLocale-BEa-49Qz.js.map +0 -1
  432. package/dist/defaultLocale-DIVzfLaQ.cjs +0 -2
  433. package/dist/defaultLocale-DIVzfLaQ.cjs.map +0 -1
  434. package/dist/getCentroidCoordinates-D7r34N4w.js.map +0 -1
  435. package/dist/getCentroidCoordinates-Dng1HVjO.cjs +0 -2
  436. package/dist/getCentroidCoordinates-Dng1HVjO.cjs.map +0 -1
  437. package/dist/getGraphList-CA17dvFB.cjs +0 -2
  438. package/dist/getGraphList-CA17dvFB.cjs.map +0 -1
  439. package/dist/getGraphList-Dxwo9TDb.js.map +0 -1
  440. package/dist/getSliderMarks-BmADcPQt.cjs +0 -6
  441. package/dist/getSliderMarks-HIDJ0_Cd.js.map +0 -1
  442. package/dist/imageDownload-BU4qnxJP.js.map +0 -1
  443. package/dist/imageDownload-NYXbvKob.cjs.map +0 -1
  444. package/dist/index-BqfRwk1n.js +0 -146
  445. package/dist/index-BqfRwk1n.js.map +0 -1
  446. package/dist/index-DG2bgAva.cjs +0 -10
  447. package/dist/index-DG2bgAva.cjs.map +0 -1
  448. package/dist/index-DxXnJ8Ti.cjs.map +0 -1
  449. package/dist/index-GEsywGxz.js.map +0 -1
  450. package/dist/parse-hMnG_lRV.cjs +0 -2
  451. package/dist/proxy-BxkFHwUw.js.map +0 -1
  452. package/dist/proxy-BxvUI_9l.cjs +0 -2
  453. package/dist/proxy-BxvUI_9l.cjs.map +0 -1
  454. package/dist/transformDataForAggregation-CYoB5Xsk.cjs +0 -2
  455. package/dist/transformDataForAggregation-CYoB5Xsk.cjs.map +0 -1
  456. package/dist/transformDataForAggregation-j34UL73s.js.map +0 -1
  457. package/dist/use-in-view-Cxa7y1TH.js.map +0 -1
  458. package/dist/use-in-view-QcfiW0w3.cjs.map +0 -1
  459. package/dist/x-BBpi7a_7-mTo40uId.cjs +0 -27
  460. package/dist/zoom-C9MFjAaV.js.map +0 -1
  461. package/dist/zoom-DPw8bba-.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),b=require("react"),Ft=require("./parse-hMnG_lRV.cjs"),be=require("./index-Cno4Q0YE.cjs"),xe=require("./numberFormattingFunction-02t-wJta.cjs"),ke=require("./Tooltip-uUdw6wJL.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ne=require("./XTicksAndGridLines-B6CELS7q.cjs"),ge=require("./Axis-DxRV2yMi.cjs"),Ae=require("./AxisTitle-sS5bLLR7.cjs"),Oe=require("./index-B_sAFsEV.cjs"),Le=require("./time-CZd5YLSP.cjs"),we=require("./linear-BwPAspcq.cjs"),ve=require("./line-DaEMhXmx.cjs"),me=require("./step-BZ3C8QFW.cjs"),Ie=require("./select-Bnfk0lJx.cjs"),Se=require("./init-DU0ybBc_.cjs"),De=require("./pointer-Dkq5NV1q.cjs"),qe=require("./use-in-view-QcfiW0w3.cjs"),mt=require("./proxy-BxvUI_9l.cjs"),Me=require("./GraphFooter.cjs"),Te=require("./GraphHeader.cjs"),Ce=require("./ColorLegend.cjs"),Ee=require("./Colors.cjs"),Ve=require("./EmptyState-gLDRXBHm.cjs"),Re=require("./GraphContainer-d8A46BK2.cjs"),$e=require("./getNoOfTicks-C_1CFXv_.cjs");function Fe(e){const t=n.compilerRuntimeExports.c(117),{data:v,width:K,height:Q,lineColors:o,labels:j,sameAxes:A,dateFormat:f,showValues:Rt,noOfXTicks:Kt,rightMargin:Qt,leftMargin:Pt,topMargin:Z,bottomMargin:bt,tooltip:ft,highlightAreaSettings:kt,onSeriesMouseOver:Nt,animate:s,strokeWidth:G,showDots:M,noOfYTicks:pt,lineSuffixes:H,linePrefixes:_,minDate:dt,maxDate:Ot,curveType:tt,styles:a,classNames:c,precision:et,customLayers:U,showAxisLabels:W}=e,Gt=b.useRef(null);let ht;t[0]!==s.amount||t[1]!==s.once?(ht={once:s.once,amount:s.amount},t[0]=s.amount,t[1]=s.once,t[2]=ht):ht=t[2];const d=qe.useInView(Gt,ht),[y,Ht]=b.useState(!1);let yt,it;t[3]!==s.duration||t[4]!==y||t[5]!==d?(yt=()=>{if(d&&!y){const i=setTimeout(()=>{Ht(!0)},(s.duration+.5)*1e3);return()=>clearTimeout(i)}},it=[d,y,s.duration],t[3]=s.duration,t[4]=y,t[5]=d,t[6]=yt,t[7]=it):(yt=t[6],it=t[7]),b.useEffect(yt,it);const Ut=tt==="linear"?ve.curveLinear:tt==="step"?me.curveStep:tt==="stepAfter"?me.stepAfter:tt==="stepBefore"?me.stepBefore:me.monotoneX,[N,Lt]=b.useState(void 0),[gt,p]=b.useState(void 0),[u,Wt]=b.useState(void 0),nt=Pt+50,It=Qt+65;let st;t[8]!==bt||t[9]!==nt||t[10]!==It||t[11]!==Z?(st={top:Z,bottom:bt,left:nt,right:It},t[8]=bt,t[9]=nt,t[10]=It,t[11]=Z,t[12]=st):st=t[12];const h=st,X=b.useRef(null);let O;t[13]!==f?(O=i=>({...i,date:Ft.parse(`${i.date}`,f,new Date)}),t[13]=f,t[14]=O):O=t[14];const r=be.orderBy(v.map(O),["date"],["asc"]);let ot;if(t[15]!==f||t[16]!==kt){let i;t[18]!==f?(i=R=>({...R,coordinates:[R.coordinates[0]===null?null:Ft.parse(`${R.coordinates[0]}`,f,new Date),R.coordinates[1]===null?null:Ft.parse(`${R.coordinates[1]}`,f,new Date)]}),t[18]=f,t[19]=i):i=t[19],ot=kt.map(i),t[15]=f,t[16]=kt,t[17]=ot}else ot=t[17];const vt=ot,x=K-h.left-h.right,l=Q-h.top-h.bottom,Xt=dt?Ft.parse(`${dt}`,f,new Date):r[0].date,St=Ot?Ft.parse(`${Ot}`,f,new Date):r[r.length-1].date,jt=Math.min(...r.map(yi).filter(hi))!==1/0?Math.min(...r.map(di).filter(pi))>0?0:Math.min(...r.map(fi).filter(mi)):0,rt=Math.min(...r.map(xi).filter(ui))!==1/0?Math.min(...r.map(ci).filter(ai))>0?0:Math.min(...r.map(li).filter(ri)):0,lt=Math.max(...r.map(oi).filter(si))!==1/0?Math.max(...r.map(ni).filter(ii)):0,Y=Math.max(...r.map(ei).filter(ti))!==1/0?Math.max(...r.map(_e).filter(Ze)):0,Dt=jt<rt?jt:rt,B=lt>Y?lt:Y,m=Le.time().domain([Xt,St]).range([0,x]),k=we.linear().domain([A?Dt:jt,A?B>0?B:0:lt>0?lt:0]).range([l,0]).nice(),g=we.linear().domain([A?Dt:rt,A?B>0?B:0:Y>0?Y:0]).range([l,0]).nice(),qt=ve.line().defined(Qe).x(i=>m(i.date)).y(i=>k(i.y1)).curve(Ut),At=ve.line().defined(Ke).x(i=>m(i.date)).y(i=>g(i.y2)).curve(Ut),Yt=k.ticks(pt),Bt=g.ticks(pt),Mt=m.ticks(Kt);b.useEffect(()=>{const i=ye=>{const je=r[Se.bisectCenter(r.map(Je),m.invert(De.pointer(ye)[0]),0)];Lt(je||r[r.length-1]),Nt?.(je||r[r.length-1]),Wt(ye.clientY),p(ye.clientX)},R=()=>{Lt(void 0),p(void 0),Wt(void 0),Nt?.(void 0)};Ie.select(X.current).on("mousemove",i).on("mouseout",R)},[m,r,Nt]);let at;t[20]!==s||t[21]!==l||t[22]!==x||t[23]!==vt||t[24]!==d||t[25]!==m?(at=n.jsxRuntimeExports.jsx(Oe.HighlightArea,{areaSettings:vt,width:x,height:l,scale:m,animate:s,isInView:d}),t[20]=s,t[21]=l,t[22]=x,t[23]=vt,t[24]=d,t[25]=m,t[26]=at):at=t[26];const wt=c?.xAxis?.axis;let T;t[27]!==wt?(T={axis:wt},t[27]=wt,t[28]=T):T=t[28];let L;t[29]!==a?.xAxis?.axis?(L=a?.xAxis?.axis||{},t[29]=a?.xAxis?.axis,t[30]=L):L=t[30];let C;t[31]!==o[0]||t[32]!==L?(C={axis:{stroke:o[0],...L}},t[31]=o[0],t[32]=L,t[33]=C):C=t[33];let ct;t[34]!==l||t[35]!==T||t[36]!==C?(ct=n.jsxRuntimeExports.jsx(ge.Axis,{y1:0,y2:l,x1:-15,x2:-15,classNames:T,styles:C}),t[34]=l,t[35]=T,t[36]=C,t[37]=ct):ct=t[37];let V;t[38]!==c?.yAxis?.title||t[39]!==l||t[40]!==j||t[41]!==o[0]||t[42]!==h.left||t[43]!==W||t[44]!==a?.yAxis?.title?(V=W?n.jsxRuntimeExports.jsx(Ae.AxisTitle,{x:10-h.left,y:l/2,style:{fill:o[0],...a?.yAxis?.title||{}},className:c?.yAxis?.title,text:j[0].length>100?`${j[0].substring(0,100)}...`:j[0],rotate90:!0}):null,t[38]=c?.yAxis?.title,t[39]=l,t[40]=j,t[41]=o[0],t[42]=h.left,t[43]=W,t[44]=a?.yAxis?.title,t[45]=V):V=t[45];const zt=x+15,ut=x+15,Jt=c?.xAxis?.axis;let $;t[46]!==Jt?($={axis:Jt},t[46]=Jt,t[47]=$):$=t[47];let z;t[48]!==a?.xAxis?.axis?(z=a?.xAxis?.axis||{},t[48]=a?.xAxis?.axis,t[49]=z):z=t[49];let I;t[50]!==o[1]||t[51]!==z?(I={axis:{stroke:o[1],...z}},t[50]=o[1],t[51]=z,t[52]=I):I=t[52];let J;t[53]!==l||t[54]!==zt||t[55]!==ut||t[56]!==$||t[57]!==I?(J=n.jsxRuntimeExports.jsx(ge.Axis,{y1:0,y2:l,x1:zt,x2:ut,classNames:$,styles:I}),t[53]=l,t[54]=zt,t[55]=ut,t[56]=$,t[57]=I,t[58]=J):J=t[58];let xt;t[59]!==c?.yAxis?.title||t[60]!==l||t[61]!==x||t[62]!==j||t[63]!==o[1]||t[64]!==h.right||t[65]!==W||t[66]!==a?.yAxis?.title?(xt=W?n.jsxRuntimeExports.jsx(Ae.AxisTitle,{x:x+h.right-15,y:l/2,style:{fill:o[1],...a?.yAxis?.title||{}},className:c?.yAxis?.title,text:j[1].length>100?`${j[1].substring(0,100)}...`:j[1],rotate90:!0}):null,t[59]=c?.yAxis?.title,t[60]=l,t[61]=x,t[62]=j,t[63]=o[1],t[64]=h.right,t[65]=W,t[66]=a?.yAxis?.title,t[67]=xt):xt=t[67];const Et=x+15,F=c?.xAxis?.axis;let w;t[68]!==F?(w={axis:F},t[68]=F,t[69]=w):w=t[69];const P=a?.xAxis?.axis;let E;t[70]!==P?(E={axis:P},t[70]=P,t[71]=E):E=t[71];let S;t[72]!==l||t[73]!==Et||t[74]!==w||t[75]!==E?(S=n.jsxRuntimeExports.jsx(ge.Axis,{y1:l,y2:l,x1:-15,x2:Et,classNames:w,styles:E}),t[72]=l,t[73]=Et,t[74]=w,t[75]=E,t[76]=S):S=t[76];let D;t[77]!==f?(D=i=>Ft.format(i,f),t[77]=f,t[78]=D):D=t[78];const Tt=Mt.map(D),Zt=Mt.map(i=>m(i)),Ct=a?.xAxis?.gridLines,fe=a?.xAxis?.labels;let _t;t[79]!==Ct||t[80]!==fe?(_t={gridLines:Ct,labels:fe},t[79]=Ct,t[80]=fe,t[81]=_t):_t=t[81];const pe=c?.xAxis?.gridLines;let Vt;t[82]!==pe?(Vt=n.mo("opacity-0",pe),t[82]=pe,t[83]=Vt):Vt=t[83];const de=c?.xAxis?.labels;let $t;t[84]!==de?($t=n.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",de),t[84]=de,t[85]=$t):$t=t[85];let te;t[86]!==Vt||t[87]!==$t?(te={gridLines:Vt,labels:$t},t[86]=Vt,t[87]=$t,t[88]=te):te=t[88];let ee;t[89]!==U?(ee=U.filter(ze).map(Be),t[89]=U,t[90]=ee):ee=t[90];let ie;t[91]!==o[0]||t[92]!==G?(ie={stroke:o[0],strokeWidth:G,fill:"none"},t[91]=o[0],t[92]=G,t[93]=ie):ie=t[93];let ne;t[94]!==s.duration?(ne={opacity:0,transition:{duration:s.duration}},t[94]=s.duration,t[95]=ne):ne=t[95];let se;t[96]!==o[1]||t[97]!==G?(se={stroke:o[1],strokeWidth:G,fill:"none"},t[96]=o[1],t[97]=G,t[98]=se):se=t[98];let oe;t[99]!==s.duration?(oe={opacity:0,transition:{duration:s.duration}},t[99]=s.duration,t[100]=oe):oe=t[100];const he=r.map((i,R)=>n.jsxRuntimeExports.jsxs(mt.motion.g,{children:[q.checkIfNullOrUndefined(i.y1)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[M?n.jsxRuntimeExports.jsx(mt.motion.circle,{r:x/r.length<5?0:x/r.length<20?2:4,exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,cx:m(i.date),cy:k(i.y1),fill:o[0]},whileInView:{opacity:1,fill:o[0],transition:{duration:y?s.duration:.5,delay:y?0:s.duration},cx:m(i.date),cy:k(i.y1)}},initial:"initial",animate:d?"whileInView":"initial"}):null,Rt?n.jsxRuntimeExports.jsx(mt.motion.text,{dy:q.checkIfNullOrUndefined(i.y2)||i.y2<i.y1?-8:"1em",style:{textAnchor:"middle",...a?.graphObjectValues||{}},className:n.mo("graph-value graph-value-line-1 text-xs font-bold",c?.graphObjectValues),exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,x:m(i.date),y:g(i.y1),fill:o[0]},whileInView:{opacity:1,x:m(i.date),fill:o[0],y:g(i.y1),transition:{duration:y?s.duration:.5,delay:y?0:s.duration}}},initial:"initial",animate:d?"whileInView":"initial",children:xe.numberFormattingFunction(i.y1,"NA",et,_[0],H[0])}):null]}),q.checkIfNullOrUndefined(i.y2)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[M?n.jsxRuntimeExports.jsx(mt.motion.circle,{r:x/r.length<5?0:x/r.length<20?2:4,exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,cx:m(i.date),cy:g(i.y2),fill:o[1]},whileInView:{opacity:1,transition:{duration:y?s.duration:.5,delay:y?0:s.duration},fill:o[1],cx:m(i.date),cy:g(i.y2)}},initial:"initial",animate:d?"whileInView":"initial"}):null,Rt?n.jsxRuntimeExports.jsx(mt.motion.text,{dy:q.checkIfNullOrUndefined(i.y1)||i.y1<i.y2?-8:"1em",style:{textAnchor:"middle",...a?.graphObjectValues||{}},className:n.mo("graph-value graph-value-line-2 text-xs font-bold",c?.graphObjectValues),exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,x:m(i.date),y:g(i.y2),fill:o[1]},whileInView:{opacity:1,x:m(i.date),y:g(i.y2),fill:o[1],transition:{duration:y?s.duration:.5,delay:y?0:s.duration}}},initial:"initial",animate:d?"whileInView":"initial",children:xe.numberFormattingFunction(i.y2,"NA",et,_[1],H[1])}):null]})]},R));let re;t[101]!==he?(re=n.jsxRuntimeExports.jsx("g",{children:he}),t[101]=he,t[102]=re):re=t[102];let le;t[103]!==U?(le=U.filter(Ge).map(Pe),t[103]=U,t[104]=le):le=t[104];let ae;t[105]===Symbol.for("react.memo_cache_sentinel")?(ae={fill:"none",pointerEvents:"all"},t[105]=ae):ae=t[105];let ce;t[106]!==X||t[107]!==l||t[108]!==x?(ce=n.jsxRuntimeExports.jsx("rect",{ref:X,style:ae,width:x,height:l}),t[106]=X,t[107]=l,t[108]=x,t[109]=ce):ce=t[109];let ue;return t[110]!==c?.tooltip||t[111]!==gt||t[112]!==u||t[113]!==N||t[114]!==a?.tooltip||t[115]!==ft?(ue=N&&ft&&gt&&u?n.jsxRuntimeExports.jsx(ke.Tooltip,{data:N,body:ft,xPos:gt,yPos:u,backgroundStyle:a?.tooltip,className:c?.tooltip}):null,t[110]=c?.tooltip,t[111]=gt,t[112]=u,t[113]=N,t[114]=a?.tooltip,t[115]=ft,t[116]=ue):ue=t[116],n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(mt.motion.svg,{width:`${K}px`,height:`${Q}px`,viewBox:`0 0 ${K} ${Q}`,direction:"ltr",ref:Gt,children:n.jsxRuntimeExports.jsxs("g",{transform:`translate(${h.left},${h.top})`,children:[at,n.jsxRuntimeExports.jsxs("g",{children:[Yt.map((i,R)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:k(i),y2:k(i),x1:-15,x2:-20,style:{stroke:o[0],strokeWidth:1,...a?.yAxis?.gridLines||{}},className:c?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:-25,y:k(i),dy:"0.33em",className:n.mo("text-xs",c?.yAxis?.labels),style:{textAnchor:"end",fill:o[0],...a?.yAxis?.labels||{}},children:xe.numberFormattingFunction(i,"NA",et,_[0],H[0])})]},R)),ct,V]}),n.jsxRuntimeExports.jsxs("g",{children:[Bt.map((i,R)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:g(i),y2:g(i),x1:x+15,x2:x+20,style:{stroke:o[1],strokeWidth:1,...a?.yAxis?.gridLines||{}},className:c?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:x+25,y:g(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:o[1],...a?.yAxis?.labels||{}},className:n.mo("text-xs",c?.yAxis?.labels),children:xe.numberFormattingFunction(i,"NA",et,_[1],H[1])})]},R)),J,xt]}),n.jsxRuntimeExports.jsxs("g",{children:[S,n.jsxRuntimeExports.jsx(Ne.XTicksAndGridLines,{values:Tt,x:Zt,y1:0,y2:l,styles:_t,classNames:te,labelType:"primary",showGridLines:!0,precision:et})]}),ee,n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(mt.motion.path,{style:ie,exit:ne,variants:{initial:{pathLength:0,d:qt(r.filter(Ye))||"",opacity:1},whileInView:{pathLength:1,d:qt(r.filter(Xe))||"",opacity:1,transition:{duration:s.duration}}},initial:"initial",animate:d?"whileInView":"initial"}),n.jsxRuntimeExports.jsx(mt.motion.path,{d:At(r.filter(We))||"",style:se,exit:oe,variants:{initial:{pathLength:0,d:At(r.filter(Ue))||"",opacity:1},whileInView:{pathLength:1,d:At(r.filter(He))||"",opacity:1,transition:{duration:s.duration}}},initial:"initial",animate:d?"whileInView":"initial"}),N?n.jsxRuntimeExports.jsx("line",{y1:0,y2:l,x1:m(N.date),x2:m(N.date),className:n.mo("undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100",c?.mouseOverLine),style:a?.mouseOverLine}):null]}),re,le,ce]})}),ue]})}function Pe(e){return e.layer}function Ge(e){return e.position==="after"}function He(e){return!q.checkIfNullOrUndefined(e.y2)}function Ue(e){return!q.checkIfNullOrUndefined(e.y2)}function We(e){return!q.checkIfNullOrUndefined(e.y2)}function Xe(e){return!q.checkIfNullOrUndefined(e.y1)}function Ye(e){return!q.checkIfNullOrUndefined(e.y1)}function Be(e){return e.layer}function ze(e){return e.position==="before"}function Je(e){return e.date}function Ke(e){return!q.checkIfNullOrUndefined(e.y2)}function Qe(e){return!q.checkIfNullOrUndefined(e.y1)}function Ze(e){return e!=null}function _e(e){return e.y2}function ti(e){return e!=null}function ei(e){return e.y2}function ii(e){return e!=null}function ni(e){return e.y1}function si(e){return e!=null}function oi(e){return e.y1}function ri(e){return e!=null}function li(e){return e.y2}function ai(e){return e!=null}function ci(e){return e.y2}function ui(e){return e!=null}function xi(e){return e.y2}function mi(e){return e!=null}function fi(e){return e.y1}function pi(e){return e!=null}function di(e){return e.y2}function hi(e){return e!=null}function yi(e){return e.y1}function gi(e){const t=n.compilerRuntimeExports.c(90),{data:v,graphTitle:K,sources:Q,graphDescription:o,height:j,width:A,footNote:f,noOfXTicks:Rt,dateFormat:Kt,showValues:Qt,padding:Pt,lineColors:Z,sameAxes:bt,backgroundColor:ft,leftMargin:kt,rightMargin:Nt,topMargin:s,bottomMargin:G,labels:M,lineSuffixes:pt,linePrefixes:H,tooltip:_,highlightAreaSettings:dt,relativeHeight:Ot,onSeriesMouseOver:tt,graphID:a,graphDownload:c,dataDownload:et,animate:U,strokeWidth:W,showDots:Gt,language:ht,showColorScale:d,minHeight:y,colorLegendTitle:Ht,theme:yt,ariaLabel:it,noOfYTicks:Ut,maxDate:N,minDate:Lt,curveType:gt,styles:p,classNames:u,precision:Wt,customLayers:nt,showAxisLabels:It}=e,st=Kt===void 0?"yyyy":Kt,h=Qt===void 0?!1:Qt;let X;t[0]!==Z?(X=Z===void 0?[Ee.Colors.light.categoricalColors.colors[0],Ee.Colors.light.categoricalColors.colors[1]]:Z,t[0]=Z,t[1]=X):X=t[1];const O=X,r=bt===void 0?!1:bt,ot=ft===void 0?!1:ft,vt=kt===void 0?80:kt,x=Nt===void 0?80:Nt,l=s===void 0?20:s,Xt=G===void 0?25:G;let St;t[2]!==pt?(St=pt===void 0?["",""]:pt,t[2]=pt,t[3]=St):St=t[3];const jt=St;let rt;t[4]!==H?(rt=H===void 0?["",""]:H,t[4]=H,t[5]=rt):rt=t[5];const lt=rt;let Y;t[6]!==dt?(Y=dt===void 0?[]:dt,t[6]=dt,t[7]=Y):Y=t[7];const Dt=Y,B=c===void 0?!1:c,m=et===void 0?!1:et,k=U===void 0?!1:U,g=W===void 0?2:W,qt=Gt===void 0?!0:Gt,At=ht===void 0?"en":ht,Yt=d===void 0?!0:d,Bt=y===void 0?0:y,Mt=yt===void 0?"light":yt,at=Ut===void 0?5:Ut,wt=gt===void 0?"curve":gt,T=Wt===void 0?2:Wt;let L;t[8]!==nt?(L=nt===void 0?[]:nt,t[8]=nt,t[9]=L):L=t[9];const C=L,ct=It===void 0?!0:It,[V,zt]=b.useState(0),[ut,Jt]=b.useState(0),$=b.useRef(null),z=b.useRef(null);let I,J;t[10]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{const Zt=new ResizeObserver(Ct=>{zt(Ct[0].target.clientWidth||620),Jt(Ct[0].target.clientHeight||480)});return $.current&&Zt.observe($.current),()=>Zt.disconnect()},J=[],t[10]=I,t[11]=J):(I=t[10],J=t[11]),b.useEffect(I,J);const xt=u?.graphContainer,Et=p?.graphContainer;let F;t[12]!==u?.description||t[13]!==u?.title||t[14]!==v||t[15]!==m||t[16]!==o||t[17]!==B||t[18]!==K||t[19]!==p?.description||t[20]!==p?.title||t[21]!==A?(F=K||o||B||m?n.jsxRuntimeExports.jsx(Te.GraphHeader,{styles:{title:p?.title,description:p?.description},classNames:{title:u?.title,description:u?.description},graphTitle:K,graphDescription:o,width:A,graphDownload:B?z:void 0,dataDownload:m?v.map(Ei).filter(wi).length>0?v.map(Ai).filter(ji):v.filter(vi):null}):null,t[12]=u?.description,t[13]=u?.title,t[14]=v,t[15]=m,t[16]=o,t[17]=B,t[18]=K,t[19]=p?.description,t[20]=p?.title,t[21]=A,t[22]=F):F=t[22];let w;t[23]!==u?.colorLegend||t[24]!==Ht||t[25]!==M||t[26]!==O||t[27]!==Yt?(w=Yt&&M.length>0?n.jsxRuntimeExports.jsx(Ce.ColorLegend,{colorDomain:M,colorLegendTitle:Ht,colors:O,showNAColor:!1,className:u?.colorLegend}):null,t[23]=u?.colorLegend,t[24]=Ht,t[25]=M,t[26]=O,t[27]=Yt,t[28]=w):w=t[28];let P;t[29]!==v.length?(P=v.length===0&&n.jsxRuntimeExports.jsx(Ve.EmptyState,{}),t[29]=v.length,t[30]=P):P=t[30];let E;t[31]!==k||t[32]!==Xt||t[33]!==u||t[34]!==wt||t[35]!==C||t[36]!==v||t[37]!==st||t[38]!==Dt||t[39]!==M||t[40]!==vt||t[41]!==O||t[42]!==lt||t[43]!==jt||t[44]!==N||t[45]!==Lt||t[46]!==Rt||t[47]!==at||t[48]!==tt||t[49]!==T||t[50]!==x||t[51]!==r||t[52]!==ct||t[53]!==qt||t[54]!==h||t[55]!==g||t[56]!==p||t[57]!==ut||t[58]!==V||t[59]!==_||t[60]!==l?(E=V&&ut&&v.length>0?n.jsxRuntimeExports.jsx(Fe,{data:v,sameAxes:r,lineColors:O,width:V,height:ut,dateFormat:st,showValues:h,noOfXTicks:Rt??$e.getNoOfTicks(V),leftMargin:vt,rightMargin:x,topMargin:l,bottomMargin:Xt,labels:M,highlightAreaSettings:Dt,tooltip:_,onSeriesMouseOver:tt,animate:k===!0?{duration:.5,once:!0,amount:.5}:k||{duration:0,once:!0,amount:0},strokeWidth:g,showDots:qt,noOfYTicks:at,lineSuffixes:jt,linePrefixes:lt,minDate:Lt,maxDate:N,curveType:wt,styles:p,classNames:u,precision:T,customLayers:C,showAxisLabels:ct}):null,t[31]=k,t[32]=Xt,t[33]=u,t[34]=wt,t[35]=C,t[36]=v,t[37]=st,t[38]=Dt,t[39]=M,t[40]=vt,t[41]=O,t[42]=lt,t[43]=jt,t[44]=N,t[45]=Lt,t[46]=Rt,t[47]=at,t[48]=tt,t[49]=T,t[50]=x,t[51]=r,t[52]=ct,t[53]=qt,t[54]=h,t[55]=g,t[56]=p,t[57]=ut,t[58]=V,t[59]=_,t[60]=l,t[61]=E):E=t[61];let S;t[62]!==P||t[63]!==E?(S=n.jsxRuntimeExports.jsxs(Re.GraphArea,{ref:$,children:[P,E]}),t[62]=P,t[63]=E,t[64]=S):S=t[64];let D;t[65]!==u?.footnote||t[66]!==u?.source||t[67]!==f||t[68]!==Q||t[69]!==p?.footnote||t[70]!==p?.source||t[71]!==A?(D=Q||f?n.jsxRuntimeExports.jsx(Me.GraphFooter,{styles:{footnote:p?.footnote,source:p?.source},classNames:{footnote:u?.footnote,source:u?.source},sources:Q,footNote:f,width:A}):null,t[65]=u?.footnote,t[66]=u?.source,t[67]=f,t[68]=Q,t[69]=p?.footnote,t[70]=p?.source,t[71]=A,t[72]=D):D=t[72];let Tt;return t[73]!==it||t[74]!==ot||t[75]!==a||t[76]!==j||t[77]!==At||t[78]!==Bt||t[79]!==Pt||t[80]!==Ot||t[81]!==xt||t[82]!==Et||t[83]!==F||t[84]!==w||t[85]!==S||t[86]!==D||t[87]!==Mt||t[88]!==A?(Tt=n.jsxRuntimeExports.jsxs(Re.GraphContainer,{className:xt,style:Et,id:a,ref:z,"aria-label":it,backgroundColor:ot,theme:Mt,language:At,minHeight:Bt,width:A,height:j,relativeHeight:Ot,padding:Pt,children:[F,w,S,D]}),t[73]=it,t[74]=ot,t[75]=a,t[76]=j,t[77]=At,t[78]=Bt,t[79]=Pt,t[80]=Ot,t[81]=xt,t[82]=Et,t[83]=F,t[84]=w,t[85]=S,t[86]=D,t[87]=Mt,t[88]=A,t[89]=Tt):Tt=t[89],Tt}function vi(e){return e!==void 0}function ji(e){return e!==void 0}function Ai(e){return e.data}function wi(e){return e!==void 0}function Ei(e){return e.data}exports.DualAxisLineChart=gi;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-6v2a2njQ.cjs"),b=require("react"),Ft=require("./parse-xYI9yrvL.cjs"),be=require("./index-Cno4Q0YE.cjs"),xe=require("./numberFormattingFunction-02t-wJta.cjs"),ke=require("./Tooltip-BLa2EfMs.cjs"),q=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ne=require("./XTicksAndGridLines-CekrPykD.cjs"),ge=require("./Axis-Dtjn-EgM.cjs"),Ae=require("./AxisTitle-DV4n0RxE.cjs"),Oe=require("./index-D69M6klB.cjs"),Le=require("./time-CkcKbhwe.cjs"),we=require("./linear-CgUCbw9F.cjs"),ve=require("./line-DaEMhXmx.cjs"),me=require("./step-BZ3C8QFW.cjs"),Ie=require("./select-Bnfk0lJx.cjs"),mt=require("./proxy-C4-uo6nS.cjs"),Se=require("./init-DU0ybBc_.cjs"),De=require("./pointer-Dkq5NV1q.cjs"),qe=require("./use-in-view-C3o_ntMv.cjs"),Me=require("./GraphFooter.cjs"),Te=require("./GraphHeader.cjs"),Ce=require("./ColorLegend.cjs"),Ee=require("./Colors.cjs"),Ve=require("./EmptyState-CGeBqbmR.cjs"),Re=require("./GraphContainer-B1EDxJ0S.cjs"),$e=require("./getNoOfTicks-C_1CFXv_.cjs");function Fe(e){const t=n.compilerRuntimeExports.c(117),{data:v,width:K,height:Q,lineColors:o,labels:j,sameAxes:A,dateFormat:f,showValues:Rt,noOfXTicks:Kt,rightMargin:Qt,leftMargin:Pt,topMargin:Z,bottomMargin:bt,tooltip:ft,highlightAreaSettings:kt,onSeriesMouseOver:Nt,animate:s,strokeWidth:G,showDots:M,noOfYTicks:pt,lineSuffixes:H,linePrefixes:_,minDate:dt,maxDate:Ot,curveType:tt,styles:a,classNames:c,precision:et,customLayers:U,showAxisLabels:W}=e,Gt=b.useRef(null);let ht;t[0]!==s.amount||t[1]!==s.once?(ht={once:s.once,amount:s.amount},t[0]=s.amount,t[1]=s.once,t[2]=ht):ht=t[2];const d=qe.useInView(Gt,ht),[y,Ht]=b.useState(!1);let yt,it;t[3]!==s.duration||t[4]!==y||t[5]!==d?(yt=()=>{if(d&&!y){const i=setTimeout(()=>{Ht(!0)},(s.duration+.5)*1e3);return()=>clearTimeout(i)}},it=[d,y,s.duration],t[3]=s.duration,t[4]=y,t[5]=d,t[6]=yt,t[7]=it):(yt=t[6],it=t[7]),b.useEffect(yt,it);const Ut=tt==="linear"?ve.curveLinear:tt==="step"?me.curveStep:tt==="stepAfter"?me.stepAfter:tt==="stepBefore"?me.stepBefore:me.monotoneX,[N,Lt]=b.useState(void 0),[gt,p]=b.useState(void 0),[u,Wt]=b.useState(void 0),nt=Pt+50,It=Qt+65;let st;t[8]!==bt||t[9]!==nt||t[10]!==It||t[11]!==Z?(st={top:Z,bottom:bt,left:nt,right:It},t[8]=bt,t[9]=nt,t[10]=It,t[11]=Z,t[12]=st):st=t[12];const h=st,X=b.useRef(null);let O;t[13]!==f?(O=i=>({...i,date:Ft.parse(`${i.date}`,f,new Date)}),t[13]=f,t[14]=O):O=t[14];const r=be.orderBy(v.map(O),["date"],["asc"]);let ot;if(t[15]!==f||t[16]!==kt){let i;t[18]!==f?(i=R=>({...R,coordinates:[R.coordinates[0]===null?null:Ft.parse(`${R.coordinates[0]}`,f,new Date),R.coordinates[1]===null?null:Ft.parse(`${R.coordinates[1]}`,f,new Date)]}),t[18]=f,t[19]=i):i=t[19],ot=kt.map(i),t[15]=f,t[16]=kt,t[17]=ot}else ot=t[17];const vt=ot,x=K-h.left-h.right,l=Q-h.top-h.bottom,Xt=dt?Ft.parse(`${dt}`,f,new Date):r[0].date,St=Ot?Ft.parse(`${Ot}`,f,new Date):r[r.length-1].date,jt=Math.min(...r.map(yi).filter(hi))!==1/0?Math.min(...r.map(di).filter(pi))>0?0:Math.min(...r.map(fi).filter(mi)):0,rt=Math.min(...r.map(xi).filter(ui))!==1/0?Math.min(...r.map(ci).filter(ai))>0?0:Math.min(...r.map(li).filter(ri)):0,lt=Math.max(...r.map(oi).filter(si))!==1/0?Math.max(...r.map(ni).filter(ii)):0,Y=Math.max(...r.map(ei).filter(ti))!==1/0?Math.max(...r.map(_e).filter(Ze)):0,Dt=jt<rt?jt:rt,B=lt>Y?lt:Y,m=Le.time().domain([Xt,St]).range([0,x]),k=we.linear().domain([A?Dt:jt,A?B>0?B:0:lt>0?lt:0]).range([l,0]).nice(),g=we.linear().domain([A?Dt:rt,A?B>0?B:0:Y>0?Y:0]).range([l,0]).nice(),qt=ve.line().defined(Qe).x(i=>m(i.date)).y(i=>k(i.y1)).curve(Ut),At=ve.line().defined(Ke).x(i=>m(i.date)).y(i=>g(i.y2)).curve(Ut),Yt=k.ticks(pt),Bt=g.ticks(pt),Mt=m.ticks(Kt);b.useEffect(()=>{const i=ye=>{const je=r[Se.bisectCenter(r.map(Je),m.invert(De.pointer(ye)[0]),0)];Lt(je||r[r.length-1]),Nt?.(je||r[r.length-1]),Wt(ye.clientY),p(ye.clientX)},R=()=>{Lt(void 0),p(void 0),Wt(void 0),Nt?.(void 0)};Ie.select(X.current).on("mousemove",i).on("mouseout",R)},[m,r,Nt]);let at;t[20]!==s||t[21]!==l||t[22]!==x||t[23]!==vt||t[24]!==d||t[25]!==m?(at=n.jsxRuntimeExports.jsx(Oe.HighlightArea,{areaSettings:vt,width:x,height:l,scale:m,animate:s,isInView:d}),t[20]=s,t[21]=l,t[22]=x,t[23]=vt,t[24]=d,t[25]=m,t[26]=at):at=t[26];const wt=c?.xAxis?.axis;let T;t[27]!==wt?(T={axis:wt},t[27]=wt,t[28]=T):T=t[28];let L;t[29]!==a?.xAxis?.axis?(L=a?.xAxis?.axis||{},t[29]=a?.xAxis?.axis,t[30]=L):L=t[30];let C;t[31]!==o[0]||t[32]!==L?(C={axis:{stroke:o[0],...L}},t[31]=o[0],t[32]=L,t[33]=C):C=t[33];let ct;t[34]!==l||t[35]!==T||t[36]!==C?(ct=n.jsxRuntimeExports.jsx(ge.Axis,{y1:0,y2:l,x1:-15,x2:-15,classNames:T,styles:C}),t[34]=l,t[35]=T,t[36]=C,t[37]=ct):ct=t[37];let V;t[38]!==c?.yAxis?.title||t[39]!==l||t[40]!==j||t[41]!==o[0]||t[42]!==h.left||t[43]!==W||t[44]!==a?.yAxis?.title?(V=W?n.jsxRuntimeExports.jsx(Ae.AxisTitle,{x:10-h.left,y:l/2,style:{fill:o[0],...a?.yAxis?.title||{}},className:c?.yAxis?.title,text:j[0].length>100?`${j[0].substring(0,100)}...`:j[0],rotate90:!0}):null,t[38]=c?.yAxis?.title,t[39]=l,t[40]=j,t[41]=o[0],t[42]=h.left,t[43]=W,t[44]=a?.yAxis?.title,t[45]=V):V=t[45];const zt=x+15,ut=x+15,Jt=c?.xAxis?.axis;let $;t[46]!==Jt?($={axis:Jt},t[46]=Jt,t[47]=$):$=t[47];let z;t[48]!==a?.xAxis?.axis?(z=a?.xAxis?.axis||{},t[48]=a?.xAxis?.axis,t[49]=z):z=t[49];let I;t[50]!==o[1]||t[51]!==z?(I={axis:{stroke:o[1],...z}},t[50]=o[1],t[51]=z,t[52]=I):I=t[52];let J;t[53]!==l||t[54]!==zt||t[55]!==ut||t[56]!==$||t[57]!==I?(J=n.jsxRuntimeExports.jsx(ge.Axis,{y1:0,y2:l,x1:zt,x2:ut,classNames:$,styles:I}),t[53]=l,t[54]=zt,t[55]=ut,t[56]=$,t[57]=I,t[58]=J):J=t[58];let xt;t[59]!==c?.yAxis?.title||t[60]!==l||t[61]!==x||t[62]!==j||t[63]!==o[1]||t[64]!==h.right||t[65]!==W||t[66]!==a?.yAxis?.title?(xt=W?n.jsxRuntimeExports.jsx(Ae.AxisTitle,{x:x+h.right-15,y:l/2,style:{fill:o[1],...a?.yAxis?.title||{}},className:c?.yAxis?.title,text:j[1].length>100?`${j[1].substring(0,100)}...`:j[1],rotate90:!0}):null,t[59]=c?.yAxis?.title,t[60]=l,t[61]=x,t[62]=j,t[63]=o[1],t[64]=h.right,t[65]=W,t[66]=a?.yAxis?.title,t[67]=xt):xt=t[67];const Et=x+15,F=c?.xAxis?.axis;let w;t[68]!==F?(w={axis:F},t[68]=F,t[69]=w):w=t[69];const P=a?.xAxis?.axis;let E;t[70]!==P?(E={axis:P},t[70]=P,t[71]=E):E=t[71];let S;t[72]!==l||t[73]!==Et||t[74]!==w||t[75]!==E?(S=n.jsxRuntimeExports.jsx(ge.Axis,{y1:l,y2:l,x1:-15,x2:Et,classNames:w,styles:E}),t[72]=l,t[73]=Et,t[74]=w,t[75]=E,t[76]=S):S=t[76];let D;t[77]!==f?(D=i=>Ft.format(i,f),t[77]=f,t[78]=D):D=t[78];const Tt=Mt.map(D),Zt=Mt.map(i=>m(i)),Ct=a?.xAxis?.gridLines,fe=a?.xAxis?.labels;let _t;t[79]!==Ct||t[80]!==fe?(_t={gridLines:Ct,labels:fe},t[79]=Ct,t[80]=fe,t[81]=_t):_t=t[81];const pe=c?.xAxis?.gridLines;let Vt;t[82]!==pe?(Vt=n.mo("opacity-0",pe),t[82]=pe,t[83]=Vt):Vt=t[83];const de=c?.xAxis?.labels;let $t;t[84]!==de?($t=n.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",de),t[84]=de,t[85]=$t):$t=t[85];let te;t[86]!==Vt||t[87]!==$t?(te={gridLines:Vt,labels:$t},t[86]=Vt,t[87]=$t,t[88]=te):te=t[88];let ee;t[89]!==U?(ee=U.filter(ze).map(Be),t[89]=U,t[90]=ee):ee=t[90];let ie;t[91]!==o[0]||t[92]!==G?(ie={stroke:o[0],strokeWidth:G,fill:"none"},t[91]=o[0],t[92]=G,t[93]=ie):ie=t[93];let ne;t[94]!==s.duration?(ne={opacity:0,transition:{duration:s.duration}},t[94]=s.duration,t[95]=ne):ne=t[95];let se;t[96]!==o[1]||t[97]!==G?(se={stroke:o[1],strokeWidth:G,fill:"none"},t[96]=o[1],t[97]=G,t[98]=se):se=t[98];let oe;t[99]!==s.duration?(oe={opacity:0,transition:{duration:s.duration}},t[99]=s.duration,t[100]=oe):oe=t[100];const he=r.map((i,R)=>n.jsxRuntimeExports.jsxs(mt.motion.g,{children:[q.checkIfNullOrUndefined(i.y1)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[M?n.jsxRuntimeExports.jsx(mt.motion.circle,{r:x/r.length<5?0:x/r.length<20?2:4,exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,cx:m(i.date),cy:k(i.y1),fill:o[0]},whileInView:{opacity:1,fill:o[0],transition:{duration:y?s.duration:.5,delay:y?0:s.duration},cx:m(i.date),cy:k(i.y1)}},initial:"initial",animate:d?"whileInView":"initial"}):null,Rt?n.jsxRuntimeExports.jsx(mt.motion.text,{dy:q.checkIfNullOrUndefined(i.y2)||i.y2<i.y1?-8:"1em",style:{textAnchor:"middle",...a?.graphObjectValues||{}},className:n.mo("graph-value graph-value-line-1 text-xs font-bold",c?.graphObjectValues),exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,x:m(i.date),y:g(i.y1),fill:o[0]},whileInView:{opacity:1,x:m(i.date),fill:o[0],y:g(i.y1),transition:{duration:y?s.duration:.5,delay:y?0:s.duration}}},initial:"initial",animate:d?"whileInView":"initial",children:xe.numberFormattingFunction(i.y1,"NA",et,_[0],H[0])}):null]}),q.checkIfNullOrUndefined(i.y2)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[M?n.jsxRuntimeExports.jsx(mt.motion.circle,{r:x/r.length<5?0:x/r.length<20?2:4,exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,cx:m(i.date),cy:g(i.y2),fill:o[1]},whileInView:{opacity:1,transition:{duration:y?s.duration:.5,delay:y?0:s.duration},fill:o[1],cx:m(i.date),cy:g(i.y2)}},initial:"initial",animate:d?"whileInView":"initial"}):null,Rt?n.jsxRuntimeExports.jsx(mt.motion.text,{dy:q.checkIfNullOrUndefined(i.y1)||i.y1<i.y2?-8:"1em",style:{textAnchor:"middle",...a?.graphObjectValues||{}},className:n.mo("graph-value graph-value-line-2 text-xs font-bold",c?.graphObjectValues),exit:{opacity:0,transition:{duration:s.duration}},variants:{initial:{opacity:0,x:m(i.date),y:g(i.y2),fill:o[1]},whileInView:{opacity:1,x:m(i.date),y:g(i.y2),fill:o[1],transition:{duration:y?s.duration:.5,delay:y?0:s.duration}}},initial:"initial",animate:d?"whileInView":"initial",children:xe.numberFormattingFunction(i.y2,"NA",et,_[1],H[1])}):null]})]},R));let re;t[101]!==he?(re=n.jsxRuntimeExports.jsx("g",{children:he}),t[101]=he,t[102]=re):re=t[102];let le;t[103]!==U?(le=U.filter(Ge).map(Pe),t[103]=U,t[104]=le):le=t[104];let ae;t[105]===Symbol.for("react.memo_cache_sentinel")?(ae={fill:"none",pointerEvents:"all"},t[105]=ae):ae=t[105];let ce;t[106]!==X||t[107]!==l||t[108]!==x?(ce=n.jsxRuntimeExports.jsx("rect",{ref:X,style:ae,width:x,height:l}),t[106]=X,t[107]=l,t[108]=x,t[109]=ce):ce=t[109];let ue;return t[110]!==c?.tooltip||t[111]!==gt||t[112]!==u||t[113]!==N||t[114]!==a?.tooltip||t[115]!==ft?(ue=N&&ft&&gt&&u?n.jsxRuntimeExports.jsx(ke.Tooltip,{data:N,body:ft,xPos:gt,yPos:u,backgroundStyle:a?.tooltip,className:c?.tooltip}):null,t[110]=c?.tooltip,t[111]=gt,t[112]=u,t[113]=N,t[114]=a?.tooltip,t[115]=ft,t[116]=ue):ue=t[116],n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(mt.motion.svg,{width:`${K}px`,height:`${Q}px`,viewBox:`0 0 ${K} ${Q}`,direction:"ltr",ref:Gt,children:n.jsxRuntimeExports.jsxs("g",{transform:`translate(${h.left},${h.top})`,children:[at,n.jsxRuntimeExports.jsxs("g",{children:[Yt.map((i,R)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:k(i),y2:k(i),x1:-15,x2:-20,style:{stroke:o[0],strokeWidth:1,...a?.yAxis?.gridLines||{}},className:c?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:-25,y:k(i),dy:"0.33em",className:n.mo("text-xs",c?.yAxis?.labels),style:{textAnchor:"end",fill:o[0],...a?.yAxis?.labels||{}},children:xe.numberFormattingFunction(i,"NA",et,_[0],H[0])})]},R)),ct,V]}),n.jsxRuntimeExports.jsxs("g",{children:[Bt.map((i,R)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:g(i),y2:g(i),x1:x+15,x2:x+20,style:{stroke:o[1],strokeWidth:1,...a?.yAxis?.gridLines||{}},className:c?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:x+25,y:g(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:o[1],...a?.yAxis?.labels||{}},className:n.mo("text-xs",c?.yAxis?.labels),children:xe.numberFormattingFunction(i,"NA",et,_[1],H[1])})]},R)),J,xt]}),n.jsxRuntimeExports.jsxs("g",{children:[S,n.jsxRuntimeExports.jsx(Ne.XTicksAndGridLines,{values:Tt,x:Zt,y1:0,y2:l,styles:_t,classNames:te,labelType:"primary",showGridLines:!0,precision:et})]}),ee,n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(mt.motion.path,{style:ie,exit:ne,variants:{initial:{pathLength:0,d:qt(r.filter(Ye))||"",opacity:1},whileInView:{pathLength:1,d:qt(r.filter(Xe))||"",opacity:1,transition:{duration:s.duration}}},initial:"initial",animate:d?"whileInView":"initial"}),n.jsxRuntimeExports.jsx(mt.motion.path,{d:At(r.filter(We))||"",style:se,exit:oe,variants:{initial:{pathLength:0,d:At(r.filter(Ue))||"",opacity:1},whileInView:{pathLength:1,d:At(r.filter(He))||"",opacity:1,transition:{duration:s.duration}}},initial:"initial",animate:d?"whileInView":"initial"}),N?n.jsxRuntimeExports.jsx("line",{y1:0,y2:l,x1:m(N.date),x2:m(N.date),className:n.mo("undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100",c?.mouseOverLine),style:a?.mouseOverLine}):null]}),re,le,ce]})}),ue]})}function Pe(e){return e.layer}function Ge(e){return e.position==="after"}function He(e){return!q.checkIfNullOrUndefined(e.y2)}function Ue(e){return!q.checkIfNullOrUndefined(e.y2)}function We(e){return!q.checkIfNullOrUndefined(e.y2)}function Xe(e){return!q.checkIfNullOrUndefined(e.y1)}function Ye(e){return!q.checkIfNullOrUndefined(e.y1)}function Be(e){return e.layer}function ze(e){return e.position==="before"}function Je(e){return e.date}function Ke(e){return!q.checkIfNullOrUndefined(e.y2)}function Qe(e){return!q.checkIfNullOrUndefined(e.y1)}function Ze(e){return e!=null}function _e(e){return e.y2}function ti(e){return e!=null}function ei(e){return e.y2}function ii(e){return e!=null}function ni(e){return e.y1}function si(e){return e!=null}function oi(e){return e.y1}function ri(e){return e!=null}function li(e){return e.y2}function ai(e){return e!=null}function ci(e){return e.y2}function ui(e){return e!=null}function xi(e){return e.y2}function mi(e){return e!=null}function fi(e){return e.y1}function pi(e){return e!=null}function di(e){return e.y2}function hi(e){return e!=null}function yi(e){return e.y1}function gi(e){const t=n.compilerRuntimeExports.c(90),{data:v,graphTitle:K,sources:Q,graphDescription:o,height:j,width:A,footNote:f,noOfXTicks:Rt,dateFormat:Kt,showValues:Qt,padding:Pt,lineColors:Z,sameAxes:bt,backgroundColor:ft,leftMargin:kt,rightMargin:Nt,topMargin:s,bottomMargin:G,labels:M,lineSuffixes:pt,linePrefixes:H,tooltip:_,highlightAreaSettings:dt,relativeHeight:Ot,onSeriesMouseOver:tt,graphID:a,graphDownload:c,dataDownload:et,animate:U,strokeWidth:W,showDots:Gt,language:ht,showColorScale:d,minHeight:y,colorLegendTitle:Ht,theme:yt,ariaLabel:it,noOfYTicks:Ut,maxDate:N,minDate:Lt,curveType:gt,styles:p,classNames:u,precision:Wt,customLayers:nt,showAxisLabels:It}=e,st=Kt===void 0?"yyyy":Kt,h=Qt===void 0?!1:Qt;let X;t[0]!==Z?(X=Z===void 0?[Ee.Colors.light.categoricalColors.colors[0],Ee.Colors.light.categoricalColors.colors[1]]:Z,t[0]=Z,t[1]=X):X=t[1];const O=X,r=bt===void 0?!1:bt,ot=ft===void 0?!1:ft,vt=kt===void 0?80:kt,x=Nt===void 0?80:Nt,l=s===void 0?20:s,Xt=G===void 0?25:G;let St;t[2]!==pt?(St=pt===void 0?["",""]:pt,t[2]=pt,t[3]=St):St=t[3];const jt=St;let rt;t[4]!==H?(rt=H===void 0?["",""]:H,t[4]=H,t[5]=rt):rt=t[5];const lt=rt;let Y;t[6]!==dt?(Y=dt===void 0?[]:dt,t[6]=dt,t[7]=Y):Y=t[7];const Dt=Y,B=c===void 0?!1:c,m=et===void 0?!1:et,k=U===void 0?!1:U,g=W===void 0?2:W,qt=Gt===void 0?!0:Gt,At=ht===void 0?"en":ht,Yt=d===void 0?!0:d,Bt=y===void 0?0:y,Mt=yt===void 0?"light":yt,at=Ut===void 0?5:Ut,wt=gt===void 0?"curve":gt,T=Wt===void 0?2:Wt;let L;t[8]!==nt?(L=nt===void 0?[]:nt,t[8]=nt,t[9]=L):L=t[9];const C=L,ct=It===void 0?!0:It,[V,zt]=b.useState(0),[ut,Jt]=b.useState(0),$=b.useRef(null),z=b.useRef(null);let I,J;t[10]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{const Zt=new ResizeObserver(Ct=>{zt(Ct[0].target.clientWidth||620),Jt(Ct[0].target.clientHeight||480)});return $.current&&Zt.observe($.current),()=>Zt.disconnect()},J=[],t[10]=I,t[11]=J):(I=t[10],J=t[11]),b.useEffect(I,J);const xt=u?.graphContainer,Et=p?.graphContainer;let F;t[12]!==u?.description||t[13]!==u?.title||t[14]!==v||t[15]!==m||t[16]!==o||t[17]!==B||t[18]!==K||t[19]!==p?.description||t[20]!==p?.title||t[21]!==A?(F=K||o||B||m?n.jsxRuntimeExports.jsx(Te.GraphHeader,{styles:{title:p?.title,description:p?.description},classNames:{title:u?.title,description:u?.description},graphTitle:K,graphDescription:o,width:A,graphDownload:B?z:void 0,dataDownload:m?v.map(Ei).filter(wi).length>0?v.map(Ai).filter(ji):v.filter(vi):null}):null,t[12]=u?.description,t[13]=u?.title,t[14]=v,t[15]=m,t[16]=o,t[17]=B,t[18]=K,t[19]=p?.description,t[20]=p?.title,t[21]=A,t[22]=F):F=t[22];let w;t[23]!==u?.colorLegend||t[24]!==Ht||t[25]!==M||t[26]!==O||t[27]!==Yt?(w=Yt&&M.length>0?n.jsxRuntimeExports.jsx(Ce.ColorLegend,{colorDomain:M,colorLegendTitle:Ht,colors:O,showNAColor:!1,className:u?.colorLegend}):null,t[23]=u?.colorLegend,t[24]=Ht,t[25]=M,t[26]=O,t[27]=Yt,t[28]=w):w=t[28];let P;t[29]!==v.length?(P=v.length===0&&n.jsxRuntimeExports.jsx(Ve.EmptyState,{}),t[29]=v.length,t[30]=P):P=t[30];let E;t[31]!==k||t[32]!==Xt||t[33]!==u||t[34]!==wt||t[35]!==C||t[36]!==v||t[37]!==st||t[38]!==Dt||t[39]!==M||t[40]!==vt||t[41]!==O||t[42]!==lt||t[43]!==jt||t[44]!==N||t[45]!==Lt||t[46]!==Rt||t[47]!==at||t[48]!==tt||t[49]!==T||t[50]!==x||t[51]!==r||t[52]!==ct||t[53]!==qt||t[54]!==h||t[55]!==g||t[56]!==p||t[57]!==ut||t[58]!==V||t[59]!==_||t[60]!==l?(E=V&&ut&&v.length>0?n.jsxRuntimeExports.jsx(Fe,{data:v,sameAxes:r,lineColors:O,width:V,height:ut,dateFormat:st,showValues:h,noOfXTicks:Rt??$e.getNoOfTicks(V),leftMargin:vt,rightMargin:x,topMargin:l,bottomMargin:Xt,labels:M,highlightAreaSettings:Dt,tooltip:_,onSeriesMouseOver:tt,animate:k===!0?{duration:.5,once:!0,amount:.5}:k||{duration:0,once:!0,amount:0},strokeWidth:g,showDots:qt,noOfYTicks:at,lineSuffixes:jt,linePrefixes:lt,minDate:Lt,maxDate:N,curveType:wt,styles:p,classNames:u,precision:T,customLayers:C,showAxisLabels:ct}):null,t[31]=k,t[32]=Xt,t[33]=u,t[34]=wt,t[35]=C,t[36]=v,t[37]=st,t[38]=Dt,t[39]=M,t[40]=vt,t[41]=O,t[42]=lt,t[43]=jt,t[44]=N,t[45]=Lt,t[46]=Rt,t[47]=at,t[48]=tt,t[49]=T,t[50]=x,t[51]=r,t[52]=ct,t[53]=qt,t[54]=h,t[55]=g,t[56]=p,t[57]=ut,t[58]=V,t[59]=_,t[60]=l,t[61]=E):E=t[61];let S;t[62]!==P||t[63]!==E?(S=n.jsxRuntimeExports.jsxs(Re.GraphArea,{ref:$,children:[P,E]}),t[62]=P,t[63]=E,t[64]=S):S=t[64];let D;t[65]!==u?.footnote||t[66]!==u?.source||t[67]!==f||t[68]!==Q||t[69]!==p?.footnote||t[70]!==p?.source||t[71]!==A?(D=Q||f?n.jsxRuntimeExports.jsx(Me.GraphFooter,{styles:{footnote:p?.footnote,source:p?.source},classNames:{footnote:u?.footnote,source:u?.source},sources:Q,footNote:f,width:A}):null,t[65]=u?.footnote,t[66]=u?.source,t[67]=f,t[68]=Q,t[69]=p?.footnote,t[70]=p?.source,t[71]=A,t[72]=D):D=t[72];let Tt;return t[73]!==it||t[74]!==ot||t[75]!==a||t[76]!==j||t[77]!==At||t[78]!==Bt||t[79]!==Pt||t[80]!==Ot||t[81]!==xt||t[82]!==Et||t[83]!==F||t[84]!==w||t[85]!==S||t[86]!==D||t[87]!==Mt||t[88]!==A?(Tt=n.jsxRuntimeExports.jsxs(Re.GraphContainer,{className:xt,style:Et,id:a,ref:z,"aria-label":it,backgroundColor:ot,theme:Mt,language:At,minHeight:Bt,width:A,height:j,relativeHeight:Ot,padding:Pt,children:[F,w,S,D]}),t[73]=it,t[74]=ot,t[75]=a,t[76]=j,t[77]=At,t[78]=Bt,t[79]=Pt,t[80]=Ot,t[81]=xt,t[82]=Et,t[83]=F,t[84]=w,t[85]=S,t[86]=D,t[87]=Mt,t[88]=A,t[89]=Tt):Tt=t[89],Tt}function vi(e){return e!==void 0}function ji(e){return e!==void 0}function Ai(e){return e.data}function wi(e){return e!==void 0}function Ei(e){return e.data}exports.DualAxisLineChart=gi;
2
2
  //# sourceMappingURL=DualAxisLineChart.cjs.map
@@ -1,29 +1,29 @@
1
- import { c as Ne, j as n, m as bt } from "./index-CHPV5EwG-Curnpaqc.js";
1
+ import { c as Ne, j as n, m as bt } from "./index-CHPV5EwG-DecW7_qr.js";
2
2
  import { useRef as xe, useState as Wt, useEffect as Ae } from "react";
3
- import { p as Kt, f as De } from "./parse-DlCRUFh_.js";
3
+ import { p as Kt, f as De } from "./parse-Dv4of-PN.js";
4
4
  import { o as Me } from "./index-BZQYSqar.js";
5
5
  import { n as fe } from "./numberFormattingFunction-14YCbkN2.js";
6
- import { T as Oe } from "./Tooltip-Dj5eVppQ.js";
6
+ import { T as Oe } from "./Tooltip-BRnAz2Gv.js";
7
7
  import { c as V } from "./checkIfNullOrUndefined-DmfiKkNw.js";
8
- import { X as Se } from "./XTicksAndGridLines-CObVFSm4.js";
9
- import { A as ve } from "./Axis-CRyfcLjc.js";
10
- import { A as je } from "./AxisTitle-jeI7am8o.js";
11
- import { H as Te } from "./index-SKgJALZg.js";
12
- import { t as Ve } from "./time-BUL-dwnK.js";
13
- import { a as be } from "./linear-BqltdMeF.js";
8
+ import { X as Se } from "./XTicksAndGridLines-CVZkZkpS.js";
9
+ import { A as ve } from "./Axis-DoOqnt6g.js";
10
+ import { A as je } from "./AxisTitle-VFq89Olw.js";
11
+ import { H as Te } from "./index-CSiFiXPj.js";
12
+ import { t as Ve } from "./time-CAtex-RV.js";
13
+ import { a as be } from "./linear-CalFSAaO.js";
14
14
  import { l as ke, c as Ie } from "./line-DFlZsxI1.js";
15
15
  import { c as $e, s as Ce, a as Pe, m as Fe } from "./step-BrDul-H4.js";
16
16
  import { s as He } from "./select-DKy99ogv.js";
17
+ import { m as ut } from "./proxy-DRuSUlPL.js";
17
18
  import { a as We } from "./init-BhZylTFx.js";
18
19
  import { p as Xe } from "./pointer-CWRWOsrb.js";
19
- import { u as Ee } from "./use-in-view-Cxa7y1TH.js";
20
- import { m as ut } from "./proxy-BxkFHwUw.js";
20
+ import { u as Ee } from "./use-in-view-Dl5L8LtP.js";
21
21
  import { GraphFooter as Ge } from "./GraphFooter.js";
22
22
  import { GraphHeader as Ye } from "./GraphHeader.js";
23
23
  import { ColorLegend as Re } from "./ColorLegend.js";
24
24
  import { Colors as Le } from "./Colors.js";
25
- import { E as Be } from "./EmptyState-C7ZXkZWd.js";
26
- import { a as ze, G as Ue } from "./GraphContainer-CRqzdKu2.js";
25
+ import { E as Be } from "./EmptyState-tZBErBKF.js";
26
+ import { a as ze, G as Ue } from "./GraphContainer-CF6ws3pd.js";
27
27
  import { g as qe } from "./getNoOfTicks-CpmRjcRF.js";
28
28
  function Je(e) {
29
29
  const t = Ne.c(117), {
@@ -319,7 +319,7 @@ function Je(e) {
319
319
  let re;
320
320
  t[103] !== G ? (re = G.filter(Qe).map(Ke), t[103] = G, t[104] = re) : re = t[104];
321
321
  let ce;
322
- t[105] === Symbol.for("react.memo_cache_sentinel") ? (ce = {
322
+ t[105] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ce = {
323
323
  fill: "none",
324
324
  pointerEvents: "all"
325
325
  }, t[105] = ce) : ce = t[105];
@@ -567,7 +567,7 @@ function ln(e) {
567
567
  t[8] !== it ? (M = it === void 0 ? [] : it, t[8] = it, t[9] = M) : M = t[9];
568
568
  const C = M, rt = St === void 0 ? !0 : St, [P, qt] = Wt(0), [ct, Jt] = Wt(0), F = xe(null), U = xe(null);
569
569
  let O, q;
570
- t[10] === Symbol.for("react.memo_cache_sentinel") ? (O = () => {
570
+ t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = () => {
571
571
  const _t = new ResizeObserver((Pt) => {
572
572
  qt(Pt[0].target.clientWidth || 620), Jt(Pt[0].target.clientHeight || 480);
573
573
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n lineSuffixes: [string, string];\r\n linePrefixes: [string, string];\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n lineSuffixes,\r\n linePrefixes,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n precision,\r\n customLayers,\r\n showAxisLabels,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[0], lineSuffixes[0])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[1], lineSuffixes[1])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n 'NA',\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n 'NA',\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for the 2 lines */\r\n lineColors?: [string, string];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values of the lines */\r\n linePrefixes?: [string, string];\r\n /** Suffix for values of the lines */\r\n lineSuffixes?: [string, string];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n lineSuffixes = ['', ''],\r\n linePrefixes = ['', ''],\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n precision = 2,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && labels.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n lineSuffixes={lineSuffixes}\r\n linePrefixes={linePrefixes}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","lineSuffixes","linePrefixes","minDate","maxDate","curveType","styles","classNames","precision","customLayers","showAxisLabels","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegend","EmptyState","getNoOfTicks","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
1
+ {"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n lineSuffixes: [string, string];\r\n linePrefixes: [string, string];\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n lineSuffixes,\r\n linePrefixes,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n precision,\r\n customLayers,\r\n showAxisLabels,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[0], lineSuffixes[0])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[1], lineSuffixes[1])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n 'NA',\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n 'NA',\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for the 2 lines */\r\n lineColors?: [string, string];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values of the lines */\r\n linePrefixes?: [string, string];\r\n /** Suffix for values of the lines */\r\n lineSuffixes?: [string, string];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n lineSuffixes = ['', ''],\r\n linePrefixes = ['', ''],\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n precision = 2,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && labels.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n lineSuffixes={lineSuffixes}\r\n linePrefixes={linePrefixes}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","lineSuffixes","linePrefixes","minDate","maxDate","curveType","styles","classNames","precision","customLayers","showAxisLabels","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegend","EmptyState","getNoOfTicks","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}