@undp/data-viz 2.4.1 → 2.5.1

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 (271) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.d.ts +11 -9
  4. package/dist/AreaChart.js +320 -322
  5. package/dist/AreaChart.js.map +1 -1
  6. package/dist/BarGraph.cjs +1 -1
  7. package/dist/BarGraph.cjs.map +1 -1
  8. package/dist/BarGraph.d.ts +15 -25
  9. package/dist/BarGraph.js +1694 -1694
  10. package/dist/BarGraph.js.map +1 -1
  11. package/dist/BasicStatCard.cjs +1 -1
  12. package/dist/BasicStatCard.cjs.map +1 -1
  13. package/dist/BasicStatCard.d.ts +13 -9
  14. package/dist/BasicStatCard.js +79 -81
  15. package/dist/BasicStatCard.js.map +1 -1
  16. package/dist/BeeSwarmChart.cjs +1 -1
  17. package/dist/BeeSwarmChart.cjs.map +1 -1
  18. package/dist/BeeSwarmChart.d.ts +11 -9
  19. package/dist/BeeSwarmChart.js +335 -336
  20. package/dist/BeeSwarmChart.js.map +1 -1
  21. package/dist/BiVariateChoroplethMap.cjs +1 -1
  22. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  23. package/dist/BiVariateChoroplethMap.d.ts +13 -3
  24. package/dist/BiVariateChoroplethMap.js +309 -304
  25. package/dist/BiVariateChoroplethMap.js.map +1 -1
  26. package/dist/BulletChart.cjs +1 -1
  27. package/dist/BulletChart.cjs.map +1 -1
  28. package/dist/BulletChart.d.ts +11 -5
  29. package/dist/BulletChart.js +560 -559
  30. package/dist/BulletChart.js.map +1 -1
  31. package/dist/ButterflyChart.cjs +1 -1
  32. package/dist/ButterflyChart.cjs.map +1 -1
  33. package/dist/ButterflyChart.d.ts +11 -9
  34. package/dist/ButterflyChart.js +348 -350
  35. package/dist/ButterflyChart.js.map +1 -1
  36. package/dist/ChoroplethMap.cjs +1 -1
  37. package/dist/ChoroplethMap.cjs.map +1 -1
  38. package/dist/ChoroplethMap.d.ts +11 -3
  39. package/dist/ChoroplethMap.js +314 -311
  40. package/dist/ChoroplethMap.js.map +1 -1
  41. package/dist/CirclePackingGraph.cjs +1 -1
  42. package/dist/CirclePackingGraph.d.ts +11 -9
  43. package/dist/CirclePackingGraph.js +1 -1
  44. package/dist/DataCards.cjs +1 -1
  45. package/dist/DataCards.d.ts +1 -1
  46. package/dist/DataCards.js +1 -1
  47. package/dist/DataTable.cjs +1 -1
  48. package/dist/DataTable.cjs.map +1 -1
  49. package/dist/DataTable.d.ts +4 -5
  50. package/dist/DataTable.js +114 -116
  51. package/dist/DataTable.js.map +1 -1
  52. package/dist/{DetailsModal-jmmKRMRM.cjs → DetailsModal-Du8Fr1QD.cjs} +2 -2
  53. package/dist/{DetailsModal-jmmKRMRM.cjs.map → DetailsModal-Du8Fr1QD.cjs.map} +1 -1
  54. package/dist/{DetailsModal-B2XBWR7w.js → DetailsModal-GqEbGHY2.js} +2 -2
  55. package/dist/{DetailsModal-B2XBWR7w.js.map → DetailsModal-GqEbGHY2.js.map} +1 -1
  56. package/dist/DifferenceLineChart.cjs +1 -1
  57. package/dist/DifferenceLineChart.cjs.map +1 -1
  58. package/dist/DifferenceLineChart.d.ts +11 -9
  59. package/dist/DifferenceLineChart.js +502 -504
  60. package/dist/DifferenceLineChart.js.map +1 -1
  61. package/dist/DonutChart.cjs +1 -1
  62. package/dist/DonutChart.cjs.map +1 -1
  63. package/dist/DonutChart.d.ts +14 -9
  64. package/dist/DonutChart.js +174 -179
  65. package/dist/DonutChart.js.map +1 -1
  66. package/dist/DotDensityMap.cjs +1 -1
  67. package/dist/DotDensityMap.cjs.map +1 -1
  68. package/dist/DotDensityMap.d.ts +1 -1
  69. package/dist/DotDensityMap.js +270 -267
  70. package/dist/DotDensityMap.js.map +1 -1
  71. package/dist/DualAxisLineChart.cjs +1 -1
  72. package/dist/DualAxisLineChart.cjs.map +1 -1
  73. package/dist/DualAxisLineChart.d.ts +13 -9
  74. package/dist/DualAxisLineChart.js +341 -351
  75. package/dist/DualAxisLineChart.js.map +1 -1
  76. package/dist/DumbbellChart.cjs +1 -1
  77. package/dist/DumbbellChart.cjs.map +1 -1
  78. package/dist/DumbbellChart.d.ts +11 -9
  79. package/dist/DumbbellChart.js +592 -593
  80. package/dist/DumbbellChart.js.map +1 -1
  81. package/dist/GeoHubCompareMaps.cjs +1 -1
  82. package/dist/GeoHubCompareMaps.d.ts +1 -1
  83. package/dist/GeoHubCompareMaps.js +1 -1
  84. package/dist/GeoHubMap.cjs +1 -1
  85. package/dist/GeoHubMap.d.ts +1 -1
  86. package/dist/GeoHubMap.js +1 -1
  87. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  88. package/dist/GeoHubMapWithLayerSelection.d.ts +1 -1
  89. package/dist/GeoHubMapWithLayerSelection.js +1 -1
  90. package/dist/GraphEl-BgkDbq50.cjs +2 -0
  91. package/dist/GraphEl-BgkDbq50.cjs.map +1 -0
  92. package/dist/GraphEl-Ch0uAeZw.js +1830 -0
  93. package/dist/GraphEl-Ch0uAeZw.js.map +1 -0
  94. package/dist/GriddedGraphs.cjs +1 -1
  95. package/dist/GriddedGraphs.d.ts +29 -16
  96. package/dist/GriddedGraphs.js +1 -1
  97. package/dist/GriddedGraphsFromConfig.d.ts +29 -16
  98. package/dist/HeatMap.cjs +1 -1
  99. package/dist/HeatMap.cjs.map +1 -1
  100. package/dist/HeatMap.d.ts +11 -9
  101. package/dist/HeatMap.js +203 -205
  102. package/dist/HeatMap.js.map +1 -1
  103. package/dist/Histogram.cjs +1 -1
  104. package/dist/Histogram.cjs.map +1 -1
  105. package/dist/Histogram.d.ts +11 -5
  106. package/dist/Histogram.js +88 -89
  107. package/dist/Histogram.js.map +1 -1
  108. package/dist/HybridMap.cjs +1 -1
  109. package/dist/HybridMap.cjs.map +1 -1
  110. package/dist/HybridMap.d.ts +11 -3
  111. package/dist/HybridMap.js +339 -336
  112. package/dist/HybridMap.js.map +1 -1
  113. package/dist/ImageDownloadButton.cjs +1 -1
  114. package/dist/ImageDownloadButton.js +1 -1
  115. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  116. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  117. package/dist/LineChartWithConfidenceInterval.d.ts +11 -9
  118. package/dist/LineChartWithConfidenceInterval.js +393 -395
  119. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  120. package/dist/LinearColorLegend.cjs +1 -1
  121. package/dist/LinearColorLegend.js +1 -1
  122. package/dist/MultiGraphDashboard.d.ts +29 -16
  123. package/dist/MultiGraphDashboardFromConfig.d.ts +29 -16
  124. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -1
  125. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -1
  126. package/dist/MultiLineAltChart.cjs +1 -1
  127. package/dist/MultiLineAltChart.cjs.map +1 -1
  128. package/dist/MultiLineAltChart.d.ts +11 -9
  129. package/dist/MultiLineAltChart.js +411 -413
  130. package/dist/MultiLineAltChart.js.map +1 -1
  131. package/dist/MultiLineChart.cjs +1 -1
  132. package/dist/MultiLineChart.cjs.map +1 -1
  133. package/dist/MultiLineChart.d.ts +11 -9
  134. package/dist/MultiLineChart.js +438 -440
  135. package/dist/MultiLineChart.js.map +1 -1
  136. package/dist/ParetoChart.cjs +1 -1
  137. package/dist/ParetoChart.cjs.map +1 -1
  138. package/dist/ParetoChart.d.ts +13 -13
  139. package/dist/ParetoChart.js +347 -355
  140. package/dist/ParetoChart.js.map +1 -1
  141. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +29 -16
  142. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +29 -16
  143. package/dist/PerformanceIntensiveScrollStory.d.ts +29 -16
  144. package/dist/RadarChart.cjs +1 -1
  145. package/dist/RadarChart.cjs.map +1 -1
  146. package/dist/RadarChart.d.ts +11 -5
  147. package/dist/RadarChart.js +213 -213
  148. package/dist/RadarChart.js.map +1 -1
  149. package/dist/SankeyChart.cjs +1 -1
  150. package/dist/SankeyChart.cjs.map +1 -1
  151. package/dist/SankeyChart.d.ts +11 -9
  152. package/dist/SankeyChart.js +448 -450
  153. package/dist/SankeyChart.js.map +1 -1
  154. package/dist/ScatterPlot.cjs +1 -1
  155. package/dist/ScatterPlot.cjs.map +1 -1
  156. package/dist/ScatterPlot.d.ts +15 -13
  157. package/dist/ScatterPlot.js +477 -483
  158. package/dist/ScatterPlot.js.map +1 -1
  159. package/dist/ScrollStory.d.ts +29 -16
  160. package/dist/SimpleLineChart.cjs +1 -1
  161. package/dist/SimpleLineChart.cjs.map +1 -1
  162. package/dist/SimpleLineChart.d.ts +11 -9
  163. package/dist/SimpleLineChart.js +362 -364
  164. package/dist/SimpleLineChart.js.map +1 -1
  165. package/dist/SingleGraphDashboard.cjs +1 -1
  166. package/dist/SingleGraphDashboard.d.ts +29 -16
  167. package/dist/SingleGraphDashboard.js +1 -1
  168. package/dist/SingleGraphDashboardFromConfig.d.ts +29 -16
  169. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +29 -16
  170. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +29 -16
  171. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  172. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  173. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +29 -16
  174. package/dist/SingleGraphDashboardThreeDGraphs.js +40 -39
  175. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  176. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +29 -16
  177. package/dist/SlopeChart.cjs +1 -1
  178. package/dist/SlopeChart.d.ts +1 -1
  179. package/dist/SlopeChart.js +2 -2
  180. package/dist/SparkLine.cjs +1 -1
  181. package/dist/SparkLine.d.ts +1 -1
  182. package/dist/SparkLine.js +1 -1
  183. package/dist/StatCardFromData.cjs +1 -1
  184. package/dist/StatCardFromData.cjs.map +1 -1
  185. package/dist/StatCardFromData.d.ts +11 -9
  186. package/dist/StatCardFromData.js +113 -116
  187. package/dist/StatCardFromData.js.map +1 -1
  188. package/dist/StripChart.cjs +1 -1
  189. package/dist/StripChart.cjs.map +1 -1
  190. package/dist/StripChart.d.ts +11 -9
  191. package/dist/StripChart.js +434 -435
  192. package/dist/StripChart.js.map +1 -1
  193. package/dist/ThreeDGlobe.cjs +1 -1
  194. package/dist/ThreeDGlobe.cjs.map +1 -1
  195. package/dist/ThreeDGlobe.d.ts +11 -3
  196. package/dist/ThreeDGlobe.js +143 -143
  197. package/dist/ThreeDGlobe.js.map +1 -1
  198. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  199. package/dist/ThresholdColorLegendWithMouseOver.js +1 -1
  200. package/dist/{Tooltip-Bj-s__cI.js → Tooltip-3EYDVa3w.js} +2 -2
  201. package/dist/{Tooltip-Bj-s__cI.js.map → Tooltip-3EYDVa3w.js.map} +1 -1
  202. package/dist/{Tooltip-Hr46paWP.cjs → Tooltip-C9F3uYG0.cjs} +2 -2
  203. package/dist/{Tooltip-Hr46paWP.cjs.map → Tooltip-C9F3uYG0.cjs.map} +1 -1
  204. package/dist/TreeMapGraph.cjs +1 -1
  205. package/dist/TreeMapGraph.cjs.map +1 -1
  206. package/dist/TreeMapGraph.d.ts +11 -9
  207. package/dist/TreeMapGraph.js +369 -371
  208. package/dist/TreeMapGraph.js.map +1 -1
  209. package/dist/Types.d.ts +29 -16
  210. package/dist/UnitChart.cjs +1 -1
  211. package/dist/UnitChart.cjs.map +1 -1
  212. package/dist/UnitChart.d.ts +11 -5
  213. package/dist/UnitChart.js +118 -119
  214. package/dist/UnitChart.js.map +1 -1
  215. package/dist/WaterfallChart.cjs +1 -1
  216. package/dist/WaterfallChart.cjs.map +1 -1
  217. package/dist/WaterfallChart.d.ts +11 -9
  218. package/dist/WaterfallChart.js +306 -308
  219. package/dist/WaterfallChart.js.map +1 -1
  220. package/dist/XTicksAndGridLines-B4UhDVyU.cjs +2 -0
  221. package/dist/XTicksAndGridLines-B4UhDVyU.cjs.map +1 -0
  222. package/dist/XTicksAndGridLines-CkYwVshF.js +40 -0
  223. package/dist/XTicksAndGridLines-CkYwVshF.js.map +1 -0
  224. package/dist/YTicksAndGridLines-BbujwxOB.js +40 -0
  225. package/dist/YTicksAndGridLines-BbujwxOB.js.map +1 -0
  226. package/dist/YTicksAndGridLines-sT3zdCs6.cjs +2 -0
  227. package/dist/YTicksAndGridLines-sT3zdCs6.cjs.map +1 -0
  228. package/dist/{imageDownload-Diofs_vY.js → imageDownload-BYsNEtMS.js} +11 -11
  229. package/dist/{imageDownload-Diofs_vY.js.map → imageDownload-BYsNEtMS.js.map} +1 -1
  230. package/dist/{imageDownload-61q6jyJW.cjs → imageDownload-CkMwA7Cw.cjs} +4 -4
  231. package/dist/{imageDownload-61q6jyJW.cjs.map → imageDownload-CkMwA7Cw.cjs.map} +1 -1
  232. package/dist/index-BPyj_6hG.js +375 -0
  233. package/dist/index-BPyj_6hG.js.map +1 -0
  234. package/dist/index-DuLvdHo2.cjs +2 -0
  235. package/dist/index-DuLvdHo2.cjs.map +1 -0
  236. package/dist/index.cjs +1 -1
  237. package/dist/index.d.ts +108 -245
  238. package/dist/index.js +3 -3
  239. package/dist/numberFormattingFunction-BUUV_luR.js +28 -0
  240. package/dist/numberFormattingFunction-BUUV_luR.js.map +1 -0
  241. package/dist/numberFormattingFunction-u2iNHL_c.cjs +2 -0
  242. package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +1 -0
  243. package/dist/{string2HTML-ZoGd08P_.cjs → string2HTML-30nfIm8R.cjs} +2 -2
  244. package/dist/{string2HTML-ZoGd08P_.cjs.map → string2HTML-30nfIm8R.cjs.map} +1 -1
  245. package/dist/{string2HTML-BrFperRM.js → string2HTML-DL-pInUB.js} +2 -2
  246. package/dist/{string2HTML-BrFperRM.js.map → string2HTML-DL-pInUB.js.map} +1 -1
  247. package/dist/style.css +1 -1
  248. package/dist/utils.cjs +1 -1
  249. package/dist/utils.d.ts +1 -1
  250. package/dist/utils.js +2 -2
  251. package/package.json +2 -2
  252. package/dist/GraphEl-B73N4RIA.js +0 -1906
  253. package/dist/GraphEl-B73N4RIA.js.map +0 -1
  254. package/dist/GraphEl-Lt1og0C-.cjs +0 -2
  255. package/dist/GraphEl-Lt1og0C-.cjs.map +0 -1
  256. package/dist/XTicksAndGridLines-C5DuC5oY.cjs +0 -2
  257. package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +0 -1
  258. package/dist/XTicksAndGridLines-gdbGX2rm.js +0 -39
  259. package/dist/XTicksAndGridLines-gdbGX2rm.js.map +0 -1
  260. package/dist/YTicksAndGridLines-CsNSq9W9.js +0 -39
  261. package/dist/YTicksAndGridLines-CsNSq9W9.js.map +0 -1
  262. package/dist/YTicksAndGridLines-DFjm8RCc.cjs +0 -2
  263. package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +0 -1
  264. package/dist/index-B0Awa_de.js +0 -377
  265. package/dist/index-B0Awa_de.js.map +0 -1
  266. package/dist/index-CP8cmNzt.cjs +0 -2
  267. package/dist/index-CP8cmNzt.cjs.map +0 -1
  268. package/dist/numberFormattingFunction-Cn9R7CM9.cjs +0 -2
  269. package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +0 -1
  270. package/dist/numberFormattingFunction-DqMf_v1m.js +0 -28
  271. package/dist/numberFormattingFunction-DqMf_v1m.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultiLineChart.js","sources":["../src/Components/Graphs/LineCharts/MultiLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n labels: (string | number)[];\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues: boolean;\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 showColorLegendAtTop: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines?: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n dashedLines: (string | number)[];\r\n dashSettings: string[];\r\n labelsToBeHidden: (string | number)[];\r\n revealClipId: string;\r\n locale: string;\r\n naLabel: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: 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 dateFormat,\r\n noOfXTicks,\r\n labels,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showValues,\r\n showColorLegendAtTop,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n dashedLines,\r\n dashSettings,\r\n labelsToBeHidden,\r\n revealClipId,\r\n locale,\r\n naLabel,\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: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\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 dataArray = dataFormatted[0].y.map((_d, i) => {\r\n return dataFormatted\r\n .map(el => ({\r\n ...el,\r\n y: el.y[i],\r\n }))\r\n .filter(el => !checkIfNullOrUndefined(el.y));\r\n });\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : 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 minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n ) > 0\r\n ? 0\r\n : Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n 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 <defs>\r\n <clipPath id={revealClipId}>\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n height={graphHeight}\r\n variants={{\r\n initial: { width: 0 },\r\n whileInView: {\r\n width: graphWidth,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n </clipPath>\r\n </defs>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n locale={locale}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n {dataArray.map((d, i) => (\r\n <motion.g\r\n key={labels[i]}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: highlightedLines\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: highlightedLines\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n style={{\r\n fill: 'none',\r\n strokeWidth,\r\n }}\r\n clipPath={`url(#${revealClipId})`}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n ...(dashedLines.length === 0 ? { pathLength: 0 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n },\r\n whileInView: {\r\n ...(dashedLines.length === 0 ? { pathLength: 1 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n strokeDasharray={\r\n dashedLines.includes(labels[i])\r\n ? dashSettings[i % dashSettings.length]\r\n : undefined\r\n }\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\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 fill: lineColors[i],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={-8}\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value 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 fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n el.y,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </g>\r\n ))}\r\n {showColorLegendAtTop || labelsToBeHidden.includes(labels[i]) ? null : (\r\n <motion.text\r\n className='text-xs'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {labels[i]}\r\n </motion.text>\r\n )}\r\n </motion.g>\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 {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <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 {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { generateRandomString } from '@/Utils/generateRandomString';\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: MultiLineChartDataType[];\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 of the lines */\r\n lineColors?: string[];\r\n /** Toggle the visibility of color legend between the top of the graphs and next to the line */\r\n showColorLegendAtTop?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Array of labels of line which are dashed */\r\n dashedLines?: (string | number)[];\r\n /** Array of dash settings that define the dash style for the dashed line. If the length of the array is less than length of dashedLines then it loop around. */\r\n dashSettings?: string[];\r\n /** Defines which labels are hidden from the color scale and the graph */\r\n labelsToBeHidden?: (string | number)[];\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Labels for the lines */\r\n labels: (string | number)[];\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 MultiLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n lineColors = Colors.light.categoricalColors.colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n labels,\r\n padding,\r\n showValues = false,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showColorLegendAtTop = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n dashedLines = [],\r\n dashSettings = ['5 5'],\r\n labelsToBeHidden = [],\r\n showColorScale = true,\r\n locale = 'en',\r\n naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\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 {showColorLegendAtTop && showColorScale && data.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n labelsToBeHidden={labelsToBeHidden}\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 lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorLegendAtTop={showColorScale ? showColorLegendAtTop : true}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n labelsToBeHidden={labelsToBeHidden}\r\n dashedLines={dashedLines}\r\n dashSettings={dashSettings}\r\n revealClipId={generateRandomString(8)}\r\n locale={locale}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","dateFormat","noOfXTicks","labels","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","showValues","showColorLegendAtTop","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","classNames","dimmedOpacity","precision","customLayers","dashedLines","dashSettings","labelsToBeHidden","revealClipId","locale","naLabel","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","top","bottom","left","right","margin","MouseoverRectRef","t5","d","date","parse","Date","dataFormatted","orderBy","map","dataArray","y","_d","i","el","filter","_temp","t6","t7","d_0","coordinates","highlightAreaSettingsFormatted","t8","d_1","el_1","j","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp5","_temp7","maxParam","max","_temp9","_temp1","x","scaleTime","domain","range","t9","scaleLinear","nice","lineShape","line","d_7","d_8","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp10","invert","pointer","clientY","clientX","mouseout","select","current","on","t10","Symbol","for","t11","t12","initial","whileInView","transition","t13","t14","jsx","motion","t15","t16","HighlightArea","t17","yAxis","gridLines","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","numberFormattingFunction","t29","t30","t31","t32","dx","dy","t33","xAxis","axis","t34","t35","label","t36","t37","t38","t39","Axis","t40","t41","t42","title","t43","t44","AxisTitle","t45","d_13","format","t46","t47","d_14","t48","t49","t50","t51","t52","cn","t53","t54","t55","t56","_temp13","_temp14","t57","d_17","i_0","jsxs","opacity","indexOf","fill","pathLength","_temp15","stroke","_temp16","includes","el_9","j_0","Fragment","cx","cy","delay","textAnchor","graphObjectValues","t58","mouseOverLine","t59","t60","el_10","i_1","RefLineY","text","color","value","t61","t62","d_18","i_2","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t63","_temp17","_temp18","t64","pointerEvents","t65","t66","Tooltip","CustomArea","YTicksAndGridLines","_temp11","_temp12","d_12","XTicksAndGridLines","d_20","layer","d_19","position","el_8","el_7","d_16","d_15","d_11","d_10","d_9","d_5","_temp0","el_5","d_6","_temp8","el_6","d_2","_temp6","el_2","d_3","_temp4","el_3","d_4","_temp2","el_4","el_0","MultiLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","showColorScale","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","generateRandomString","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGO,SAAAA,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,GAAA,GACL;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,sBAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,uBAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,6BAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IA6CI9C,GACJ+C,KAAeC,GAAO,IAAI;AAAE,MAAAC;AAAA,EAAAhD,EAAA,CAAA,MAAAwB,EAAAyB,UAAAjD,EAAA,CAAA,MAAAwB,EAAA0B,QACOF,KAAA;AAAA,IAAAE,MAC3B1B,EAAO0B;AAAAA,IAAKD,QACVzB,EAAOyB;AAAAA,EAAAA,GAChBjD,EAAA,CAAA,IAAAwB,EAAAyB,QAAAjD,EAAA,CAAA,IAAAwB,EAAA0B,MAAAlD,OAAAgD,MAAAA,KAAAhD,EAAA,CAAA;AAHD,QAAAmD,IAAiBC,GAAUN,IAAQE,EAGlC,GACD,CAAAK,GAAAC,CAAA,IAA8CC,GAAS,EAAK;AAAE,MAAAC,IAAAC;AAAA,EAAAzD,EAAA,CAAA,MAAAwB,EAAAkC,YAAA1D,EAAA,CAAA,MAAAqD,KAAArD,EAAA,CAAA,MAAAmD,KAEpDK,KAAAA,MAAA;AACR,QAAIL,KAAA,CAAaE,GAAe;AAC9B,YAAAM,IAAgBC,WACd,MAAA;AACEN,QAAAA,EAAmB,EAAI;AAAA,MAAC,IAEzB9B,EAAOkC,WAAY,OAAO,GAC7B;AAAE,aACK,MAAMG,aAAaF,CAAO;AAAA,IAAC;AAAA,EACnC,GACAF,KAAA,CAACN,GAAUE,GAAiB7B,EAAOkC,QAAS,GAAC1D,EAAA,CAAA,IAAAwB,EAAAkC,UAAA1D,OAAAqD,GAAArD,OAAAmD,GAAAnD,OAAAwD,IAAAxD,OAAAyD,OAAAD,KAAAxD,EAAA,CAAA,GAAAyD,KAAAzD,EAAA,CAAA,IAVhD8D,GAAUN,IAUPC,EAA6C;AAChD,QAAAM,KACE7B,OAAc,WAAd8B,KAEI9B,OAAc,SAAd+B,KAEE/B,OAAc,cAAdgC,KAEEhC,OAAc,eAAdiC,KAAAC,IAIV,CAAAC,GAAAC,EAAA,IAA0Cf,GAAcgB,MAAS,GACjE,CAAAC,GAAAC,EAAA,IAA4BlB,GAA6BgB,MAAS,GAClE,CAAAG,IAAAC,EAAA,IAA4BpB,GAA6BgB,MAAS,GAI1DK,IAAA9C,KAAahB,IAAa,KAA1BA;AAAyC,MAAA+D;AAAA,EAAA7E,EAAA,CAAA,MAAAW,MAAAX,EAAA,CAAA,MAAAS,MAAAT,EAAA,EAAA,MAAA4E,KAAA5E,UAAAU,KAHlCmE,KAAA;AAAA,IAAAC,KACRpE;AAAAA,IAASqE,QACNpE;AAAAA,IAAYqE,MACdJ;AAAAA,IAAyCK,OACxCxE;AAAAA,EAAAA,GACRT,OAAAW,IAAAX,OAAAS,IAAAT,QAAA4E,GAAA5E,QAAAU,GAAAV,QAAA6E,MAAAA,KAAA7E,EAAA,EAAA;AALD,QAAAkF,IAAeL,IAMfM,KAAyBpC,GAAO,IAAI;AAAE,MAAAqC;AAAA,EAAApF,UAAAM,KAE3B8E,KAAAC,CAAAA,OAAM;AAAA,IAAA,GACVA;AAAAA,IAACC,MACEC,EAAM,GAAGF,EAACC,IAAK,IAAIhF,GAAY,oBAAIkF,KAAAA,CAAM;AAAA,EAAA,IAC/CxF,QAAAM,GAAAN,QAAAoF,MAAAA,KAAApF,EAAA,EAAA;AAJJ,QAAAyF,IAAsBC,GACpBxF,EAAIyF,IAAKP,EAGP,GACF,CAAC,MAAM,GACP,CAAC,KAAK,CACR,GACAQ,KAAkBH,KAAgBI,EAAEF,IAAK,CAAAG,GAAAC,MAChCN,EAAaE,IACbK,CAAAA,OAAO;AAAA,IAAA,GACPA;AAAAA,IAAEH,GACFG,EAAEH,EAAGE,CAAC;AAAA,EAAA,EACT,EAACE,OACKC,EAAmC,CAC9C;AAAE,MAAAC;AAAA,MAAAnG,EAAA,EAAA,MAAAM,KAAAN,UAAAoB,IAAA;AAAA,QAAAgF;AAAA,IAAApG,UAAAM,KAC8D8F,IAAAC,CAAAA,OAAM;AAAA,MAAA,GAClEhB;AAAAA,MAACiB,aACS,CACXjB,EAACiB,mBAAoB,OAArB,OAAmCf,EAAM,GAAGF,EAACiB,YAAY,CAAA,CAAG,IAAIhG,GAAY,oBAAIkF,KAAAA,CAAM,GACtFH,EAACiB,YAAY,CAAA,MAAQ,OAArB,OAAmCf,EAAM,GAAGF,EAACiB,YAAY,CAAA,CAAG,IAAIhG,GAAY,oBAAIkF,MAAM,CAAC;AAAA,IAAA,IAEzFxF,QAAAM,GAAAN,QAAAoG,KAAAA,IAAApG,EAAA,EAAA,GANqCmG,KAAA/E,GAAqBuE,IAAKS,CAM/D,GAACpG,QAAAM,GAAAN,QAAAoB,IAAApB,QAAAmG;AAAAA,EAAA;AAAAA,IAAAA,KAAAnG,EAAA,EAAA;AANH,QAAAuG,KAAuCJ;AAMnC,MAAAC;AAAA,MAAApG,EAAA,EAAA,MAAA6B,MAAA7B,UAAAM,GAAA;AAAA,QAAAkG;AAAA,IAAAxG,UAAAM,KACyEkG,IAAAC,CAAAA,OAAM;AAAA,MAAA,GAC9EpB;AAAAA,MAACiB,aACSjB,EAACiB,YAAYX,IAAK,CAAAe,GAAAC,OAC7BA,KAAI,MAAM,IAAIpB,EAAM,GAAGS,CAAE,IAAI1F,uBAAgBkF,KAAAA,CAAuB,IAAZQ,CAC1D;AAAA,IAAA,IACAhG,QAAAM,GAAAN,QAAAwG,KAAAA,IAAAxG,EAAA,EAAA,GAL2CoG,KAAAvE,GAA2B8D,IAAKa,CAK3E,GAACxG,QAAA6B,IAAA7B,QAAAM,GAAAN,QAAAoG;AAAAA,EAAA;AAAAA,IAAAA,KAAApG,EAAA,EAAA;AALH,QAAA4G,KAA6CR,IAM7CS,IAAmB1G,KAAQ+E,EAAMF,OAAQE,EAAMD,OAC/C6B,IAAoB1G,KAAS8E,EAAMJ,MAAOI,EAAMH,QAChDgC,KAAgB/E,KAAUuD,EAAM,GAAGvD,EAAO,IAAI1B,GAAY,oBAAIkF,KAAAA,CAA8B,IAApBC,EAAa,CAAA,EAAGH,MACxF0B,KAAgB/E,KACZsD,EAAM,GAAGtD,EAAO,IAAI3B,GAAY,oBAAIkF,KAAAA,CACO,IAA3CC,EAAcA,EAAawB,SAAU,CAAC,EAAC3B,MAC3C4B,IAAyBC,EAAuB9F,CAkBzB,IAjBnB+F,KAAIC,IAAI,GACH5B,EAAaE,IAAK2B,EAErB,CAaA,IAXAF,KAAIC,IAAI,GACH5B,EAAaE,IAAK4B,EAErB,CACF,IAAI,IAJJ,IAMEH,KAAIC,IAAI,GACH5B,EAAaE,IAAK6B,EAErB,CACF,IAfJ,IAiBCnG,GACLoG,IAAyBL,KAAIM,IAAI,GAC5BjC,EAAaE,IAAKgC,EAErB,CAOE,IALAP,KAAIM,IAAI,GACHjC,EAAaE,IAAKiC,EAErB,CAEF,IAVqB,GAYzBC,IAAUC,KAAWC,OAAQ,CAAChB,IAASC,EAAO,CAAC,EAACgB,MAAO,CAAC,GAAGnB,CAAU,CAAC;AAAE,MAAAL;AAAA,EAAAxG,EAAA,EAAA,MAAAkH,KAAAlH,UAAAqB,KAGpEmF,IAAAW,EAAuB9F,CAA0C,IAAjE6F,IAA+C7F,GAAmBrB,QAAAkH,GAAAlH,QAAAqB,GAAArB,QAAAwG,KAAAA,IAAAxG,EAAA,EAAA;AAAA,MAAAiI;AAAA,EAAAjI,EAAA,EAAA,MAAAyH,KAAAzH,UAAAsB,MAClE2G,IAAAd,EAAuB7F,EAA+D,IAAlDmG,IAAW,IAAXA,IAAA,IAAgCnG,IAAmBtB,QAAAyH,GAAAzH,QAAAsB,IAAAtB,QAAAiI,KAAAA,IAAAjI,EAAA,EAAA;AAH3F,QAAA6F,IAAUqC,GAAAA,EAAaH,OACb,CACNvB,GACAyB,CAAuF,CACxF,EAACD,MACK,CAAClB,GAAa,CAAC,CAAC,EAACqB,KAAAA,GAG1BC,KAAkBC,KAAyBR,EACtCS,CAAAA,MAAKT,EAAExC,EAACC,IAAK,CAAC,EAACO,EACf0C,OAAK1C,EAAER,EAACQ,CAAE,CAAC,EAAC9B,MACRA,EAAK,GAEdyE,KAAe3C,EAAC4C,MAAO1G,EAAU,GACjC2G,KAAeb,EAACY,MAAOlI,EAAU;AACjCuD,EAAAA,GAAU,MAAA;AAER,UAAA6E,IAAkBC,CAAAA,MAAA;AAChB,YAAAC,KACEpD,EACEqD,GACErD,EAAaE,IAAKoD,EAAW,GAC7BlB,EAACmB,OAAQC,GAAQL,CAAK,EAAC,CAAA,CAAG,GAC1B,CACF,CAAC;AAELtE,MAAAA,GAAiBuE,MAAgBpD,EAAcA,EAAawB,SAAU,CAAC,CAAC,GACxEtC,GAAUiE,EAAKM,OAAQ,GACvBzE,GAAUmE,EAAKO,OAAQ,GACvBnI,KAAoB6H,MAAgBpD,EAAcA,EAAawB,SAAU,CAAC,CAAC;AAAA,IAAC,GAE9EmC,IAAiBA,MAAA;AACf9E,MAAAA,GAAiBC,MAAS,GAC1BE,GAAUF,MAAS,GACnBI,GAAUJ,MAAS;AAAA,IAAC;AAEtB8E,IAAAA,GAAOlE,GAAgBmE,OAAQ,EAACC,GAAI,aAAaZ,CAAS,EAACY,GAAI,YAAYH,CAAQ,GACnFpI,KAAoBuD,MAAS;AAAA,EAAC,GAC7B,CAACsD,GAAGpC,GAAezE,EAAiB,CAAC;AAAC,MAAAwI;AAAA,EAAAxJ,EAAA,EAAA,MAAAyJ,uBAAAC,IAAA,2BAAA,KAkBhBF,KAAA;AAAA,IAAArJ,OAAS;AAAA,EAAA,GAAGH,QAAAwJ,MAAAA,KAAAxJ,EAAA,EAAA;AAAA,MAAA2J;AAAA,EAAA3J,EAAA,EAAA,MAAAwB,EAAAkC,YAGPiG,IAAA;AAAA,IAAAjG,UAAYlC,EAAOkC;AAAAA,EAAAA,GAAW1D,EAAA,EAAA,IAAAwB,EAAAkC,UAAA1D,QAAA2J,KAAAA,IAAA3J,EAAA,EAAA;AAAA,MAAA4J;AAAA,EAAA5J,EAAA,EAAA,MAAA6G,KAAA7G,UAAA2J,KAJpCC,IAAA;AAAA,IAAAC,SACCL;AAAAA,IAAYM,aACR;AAAA,MAAA3J,OACJ0G;AAAAA,MAAUkD,YACLJ;AAAAA,IAAAA;AAAAA,EACd,GACD3J,QAAA6G,GAAA7G,QAAA2J,GAAA3J,QAAA4J,KAAAA,IAAA5J,EAAA,EAAA;AAEQ,QAAAgK,KAAA7G,IAAA,gBAAA;AAAoC,MAAA8G;AAAA,EAAAjK,EAAA,EAAA,MAAA8G,KAAA9G,UAAA4J,KAAA5J,EAAA,EAAA,MAAAgK,MAZ/CC,IAAAC,gBAAAA,EAAAA,IAAAC,GAAA,MAAA,EACK,GAAA,GACA,GAAA,GACKrD,QAAAA,GACE,UAAA8C,GAOF,SAAA,WACC,SAAAI,IAAoC,GAC7ChK,QAAA8G,GAAA9G,QAAA4J,GAAA5J,QAAAgK,IAAAhK,QAAAiK,KAAAA,IAAAjK,EAAA,EAAA;AAAA,MAAAoK;AAAA,EAAApK,EAAA,EAAA,MAAA2C,MAAA3C,UAAAiK,KAfNG,qCACE,UAAAF,gBAAAA,EAAAA,IAAA,cAAcvH,IAAAA,IACZsH,aAcF,EAAA,CACF,GAAOjK,QAAA2C,IAAA3C,QAAAiK,GAAAjK,QAAAoK,MAAAA,KAAApK,EAAA,EAAA;AAAA,MAAAqK;AAAA,EAAArK,UAAAwB,KAAAxB,EAAA,EAAA,MAAA8G,KAAA9G,EAAA,EAAA,MAAA6G,KAAA7G,EAAA,EAAA,MAAAuG,MAAAvG,UAAAmD,KAAAnD,EAAA,EAAA,MAAA6H,KACPwC,KAAAH,gBAAAA,EAAAA,IAACI,IAAA,EACe/D,cAAAA,IACPM,OAAAA,GACCC,QAAAA,GACDe,OAAAA,GACErG,SAAAA,GACC2B,UAAAA,EAAAA,CAAQ,GAClBnD,QAAAwB,GAAAxB,QAAA8G,GAAA9G,QAAA6G,GAAA7G,QAAAuG,IAAAvG,QAAAmD,GAAAnD,QAAA6H,GAAA7H,QAAAqK,MAAAA,KAAArK,EAAA,EAAA;AAee,QAAAuK,KAAApI,GAAMqI,OAAkBC,WAC3BC,KAAAvI,GAAMqI,OAAehK;AAAA,MAAAmK;AAAA,EAAA3K,EAAA,EAAA,MAAAuK,MAAAvK,UAAA0K,MAFvBC,KAAA;AAAA,IAAAF,WACKF;AAAAA,IAAwB/J,QAC3BkK;AAAAA,EAAAA,GACT1K,QAAAuK,IAAAvK,QAAA0K,IAAA1K,QAAA2K,MAAAA,KAAA3K,EAAA,EAAA;AAEY,QAAA4K,KAAAxI,GAAUoI,OAAkBC,WAC/BI,KAAAzI,GAAUoI,OAAehK;AAAA,MAAAsK;AAAA,EAAA9K,EAAA,EAAA,MAAA4K,MAAA5K,UAAA6K,MAFvBC,KAAA;AAAA,IAAAL,WACCG;AAAAA,IAA4BpK,QAC/BqK;AAAAA,EAAAA,GACT7K,QAAA4K,IAAA5K,QAAA6K,IAAA7K,QAAA8K,MAAAA,KAAA9K,EAAA,EAAA;AAUG,QAAA+K,KAAAlF,EAAEqB,IAAW,IAAX,IAAAA,CAA2B,GAC7B8D,KAAAnF,EAAEqB,IAAW,IAAX,IAAAA,CAA2B,GAC7B+D,IAAA,IAAInK,GACJoK,IAAArE,IAAa3B,EAAMD,OAErBkG,KAAAjE,IAAW,IAAX,IAAAA;AAA2B,MAAAkE;AAAA,EAAApL,EAAA,EAAA,MAAA4C,KAAA5C,EAAA,EAAA,MAAAsC,KAAAtC,EAAA,EAAA,MAAAa,KAAAb,EAAA,EAAA,MAAAY,KAAAZ,UAAAmL,MADtBC,IAAAC,GACLF,IACA5G,QACAjC,GACAzB,GACAD,GACAgC,CACF,GAAC5C,QAAA4C,GAAA5C,QAAAsC,GAAAtC,QAAAa,GAAAb,QAAAY,GAAAZ,QAAAmL,IAAAnL,QAAAoL,KAAAA,IAAApL,EAAA,EAAA;AAEI,QAAAsL,KAAA,IAAIxK,GACJyK,KAAA1F,EAAEqB,IAAW,IAAX,IAAAA,CAA2B,GAE5BsE,KAAA/D,IAAW,IAAX,QAAA;AAAyB,MAAAgE;AAAA,EAAAzL,EAAA,EAAA,MAAAsL,MAAAtL,UAAAuL,MAAAvL,EAAA,EAAA,MAAAwL,MAJrBC,KAAA;AAAA,IAAA5D,GACLyD;AAAAA,IAAczF,GACd0F;AAAAA,IAA8BG,IAC7B;AAAA,IAACC,IACDH;AAAAA,EAAAA,GACLxL,QAAAsL,IAAAtL,QAAAuL,IAAAvL,QAAAwL,IAAAxL,QAAAyL,MAAAA,KAAAzL,EAAA,EAAA;AAEO,QAAA4L,KAAAxJ,GAAUyJ,OAAaC,MACtBC,KAAA3J,GAAUoI,OAAehK;AAAA,MAAAwL;AAAA,EAAAhM,EAAA,EAAA,MAAA4L,MAAA5L,UAAA+L,MAFtBC,IAAA;AAAA,IAAAF,MACJF;AAAAA,IAAuBK,OACtBF;AAAAA,EAAAA,GACR/L,QAAA4L,IAAA5L,QAAA+L,IAAA/L,QAAAgM,KAAAA,IAAAhM,EAAA,EAAA;AAEO,QAAAkM,KAAA/J,GAAM0J,OAAaC,MAClBK,KAAAhK,GAAMqI,OAAehK;AAAA,MAAA4L;AAAA,EAAApM,EAAA,EAAA,MAAAkM,MAAAlM,UAAAmM,MAFtBC,IAAA;AAAA,IAAAN,MACAI;AAAAA,IAAmBD,OAClBE;AAAAA,EAAAA,GACRnM,QAAAkM,IAAAlM,QAAAmM,IAAAnM,QAAAoM,KAAAA,IAAApM,EAAA,EAAA;AAAA,MAAAqM;AAAA,EAAArM,EAAA,EAAA,MAAA+K,MAAA/K,EAAA,EAAA,MAAAgL,MAAAhL,EAAA,EAAA,MAAAiL,KAAAjL,EAAA,EAAA,MAAAkL,KAAAlL,EAAA,EAAA,MAAAoL,KAAApL,EAAA,EAAA,MAAAyL,MAAAzL,EAAA,EAAA,MAAAgM,KAAAhM,UAAAoM,KA1BHC,0BAACC,IAAA,EACK,IAAAvB,IACA,IAAAC,IACA,IAAAC,GACA,IAAAC,GACG,OAAAE,GAQG,UAAAK,IAME,YAAAO,GAIJ,QAAAI,GAGP,GACDpM,QAAA+K,IAAA/K,QAAAgL,IAAAhL,QAAAiL,GAAAjL,QAAAkL,GAAAlL,QAAAoL,GAAApL,QAAAyL,IAAAzL,QAAAgM,GAAAhM,QAAAoM,GAAApM,QAAAqM,KAAAA,IAAArM,EAAA,EAAA;AAEG,QAAAuM,IAAA,IAAIzL,IAAa,IACjB0L,IAAA1F,IAAc,GACV2F,IAAAtK,GAAMqI,OAAckC,OAChBC,IAAAvK,GAAUoI,OAAckC;AAAA,MAAAE;AAAA,EAAA5M,EAAA,EAAA,MAAAuM,KAAAvM,EAAA,EAAA,MAAAwM,KAAAxM,EAAA,EAAA,MAAAyM,KAAAzM,EAAA,EAAA,MAAA2M,KAAA3M,UAAA8B,MAJrC8K,0BAACC,IAAA,EACI,GAAAN,GACA,GAAAC,GACI,OAAAC,GACI,WAAAE,GACL7K,MAAAA,IACN,UAAA,IAAQ,GACR9B,QAAAuM,GAAAvM,QAAAwM,GAAAxM,QAAAyM,GAAAzM,QAAA2M,GAAA3M,QAAA8B,IAAA9B,QAAA4M,KAAAA,IAAA5M,EAAA,EAAA;AAAA,MAAA8M;AAAA,EAAA9M,UAAAM,KAImBwM,KAAAC,CAAAA,MAAKC,GAAO3H,GAAG/E,CAAU,GAACN,QAAAM,GAAAN,QAAA8M,MAAAA,KAAA9M,EAAA,EAAA;AAArC,QAAAiN,KAAAvE,GAAM/C,IAAKmH,EAA0B,GAC1CI,KAAAxE,GAAM/C,IAAKwH,CAAAA,MAAKtF,EAAExC,CAAC,CAAC,GAIV+H,KAAAjL,GAAM0J,OAAkBpB,WAC3B4C,KAAAlL,GAAM0J,OAAerL;AAAA,MAAA8M;AAAA,EAAAtN,EAAA,EAAA,MAAAoN,MAAApN,UAAAqN,MAFvBC,KAAA;AAAA,IAAA7C,WACK2C;AAAAA,IAAwB5M,QAC3B6M;AAAAA,EAAAA,GACTrN,QAAAoN,IAAApN,QAAAqN,IAAArN,QAAAsN,MAAAA,KAAAtN,EAAA,EAAA;AAE4B,QAAAuN,KAAAnL,GAAUyJ,OAAkBpB;AAAA,MAAA+C;AAAA,EAAAxN,UAAAuN,MAA5CC,KAAAC,GAAG,aAAaF,EAA4B,GAACvN,QAAAuN,IAAAvN,QAAAwN,MAAAA,KAAAxN,EAAA,EAAA;AAGtD,QAAA0N,KAAAtL,GAAUyJ,OAAerL;AAAA,MAAAmN;AAAA,EAAA3N,UAAA0N,MAFnBC,KAAAF,GACN,+GACAC,EACF,GAAC1N,QAAA0N,IAAA1N,QAAA2N,MAAAA,KAAA3N,EAAA,EAAA;AAAA,MAAA4N;AAAA,EAAA5N,EAAA,EAAA,MAAAwN,MAAAxN,UAAA2N,MALSC,KAAA;AAAA,IAAAnD,WACC+C;AAAAA,IAA6ChN,QAChDmN;AAAAA,EAAAA,GAIT3N,QAAAwN,IAAAxN,QAAA2N,IAAA3N,QAAA4N,MAAAA,KAAA5N,EAAA,EAAA;AAAA,MAAA6N;AAAA,EAAA7N,WAAAuC,KASJsL,KAAAtL,EAAY0D,OAAQ6H,EAA4B,EAACnI,IAAKoI,EAAY,GAAC/N,SAAAuC,GAAAvC,SAAA6N,MAAAA,KAAA7N,EAAA,GAAA;AAEjE,QAAAgO,KAAApI,GAASD,IAAK,CAAAsI,GAAAC,MACbC,gBAAAA,EAAAA,KAAAhE,GAAA,GAAA,EAEQ,MAAA;AAAA,IAAAiE,SAAW;AAAA,IAACrE,YAAc;AAAA,MAAArG,UAAYlC,EAAOkC;AAAAA,IAAAA;AAAAA,EAAU,GACnD,UAAA;AAAA,IAAAmG,SACC;AAAA,MAAAuE,SACE7M,KACLA,GAAgB8M,QAAS7N,EAAOuF,CAAC,CAAC,MAAM,KAAxC,IAAA1D,KADK;AAAA,IAAA;AAAA,IAKVyH,aACY;AAAA,MAAAsE,SACF7M,KACLA,GAAgB8M,QAAS7N,EAAOuF,CAAC,CAAC,MAAM,KAAxC,IAAA1D,KADK;AAAA,MAIJ0H,YACO;AAAA,QAAArG,UAAYlC,EAAOkC;AAAAA,MAAAA;AAAAA,IAAU;AAAA,EAC3C,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAET,UAAA;AAAA,IAAA+G,gBAAAA,EAAAA,IAAAC,GAAA,MAAA,EACS,OAAA;AAAA,MAAAmE,MACC;AAAA,MAAM5M,aAAAA;AAAAA,IAAAA,GAGJ,UAAA,QAAQiB,EAAY,KACxB,MAAA;AAAA,MAAAyL,SAAW;AAAA,MAACrE,YAAc;AAAA,QAAArG,UAAYlC,EAAOkC;AAAAA,MAAAA;AAAAA,IAAU,GACnD,UAAA;AAAA,MAAAmG,SACC;AAAA,QAAA,GACHrH,GAAWyE,WAAY,IAAvB;AAAA,UAAAsH,YAAyC;AAAA,QAAA,IAAzC,CAAA;AAAA,QAAiDlJ,GAEnD+C,GACE/C,EAACY,OAAQuI,EAA8D,CACnE,KAFN;AAAA,QAEOJ,SACA;AAAA,QAACK,QACFpO,EAAW0F,CAAC;AAAA,MAAA;AAAA,MACrB+D,aACY;AAAA,QAAA,GACPtH,GAAWyE,WAAY,IAAvB;AAAA,UAAAsH,YAAyC;AAAA,QAAA,IAAzC,CAAA;AAAA,QAAiDlJ,GAEnD+C,GACE/C,EAACY,OAAQyI,EAA8D,CACnE,KAFN;AAAA,QAEON,SACA;AAAA,QAACK,QACFpO,EAAW0F,CAAC;AAAA,QAACgE,YACT;AAAA,UAAArG,UAAYlC,EAAOkC;AAAAA,QAAAA;AAAAA,MAAU;AAAA,IAC3C,GAGA,iBAAAlB,GAAWmM,SAAUnO,EAAOuF,CAAC,CAEjB,IADRtD,GAAasD,IAAItD,GAAYwE,MAAO,IADxC1C,QAIM,SAAA,WACC,SAAApB,IAAA,gBAAA,WAAoC;AAAA,IAE9CkC,EAACM,IAAK,CAAAiJ,GAAAC,OACL3E,gBAAAA,EAAAA,IAAA,KAAA,YACI/C,EAAuBnB,EAAEH,CAAE,IAA5B,OAAAsI,gBAAAA,EAAAA,KAAAW,EAAAA,UAAA,EAEInN,UAAAA;AAAAA,MAAAA,2BACCwI,GAAA,QAAA,EAEI,GAAAtD,IAAapB,EAAawB,SAAU,IAApC,IAEIJ,IAAapB,EAAawB,SAAU,KAApC,IAAA,GAIA,MAAA;AAAA,QAAAmH,SAAW;AAAA,QAACrE,YAAc;AAAA,UAAArG,UAAYlC,EAAOkC;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAAmG,SACC;AAAA,UAAAuE,SACE;AAAA,UAACE,MACJjO,EAAW0F,CAAC;AAAA,UAACgJ,IACflH,EAAE7B,EAAEV,IAAK;AAAA,UAAC0J,IACVnJ,EAAEG,EAAEH,CAAY;AAAA,QAAA;AAAA,QACrBiE,aACY;AAAA,UAAAsE,SACF;AAAA,UAACE,MACJjO,EAAW0F,CAAC;AAAA,UAACgE,YACP;AAAA,YAAArG,UACAL,IAAkB7B,EAAOkC,WAAzB;AAAA,YAAwCuL,OAC3C5L,IAAA,IAAsB7B,EAAOkC;AAAAA,UAAAA;AAAAA,UACrCqL,IACGlH,EAAE7B,EAAEV,IAAK;AAAA,UAAC0J,IACVnJ,EAAEG,EAAEH,CAAY;AAAA,QAAA;AAAA,MACtB,GAEM,SAAA,WACC,SAAA1C,IAAA,gBAAA,WAAoC,IA7BhD;AAAA,MAgCAlC,KACCiJ,gBAAAA,EAAAA,IAAAC,GAAA,MAAA,EACM,IAAA,IACG,OAAA;AAAA,QAAA+E,YACO;AAAA,QAAQ,GAChB/M,GAAMgN,qBAAN,CAAA;AAAA,MAA8B,GAEzB,WAAA1B,GACT,iCACArL,GAAU+M,iBACZ,GACM,MAAA;AAAA,QAAAf,SAAW;AAAA,QAACrE,YAAc;AAAA,UAAArG,UAAYlC,EAAOkC;AAAAA,QAAAA;AAAAA,MAAU,GACnD,UAAA;AAAA,QAAAmG,SACC;AAAA,UAAAuE,SACE;AAAA,UAACE,MACJjO,EAAW0F,CAAC;AAAA,UAAC8B,GAChBA,EAAE7B,EAAEV,IAAK;AAAA,UAACO,GACVA,EAAEG,EAAEH,CAAY;AAAA,QAAA;AAAA,QACpBiE,aACY;AAAA,UAAAsE,SACF;AAAA,UAACE,MACJjO,EAAW0F,CAAC;AAAA,UAAC8B,GAChBA,EAAE7B,EAAEV,IAAK;AAAA,UAACO,GACVA,EAAEG,EAAEH,CAAY;AAAA,UAACkE,YACR;AAAA,YAAArG,UACAL,IAAkB7B,EAAOkC,WAAzB;AAAA,YAAwCuL,OAC3C5L,IAAA,IAAsB7B,EAAOkC;AAAAA,UAAAA;AAAAA,QACtC;AAAA,MACF,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAERkI,UAAAA,GACCrF,EAAEH,GACFhD,IACAP,GACAzB,GACAD,GACAgC,CACF,GACF,IAzCD;AAAA,IAAA,EAAA,CA0CO,OAGd,CACD;AAAA,IACA1B,MAAwBwB,GAAgBiM,SAAUnO,EAAOuF,CAAC,CAAC,IAA3D,OACCmE,gBAAAA,MAAAC,GAAA,MAAA,EACY,WAAA,WACN,IAAA,GACA,IAAA,GACE,MAAA;AAAA,MAAAiE,SAAW;AAAA,MAACrE,YAAc;AAAA,QAAArG,UAAYlC,EAAOkC;AAAAA,MAAAA;AAAAA,IAAU,GACnD,UAAA;AAAA,MAAAmG,SACC;AAAA,QAAAuE,SACE;AAAA,QAACE,MACJjO,EAAW0F,CAAC;AAAA,QAAC8B,GAChBA,EAAExC,EAAEA,EAAC4B,SAAU,CAAC,EAAC3B,IAAK;AAAA,QAACO,GACvBA,EAAER,EAAEA,EAAC4B,SAAU,CAAC,EAACpB,CAAY;AAAA,MAAA;AAAA,MACjCiE,aACY;AAAA,QAAAsE,SACF;AAAA,QAACE,MACJjO,EAAW0F,CAAC;AAAA,QAAC8B,GAChBA,EAAExC,EAAEA,EAAC4B,SAAU,CAAC,EAAC3B,IAAK;AAAA,QAACO,GACvBA,EAAER,EAAEA,EAAC4B,SAAU,CAAC,EAACpB,CAAY;AAAA,QAACkE,YACrB;AAAA,UAAArG,UACAL,IAAkB7B,EAAOkC,WAAzB;AAAA,UAAwCuL,OAC3C5L,IAAA,IAAsB7B,EAAOkC;AAAAA,QAAAA;AAAAA,MACtC;AAAA,IACF,GAEM,SAAA,WACC,SAAAP,IAAA,gBAAA,WAER3C,UAAAA,EAAOuF,CAAC,EAAA,CACX;AAAA,EAAA,KAzKGvF,EAAOuF,CAAC,CA2Kf,CACD;AAAC,MAAAqJ;AAAA,EAAApP,WAAAoC,GAAAiN,iBAAArP,EAAA,GAAA,MAAA8G,KAAA9G,WAAAqE,KAAArE,EAAA,GAAA,MAAAmC,GAAAkN,iBAAArP,EAAA,GAAA,MAAA6H,KACDuH,KAAA/K,IACC6F,gBAAAA,EAAAA,IAAA,QAAA,EACM,IAAA,GACApD,IAAAA,GACA,IAAAe,EAAExD,EAAaiB,IAAK,GACpB,IAAAuC,EAAExD,EAAaiB,IAAK,GACb,WAAAmI,GACT,uEACArL,GAAUiN,aACZ,GACO,OAAAlN,GAAMkN,cAAAA,CAAe,IAV/B,MAYOrP,EAAA,GAAA,IAAAoC,GAAAiN,eAAArP,SAAA8G,GAAA9G,SAAAqE,GAAArE,EAAA,GAAA,IAAAmC,GAAAkN,eAAArP,SAAA6H,GAAA7H,SAAAoP,MAAAA,KAAApP,EAAA,GAAA;AAAA,MAAAsP;AAAA,EAAAtP,EAAA,GAAA,MAAAgO,MAAAhO,WAAAoP,MA5LVE,4BAAA,KAAA,EACGtB,UAAAA;AAAAA,IAAAA;AAAAA,IA+KAoB;AAAAA,EAAAA,GAaH,GAAIpP,SAAAgO,IAAAhO,SAAAoP,IAAApP,SAAAsP,MAAAA,KAAAtP,EAAA,GAAA;AAAA,MAAAuP;AAAA,EAAAvP,EAAA,GAAA,MAAAwB,KAAAxB,EAAA,GAAA,MAAA6G,KAAA7G,EAAA,GAAA,MAAAmD,KAAAnD,EAAA,GAAA,MAAAc,KAAAd,EAAA,GAAA,MAAAkF,EAAAD,SAAAjF,EAAA,GAAA,MAAAmB,MAAAnB,EAAA,GAAA,MAAA6F,KACH0J,KAAApO,KAAA+I,gBAAAA,EAAAA,IAAA4E,EAAAA,UAAA,EAEI3N,UAAAA,GAASwE,IAAK,CAAA6J,GAAAC,MACbvF,gBAAAA,EAAAA,IAACwF,IAAA,EAEO,MAAA1J,EAAE2J,MACD,OAAA3J,EAAE4J,OACN,GAAA/J,EAAEG,EAAE6J,KAAgB,GACnB,IAAA,IAAI/O,GACJ,IAAA+F,IAAa3B,EAAMD,OACX,YAAAe,EAAE5D,YACN,QAAA4D,EAAE7D,QACDX,SAAAA,GACC2B,UAAAA,KATL4C,CASa,CAErB,GAAC,IAfL,MAiBO/F,SAAAwB,GAAAxB,SAAA6G,GAAA7G,SAAAmD,GAAAnD,SAAAc,GAAAd,EAAA,GAAA,IAAAkF,EAAAD,OAAAjF,SAAAmB,IAAAnB,SAAA6F,GAAA7F,SAAAuP,MAAAA,KAAAvP,EAAA,GAAA;AAAA,MAAA8P;AAAA,MAAA9P,EAAA,GAAA,MAAAwB,KAAAxB,WAAA4B,MAAA5B,EAAA,GAAA,MAAAM,KAAAN,EAAA,GAAA,MAAA6G,KAAA7G,EAAA,GAAA,MAAAmD,KAAAnD,EAAA,GAAA,MAAAkF,EAAAD,SAAAjF,EAAA,GAAA,MAAAyB,KAAAzB,EAAA,GAAA,MAAA6H,KAAA7H,WAAA6F,GAAA;AAAA,QAAAkK;AAAA,IAAA/P,EAAA,GAAA,MAAAwB,KAAAxB,EAAA,GAAA,MAAAM,KAAAN,EAAA,GAAA,MAAA6G,KAAA7G,WAAAmD,KAAAnD,EAAA,GAAA,MAAAkF,EAAAD,SAAAjF,EAAA,GAAA,MAAAyB,KAAAzB,EAAA,GAAA,MAAA6H,KAAA7H,WAAA6F,KAEWkK,IAAAA,CAAAC,GAAAC,MAAA;AACf,YAAAC,KAAkBC,GAChB;AAAA,QAAAtI,GACKxC,EAAC+K,cACAvI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,uBAAgBkF,MAAM,CAAC,KAAKH,EAACgL,WAAD,KACxD,KAAKhL,EAACgL,WAAD;AAAA,QAAexK,GACrBR,EAACiL,cACAzK,EAAER,EAACiL,WAAsB,KAAKjL,EAACkL,WAAD,KAAkB,IAChD,KAAKlL,EAACkL,WAAD,KAAkB;AAAA,MAAA,GAE7B;AAAA,QAAA1I,GACKxC,EAAC+K,cAAevI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,GAAY,oBAAIkF,KAAAA,CAAM,CAAK,IAAvE;AAAA,QAAwEK,GACxER,EAACiL,cAAezK,EAAER,EAACiL,WAA0B,IAA7C;AAAA,MAAA,GAELnJ,EAAuB9B,EAACmL,eAAsD,IAA9E,MAAmDnL,EAACmL,eACtD,GACAC,KAA0BpL,EAACqL,gBAAD;AAAA,QAAAC,IAEhBT,GAASrK;AAAAA,QAAE+K,IACXV,GAASrI;AAAAA,QAAEgJ,IACXxL,EAACiL,cACDzK,EAAER,EAACiL,WAAsB,KAAKjL,EAACkL,WAAD,KAC9B,KAAKlL,EAACkL,WAAD;AAAA,QAAeO,IACpBzL,EAAC+K,cACDvI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,uBAAgBkF,MAAM,CAAC,KAAKH,EAACgL,WAAD,KACxD,KAAKhL,EAACgL,WAAD;AAAA,QAAerB,IACpB3J,EAACiL,cAAezK,EAAER,EAACiL,WAA0B,IAA7C;AAAA,QAA8CvB,IAC9C1J,EAAC+K,cAAevI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,GAAY,oBAAIkF,KAAAA,CAAM,CAAK,IAAvE;AAAA,QAAwEuL,cAC9D5J,EAAuB9B,EAACmL,eAEN,IAFlB,MAETnL,EAACmL;AAAAA,QAA2B9O,aACpB2D,EAACqL,kBAAmB,KAApB,IAA+BtJ,KAAIC,IAAKhC,EAACqL,iBAAD,GAAsB,CAAC;AAAA,MAAA,IAfxDnM,QAkB1ByM,KAAsB;AAAA,QAAAnL,GACjBR,EAACiL,cACAzK,EAAER,EAACiL,WAAsB,KAAKjL,EAACkL,WAAD,KAAkB,IAChD,KAAKlL,EAACkL,WAAD,KAAkB;AAAA,QAAC1I,GACzBpG,IAAA,IAEC4D,EAAC+K,cACCvI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,GAAY,oBAAIkF,KAAAA,CAAM,CAAC,KAAKH,EAACgL,WAAD,KACxD,KAAKhL,EAACgL,WAAD;AAAA,QAAelQ,OACnBsB,IACH4D,EAAC+K,cACCvI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,GAAY,oBAAIkF,KAAAA,CAAM,CAAC,KAAKH,EAACgL,WAAD,KACxD,KAAKhL,EAACgL,WAAD,KACPxJ,IACA3B,EAAMD,SACLI,EAAC+K,cACEvI,EAAEtC,EAAM,GAAGF,EAAC+K,WAAY,IAAI9P,GAAY,oBAAIkF,MAAM,CAAC,KAAKH,EAACgL,WAAD,KACxD,KAAKhL,EAACgL,WAAD;AAAA,QAAgBY,UACnB5L,EAAC4L;AAAAA,QAASC,YACR7L,EAAC6L;AAAAA,QAAWC,OACjB9L,EAAC8L;AAAAA,MAAAA;AACR,mCAECC,IAAA,EAEQ,OAAA/L,EAACuK,OACYa,oBAAAA,IACLO,eAAAA,IACT,MAAA3L,EAACsK,MACK,YAAAtK,EAACjD,YACL,QAAAiD,EAAClD,QACAX,SAAAA,GACC2B,UAAAA,KARL4C,CAQa;AAAA,IAClB,GAEL/F,SAAAwB,GAAAxB,SAAAM,GAAAN,SAAA6G,GAAA7G,SAAAmD,GAAAnD,EAAA,GAAA,IAAAkF,EAAAD,OAAAjF,SAAAyB,GAAAzB,SAAA6H,GAAA7H,SAAA6F,GAAA7F,SAAA+P,KAAAA,IAAA/P,EAAA,GAAA,GArEA8P,KAAAlO,GAAW+D,IAAKoK,CAqEhB,GAAC/P,SAAAwB,GAAAxB,SAAA4B,IAAA5B,SAAAM,GAAAN,SAAA6G,GAAA7G,SAAAmD,GAAAnD,EAAA,GAAA,IAAAkF,EAAAD,OAAAjF,SAAAyB,GAAAzB,SAAA6H,GAAA7H,SAAA6F,GAAA7F,SAAA8P;AAAAA,EAAA;AAAAA,IAAAA,KAAA9P,EAAA,GAAA;AAAA,MAAA+P;AAAA,EAAA/P,WAAA8P,MAtEJC,kCACGD,UAAAA,GAAAA,CAsEH,GAAI9P,SAAA8P,IAAA9P,SAAA+P,MAAAA,KAAA/P,EAAA,GAAA;AAAA,MAAAqR;AAAA,EAAArR,WAAAuC,KACH8O,KAAA9O,EAAY0D,OAAQqL,EAA2B,EAAC3L,IAAK4L,EAAY,GAACvR,SAAAuC,GAAAvC,SAAAqR,MAAAA,KAAArR,EAAA,GAAA;AAAA,MAAAwR;AAAA,EAAAxR,EAAA,GAAA,MAAAyJ,uBAAAC,IAAA,2BAAA,KAG1D8H,KAAA;AAAA,IAAAlD,MACC;AAAA,IAAMmD,eACG;AAAA,EAAA,GAChBzR,SAAAwR,MAAAA,KAAAxR,EAAA,GAAA;AAAA,MAAA0R;AAAA,EAAA1R,EAAA,GAAA,MAAAmF,MAAAnF,WAAA8G,KAAA9G,EAAA,GAAA,MAAA6G,KALH6K,KAAAxH,gBAAAA,EAAAA,IAAA,UACO/E,SACE,OAAAqM,IAIA3K,OAAAA,GACCC,QAAAA,EAAAA,CAAW,GACnB9G,SAAAmF,IAAAnF,SAAA8G,GAAA9G,SAAA6G,GAAA7G,SAAA0R,MAAAA,KAAA1R,EAAA,GAAA;AAAA,MAAA2R;AAAA,SAAA3R,EAAA,GAAA,MAAAoC,GAAArB,WAAAf,EAAA,GAAA,MAAAwE,KAAAxE,EAAA,GAAA,MAAA0E,MAAA1E,EAAA,GAAA,MAAAqE,KAAArE,EAAA,GAAA,MAAAmC,GAAApB,WAAAf,EAAA,GAAA,MAAAe,MAGL4Q,KAAAtN,KAAAtD,MAAAyD,KAAAE,2BACEkN,IAAA,EACOvN,SACAtD,MAAAA,IACAyD,SACAE,MAAAA,IACW,iBAAAvC,GAAMpB,SACZ,WAAAqB,GAAUrB,SAAS,IAPjC,MASOf,EAAA,GAAA,IAAAoC,GAAArB,SAAAf,SAAAwE,GAAAxE,SAAA0E,IAAA1E,SAAAqE,GAAArE,EAAA,GAAA,IAAAmC,GAAApB,SAAAf,SAAAe,IAAAf,SAAA2R,MAAAA,KAAA3R,EAAA,GAAA,GA5aVmO,gBAAAA,EAAAA,KAAAW,YAAA,EACE,UAAA;AAAA,IAAA5E,gBAAAA,EAAAA,IAAAC,GAAA,KAAA,EACS,UAAGhK,EAAK,MACP,QAAA,GAAGC,EAAM,MACR,SAAA,OAAOD,EAAK,IAAIC,EAAM,IACrB,WAAA,OACL0C,SAEL,UAAAqL,gBAAAA,EAAAA,KAAA,KAAA,EAAc,WAAA,aAAajJ,EAAMF,IAAK,IAAIE,EAAMJ,GAAI,KAClDsF,UAAAA;AAAAA,MAAAA;AAAAA,MAkBAC;AAAAA,MAQAH,gBAAAA,EAAAA,IAAC2H,MACejL,cAAAA,IACNiB,QAAAA,GACAhC,QAAAA,GACCrE,SAAAA,GACC2B,UAAAA,EAAAA,CAAQ;AAAA,6BAEpB,KAAA,EACE,UAAA;AAAA,QAAA+G,gBAAAA,MAAC4H,MACS,QAAAtJ,GAAMvC,OAAQ8L,EAAY,GAC/B,GAAAvJ,GAAMvC,OAAQ+L,EAAY,EAACrM,IAAKsM,CAAAA,MAAKpM,EAAER,CAAC,CAAC,GACxC,IAAA,IAAIvE,GACJ,IAAA+F,IAAa3B,EAAMD,OACf,QAAA0F,IAII,YAAAG,IAIJlK,QAAAA,GACAC,QAAAA,GACE,WAAA,aACV,eAAA,IACS,UAAA,YACEyB,WAAAA,GACHM,QAAAA,GAAM;AAAA,QAEhByJ;AAAAA,QA4BAO;AAAAA,MAAAA,GAQF;AAAA,MACA1C,gBAAAA,EAAAA,IAAA,KAAA,EACE,UAAAA,gBAAAA,EAAAA,IAACgI,IAAA,EACS,QAAAjF,IACL,GAAAC,IACC,IAAA,GACApG,IAAAA,GACI,QAAAwG,IAII,YAAAM,IAOJhN,QAAAA,GACAC,QAAAA,GACE,WAAA,WACV,eAAA,IACWyB,WAAAA,GACHM,QAAAA,EAAAA,CAAM,EAAA,CAElB;AAAA,MACCiL;AAAAA,MACDyB;AAAAA,MA8LCC;AAAAA,MAkBDQ;AAAAA,MAwECsB;AAAAA,MACDK;AAAAA,IAAAA,EAAAA,CASF,EAAA,CACF;AAAA,IACCC;AAAAA,EAAAA,GASO;AACP;AA9mBA,SAAAJ,GAAAY,GAAA;AAAA,SAwlB8D9M,EAAC+M;AAAM;AAxlBrE,SAAAd,GAAAe,GAAA;AAAA,SAwlB6BhN,EAACiN,aAAc;AAAO;AAxlBnD,SAAA5D,GAAA6D,GAAA;AAAA,SA8W6D,CAACpL,EAAuBnB,EAAEH,CAAE;AAAC;AA9W1F,SAAA2I,GAAAgE,GAAA;AAAA,SAqW6D,CAACrL,EAAuBnB,EAAEH,CAAE;AAAC;AArW1F,SAAAkI,GAAA0E,GAAA;AAAA,SA+T+DpN,EAAC+M;AAAM;AA/TtE,SAAAtE,GAAA4E,GAAA;AAAA,SA+T6BrN,EAACiN,aAAc;AAAQ;AA/TpD,SAAAN,GAAAW,GAAA;AAAA,SA8O6BtN,MAAM;AAAC;AA9OpC,SAAA0M,GAAAa,GAAA;AAAA,SA6OkCvN,MAAM;AAAC;AA7OzC,SAAA0D,GAAA8J,GAAA;AAAA,SA8K4BxN,EAACC;AAAK;AA9KlC,SAAAsC,GAAAkL,GAAA;AAAA,SAmJG1L,KAAIM,IAAI,GAAKrC,EAACQ,EAAEI,OAAQ8M,EAAiC,CAAc;AAAC;AAnJ3E,SAAAA,GAAAC,GAAA;AAAA,SAmJiC,CAAC7L,EAAuBnB,CAAE;AAAC;AAnJ5D,SAAA2B,GAAAsL,GAAA;AAAA,SA8ID7L,KAAIM,IAAI,GAAKrC,EAACQ,EAAEI,OAAQiN,EAAiC,CAAc;AAAC;AA9IvE,SAAAA,GAAAC,GAAA;AAAA,SA8I6B,CAAChM,EAAuBnB,CAAE;AAAC;AA9IxD,SAAAwB,GAAA4L,GAAA;AAAA,SAuIOhM,KAAIC,IAAI,GAAKhC,EAACQ,EAAEI,OAAQoN,EAAiC,CAAc;AAAC;AAvI/E,SAAAA,GAAAC,GAAA;AAAA,SAuIqC,CAACnM,EAAuBnB,CAAE;AAAC;AAvIhE,SAAAuB,GAAAgM,GAAA;AAAA,SAiIKnM,KAAIC,IAAI,GAAKhC,EAACQ,EAAEI,OAAQuN,EAAiC,CAAc;AAAC;AAjI7E,SAAAA,GAAAC,GAAA;AAAA,SAiImC,CAACtM,EAAuBnB,CAAE;AAAC;AAjI9D,SAAAsB,GAAAoM,GAAA;AAAA,SA4HGtM,KAAIC,IAAI,GAAKhC,EAACQ,EAAEI,OAAQ0N,EAAiC,CAAc;AAAC;AA5H3E,SAAAA,GAAAC,GAAA;AAAA,SA4HiC,CAACzM,EAAuBnB,CAAE;AAAC;AA5H5D,SAAAE,GAAA2N,GAAA;AAAA,SAoGa,CAAC1M,EAAuBnB,EAAEH,CAAE;AAAC;ACpC1C,SAAAiO,GAAA/T,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,GAAA,GACL;AAAA,IAAAC,MAAAA;AAAAA,IAAA6T,YAAAA;AAAAA,IAAA1T,YAAA2C;AAAAA,IAAApC,QAAA4C;AAAAA,IAAAwQ,SAAAA;AAAAA,IAAAnT,QAAA4C;AAAAA,IAAAwQ,kBAAAA;AAAAA,IAAA7T,QAAAA;AAAAA,IAAAD,OAAAA;AAAAA,IAAA+T,UAAAA;AAAAA,IAAA3T,YAAAqE;AAAAA,IAAAtE,YAAAuE;AAAAA,IAAArE,QAAAA;AAAAA,IAAA2T,SAAAA;AAAAA,IAAAlT,YAAAmE;AAAAA,IAAAgP,iBAAAjO;AAAAA,IAAArF,YAAAsF;AAAAA,IAAA3F,aAAA+F;AAAAA,IAAA9F,WAAAuH;AAAAA,IAAAtH,cAAA6I;AAAAA,IAAAzI,SAAAA;AAAAA,IAAAsT,gBAAAA;AAAAA,IAAArT,mBAAAA;AAAAA,IAAAE,sBAAAyI;AAAAA,IAAAxI,WAAAyI;AAAAA,IAAAxI,uBAAA4I;AAAAA,IAAAsK,SAAAA;AAAAA,IAAAjT,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAgT,eAAAtK;AAAAA,IAAAuK,cAAApK;AAAAA,IAAA5I,SAAA6I;AAAAA,IAAAoK,UAAAlK;AAAAA,IAAAmK,kBAAAA;AAAAA,IAAAC,WAAAjK;AAAAA,IAAAhJ,aAAAiJ;AAAAA,IAAAhJ,UAAAiJ;AAAAA,IAAAhJ,aAAAiJ;AAAAA,IAAAhJ,6BAAAiJ;AAAAA,IAAA8J,OAAA7J;AAAAA,IAAA8J,WAAAA;AAAAA,IAAA/S,YAAAA;AAAAA,IAAAC,YAAAiJ;AAAAA,IAAAhJ,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,WAAA+I;AAAAA,IAAA9I,QAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,eAAA6I;AAAAA,IAAA5I,WAAA6I;AAAAA,IAAA5I,cAAA6I;AAAAA,IAAA5I,aAAA8I;AAAAA,IAAA7I,cAAA8I;AAAAA,IAAA7I,kBAAA8I;AAAAA,IAAAsJ,gBAAArJ;AAAAA,IAAA7I,QAAAgJ;AAAAA,IAAA/I,SAAAkJ;AAAAA,EAAAA,IA2DIhM,GAxDFM,IAAA2C,OAAAuB,SAAawQ,GAAMC,MAAMC,kBAAkBC,SAA3ClS,IACApC,KAAA4C,MAAAe,SAAA,KAAAf,GAEA3C,IAAA4C,OAAAc,SAAA,KAAAd,IAKAlD,KAAAqE,MAAAL,SAAA,KAAAK,GACAtE,KAAAuE,MAAAN,SAAA,SAAAM,GAGA5D,IAAAmE,OAAAb,SAAA,KAAAa,IACAgP,KAAAjO,OAAA5B,SAAA,KAAA4B,IACArF,KAAAsF,OAAA7B,SAAA,KAAA6B,IACA3F,KAAA+F,OAAAjC,SAAA,KAAAiC,IACA9F,KAAAuH,OAAA1D,SAAA,KAAA0D,IACAtH,KAAA6I,MAAAjF,SAAA,KAAAiF,GAIAtI,IAAAyI,MAAApF,SAAA,KAAAoF;AAA4B,MAAAqC;AAAA,EAAAhM,SAAA4J,MAC5BoC,IAAApC,OAAArF,SAAA,CAAA,IAAAqF,IAAc5J,OAAA4J,IAAA5J,OAAAgM,KAAAA,IAAAhM,EAAA,CAAA;AAAd,QAAAmB,KAAA6K;AAAc,MAAAE;AAAA,EAAAlM,SAAAgK,MACdkC,KAAAlC,OAAAzF,SAAA,CAAA,IAAAyF,IAA0BhK,OAAAgK,IAAAhK,OAAAkM,MAAAA,KAAAlM,EAAA,CAAA;AAA1B,QAAAoB,IAAA8K,IAKAqI,IAAAtK,OAAA1F,SAAA,KAAA0F,IACAuK,IAAApK,OAAA7F,SAAA,KAAA6F,IACA5I,IAAA6I,OAAA9F,SAAA,KAAA8F,IACAoK,IAAAlK,MAAAhG,SAAA,OAAAgG,GAEAoK,IAAAjK,OAAAnG,SAAA,IAAAmG,IACAhJ,KAAAiJ,MAAApG,SAAA,IAAAoG,GACAhJ,KAAAiJ,MAAArG,SAAA,KAAAqG;AAAe,MAAAuB;AAAA,EAAAnM,SAAA6K,MACfsB,KAAAtB,OAAAtG,SAAA,CAAA,IAAAsG,IAAgB7K,OAAA6K,IAAA7K,OAAAmM,MAAAA,KAAAnM,EAAA,CAAA;AAAhB,QAAA4B,KAAAuK;AAAgB,MAAAC;AAAA,EAAApM,SAAA8K,MAChBsB,IAAAtB,OAAAvG,SAAA,CAAA,IAAAuG,IAAgC9K,OAAA8K,IAAA9K,OAAAoM,KAAAA,IAAApM,EAAA,CAAA;AAAhC,QAAA6B,IAAAuK,GACAwI,KAAA7J,OAAAxG,SAAA,UAAAwG,IAGAhJ,IAAAiJ,OAAAzG,SAAA,IAAAyG,IAGA9I,KAAA+I,MAAA1G,SAAA,UAAA0G,GAGA5I,KAAA6I,OAAA3G,SAAA,MAAA2G,IACA5I,KAAA6I,OAAA5G,SAAA,IAAA4G;AAAa,MAAAkB;AAAA,EAAArM,SAAAoL,MACbiB,KAAAjB,OAAA7G,SAAA,CAAA,IAAA6G,IAAiBpL,OAAAoL,IAAApL,OAAAqM,MAAAA,KAAArM,EAAA,CAAA;AAAjB,QAAAuC,KAAA8J;AAAiB,MAAAE;AAAA,EAAAvM,UAAAsL,KACjBiB,KAAAjB,MAAA/G,SAAA,CAAA,IAAA+G,GAAgBtL,QAAAsL,GAAAtL,QAAAuM,MAAAA,KAAAvM,EAAA,EAAA;AAAhB,QAAAwC,KAAA+J;AAAgB,MAAAC;AAAA,EAAAxM,UAAAuL,MAChBiB,KAAAjB,OAAAhH,SAAA,CAAgB,KAAK,IAArBgH,IAAsBvL,QAAAuL,IAAAvL,QAAAwM,MAAAA,KAAAxM,EAAA,EAAA;AAAtB,QAAAyC,KAAA+J;AAAsB,MAAAC;AAAA,EAAAzM,UAAAwL,KACtBiB,KAAAjB,MAAAjH,SAAA,CAAA,IAAAiH,GAAqBxL,QAAAwL,GAAAxL,QAAAyM,MAAAA,KAAAzM,EAAA,EAAA;AAArB,QAAA0C,IAAA+J,IACAqI,IAAArJ,OAAAlH,SAAA,KAAAkH,IACA7I,KAAAgJ,OAAArH,SAAA,OAAAqH,IACA/I,IAAAkJ,OAAAxH,SAAA,OAAAwH,IAGF,CAAAoJ,IAAAC,EAAA,IAAgC7R,GAAS,CAAC,GAC1C,CAAA8R,IAAAC,EAAA,IAAkC/R,GAAS,CAAC,GAE5CgS,KAAiBxS,GAAuB,IAAI,GAC5CyS,KAAuBzS,GAAuB,IAAI;AAAE,MAAA4J,GAAAC;AAAA,EAAA5M,EAAA,EAAA,MAAAyJ,uBAAAC,IAAA,2BAAA,KAC1CiD,IAAAA,MAAA;AACR,UAAA8I,KAAuB,IAAIC,eAAeC,CAAAA,OAAA;AACxCP,MAAAA,GAAYO,GAAO,CAAA,EAAGC,OAAOC,eAAjB,GAAoC,GAChDP,GAAaK,GAAO,CAAA,EAAGC,OAAOE,gBAAjB,GAAqC;AAAA,IAAC,CACpD;AACD,WAAIP,GAAQjM,WACVmM,GAAcM,QAASR,GAAQjM,OAAQ,GAElC,MAAMmM,GAAcO,WAAAA;AAAAA,EAAa,GACvCpJ,KAAA,CAAA,GAAE5M,QAAA2M,GAAA3M,QAAA4M,OAAAD,IAAA3M,EAAA,EAAA,GAAA4M,KAAA5M,EAAA,EAAA,IATL8D,GAAU6I,GASPC,EAAE;AAIU,QAAAE,KAAA1K,GAAU6T,gBACdhJ,IAAA9K,GAAM8T;AAAgB,MAAA/I;AAAA,EAAAlN,UAAAoC,GAAA8T,eAAAlW,UAAAoC,GAAAsK,SAAA1M,UAAAE,KAAAF,EAAA,EAAA,MAAAwU,KAAAxU,EAAA,EAAA,MAAAiU,KAAAjU,EAAA,EAAA,MAAAuU,KAAAvU,UAAA+T,MAAA/T,EAAA,EAAA,MAAAmC,GAAA+T,eAAAlW,EAAA,EAAA,MAAAmC,GAAAuK,SAAA1M,EAAA,EAAA,MAAAG,KAa5B+M,IAAA6G,MAAAE,KAAAM,KAAAC,IACCtK,gBAAAA,MAACiM,MACS,QAAA;AAAA,IAAAzJ,OACCvK,GAAMuK;AAAAA,IAAOwJ,aACP/T,GAAM+T;AAAAA,EAAAA,GAET,YAAA;AAAA,IAAAxJ,OACHtK,GAAUsK;AAAAA,IAAOwJ,aACX9T,GAAU8T;AAAAA,EAAAA,GAEbnC,YAAAA,IACME,kBAAAA,GACX9T,OAAAA,GACQ,eAAAoU,IAAAiB,KAAAjR,QAEb,cAAAiQ,IACItU,EAAIyF,IAAKO,EAAW,EAACD,OAAQ0N,EAAoB,EAAC1M,SAAU,IAC1D/G,EAAIyF,IAAK2B,EAAW,EAACrB,OAAQuN,EACG,IAAhCtT,EAAI+F,OAAQsB,EAAoB,IAHtC,MAIQ,IAnBb,MAsBOvH,EAAA,EAAA,IAAAoC,GAAA8T,aAAAlW,EAAA,EAAA,IAAAoC,GAAAsK,OAAA1M,QAAAE,GAAAF,QAAAwU,GAAAxU,QAAAiU,GAAAjU,QAAAuU,GAAAvU,QAAA+T,IAAA/T,EAAA,EAAA,IAAAmC,GAAA+T,aAAAlW,EAAA,EAAA,IAAAmC,GAAAuK,OAAA1M,QAAAG,GAAAH,QAAAkN,KAAAA,IAAAlN,EAAA,EAAA;AAAA,MAAAoN;AAAA,EAAApN,EAAA,EAAA,MAAAoC,GAAAgU,eAAApW,EAAA,EAAA,MAAA0U,KAAA1U,EAAA,EAAA,MAAAE,EAAA+G,UAAAjH,EAAA,EAAA,MAAAQ,KAAAR,EAAA,EAAA,MAAA0C,KAAA1C,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAkB,KAAAlB,UAAA8U,KACP1H,IAAAlM,KAAA4T,KAA0C5U,EAAI+G,SAAU,IACvDiD,gBAAAA,EAAAA,IAACmM,MACc7V,aAAAA,GACKkU,kBAAAA,GACAhS,kBAAAA,GACVrC,QAAAA,GACK,aAAA,IACF,WAAA+B,GAAUgU,aAAa,IAPrC,MASOpW,EAAA,EAAA,IAAAoC,GAAAgU,aAAApW,QAAA0U,GAAA1U,EAAA,EAAA,IAAAE,EAAA+G,QAAAjH,QAAAQ,GAAAR,QAAA0C,GAAA1C,QAAAK,GAAAL,QAAAkB,GAAAlB,QAAA8U,GAAA9U,QAAAoN,KAAAA,IAAApN,EAAA,EAAA;AAAA,MAAAqN;AAAA,EAAArN,EAAA,EAAA,MAAAE,EAAA+G,UAELoG,IAAAnN,EAAI+G,WAAY,KAAKiD,gBAAAA,EAAAA,IAACoM,IAAA,EAAU,GAAGtW,EAAA,EAAA,IAAAE,EAAA+G,QAAAjH,QAAAqN,KAAAA,IAAArN,EAAA,EAAA;AAAA,MAAAsN;AAAA,EAAAtN,EAAA,EAAA,MAAAwB,KAAAxB,EAAA,EAAA,MAAA4B,MAAA5B,EAAA,EAAA,MAAAW,MAAAX,EAAA,EAAA,MAAAoC,KAAApC,UAAAkC,MAAAlC,EAAA,EAAA,MAAA6B,KAAA7B,UAAAuC,MAAAvC,EAAA,EAAA,MAAAyC,MAAAzC,UAAAwC,MAAAxC,EAAA,EAAA,MAAAE,KAAAF,EAAA,EAAA,MAAAM,MAAAN,EAAA,EAAA,MAAAqC,MAAArC,EAAA,EAAA,MAAAoB,KAAApB,EAAA,EAAA,MAAAuB,MAAAvB,EAAA,EAAA,MAAAQ,KAAAR,UAAA0C,KAAA1C,EAAA,EAAA,MAAAyU,KAAAzU,UAAAc,MAAAd,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAA4C,MAAA5C,UAAAiC,MAAAjC,EAAA,EAAA,MAAAsB,MAAAtB,UAAAgC,MAAAhC,EAAA,EAAA,MAAAqB,MAAArB,EAAA,EAAA,MAAA6C,KAAA7C,EAAA,EAAA,MAAAO,MAAAP,EAAA,EAAA,MAAA+B,KAAA/B,EAAA,EAAA,MAAAgB,KAAAhB,EAAA,EAAA,MAAAsC,MAAAtC,UAAAa,KAAAb,EAAA,EAAA,MAAAmB,MAAAnB,UAAAS,MAAAT,EAAA,EAAA,MAAAkB,KAAAlB,UAAA8U,KAAA9U,EAAA,EAAA,MAAA2B,MAAA3B,EAAA,EAAA,MAAAiB,KAAAjB,EAAA,EAAA,MAAA0B,MAAA1B,EAAA,EAAA,MAAAmC,KAAAnC,EAAA,EAAA,MAAAY,MAAAZ,EAAA,EAAA,MAAAqV,MAAArV,UAAAmV,MAAAnV,EAAA,EAAA,MAAAe,MAAAf,EAAA,EAAA,MAAAU,MAAAV,UAAA8B,KACnCwL,IAAA6H,MAAAE,MAAyBnV,EAAI+G,SAAU,IACtCiD,gBAAAA,EAAAA,IAACpK,MACOI,MAAAA,GACMG,YAAAA,GACL8U,OAAAA,IACCE,YACI/U,YAAAA,IACA,YAAAC,MAAcgW,GAAapB,EAAQ,GACnCrU,YAAAA,IACCL,aAAAA,IACFC,WAAAA,IACGC,cAAAA,IACNH,QAAAA,GACCO,SAAAA,IACUC,mBAAAA,GACG,sBAAA8T,IAAA5T,IAAA,IACVD,YAAAA,GACJL,QAAAA,IACAC,QAAAA,GACeO,uBAAAA,GACZD,WAAAA,IACDE,UAAAA,IACAC,UAAAA,IACQC,kBAAAA,IAEhB,SAAAC,MAAY,KAAZ;AAAA,IAAAkC,UACgB;AAAA,IAAGR,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,IACrCzB,KAAA;AAAA,IAAAkC,UAAuB;AAAA,IAACR,MAAQ;AAAA,IAAID,QAAU;AAAA,EAAA,GAE/C,KAAAwR,MAAa,QAAQA,MAAa,MAC1B/S,aAAAA,IACHC,UAAAA,IACGC,aAAAA,IACgBC,6BAAAA,GACjBC,YAAAA,GACAC,YAAAA,GACHC,SAAAA,IACAC,SAAAA,IACEC,WAAAA,IACHC,QAAAA,GACIC,YAAAA,GACGC,eAAAA,IACJC,WAAAA,IACGC,cAAAA,IACIG,kBAAAA,GACLF,aAAAA,IACCC,cAAAA,IACA,cAAA+T,GAAqB,CAAC,GAC5B5T,QAAAA,IACCC,SAAAA,GAAO,IAjDnB,MAmDO7C,QAAAwB,GAAAxB,QAAA4B,IAAA5B,QAAAW,IAAAX,QAAAoC,GAAApC,QAAAkC,IAAAlC,QAAA6B,GAAA7B,QAAAuC,IAAAvC,QAAAyC,IAAAzC,QAAAwC,IAAAxC,QAAAE,GAAAF,QAAAM,IAAAN,QAAAqC,IAAArC,QAAAoB,GAAApB,QAAAuB,IAAAvB,QAAAQ,GAAAR,QAAA0C,GAAA1C,QAAAyU,GAAAzU,QAAAc,IAAAd,QAAAK,GAAAL,QAAA4C,IAAA5C,QAAAiC,IAAAjC,QAAAsB,IAAAtB,QAAAgC,IAAAhC,QAAAqB,IAAArB,QAAA6C,GAAA7C,QAAAO,IAAAP,QAAA+B,GAAA/B,QAAAgB,GAAAhB,QAAAsC,IAAAtC,QAAAa,GAAAb,QAAAmB,IAAAnB,QAAAS,IAAAT,QAAAkB,GAAAlB,QAAA8U,GAAA9U,QAAA2B,IAAA3B,QAAAiB,GAAAjB,QAAA0B,IAAA1B,QAAAmC,GAAAnC,QAAAY,IAAAZ,QAAAqV,IAAArV,QAAAmV,IAAAnV,QAAAe,IAAAf,QAAAU,IAAAV,QAAA8B,GAAA9B,QAAAsN,KAAAA,IAAAtN,EAAA,EAAA;AAAA,MAAAuN;AAAA,EAAAvN,EAAA,EAAA,MAAAqN,KAAArN,UAAAsN,KArDVC,2BAACkJ,IAAA,EAAelB,SACblI,UAAAA;AAAAA,IAAAA;AAAAA,IACAC;AAAAA,EAAAA,GAoDH,GAAYtN,QAAAqN,GAAArN,QAAAsN,GAAAtN,QAAAuN,KAAAA,IAAAvN,EAAA,EAAA;AAAA,MAAAwN;AAAA,EAAAxN,EAAA,EAAA,MAAAoC,GAAAsU,YAAA1W,EAAA,EAAA,MAAAoC,GAAAuU,UAAA3W,EAAA,EAAA,MAAAkU,MAAAlU,EAAA,EAAA,MAAAgU,KAAAhU,EAAA,EAAA,MAAAmC,GAAAuU,YAAA1W,EAAA,EAAA,MAAAmC,GAAAwU,UAAA3W,UAAAG,KACXqN,IAAAwG,KAAAE,KACChK,gBAAAA,EAAAA,IAAC0M,IAAA,EACS,QAAA;AAAA,IAAAF,UAAYvU,GAAMuU;AAAAA,IAAUC,QAAUxU,GAAMwU;AAAAA,EAAAA,GACxC,YAAA;AAAA,IAAAD,UACAtU,GAAUsU;AAAAA,IAAUC,QACtBvU,GAAUuU;AAAAA,EAAAA,GAEX3C,SAAAA,GACCE,UAAAA,IACH/T,OAAAA,EAAAA,CAAK,IATf,MAWOH,EAAA,EAAA,IAAAoC,GAAAsU,UAAA1W,EAAA,EAAA,IAAAoC,GAAAuU,QAAA3W,QAAAkU,IAAAlU,QAAAgU,GAAAhU,EAAA,EAAA,IAAAmC,GAAAuU,UAAA1W,EAAA,EAAA,IAAAmC,GAAAwU,QAAA3W,QAAAG,GAAAH,QAAAwN,KAAAA,IAAAxN,EAAA,EAAA;AAAA,MAAA0N;AAAA,SAAA1N,EAAA,EAAA,MAAA6U,MAAA7U,EAAA,EAAA,MAAAoU,MAAApU,EAAA,EAAA,MAAAsU,MAAAtU,EAAA,EAAA,MAAAI,MAAAJ,EAAA,GAAA,MAAAyU,KAAAzU,EAAA,GAAA,MAAA2U,KAAA3U,EAAA,GAAA,MAAAmU,MAAAnU,EAAA,GAAA,MAAAqU,MAAArU,EAAA,GAAA,MAAA8M,MAAA9M,EAAA,GAAA,MAAAiN,KAAAjN,EAAA,GAAA,MAAAkN,KAAAlN,EAAA,GAAA,MAAAoN,KAAApN,EAAA,GAAA,MAAAuN,KAAAvN,EAAA,GAAA,MAAAwN,KAAAxN,EAAA,GAAA,MAAA4U,MAAA5U,WAAAG,KAlHVuN,4BAACmJ,IAAA,EACY,WAAA/J,IACJ,OAAAG,GACHqH,QACCkB,SACOX,cAAAA,IACKT,iBAAAA,IACVQ,OAAAA,IACGH,UAAAA,GACCE,WAAAA,GACJxU,OAAAA,GACCC,QAAAA,IACQiU,gBAAAA,IACPF,SAAAA,IAERjH,UAAAA;AAAAA,IAAAA;AAAAA,IAuBAE;AAAAA,IAUDG;AAAAA,IAuDCC;AAAAA,EAAAA,GAYH,GAAiBxN,QAAA6U,IAAA7U,QAAAoU,IAAApU,QAAAsU,IAAAtU,QAAAI,IAAAJ,SAAAyU,GAAAzU,SAAA2U,GAAA3U,SAAAmU,IAAAnU,SAAAqU,IAAArU,SAAA8M,IAAA9M,SAAAiN,GAAAjN,SAAAkN,GAAAlN,SAAAoN,GAAApN,SAAAuN,GAAAvN,SAAAwN,GAAAxN,SAAA4U,IAAA5U,SAAAG,GAAAH,SAAA0N,MAAAA,KAAA1N,EAAA,GAAA,GAnHjB0N;AAmHiB;AAlMd,SAAAnG,GAAAd,GAAA;AAAA,SAgH4BpB,MAAMd;AAAS;AAhH3C,SAAAiP,GAAAnN,GAAA;AAAA,SA+G6ChB,MAAMd;AAAS;AA/G5D,SAAA+C,GAAAjC,GAAA;AAAA,SA+GyBA,EAACnF;AAAK;AA/G/B,SAAAyT,GAAAJ,GAAA;AAAA,SA8G2ClO,MAAMd;AAAS;AA9G1D,SAAA2B,GAAAkN,GAAA;AAAA,SA8GuB/N,EAACnF;AAAK;"}
1
+ {"version":3,"file":"MultiLineChart.js","sources":["../src/Components/Graphs/LineCharts/MultiLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n labels: (string | number)[];\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues: boolean;\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 showColorLegendAtTop: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines?: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n dashedLines: (string | number)[];\r\n dashSettings: string[];\r\n labelsToBeHidden: (string | number)[];\r\n revealClipId: string;\r\n locale: string;\r\n naLabel: string;\r\n padZeros: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: 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 dateFormat,\r\n noOfXTicks,\r\n labels,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showValues,\r\n showColorLegendAtTop,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n dashedLines,\r\n dashSettings,\r\n labelsToBeHidden,\r\n revealClipId,\r\n locale,\r\n naLabel,\r\n padZeros,\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: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\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 dataArray = dataFormatted[0].y.map((_d, i) => {\r\n return dataFormatted\r\n .map(el => ({\r\n ...el,\r\n y: el.y[i],\r\n }))\r\n .filter(el => !checkIfNullOrUndefined(el.y));\r\n });\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : 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 minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n ) > 0\r\n ? 0\r\n : Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n 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 <defs>\r\n <clipPath id={revealClipId}>\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n height={graphHeight}\r\n variants={{\r\n initial: { width: 0 },\r\n whileInView: {\r\n width: graphWidth,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n </clipPath>\r\n </defs>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n {dataArray.map((d, i) => (\r\n <motion.g\r\n key={labels[i]}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: highlightedLines\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: highlightedLines\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n style={{\r\n fill: 'none',\r\n strokeWidth,\r\n }}\r\n clipPath={`url(#${revealClipId})`}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n ...(dashedLines.length === 0 ? { pathLength: 0 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n },\r\n whileInView: {\r\n ...(dashedLines.length === 0 ? { pathLength: 1 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n strokeDasharray={\r\n dashedLines.includes(labels[i])\r\n ? dashSettings[i % dashSettings.length]\r\n : undefined\r\n }\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\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 fill: lineColors[i],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={-8}\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value 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 fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n el.y,\r\n naLabel,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </g>\r\n ))}\r\n {showColorLegendAtTop || labelsToBeHidden.includes(labels[i]) ? null : (\r\n <motion.text\r\n className='text-xs'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {labels[i]}\r\n </motion.text>\r\n )}\r\n </motion.g>\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 {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <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 {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { generateRandomString } from '@/Utils/generateRandomString';\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: MultiLineChartDataType[];\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 of the lines */\r\n lineColors?: string[];\r\n /** Toggle the visibility of color legend between the top of the graphs and next to the line */\r\n showColorLegendAtTop?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Array of labels of line which are dashed */\r\n dashedLines?: (string | number)[];\r\n /** Array of dash settings that define the dash style for the dashed line. If the length of the array is less than length of dashedLines then it loop around. */\r\n dashSettings?: string[];\r\n /** Defines which labels are hidden from the color scale and the graph */\r\n labelsToBeHidden?: (string | 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 /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Labels for the lines */\r\n labels: (string | number)[];\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 MultiLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n lineColors = Colors.light.categoricalColors.colors,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n labels,\r\n padding,\r\n showValues = false,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showColorLegendAtTop = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n customLayers = [],\r\n dashedLines = [],\r\n dashSettings = ['5 5'],\r\n labelsToBeHidden = [],\r\n showColorScale = true,\r\n numberDisplayOptions,\r\n naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\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 {showColorLegendAtTop && showColorScale && data.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n labelsToBeHidden={labelsToBeHidden}\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 lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorLegendAtTop={showColorScale ? showColorLegendAtTop : true}\r\n showValues={showValues}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n dimmedOpacity={dimmedOpacity}\r\n customLayers={customLayers}\r\n labelsToBeHidden={labelsToBeHidden}\r\n dashedLines={dashedLines}\r\n dashSettings={dashSettings}\r\n revealClipId={generateRandomString(8)}\r\n naLabel={naLabel}\r\n locale={numberDisplayOptions?.locale || 'en'}\r\n padZeros={numberDisplayOptions?.padZeros || false}\r\n suffix={numberDisplayOptions?.suffix || ''}\r\n prefix={numberDisplayOptions?.prefix || ''}\r\n precision={numberDisplayOptions?.precision ?? 2}\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","dateFormat","noOfXTicks","labels","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","showValues","showColorLegendAtTop","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","classNames","dimmedOpacity","precision","customLayers","dashedLines","dashSettings","labelsToBeHidden","revealClipId","locale","naLabel","padZeros","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","top","bottom","left","right","margin","MouseoverRectRef","t5","d","date","parse","Date","dataFormatted","orderBy","map","dataArray","y","_d","i","el","filter","_temp","t6","t7","d_0","coordinates","highlightAreaSettingsFormatted","t8","d_1","el_1","j","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp5","_temp7","maxParam","max","_temp9","_temp1","x","scaleTime","domain","range","t9","scaleLinear","nice","lineShape","line","d_7","d_8","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp10","invert","pointer","clientY","clientX","mouseout","select","current","on","t10","Symbol","for","t11","t12","initial","whileInView","transition","t13","t14","jsx","motion","t15","t16","HighlightArea","t17","yAxis","gridLines","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","numberFormattingFunction","t29","t30","t31","t32","dx","dy","t33","xAxis","axis","t34","t35","label","t36","t37","t38","t39","Axis","t40","t41","t42","title","t43","t44","AxisTitle","t45","d_13","format","t46","t47","d_14","t48","t49","t50","t51","t52","cn","t53","t54","t55","t56","_temp13","_temp14","t57","d_17","i_0","jsxs","opacity","indexOf","fill","pathLength","_temp15","stroke","_temp16","includes","el_9","j_0","Fragment","cx","cy","delay","textAnchor","graphObjectValues","t58","mouseOverLine","t59","t60","el_10","i_1","RefLineY","text","color","value","t61","t62","d_18","i_2","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t63","_temp17","_temp18","t64","pointerEvents","t65","t66","Tooltip","CustomArea","YTicksAndGridLines","_temp11","_temp12","d_12","XTicksAndGridLines","d_20","layer","d_19","position","el_8","el_7","d_16","d_15","d_11","d_10","d_9","d_5","_temp0","el_5","d_6","_temp8","el_6","d_2","_temp6","el_2","d_3","_temp4","el_3","d_4","_temp2","el_4","el_0","MultiLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","showColorScale","numberDisplayOptions","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","generateRandomString","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-D4pAp7u0.cjs"),ot=require("react"),me=require("./index-DQA8q5sC.cjs"),le=require("./numberFormattingFunction-Cn9R7CM9.cjs"),ge=require("./Tooltip-Hr46paWP.cjs"),xe=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ue=require("./Axis-BTaS9oPQ.cjs"),pe=require("./AxisTitle-DP_evhbe.cjs"),ye=require("./XAxesLabels-C03jHniq.cjs"),be=require("./DetailsModal-jmmKRMRM.cjs"),ve=require("./band-VYfcZeJ2.cjs"),de=require("./linear-CgUCbw9F.cjs"),fe=require("./line-DaEMhXmx.cjs"),re=require("./step-BZ3C8QFW.cjs"),Gt=require("./proxy-CqH8m8IQ.cjs"),Ae=require("./use-in-view-dnRv_qqF.cjs"),je=require("./index-FXfr51ZM.cjs"),we=require("./GraphFooter.cjs"),Ee=require("./GraphHeader.cjs"),Re=require("./ColorLegend.cjs"),ae=require("./Colors.cjs"),Ce=require("./EmptyState-CFmiFPHz.cjs"),he=require("./GraphContainer-Cul9b74X.cjs");function Me(e){const t=n.compilerRuntimeExports.c(158),{data:d,width:F,height:Y,barColor:f,lineColor:p,axisTitles:u,sameAxes:A,rightMargin:ee,leftMargin:ie,topMargin:Xt,bottomMargin:Wt,tooltip:Mt,showValues:kt,onSeriesMouseOver:lt,barPadding:Bt,truncateBy:Lt,showLabels:Ut,onSeriesMouseClick:N,resetSelectionOnDoubleClick:ft,detailsOnClick:k,noOfTicks:ht,lineSuffix:gt,barSuffix:St,linePrefix:Nt,barPrefix:Ot,curveType:$t,styles:s,classNames:o,animate:a,precision:H,customLayers:O,naLabel:rt,showAxisLabels:L,locale:at}=e,zt=ot.useRef(null);let qt;t[0]!==a.amount||t[1]!==a.once?(qt={once:a.once,amount:a.amount},t[0]=a.amount,t[1]=a.once,t[2]=qt):qt=t[2];const $=Ae.useInView(zt,qt),Jt=$t==="linear"?fe.curveLinear:$t==="step"?re.curveStep:$t==="stepAfter"?re.stepAfter:$t==="stepBefore"?re.stepBefore:re.monotoneX,[Vt,ct]=ot.useState(void 0),[q,yt]=ot.useState(void 0),[x,l]=ot.useState(void 0),[It,ut]=ot.useState(void 0),bt=ie+50,Kt=ee+65;let Tt;t[3]!==Wt||t[4]!==bt||t[5]!==Kt||t[6]!==Xt?(Tt={top:Xt,bottom:Wt,left:bt,right:Kt},t[3]=Wt,t[4]=bt,t[5]=Kt,t[6]=Xt,t[7]=Tt):Tt=t[7];const c=Tt,g=F-c.left-c.right,r=Y-c.top-c.bottom;let j,G,X,S,W,B,U,w,E,V,I,z,J,K,Q;if(t[8]!==a||t[9]!==u||t[10]!==f||t[11]!==Bt||t[12]!==Ot||t[13]!==St||t[14]!==o?.graphObjectValues||t[15]!==o?.xAxis?.axis||t[16]!==o?.xAxis?.labels||t[17]!==o?.yAxis?.gridLines||t[18]!==o?.yAxis?.labels||t[19]!==o?.yAxis?.title||t[20]!==Jt||t[21]!==O||t[22]!==d||t[23]!==k||t[24]!==r||t[25]!==g||t[26]!==Y||t[27]!==$||t[28]!==p||t[29]!==Nt||t[30]!==gt||t[31]!==at||t[32]!==c.bottom||t[33]!==c.left||t[34]!==c.right||t[35]!==c.top||t[36]!==q||t[37]!==rt||t[38]!==ht||t[39]!==N||t[40]!==lt||t[41]!==H||t[42]!==ft||t[43]!==A||t[44]!==L||t[45]!==Ut||t[46]!==kt||t[47]!==s?.graphObjectValues||t[48]!==s?.xAxis?.axis||t[49]!==s?.xAxis?.labels||t[50]!==s?.yAxis?.gridLines||t[51]!==s?.yAxis?.labels||t[52]!==s?.yAxis?.title||t[53]!==Lt||t[54]!==F){const m=d.map(ei),y=ve.band().domain(m.map(ti)).range([0,g]).paddingInner(Bt),Pt=Math.min(...m.map(_e).filter(Ze))!==1/0?Math.min(...m.map(Qe).filter(Ke))>0?0:Math.min(...m.map(Je).filter(ze)):0,At=Math.min(...m.map(Ue).filter(Be))!==1/0?Math.min(...m.map(We).filter(Xe))>0?0:Math.min(...m.map(Ge).filter(He)):0,jt=Math.max(...m.map(Ye).filter(Fe))!==1/0?Math.max(...m.map(De).filter(Pe)):0,xt=Math.max(...m.map(Te).filter(Ie))!==1/0?Math.max(...m.map(Ve).filter(qe)):0,Qt=Pt<At?Pt:At,wt=jt>xt?jt:xt,h=de.linear().domain([A?Qt:Pt,A?wt>0?wt:0:jt>0?jt:0]).range([r,0]).nice(),b=de.linear().domain([A?Qt:At,A?wt>0?wt:0:xt>0?xt:0]).range([r,0]).nice(),Zt=fe.line().defined($e).x(i=>y(`${i.id}`)+y.bandwidth()/2).y(i=>b(i.line)).curve(Jt),_t=h.ticks(ht),ce=b.ticks(ht);G=Gt.motion.svg,W=`${F}px`,B=`${Y}px`,U=`0 0 ${F} ${Y}`,w="ltr",E=zt,J=`translate(${c.left},${c.top})`;const Et=o?.xAxis?.axis;let Rt;t[70]!==Et?(Rt={axis:Et},t[70]=Et,t[71]=Rt):Rt=t[71];let nt;t[72]!==s?.xAxis?.axis?(nt=s?.xAxis?.axis||{},t[72]=s?.xAxis?.axis,t[73]=nt):nt=t[73];let mt;t[74]!==f||t[75]!==nt?(mt={axis:{stroke:f,...nt}},t[74]=f,t[75]=nt,t[76]=mt):mt=t[76];let pt;t[77]!==r||t[78]!==Rt||t[79]!==mt?(pt=n.jsxRuntimeExports.jsx(ue.Axis,{y1:0,y2:r,x1:-15,x2:-15,classNames:Rt,styles:mt}),t[77]=r,t[78]=Rt,t[79]=mt,t[80]=pt):pt=t[80];let dt;t[81]!==u||t[82]!==f||t[83]!==o?.yAxis?.title||t[84]!==r||t[85]!==c.left||t[86]!==L||t[87]!==s?.yAxis?.title?(dt=L?n.jsxRuntimeExports.jsx(pe.AxisTitle,{x:10-c.left,y:r/2,style:{fill:f,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:u[0].length>100?`${u[0].substring(0,100)}...`:u[0],rotate90:!0}):null,t[81]=u,t[82]=f,t[83]=o?.yAxis?.title,t[84]=r,t[85]=c.left,t[86]=L,t[87]=s?.yAxis?.title,t[88]=dt):dt=t[88],K=n.jsxRuntimeExports.jsxs("g",{children:[_t.map((i,Ht)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:h(i),y2:h(i),x1:-15,x2:-20,style:{stroke:f,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:-25,y:h(i),dy:"0.33em",className:n.mo("text-xs",o?.yAxis?.labels),style:{textAnchor:"end",fill:f,...s?.yAxis?.labels||{}},children:le.numberFormattingFunction(i,rt,H,Ot,St,at)})]},Ht)),pt,dt]});const Dt=g+15,Ft=g+15,st=o?.xAxis?.axis;let R;t[89]!==st?(R={axis:st},t[89]=st,t[90]=R):R=t[90];let C;t[91]!==s?.xAxis?.axis?(C=s?.xAxis?.axis||{},t[91]=s?.xAxis?.axis,t[92]=C):C=t[92];let M;t[93]!==p||t[94]!==C?(M={axis:{stroke:p,...C}},t[93]=p,t[94]=C,t[95]=M):M=t[95];let T;t[96]!==r||t[97]!==Dt||t[98]!==Ft||t[99]!==R||t[100]!==M?(T=n.jsxRuntimeExports.jsx(ue.Axis,{y1:0,y2:r,x1:Dt,x2:Ft,classNames:R,styles:M}),t[96]=r,t[97]=Dt,t[98]=Ft,t[99]=R,t[100]=M,t[101]=T):T=t[101];let P;t[102]!==u||t[103]!==o?.yAxis?.title||t[104]!==r||t[105]!==g||t[106]!==p||t[107]!==c.right||t[108]!==L||t[109]!==s?.yAxis?.title?(P=L?n.jsxRuntimeExports.jsx(pe.AxisTitle,{x:g+c.right-15,y:r/2,style:{fill:p,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:u[1].length>100?`${u[1].substring(0,100)}...`:u[1],rotate90:!0}):null,t[102]=u,t[103]=o?.yAxis?.title,t[104]=r,t[105]=g,t[106]=p,t[107]=c.right,t[108]=L,t[109]=s?.yAxis?.title,t[110]=P):P=t[110],Q=n.jsxRuntimeExports.jsxs("g",{children:[ce.map((i,Ht)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:b(i),y2:b(i),x1:g+15,x2:g+20,style:{stroke:p,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:g+25,y:b(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:p,...s?.yAxis?.labels||{}},className:n.mo("text-xs",o?.yAxis?.labels),children:le.numberFormattingFunction(i,rt,H,Nt,gt,at)})]},Ht)),T,P]});const Ct=o?.xAxis?.axis;let Yt;t[111]!==Ct?(Yt={axis:Ct},t[111]=Ct,t[112]=Yt):Yt=t[112];const te=s?.xAxis?.axis;let ne;t[113]!==te?(ne={axis:te},t[113]=te,t[114]=ne):ne=t[114],X=n.jsxRuntimeExports.jsx(ue.Axis,{y1:A?h(0):r,y2:A?h(0):r,x1:-15,x2:g+15,classNames:Yt,styles:ne}),t[115]!==O?(S=O.filter(Oe).map(Ne),t[115]=O,t[116]=S):S=t[116],j=je.AnimatePresence,V=m.map((i,Ht)=>n.jsxRuntimeExports.jsxs(Gt.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:D=>{ct(i),ut(D.clientY),l(D.clientX),lt?.(i)},onClick:()=>{(N||k)&&(me.isEqual(q,i)&&ft?(yt(void 0),N?.(void 0)):(yt(i),N?.(i)))},onMouseMove:D=>{ct(i),ut(D.clientY),l(D.clientX)},onMouseLeave:()=>{ct(void 0),l(void 0),ut(void 0),lt?.(void 0)},children:[n.jsxRuntimeExports.jsx(Gt.motion.rect,{variants:{initial:{attrY:h(0),height:0,opacity:1,fill:f},whileInView:{attrY:i.bar?i.bar>0?h(i.bar):h(0):0,height:i.bar?Math.abs(h(i.bar)-h(0)):0,opacity:1,fill:f,transition:{duration:a.duration}}},initial:"initial",animate:$?"whileInView":"initial",exit:{attrY:h(0),height:0,opacity:0,transition:{duration:a.duration}},x:y(`${Ht}`),width:y.bandwidth()}),kt&&!xe.checkIfNullOrUndefined(i.bar)?n.jsxRuntimeExports.jsx(Gt.motion.text,{x:y(`${i.id}`)+y.bandwidth()/2,exit:{attrY:h(0),opacity:0,transition:{duration:a.duration}},variants:{initial:{attrY:h(0),opacity:0,fill:f},whileInView:{attrY:h(i.bar||0),opacity:1,fill:f,transition:{duration:a.duration}}},initial:"initial",animate:$?"whileInView":"initial",style:{textAnchor:"middle",...s?.graphObjectValues||{}},className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:i.bar?i.bar>=0?"-5px":"1em":"-5px",children:le.numberFormattingFunction(i.bar,rt,H,Ot,St,at)}):null,Ut?n.jsxRuntimeExports.jsx(ye.XAxesLabels,{value:`${i.label}`.length<Lt?`${i.label}`:`${`${i.label}`.substring(0,Lt)}...`,y:r+5,x:y(`${i.id}`),width:y.bandwidth(),height:c.bottom,style:s?.xAxis?.labels,className:o?.xAxis?.labels,alignment:"top",animate:a,isInView:$}):null]},i.label));let se;t[117]!==a.duration?(se={opacity:0,transition:{duration:a.duration}},t[117]=a.duration,t[118]=se):se=t[118];let oe;t[119]===Symbol.for("react.memo_cache_sentinel")?(oe={fill:"none",strokeWidth:2},t[119]=oe):oe=t[119],I=n.jsxRuntimeExports.jsx(Gt.motion.path,{exit:se,variants:{initial:{d:Zt(m.map(Se)),opacity:0,stroke:p},whileInView:{d:Zt(m),opacity:1,stroke:p,transition:{duration:a.duration}}},initial:"initial",animate:$?"whileInView":"initial",style:oe}),z=m.map((i,Ht)=>n.jsxRuntimeExports.jsx("g",{children:xe.checkIfNullOrUndefined(i.line)?null:n.jsxRuntimeExports.jsxs("g",{onMouseEnter:D=>{ct(i),ut(D.clientY),l(D.clientX),lt?.(i)},onClick:()=>{(N||k)&&(me.isEqual(q,i)&&ft?(yt(void 0),N?.(void 0)):(yt(i),N?.(i)))},onMouseMove:D=>{ct(i),ut(D.clientY),l(D.clientX)},onMouseLeave:()=>{ct(void 0),l(void 0),ut(void 0),lt?.(void 0)},children:[n.jsxRuntimeExports.jsx(Gt.motion.circle,{exit:{cy:b(0),opacity:0,transition:{duration:a.duration}},variants:{initial:{cy:b(0),opacity:0,fill:p},whileInView:{cy:b(i.line),opacity:1,fill:p,transition:{duration:a.duration}}},initial:"initial",animate:$?"whileInView":"initial",cx:y(i.id)+y.bandwidth()/2,r:g/m.length<5?0:g/m.length<20?2:4}),kt?n.jsxRuntimeExports.jsx(Gt.motion.text,{x:y(`${i.id}`)+y.bandwidth()/2,exit:{y:b(0),opacity:0,transition:{duration:a.duration}},style:{textAnchor:"middle",...s?.graphObjectValues||{}},variants:{initial:{y:b(0),opacity:0,fill:p},whileInView:{y:b(i.line),opacity:1,fill:p,transition:{duration:a.duration}}},initial:"initial",animate:$?"whileInView":"initial",className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:"-5px",children:le.numberFormattingFunction(i.line,rt,H,Nt,gt,at)}):null]})},Ht)),t[8]=a,t[9]=u,t[10]=f,t[11]=Bt,t[12]=Ot,t[13]=St,t[14]=o?.graphObjectValues,t[15]=o?.xAxis?.axis,t[16]=o?.xAxis?.labels,t[17]=o?.yAxis?.gridLines,t[18]=o?.yAxis?.labels,t[19]=o?.yAxis?.title,t[20]=Jt,t[21]=O,t[22]=d,t[23]=k,t[24]=r,t[25]=g,t[26]=Y,t[27]=$,t[28]=p,t[29]=Nt,t[30]=gt,t[31]=at,t[32]=c.bottom,t[33]=c.left,t[34]=c.right,t[35]=c.top,t[36]=q,t[37]=rt,t[38]=ht,t[39]=N,t[40]=lt,t[41]=H,t[42]=ft,t[43]=A,t[44]=L,t[45]=Ut,t[46]=kt,t[47]=s?.graphObjectValues,t[48]=s?.xAxis?.axis,t[49]=s?.xAxis?.labels,t[50]=s?.yAxis?.gridLines,t[51]=s?.yAxis?.labels,t[52]=s?.yAxis?.title,t[53]=Lt,t[54]=F,t[55]=j,t[56]=G,t[57]=X,t[58]=S,t[59]=W,t[60]=B,t[61]=U,t[62]=w,t[63]=E,t[64]=V,t[65]=I,t[66]=z,t[67]=J,t[68]=K,t[69]=Q}else j=t[55],G=t[56],X=t[57],S=t[58],W=t[59],B=t[60],U=t[61],w=t[62],E=t[63],V=t[64],I=t[65],z=t[66],J=t[67],K=t[68],Q=t[69];let Z;t[120]!==j||t[121]!==V||t[122]!==I||t[123]!==z?(Z=n.jsxRuntimeExports.jsxs(j,{children:[V,I,z]}),t[120]=j,t[121]=V,t[122]=I,t[123]=z,t[124]=Z):Z=t[124];let v;t[125]!==O?(v=O.filter(Le).map(ke),t[125]=O,t[126]=v):v=t[126];let _;t[127]!==X||t[128]!==S||t[129]!==Z||t[130]!==v||t[131]!==J||t[132]!==K||t[133]!==Q?(_=n.jsxRuntimeExports.jsxs("g",{transform:J,children:[K,Q,X,S,Z,v]}),t[127]=X,t[128]=S,t[129]=Z,t[130]=v,t[131]=J,t[132]=K,t[133]=Q,t[134]=_):_=t[134];let tt;t[135]!==G||t[136]!==W||t[137]!==B||t[138]!==U||t[139]!==w||t[140]!==E||t[141]!==_?(tt=n.jsxRuntimeExports.jsx(G,{width:W,height:B,viewBox:U,direction:w,ref:E,children:_}),t[135]=G,t[136]=W,t[137]=B,t[138]=U,t[139]=w,t[140]=E,t[141]=_,t[142]=tt):tt=t[142];let et;t[143]!==o?.tooltip||t[144]!==x||t[145]!==It||t[146]!==Vt||t[147]!==s?.tooltip||t[148]!==Mt?(et=Vt&&Mt&&x&&It?n.jsxRuntimeExports.jsx(ge.Tooltip,{data:Vt,body:Mt,xPos:x,yPos:It,backgroundStyle:s?.tooltip,className:o?.tooltip}):null,t[143]=o?.tooltip,t[144]=x,t[145]=It,t[146]=Vt,t[147]=s?.tooltip,t[148]=Mt,t[149]=et):et=t[149];let it;t[150]!==o?.modal||t[151]!==k||t[152]!==q?(it=k&&q!==void 0?n.jsxRuntimeExports.jsx(be.DetailsModal,{body:k,data:q,setData:yt,className:o?.modal}):null,t[150]=o?.modal,t[151]=k,t[152]=q,t[153]=it):it=t[153];let vt;return t[154]!==tt||t[155]!==et||t[156]!==it?(vt=n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[tt,et,it]}),t[154]=tt,t[155]=et,t[156]=it,t[157]=vt):vt=t[157],vt}function ke(e){return e.layer}function Le(e){return e.position==="after"}function Se(e){return{...e,line:0}}function Ne(e){return e.layer}function Oe(e){return e.position==="before"}function $e(e){return!xe.checkIfNullOrUndefined(e.line)}function qe(e){return e!=null}function Ve(e){return e.line}function Ie(e){return e!=null}function Te(e){return e.line}function Pe(e){return e!=null}function De(e){return e.bar}function Fe(e){return e!=null}function Ye(e){return e.bar}function He(e){return e!=null}function Ge(e){return e.line}function Xe(e){return e!=null}function We(e){return e.line}function Be(e){return e!=null}function Ue(e){return e.line}function ze(e){return e!=null}function Je(e){return e.bar}function Ke(e){return e!=null}function Qe(e){return e.bar}function Ze(e){return e!=null}function _e(e){return e.bar}function ti(e){return`${e.id}`}function ei(e,t){return{...e,id:`${t}`}}function ii(e){const t=n.compilerRuntimeExports.c(91),{data:d,graphTitle:F,sources:Y,graphDescription:f,height:p,width:u,footNote:A,padding:ee,lineColor:ie,barColor:Xt,sameAxes:Wt,backgroundColor:Mt,leftMargin:kt,rightMargin:lt,topMargin:Bt,bottomMargin:Lt,lineAxisTitle:Ut,barAxisTitle:N,tooltip:ft,relativeHeight:k,onSeriesMouseOver:ht,graphID:gt,graphDownload:St,dataDownload:Nt,barPadding:Ot,truncateBy:$t,showLabels:s,onSeriesMouseClick:o,language:a,colorLegendTitle:H,minHeight:O,theme:rt,ariaLabel:L,resetSelectionOnDoubleClick:at,detailsOnClick:zt,showValues:qt,noOfTicks:$,lineSuffix:Jt,barSuffix:Vt,linePrefix:ct,barPrefix:q,curveType:yt,styles:x,classNames:l,animate:It,precision:ut,customLayers:bt,naLabel:Kt,showColorScale:Tt,showAxisLabels:c,locale:g}=e,r=ie===void 0?ae.Colors.light.categoricalColors.colors[1]:ie,j=Xt===void 0?ae.Colors.light.categoricalColors.colors[0]:Xt,G=Wt===void 0?!1:Wt,X=Mt===void 0?!1:Mt,S=kt===void 0?80:kt,W=lt===void 0?80:lt,B=Bt===void 0?20:Bt,U=Lt===void 0?25:Lt,w=Ut===void 0?"Line chart":Ut,E=N===void 0?"Bar graph":N,V=St===void 0?!1:St,I=Nt===void 0?!1:Nt,z=Ot===void 0?.25:Ot,J=$t===void 0?999:$t,K=s===void 0?!0:s,Q=a===void 0?"en":a,Z=O===void 0?0:O,v=rt===void 0?"light":rt,_=at===void 0?!0:at,tt=qt===void 0?!0:qt,et=$===void 0?5:$,it=Jt===void 0?"":Jt,vt=Vt===void 0?"":Vt,m=ct===void 0?"":ct,y=q===void 0?"":q,Pt=yt===void 0?"curve":yt,At=It===void 0?!1:It,jt=ut===void 0?2:ut;let xt;t[0]!==bt?(xt=bt===void 0?[]:bt,t[0]=bt,t[1]=xt):xt=t[1];const Qt=xt,wt=Kt===void 0?"NA":Kt,h=Tt===void 0?!0:Tt,b=c===void 0?!0:c,Zt=g===void 0?"en":g,[_t,ce]=ot.useState(0),[Et,Rt]=ot.useState(0),nt=ot.useRef(null),mt=ot.useRef(null);let pt,dt;t[2]===Symbol.for("react.memo_cache_sentinel")?(pt=()=>{const Yt=new ResizeObserver(te=>{ce(te[0].target.clientWidth||620),Rt(te[0].target.clientHeight||480)});return nt.current&&Yt.observe(nt.current),()=>Yt.disconnect()},dt=[],t[2]=pt,t[3]=dt):(pt=t[2],dt=t[3]),ot.useEffect(pt,dt);const Dt=l?.graphContainer,Ft=x?.graphContainer;let st;t[4]!==l?.description||t[5]!==l?.title||t[6]!==d||t[7]!==I||t[8]!==f||t[9]!==V||t[10]!==F||t[11]!==x?.description||t[12]!==x?.title||t[13]!==u?(st=F||f||V||I?n.jsxRuntimeExports.jsx(Ee.GraphHeader,{styles:{title:x?.title,description:x?.description},classNames:{title:l?.title,description:l?.description},graphTitle:F,graphDescription:f,width:u,graphDownload:V?mt:void 0,dataDownload:I?d.map(ri).filter(li).length>0?d.map(oi).filter(si):d.filter(ni):null}):null,t[4]=l?.description,t[5]=l?.title,t[6]=d,t[7]=I,t[8]=f,t[9]=V,t[10]=F,t[11]=x?.description,t[12]=x?.title,t[13]=u,t[14]=st):st=t[14];let R;t[15]!==E||t[16]!==j||t[17]!==l?.colorLegend||t[18]!==H||t[19]!==d.length||t[20]!==w||t[21]!==r||t[22]!==h||t[23]!==v?(R=!h&&d.length>0?null:n.jsxRuntimeExports.jsx(Re.ColorLegend,{colorDomain:[E,w],colors:[j||ae.Colors[v].categoricalColors.colors[0],r||ae.Colors[v].categoricalColors.colors[1]],colorLegendTitle:H,showNAColor:!1,className:l?.colorLegend}),t[15]=E,t[16]=j,t[17]=l?.colorLegend,t[18]=H,t[19]=d.length,t[20]=w,t[21]=r,t[22]=h,t[23]=v,t[24]=R):R=t[24];let C;t[25]!==d.length?(C=d.length===0&&n.jsxRuntimeExports.jsx(Ce.EmptyState,{}),t[25]=d.length,t[26]=C):C=t[26];let M;t[27]!==At||t[28]!==E||t[29]!==j||t[30]!==z||t[31]!==y||t[32]!==vt||t[33]!==U||t[34]!==l||t[35]!==Pt||t[36]!==Qt||t[37]!==d||t[38]!==zt||t[39]!==S||t[40]!==w||t[41]!==r||t[42]!==m||t[43]!==it||t[44]!==Zt||t[45]!==wt||t[46]!==et||t[47]!==o||t[48]!==ht||t[49]!==jt||t[50]!==_||t[51]!==W||t[52]!==G||t[53]!==b||t[54]!==K||t[55]!==tt||t[56]!==x||t[57]!==Et||t[58]!==_t||t[59]!==ft||t[60]!==B||t[61]!==J?(M=_t&&Et&&d.length>0?n.jsxRuntimeExports.jsx(Me,{data:d,sameAxes:G,lineColor:r,barColor:j,width:_t,height:Et,truncateBy:J,leftMargin:S,rightMargin:W,topMargin:B,bottomMargin:U,axisTitles:[E,w],tooltip:ft,onSeriesMouseOver:ht,barPadding:z,showLabels:K,onSeriesMouseClick:o,resetSelectionOnDoubleClick:_,detailsOnClick:zt,noOfTicks:et,lineSuffix:it,barSuffix:vt,linePrefix:m,barPrefix:y,curveType:Pt,showValues:tt,styles:x,classNames:l,animate:At===!0?{duration:.5,once:!0,amount:.5}:At||{duration:0,once:!0,amount:0},precision:jt,customLayers:Qt,naLabel:wt,showAxisLabels:b,locale:Zt}):null,t[27]=At,t[28]=E,t[29]=j,t[30]=z,t[31]=y,t[32]=vt,t[33]=U,t[34]=l,t[35]=Pt,t[36]=Qt,t[37]=d,t[38]=zt,t[39]=S,t[40]=w,t[41]=r,t[42]=m,t[43]=it,t[44]=Zt,t[45]=wt,t[46]=et,t[47]=o,t[48]=ht,t[49]=jt,t[50]=_,t[51]=W,t[52]=G,t[53]=b,t[54]=K,t[55]=tt,t[56]=x,t[57]=Et,t[58]=_t,t[59]=ft,t[60]=B,t[61]=J,t[62]=M):M=t[62];let T;t[63]!==C||t[64]!==M?(T=n.jsxRuntimeExports.jsxs(he.GraphArea,{ref:nt,children:[C,M]}),t[63]=C,t[64]=M,t[65]=T):T=t[65];let P;t[66]!==l?.footnote||t[67]!==l?.source||t[68]!==A||t[69]!==Y||t[70]!==x?.footnote||t[71]!==x?.source||t[72]!==u?(P=Y||A?n.jsxRuntimeExports.jsx(we.GraphFooter,{styles:{footnote:x?.footnote,source:x?.source},classNames:{footnote:l?.footnote,source:l?.source},sources:Y,footNote:A,width:u}):null,t[66]=l?.footnote,t[67]=l?.source,t[68]=A,t[69]=Y,t[70]=x?.footnote,t[71]=x?.source,t[72]=u,t[73]=P):P=t[73];let Ct;return t[74]!==L||t[75]!==X||t[76]!==gt||t[77]!==p||t[78]!==Q||t[79]!==Z||t[80]!==ee||t[81]!==k||t[82]!==Dt||t[83]!==Ft||t[84]!==st||t[85]!==R||t[86]!==T||t[87]!==P||t[88]!==v||t[89]!==u?(Ct=n.jsxRuntimeExports.jsxs(he.GraphContainer,{className:Dt,style:Ft,id:gt,ref:mt,"aria-label":L,backgroundColor:X,theme:v,language:Q,minHeight:Z,width:u,height:p,relativeHeight:k,padding:ee,children:[st,R,T,P]}),t[74]=L,t[75]=X,t[76]=gt,t[77]=p,t[78]=Q,t[79]=Z,t[80]=ee,t[81]=k,t[82]=Dt,t[83]=Ft,t[84]=st,t[85]=R,t[86]=T,t[87]=P,t[88]=v,t[89]=u,t[90]=Ct):Ct=t[90],Ct}function ni(e){return e!==void 0}function si(e){return e!==void 0}function oi(e){return e.data}function li(e){return e!==void 0}function ri(e){return e.data}exports.ParetoChart=ii;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-CHPV5EwG-D4pAp7u0.cjs"),rt=require("react"),ae=require("./index-DQA8q5sC.cjs"),ee=require("./numberFormattingFunction-u2iNHL_c.cjs"),me=require("./Tooltip-C9F3uYG0.cjs"),re=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),le=require("./Axis-BTaS9oPQ.cjs"),ce=require("./AxisTitle-DP_evhbe.cjs"),de=require("./XAxesLabels-C03jHniq.cjs"),fe=require("./DetailsModal-Du8Fr1QD.cjs"),he=require("./band-VYfcZeJ2.cjs"),ue=require("./linear-CgUCbw9F.cjs"),xe=require("./line-DaEMhXmx.cjs"),ie=require("./step-BZ3C8QFW.cjs"),St=require("./proxy-CqH8m8IQ.cjs"),ge=require("./use-in-view-dnRv_qqF.cjs"),ye=require("./index-FXfr51ZM.cjs"),be=require("./GraphFooter.cjs"),ve=require("./GraphHeader.cjs"),Ae=require("./ColorLegend.cjs"),se=require("./Colors.cjs"),je=require("./EmptyState-CFmiFPHz.cjs"),pe=require("./GraphContainer-Cul9b74X.cjs");function we(e){const t=s.compilerRuntimeExports.c(162),{data:h,width:H,height:G,barColor:g,lineColor:f,axisTitles:p,sameAxes:w,rightMargin:Xt,leftMargin:Bt,topMargin:qt,bottomMargin:Dt,tooltip:wt,showValues:Et,onSeriesMouseOver:at,barPadding:Vt,truncateBy:Rt,showLabels:It,onSeriesMouseClick:S,resetSelectionOnDoubleClick:ht,detailsOnClick:L,noOfTicks:gt,curveType:yt,styles:n,classNames:o,animate:c,customLayers:q,naLabel:ct,showAxisLabels:N,lineNumberDisplayOptions:x,barNumberDisplayOptions:u}=e,Wt=rt.useRef(null);let Ct;t[0]!==c.amount||t[1]!==c.once?(Ct={once:c.once,amount:c.amount},t[0]=c.amount,t[1]=c.once,t[2]=Ct):Ct=t[2];const O=ge.useInView(Wt,Ct),Tt=yt==="linear"?xe.curveLinear:yt==="step"?ie.curveStep:yt==="stepAfter"?ie.stepAfter:yt==="stepBefore"?ie.stepBefore:ie.monotoneX,[bt,ut]=rt.useState(void 0),[D,vt]=rt.useState(void 0),[d,l]=rt.useState(void 0),[Mt,V]=rt.useState(void 0),Pt=Bt+50,Ft=Xt+65;let kt;t[3]!==Dt||t[4]!==Pt||t[5]!==Ft||t[6]!==qt?(kt={top:qt,bottom:Dt,left:Pt,right:Ft},t[3]=Dt,t[4]=Pt,t[5]=Ft,t[6]=qt,t[7]=kt):kt=t[7];const a=kt,y=H-a.left-a.right,r=G-a.top-a.bottom;let E,X,W,$,Z,B,U,R,C,I,T,z,J,K,Q;if(t[8]!==c||t[9]!==p||t[10]!==g||t[11]!==u?.locale||t[12]!==u?.padZeros||t[13]!==u?.precision||t[14]!==u?.prefix||t[15]!==u?.suffix||t[16]!==Vt||t[17]!==o?.graphObjectValues||t[18]!==o?.xAxis?.axis||t[19]!==o?.xAxis?.labels||t[20]!==o?.yAxis?.gridLines||t[21]!==o?.yAxis?.labels||t[22]!==o?.yAxis?.title||t[23]!==Tt||t[24]!==q||t[25]!==h||t[26]!==L||t[27]!==r||t[28]!==y||t[29]!==G||t[30]!==O||t[31]!==f||t[32]!==x?.locale||t[33]!==x?.padZeros||t[34]!==x?.precision||t[35]!==x?.prefix||t[36]!==x?.suffix||t[37]!==a.bottom||t[38]!==a.left||t[39]!==a.right||t[40]!==a.top||t[41]!==D||t[42]!==ct||t[43]!==gt||t[44]!==S||t[45]!==at||t[46]!==ht||t[47]!==w||t[48]!==N||t[49]!==It||t[50]!==Et||t[51]!==n?.graphObjectValues||t[52]!==n?.xAxis?.axis||t[53]!==n?.xAxis?.labels||t[54]!==n?.yAxis?.gridLines||t[55]!==n?.yAxis?.labels||t[56]!==n?.yAxis?.title||t[57]!==Rt||t[58]!==H){const m=h.map(Ke),v=he.band().domain(m.map(Je)).range([0,y]).paddingInner(Vt),Lt=Math.min(...m.map(ze).filter(Ue))!==1/0?Math.min(...m.map(Be).filter(Ze))>0?0:Math.min(...m.map(We).filter(Xe)):0,Nt=Math.min(...m.map(Ge).filter(He))!==1/0?Math.min(...m.map(Ye).filter(Fe))>0?0:Math.min(...m.map(Pe).filter(Te)):0,At=Math.max(...m.map(Ie).filter(Ve))!==1/0?Math.max(...m.map(De).filter(qe)):0,pt=Math.max(...m.map(Se).filter($e))!==1/0?Math.max(...m.map(Oe).filter(Ne)):0,Ut=Lt<Nt?Lt:Nt,mt=At>pt?At:pt,b=ue.linear().domain([w?Ut:Lt,w?mt>0?mt:0:At>0?At:0]).range([r,0]).nice(),A=ue.linear().domain([w?Ut:Nt,w?mt>0?mt:0:pt>0?pt:0]).range([r,0]).nice(),Zt=xe.line().defined(Le).x(i=>v(`${i.id}`)+v.bandwidth()/2).y(i=>A(i.line)).curve(Tt),Yt=b.ticks(gt),Ht=A.ticks(gt);X=St.motion.svg,Z=`${H}px`,B=`${G}px`,U=`0 0 ${H} ${G}`,R="ltr",C=Wt,J=`translate(${a.left},${a.top})`;const Ot=o?.xAxis?.axis;let nt;t[74]!==Ot?(nt={axis:Ot},t[74]=Ot,t[75]=nt):nt=t[75];let M;t[76]!==n?.xAxis?.axis?(M=n?.xAxis?.axis||{},t[76]=n?.xAxis?.axis,t[77]=M):M=t[77];let k;t[78]!==g||t[79]!==M?(k={axis:{stroke:g,...M}},t[78]=g,t[79]=M,t[80]=k):k=t[80];let P;t[81]!==r||t[82]!==nt||t[83]!==k?(P=s.jsxRuntimeExports.jsx(le.Axis,{y1:0,y2:r,x1:-15,x2:-15,classNames:nt,styles:k}),t[81]=r,t[82]=nt,t[83]=k,t[84]=P):P=t[84];let F;t[85]!==p||t[86]!==g||t[87]!==o?.yAxis?.title||t[88]!==r||t[89]!==a.left||t[90]!==N||t[91]!==n?.yAxis?.title?(F=N?s.jsxRuntimeExports.jsx(ce.AxisTitle,{x:10-a.left,y:r/2,style:{fill:g,...n?.yAxis?.title||{}},className:o?.yAxis?.title,text:p[0].length>100?`${p[0].substring(0,100)}...`:p[0],rotate90:!0}):null,t[85]=p,t[86]=g,t[87]=o?.yAxis?.title,t[88]=r,t[89]=a.left,t[90]=N,t[91]=n?.yAxis?.title,t[92]=F):F=t[92],K=s.jsxRuntimeExports.jsxs("g",{children:[Yt.map((i,$t)=>s.jsxRuntimeExports.jsxs("g",{children:[s.jsxRuntimeExports.jsx("line",{y1:b(i),y2:b(i),x1:-15,x2:-20,style:{stroke:g,strokeWidth:1,...n?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),s.jsxRuntimeExports.jsx("text",{x:-25,y:b(i),dy:"0.33em",className:s.mo("text-xs",o?.yAxis?.labels),style:{textAnchor:"end",fill:g,...n?.yAxis?.labels||{}},children:ee.numberFormattingFunction(i,ct,u?.precision??2,u?.prefix,u?.suffix,u?.locale,u?.padZeros)})]},$t)),P,F]});const ot=y+15,lt=y+15,jt=o?.xAxis?.axis;let dt;t[93]!==jt?(dt={axis:jt},t[93]=jt,t[94]=dt):dt=t[94];let ft;t[95]!==n?.xAxis?.axis?(ft=n?.xAxis?.axis||{},t[95]=n?.xAxis?.axis,t[96]=ft):ft=t[96];let Gt;t[97]!==f||t[98]!==ft?(Gt={axis:{stroke:f,...ft}},t[97]=f,t[98]=ft,t[99]=Gt):Gt=t[99];let zt;t[100]!==r||t[101]!==ot||t[102]!==lt||t[103]!==dt||t[104]!==Gt?(zt=s.jsxRuntimeExports.jsx(le.Axis,{y1:0,y2:r,x1:ot,x2:lt,classNames:dt,styles:Gt}),t[100]=r,t[101]=ot,t[102]=lt,t[103]=dt,t[104]=Gt,t[105]=zt):zt=t[105];let Jt;t[106]!==p||t[107]!==o?.yAxis?.title||t[108]!==r||t[109]!==y||t[110]!==f||t[111]!==a.right||t[112]!==N||t[113]!==n?.yAxis?.title?(Jt=N?s.jsxRuntimeExports.jsx(ce.AxisTitle,{x:y+a.right-15,y:r/2,style:{fill:f,...n?.yAxis?.title||{}},className:o?.yAxis?.title,text:p[1].length>100?`${p[1].substring(0,100)}...`:p[1],rotate90:!0}):null,t[106]=p,t[107]=o?.yAxis?.title,t[108]=r,t[109]=y,t[110]=f,t[111]=a.right,t[112]=N,t[113]=n?.yAxis?.title,t[114]=Jt):Jt=t[114],Q=s.jsxRuntimeExports.jsxs("g",{children:[Ht.map((i,$t)=>s.jsxRuntimeExports.jsxs("g",{children:[s.jsxRuntimeExports.jsx("line",{y1:A(i),y2:A(i),x1:y+15,x2:y+20,style:{stroke:f,strokeWidth:1,...n?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),s.jsxRuntimeExports.jsx("text",{x:y+25,y:A(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:f,...n?.yAxis?.labels||{}},className:s.mo("text-xs",o?.yAxis?.labels),children:ee.numberFormattingFunction(i,ct,x?.precision??2,x?.prefix,x?.suffix,x?.locale,x?.padZeros)})]},$t)),zt,Jt]});const ne=o?.xAxis?.axis;let Kt;t[115]!==ne?(Kt={axis:ne},t[115]=ne,t[116]=Kt):Kt=t[116];const oe=n?.xAxis?.axis;let Qt;t[117]!==oe?(Qt={axis:oe},t[117]=oe,t[118]=Qt):Qt=t[118],W=s.jsxRuntimeExports.jsx(le.Axis,{y1:w?b(0):r,y2:w?b(0):r,x1:-15,x2:y+15,classNames:Kt,styles:Qt}),t[119]!==q?($=q.filter(ke).map(Me),t[119]=q,t[120]=$):$=t[120],E=ye.AnimatePresence,I=m.map((i,$t)=>s.jsxRuntimeExports.jsxs(St.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:Y=>{ut(i),V(Y.clientY),l(Y.clientX),at?.(i)},onClick:()=>{(S||L)&&(ae.isEqual(D,i)&&ht?(vt(void 0),S?.(void 0)):(vt(i),S?.(i)))},onMouseMove:Y=>{ut(i),V(Y.clientY),l(Y.clientX)},onMouseLeave:()=>{ut(void 0),l(void 0),V(void 0),at?.(void 0)},children:[s.jsxRuntimeExports.jsx(St.motion.rect,{variants:{initial:{attrY:b(0),height:0,opacity:1,fill:g},whileInView:{attrY:i.bar?i.bar>0?b(i.bar):b(0):0,height:i.bar?Math.abs(b(i.bar)-b(0)):0,opacity:1,fill:g,transition:{duration:c.duration}}},initial:"initial",animate:O?"whileInView":"initial",exit:{attrY:b(0),height:0,opacity:0,transition:{duration:c.duration}},x:v(`${$t}`),width:v.bandwidth()}),Et&&!re.checkIfNullOrUndefined(i.bar)?s.jsxRuntimeExports.jsx(St.motion.text,{x:v(`${i.id}`)+v.bandwidth()/2,exit:{attrY:b(0),opacity:0,transition:{duration:c.duration}},variants:{initial:{attrY:b(0),opacity:0,fill:g},whileInView:{attrY:b(i.bar||0),opacity:1,fill:g,transition:{duration:c.duration}}},initial:"initial",animate:O?"whileInView":"initial",style:{textAnchor:"middle",...n?.graphObjectValues||{}},className:s.mo("graph-value text-sm",o?.graphObjectValues),dy:i.bar?i.bar>=0?"-5px":"1em":"-5px",children:ee.numberFormattingFunction(i.bar,ct,u?.precision??2,u?.prefix,u?.suffix,u?.locale,u?.padZeros)}):null,It?s.jsxRuntimeExports.jsx(de.XAxesLabels,{value:`${i.label}`.length<Rt?`${i.label}`:`${`${i.label}`.substring(0,Rt)}...`,y:r+5,x:v(`${i.id}`),width:v.bandwidth(),height:a.bottom,style:n?.xAxis?.labels,className:o?.xAxis?.labels,alignment:"top",animate:c,isInView:O}):null]},i.label));let _t;t[121]!==c.duration?(_t={opacity:0,transition:{duration:c.duration}},t[121]=c.duration,t[122]=_t):_t=t[122];let te;t[123]===Symbol.for("react.memo_cache_sentinel")?(te={fill:"none",strokeWidth:2},t[123]=te):te=t[123],T=s.jsxRuntimeExports.jsx(St.motion.path,{exit:_t,variants:{initial:{d:Zt(m.map(Ce)),opacity:0,stroke:f},whileInView:{d:Zt(m),opacity:1,stroke:f,transition:{duration:c.duration}}},initial:"initial",animate:O?"whileInView":"initial",style:te}),z=m.map((i,$t)=>s.jsxRuntimeExports.jsx("g",{children:re.checkIfNullOrUndefined(i.line)?null:s.jsxRuntimeExports.jsxs("g",{onMouseEnter:Y=>{ut(i),V(Y.clientY),l(Y.clientX),at?.(i)},onClick:()=>{(S||L)&&(ae.isEqual(D,i)&&ht?(vt(void 0),S?.(void 0)):(vt(i),S?.(i)))},onMouseMove:Y=>{ut(i),V(Y.clientY),l(Y.clientX)},onMouseLeave:()=>{ut(void 0),l(void 0),V(void 0),at?.(void 0)},children:[s.jsxRuntimeExports.jsx(St.motion.circle,{exit:{cy:A(0),opacity:0,transition:{duration:c.duration}},variants:{initial:{cy:A(0),opacity:0,fill:f},whileInView:{cy:A(i.line),opacity:1,fill:f,transition:{duration:c.duration}}},initial:"initial",animate:O?"whileInView":"initial",cx:v(i.id)+v.bandwidth()/2,r:y/m.length<5?0:y/m.length<20?2:4}),Et?s.jsxRuntimeExports.jsx(St.motion.text,{x:v(`${i.id}`)+v.bandwidth()/2,exit:{y:A(0),opacity:0,transition:{duration:c.duration}},style:{textAnchor:"middle",...n?.graphObjectValues||{}},variants:{initial:{y:A(0),opacity:0,fill:f},whileInView:{y:A(i.line),opacity:1,fill:f,transition:{duration:c.duration}}},initial:"initial",animate:O?"whileInView":"initial",className:s.mo("graph-value text-sm",o?.graphObjectValues),dy:"-5px",children:ee.numberFormattingFunction(i.line,ct,x?.precision??2,x?.prefix,x?.suffix,x?.locale,x?.padZeros)}):null]})},$t)),t[8]=c,t[9]=p,t[10]=g,t[11]=u?.locale,t[12]=u?.padZeros,t[13]=u?.precision,t[14]=u?.prefix,t[15]=u?.suffix,t[16]=Vt,t[17]=o?.graphObjectValues,t[18]=o?.xAxis?.axis,t[19]=o?.xAxis?.labels,t[20]=o?.yAxis?.gridLines,t[21]=o?.yAxis?.labels,t[22]=o?.yAxis?.title,t[23]=Tt,t[24]=q,t[25]=h,t[26]=L,t[27]=r,t[28]=y,t[29]=G,t[30]=O,t[31]=f,t[32]=x?.locale,t[33]=x?.padZeros,t[34]=x?.precision,t[35]=x?.prefix,t[36]=x?.suffix,t[37]=a.bottom,t[38]=a.left,t[39]=a.right,t[40]=a.top,t[41]=D,t[42]=ct,t[43]=gt,t[44]=S,t[45]=at,t[46]=ht,t[47]=w,t[48]=N,t[49]=It,t[50]=Et,t[51]=n?.graphObjectValues,t[52]=n?.xAxis?.axis,t[53]=n?.xAxis?.labels,t[54]=n?.yAxis?.gridLines,t[55]=n?.yAxis?.labels,t[56]=n?.yAxis?.title,t[57]=Rt,t[58]=H,t[59]=E,t[60]=X,t[61]=W,t[62]=$,t[63]=Z,t[64]=B,t[65]=U,t[66]=R,t[67]=C,t[68]=I,t[69]=T,t[70]=z,t[71]=J,t[72]=K,t[73]=Q}else E=t[59],X=t[60],W=t[61],$=t[62],Z=t[63],B=t[64],U=t[65],R=t[66],C=t[67],I=t[68],T=t[69],z=t[70],J=t[71],K=t[72],Q=t[73];let _;t[124]!==E||t[125]!==I||t[126]!==T||t[127]!==z?(_=s.jsxRuntimeExports.jsxs(E,{children:[I,T,z]}),t[124]=E,t[125]=I,t[126]=T,t[127]=z,t[128]=_):_=t[128];let j;t[129]!==q?(j=q.filter(Re).map(Ee),t[129]=q,t[130]=j):j=t[130];let tt;t[131]!==W||t[132]!==$||t[133]!==_||t[134]!==j||t[135]!==J||t[136]!==K||t[137]!==Q?(tt=s.jsxRuntimeExports.jsxs("g",{transform:J,children:[K,Q,W,$,_,j]}),t[131]=W,t[132]=$,t[133]=_,t[134]=j,t[135]=J,t[136]=K,t[137]=Q,t[138]=tt):tt=t[138];let et;t[139]!==X||t[140]!==Z||t[141]!==B||t[142]!==U||t[143]!==R||t[144]!==C||t[145]!==tt?(et=s.jsxRuntimeExports.jsx(X,{width:Z,height:B,viewBox:U,direction:R,ref:C,children:tt}),t[139]=X,t[140]=Z,t[141]=B,t[142]=U,t[143]=R,t[144]=C,t[145]=tt,t[146]=et):et=t[146];let it;t[147]!==o?.tooltip||t[148]!==d||t[149]!==Mt||t[150]!==bt||t[151]!==n?.tooltip||t[152]!==wt?(it=bt&&wt&&d&&Mt?s.jsxRuntimeExports.jsx(me.Tooltip,{data:bt,body:wt,xPos:d,yPos:Mt,backgroundStyle:n?.tooltip,className:o?.tooltip}):null,t[147]=o?.tooltip,t[148]=d,t[149]=Mt,t[150]=bt,t[151]=n?.tooltip,t[152]=wt,t[153]=it):it=t[153];let st;t[154]!==o?.modal||t[155]!==L||t[156]!==D?(st=L&&D!==void 0?s.jsxRuntimeExports.jsx(fe.DetailsModal,{body:L,data:D,setData:vt,className:o?.modal}):null,t[154]=o?.modal,t[155]=L,t[156]=D,t[157]=st):st=t[157];let xt;return t[158]!==et||t[159]!==it||t[160]!==st?(xt=s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[et,it,st]}),t[158]=et,t[159]=it,t[160]=st,t[161]=xt):xt=t[161],xt}function Ee(e){return e.layer}function Re(e){return e.position==="after"}function Ce(e){return{...e,line:0}}function Me(e){return e.layer}function ke(e){return e.position==="before"}function Le(e){return!re.checkIfNullOrUndefined(e.line)}function Ne(e){return e!=null}function Oe(e){return e.line}function $e(e){return e!=null}function Se(e){return e.line}function qe(e){return e!=null}function De(e){return e.bar}function Ve(e){return e!=null}function Ie(e){return e.bar}function Te(e){return e!=null}function Pe(e){return e.line}function Fe(e){return e!=null}function Ye(e){return e.line}function He(e){return e!=null}function Ge(e){return e.line}function Xe(e){return e!=null}function We(e){return e.bar}function Ze(e){return e!=null}function Be(e){return e.bar}function Ue(e){return e!=null}function ze(e){return e.bar}function Je(e){return`${e.id}`}function Ke(e,t){return{...e,id:`${t}`}}function Qe(e){const t=s.compilerRuntimeExports.c(87),{data:h,graphTitle:H,sources:G,graphDescription:g,height:f,width:p,footNote:w,padding:Xt,lineColor:Bt,barColor:qt,sameAxes:Dt,backgroundColor:wt,leftMargin:Et,rightMargin:at,topMargin:Vt,bottomMargin:Rt,lineAxisTitle:It,barAxisTitle:S,tooltip:ht,relativeHeight:L,onSeriesMouseOver:gt,graphID:yt,graphDownload:n,dataDownload:o,barPadding:c,truncateBy:q,showLabels:ct,onSeriesMouseClick:N,language:x,colorLegendTitle:u,minHeight:Wt,theme:Ct,ariaLabel:O,resetSelectionOnDoubleClick:Tt,detailsOnClick:bt,showValues:ut,noOfTicks:D,curveType:vt,styles:d,classNames:l,animate:Mt,customLayers:V,naLabel:Pt,showColorScale:Ft,showAxisLabels:kt,lineNumberDisplayOptions:a,barNumberDisplayOptions:y}=e,r=Bt===void 0?se.Colors.light.categoricalColors.colors[1]:Bt,E=qt===void 0?se.Colors.light.categoricalColors.colors[0]:qt,X=Dt===void 0?!1:Dt,W=wt===void 0?!1:wt,$=Et===void 0?80:Et,Z=at===void 0?80:at,B=Vt===void 0?20:Vt,U=Rt===void 0?25:Rt,R=It===void 0?"Line chart":It,C=S===void 0?"Bar graph":S,I=n===void 0?!1:n,T=o===void 0?!1:o,z=c===void 0?.25:c,J=q===void 0?999:q,K=ct===void 0?!0:ct,Q=x===void 0?"en":x,_=Wt===void 0?0:Wt,j=Ct===void 0?"light":Ct,tt=Tt===void 0?!0:Tt,et=ut===void 0?!0:ut,it=D===void 0?5:D,st=vt===void 0?"curve":vt,xt=Mt===void 0?!1:Mt;let m;t[0]!==V?(m=V===void 0?[]:V,t[0]=V,t[1]=m):m=t[1];const v=m,Lt=Pt===void 0?"NA":Pt,Nt=Ft===void 0?!0:Ft,At=kt===void 0?!0:kt,[pt,Ut]=rt.useState(0),[mt,b]=rt.useState(0),A=rt.useRef(null),Zt=rt.useRef(null);let Yt,Ht;t[2]===Symbol.for("react.memo_cache_sentinel")?(Yt=()=>{const dt=new ResizeObserver(ft=>{Ut(ft[0].target.clientWidth||620),b(ft[0].target.clientHeight||480)});return A.current&&dt.observe(A.current),()=>dt.disconnect()},Ht=[],t[2]=Yt,t[3]=Ht):(Yt=t[2],Ht=t[3]),rt.useEffect(Yt,Ht);const Ot=l?.graphContainer,nt=d?.graphContainer;let M;t[4]!==l?.description||t[5]!==l?.title||t[6]!==h||t[7]!==T||t[8]!==g||t[9]!==I||t[10]!==H||t[11]!==d?.description||t[12]!==d?.title||t[13]!==p?(M=H||g||I||T?s.jsxRuntimeExports.jsx(ve.GraphHeader,{styles:{title:d?.title,description:d?.description},classNames:{title:l?.title,description:l?.description},graphTitle:H,graphDescription:g,width:p,graphDownload:I?Zt:void 0,dataDownload:T?h.map(si).filter(ii).length>0?h.map(ei).filter(ti):h.filter(_e):null}):null,t[4]=l?.description,t[5]=l?.title,t[6]=h,t[7]=T,t[8]=g,t[9]=I,t[10]=H,t[11]=d?.description,t[12]=d?.title,t[13]=p,t[14]=M):M=t[14];let k;t[15]!==C||t[16]!==E||t[17]!==l?.colorLegend||t[18]!==u||t[19]!==h.length||t[20]!==R||t[21]!==r||t[22]!==Nt||t[23]!==j?(k=!Nt&&h.length>0?null:s.jsxRuntimeExports.jsx(Ae.ColorLegend,{colorDomain:[C,R],colors:[E||se.Colors[j].categoricalColors.colors[0],r||se.Colors[j].categoricalColors.colors[1]],colorLegendTitle:u,showNAColor:!1,className:l?.colorLegend}),t[15]=C,t[16]=E,t[17]=l?.colorLegend,t[18]=u,t[19]=h.length,t[20]=R,t[21]=r,t[22]=Nt,t[23]=j,t[24]=k):k=t[24];let P;t[25]!==h.length?(P=h.length===0&&s.jsxRuntimeExports.jsx(je.EmptyState,{}),t[25]=h.length,t[26]=P):P=t[26];let F;t[27]!==xt||t[28]!==C||t[29]!==E||t[30]!==y||t[31]!==z||t[32]!==U||t[33]!==l||t[34]!==st||t[35]!==v||t[36]!==h||t[37]!==bt||t[38]!==$||t[39]!==R||t[40]!==r||t[41]!==a||t[42]!==Lt||t[43]!==it||t[44]!==N||t[45]!==gt||t[46]!==tt||t[47]!==Z||t[48]!==X||t[49]!==At||t[50]!==K||t[51]!==et||t[52]!==d||t[53]!==mt||t[54]!==pt||t[55]!==ht||t[56]!==B||t[57]!==J?(F=pt&&mt&&h.length>0?s.jsxRuntimeExports.jsx(we,{data:h,sameAxes:X,lineColor:r,barColor:E,width:pt,height:mt,truncateBy:J,leftMargin:$,rightMargin:Z,topMargin:B,bottomMargin:U,axisTitles:[C,R],tooltip:ht,onSeriesMouseOver:gt,barPadding:z,showLabels:K,onSeriesMouseClick:N,resetSelectionOnDoubleClick:tt,detailsOnClick:bt,noOfTicks:it,curveType:st,showValues:et,styles:d,classNames:l,animate:xt===!0?{duration:.5,once:!0,amount:.5}:xt||{duration:0,once:!0,amount:0},customLayers:v,naLabel:Lt,showAxisLabels:At,lineNumberDisplayOptions:a,barNumberDisplayOptions:y}):null,t[27]=xt,t[28]=C,t[29]=E,t[30]=y,t[31]=z,t[32]=U,t[33]=l,t[34]=st,t[35]=v,t[36]=h,t[37]=bt,t[38]=$,t[39]=R,t[40]=r,t[41]=a,t[42]=Lt,t[43]=it,t[44]=N,t[45]=gt,t[46]=tt,t[47]=Z,t[48]=X,t[49]=At,t[50]=K,t[51]=et,t[52]=d,t[53]=mt,t[54]=pt,t[55]=ht,t[56]=B,t[57]=J,t[58]=F):F=t[58];let ot;t[59]!==P||t[60]!==F?(ot=s.jsxRuntimeExports.jsxs(pe.GraphArea,{ref:A,children:[P,F]}),t[59]=P,t[60]=F,t[61]=ot):ot=t[61];let lt;t[62]!==l?.footnote||t[63]!==l?.source||t[64]!==w||t[65]!==G||t[66]!==d?.footnote||t[67]!==d?.source||t[68]!==p?(lt=G||w?s.jsxRuntimeExports.jsx(be.GraphFooter,{styles:{footnote:d?.footnote,source:d?.source},classNames:{footnote:l?.footnote,source:l?.source},sources:G,footNote:w,width:p}):null,t[62]=l?.footnote,t[63]=l?.source,t[64]=w,t[65]=G,t[66]=d?.footnote,t[67]=d?.source,t[68]=p,t[69]=lt):lt=t[69];let jt;return t[70]!==O||t[71]!==W||t[72]!==yt||t[73]!==f||t[74]!==Q||t[75]!==_||t[76]!==Xt||t[77]!==L||t[78]!==Ot||t[79]!==nt||t[80]!==M||t[81]!==k||t[82]!==ot||t[83]!==lt||t[84]!==j||t[85]!==p?(jt=s.jsxRuntimeExports.jsxs(pe.GraphContainer,{className:Ot,style:nt,id:yt,ref:Zt,"aria-label":O,backgroundColor:W,theme:j,language:Q,minHeight:_,width:p,height:f,relativeHeight:L,padding:Xt,children:[M,k,ot,lt]}),t[70]=O,t[71]=W,t[72]=yt,t[73]=f,t[74]=Q,t[75]=_,t[76]=Xt,t[77]=L,t[78]=Ot,t[79]=nt,t[80]=M,t[81]=k,t[82]=ot,t[83]=lt,t[84]=j,t[85]=p,t[86]=jt):jt=t[86],jt}function _e(e){return e!==void 0}function ti(e){return e!==void 0}function ei(e){return e.data}function ii(e){return e!==void 0}function si(e){return e.data}exports.ParetoChart=Qe;
2
2
  //# sourceMappingURL=ParetoChart.cjs.map