@undp/data-viz 2.0.9 → 2.1.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 (224) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.d.ts +2 -0
  3. package/dist/AreaChart.js +4 -4
  4. package/dist/BarGraph.cjs +1 -1
  5. package/dist/BarGraph.cjs.map +1 -1
  6. package/dist/BarGraph.d.ts +2 -0
  7. package/dist/BarGraph.js +1699 -1577
  8. package/dist/BarGraph.js.map +1 -1
  9. package/dist/BasicStatCard.d.ts +2 -0
  10. package/dist/BeeSwarmChart.cjs +1 -1
  11. package/dist/BeeSwarmChart.cjs.map +1 -1
  12. package/dist/BeeSwarmChart.d.ts +2 -0
  13. package/dist/BeeSwarmChart.js +258 -267
  14. package/dist/BeeSwarmChart.js.map +1 -1
  15. package/dist/BiVariateChoroplethMap.cjs +1 -1
  16. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  17. package/dist/BiVariateChoroplethMap.d.ts +2 -0
  18. package/dist/BiVariateChoroplethMap.js +252 -245
  19. package/dist/BiVariateChoroplethMap.js.map +1 -1
  20. package/dist/BulletChart.cjs +1 -1
  21. package/dist/BulletChart.cjs.map +1 -1
  22. package/dist/BulletChart.d.ts +2 -0
  23. package/dist/BulletChart.js +566 -536
  24. package/dist/BulletChart.js.map +1 -1
  25. package/dist/ButterflyChart.cjs +1 -1
  26. package/dist/ButterflyChart.cjs.map +1 -1
  27. package/dist/ButterflyChart.d.ts +2 -0
  28. package/dist/ButterflyChart.js +388 -378
  29. package/dist/ButterflyChart.js.map +1 -1
  30. package/dist/ChoroplethMap.cjs +1 -1
  31. package/dist/ChoroplethMap.cjs.map +1 -1
  32. package/dist/ChoroplethMap.d.ts +2 -0
  33. package/dist/ChoroplethMap.js +297 -291
  34. package/dist/ChoroplethMap.js.map +1 -1
  35. package/dist/CirclePackingGraph.cjs +1 -1
  36. package/dist/CirclePackingGraph.d.ts +2 -0
  37. package/dist/CirclePackingGraph.js +1 -1
  38. package/dist/DataCards.d.ts +2 -0
  39. package/dist/DataCards.js +1 -1
  40. package/dist/DataTable.d.ts +2 -0
  41. package/dist/DetailsModal-0Ry5nXiC.js +32 -0
  42. package/dist/DetailsModal-0Ry5nXiC.js.map +1 -0
  43. package/dist/DetailsModal-BN0HDFlV.cjs +2 -0
  44. package/dist/DetailsModal-BN0HDFlV.cjs.map +1 -0
  45. package/dist/DifferenceLineChart.cjs +1 -1
  46. package/dist/DifferenceLineChart.d.ts +2 -0
  47. package/dist/DifferenceLineChart.js +4 -4
  48. package/dist/DonutChart.cjs +1 -1
  49. package/dist/DonutChart.cjs.map +1 -1
  50. package/dist/DonutChart.d.ts +2 -0
  51. package/dist/DonutChart.js +185 -190
  52. package/dist/DonutChart.js.map +1 -1
  53. package/dist/DotDensityMap.cjs +1 -1
  54. package/dist/DotDensityMap.cjs.map +1 -1
  55. package/dist/DotDensityMap.d.ts +2 -0
  56. package/dist/DotDensityMap.js +252 -244
  57. package/dist/DotDensityMap.js.map +1 -1
  58. package/dist/DualAxisLineChart.cjs +1 -1
  59. package/dist/DualAxisLineChart.d.ts +2 -0
  60. package/dist/DualAxisLineChart.js +4 -4
  61. package/dist/DumbbellChart.cjs +1 -1
  62. package/dist/DumbbellChart.cjs.map +1 -1
  63. package/dist/DumbbellChart.d.ts +2 -0
  64. package/dist/DumbbellChart.js +563 -525
  65. package/dist/DumbbellChart.js.map +1 -1
  66. package/dist/GeoHubCompareMaps.d.ts +2 -0
  67. package/dist/GeoHubMap.d.ts +2 -0
  68. package/dist/GeoHubMapWithLayerSelection.d.ts +2 -0
  69. package/dist/{GraphEl-BcKU0bG1.cjs → GraphEl-B16EYkko.cjs} +2 -2
  70. package/dist/{GraphEl-BcKU0bG1.cjs.map → GraphEl-B16EYkko.cjs.map} +1 -1
  71. package/dist/{GraphEl-CGq1EWRn.js → GraphEl-DEzobeOM.js} +3 -3
  72. package/dist/{GraphEl-CGq1EWRn.js.map → GraphEl-DEzobeOM.js.map} +1 -1
  73. package/dist/GriddedGraphs.cjs +1 -1
  74. package/dist/GriddedGraphs.cjs.map +1 -1
  75. package/dist/GriddedGraphs.d.ts +2 -0
  76. package/dist/GriddedGraphs.js +19 -19
  77. package/dist/GriddedGraphs.js.map +1 -1
  78. package/dist/GriddedGraphsFromConfig.d.ts +2 -0
  79. package/dist/HeatMap.cjs +1 -1
  80. package/dist/HeatMap.cjs.map +1 -1
  81. package/dist/HeatMap.d.ts +2 -0
  82. package/dist/HeatMap.js +112 -117
  83. package/dist/HeatMap.js.map +1 -1
  84. package/dist/Histogram.cjs +1 -1
  85. package/dist/Histogram.d.ts +2 -0
  86. package/dist/Histogram.js +3 -3
  87. package/dist/HybridMap.cjs +1 -1
  88. package/dist/HybridMap.cjs.map +1 -1
  89. package/dist/HybridMap.d.ts +2 -0
  90. package/dist/HybridMap.js +366 -359
  91. package/dist/HybridMap.js.map +1 -1
  92. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  93. package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
  94. package/dist/LineChartWithConfidenceInterval.js +4 -4
  95. package/dist/{Modal-DGcuAHyK.js → Modal-bMQA6bL_.js} +5 -5
  96. package/dist/{Modal-DGcuAHyK.js.map → Modal-bMQA6bL_.js.map} +1 -1
  97. package/dist/MultiGraphDashboard.cjs +1 -1
  98. package/dist/MultiGraphDashboard.cjs.map +1 -1
  99. package/dist/MultiGraphDashboard.d.ts +2 -0
  100. package/dist/MultiGraphDashboard.js +10 -10
  101. package/dist/MultiGraphDashboard.js.map +1 -1
  102. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
  103. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -0
  104. package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
  105. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -0
  106. package/dist/MultiLineAltChart.cjs +1 -1
  107. package/dist/MultiLineAltChart.cjs.map +1 -1
  108. package/dist/MultiLineAltChart.d.ts +2 -0
  109. package/dist/MultiLineAltChart.js +453 -425
  110. package/dist/MultiLineAltChart.js.map +1 -1
  111. package/dist/MultiLineChart.cjs +1 -1
  112. package/dist/MultiLineChart.d.ts +2 -0
  113. package/dist/MultiLineChart.js +4 -4
  114. package/dist/ParetoChart.cjs +1 -1
  115. package/dist/ParetoChart.cjs.map +1 -1
  116. package/dist/ParetoChart.d.ts +2 -0
  117. package/dist/ParetoChart.js +188 -193
  118. package/dist/ParetoChart.js.map +1 -1
  119. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  120. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  121. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
  122. package/dist/PerformanceIntensiveMultiGraphDashboard.js +16 -16
  123. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  124. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
  125. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
  126. package/dist/RadarChart.cjs +1 -1
  127. package/dist/RadarChart.cjs.map +1 -1
  128. package/dist/RadarChart.d.ts +2 -0
  129. package/dist/RadarChart.js +158 -163
  130. package/dist/RadarChart.js.map +1 -1
  131. package/dist/SankeyChart.cjs +1 -1
  132. package/dist/SankeyChart.cjs.map +1 -1
  133. package/dist/SankeyChart.d.ts +2 -0
  134. package/dist/SankeyChart.js +172 -177
  135. package/dist/SankeyChart.js.map +1 -1
  136. package/dist/ScatterPlot.cjs +1 -1
  137. package/dist/ScatterPlot.cjs.map +1 -1
  138. package/dist/ScatterPlot.d.ts +2 -0
  139. package/dist/ScatterPlot.js +494 -483
  140. package/dist/ScatterPlot.js.map +1 -1
  141. package/dist/ScrollStory.d.ts +2 -0
  142. package/dist/SimpleLineChart.cjs +1 -1
  143. package/dist/SimpleLineChart.d.ts +2 -0
  144. package/dist/SimpleLineChart.js +4 -4
  145. package/dist/SingleGraphDashboard.cjs +1 -1
  146. package/dist/SingleGraphDashboard.cjs.map +1 -1
  147. package/dist/SingleGraphDashboard.d.ts +2 -0
  148. package/dist/SingleGraphDashboard.js +24 -24
  149. package/dist/SingleGraphDashboard.js.map +1 -1
  150. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -0
  151. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
  152. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
  153. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  154. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  155. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
  156. package/dist/SingleGraphDashboardThreeDGraphs.js +46 -46
  157. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  158. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
  159. package/dist/SlopeChart.cjs +1 -1
  160. package/dist/SlopeChart.cjs.map +1 -1
  161. package/dist/SlopeChart.d.ts +2 -0
  162. package/dist/SlopeChart.js +182 -187
  163. package/dist/SlopeChart.js.map +1 -1
  164. package/dist/SparkLine.cjs +1 -1
  165. package/dist/SparkLine.d.ts +2 -0
  166. package/dist/SparkLine.js +4 -4
  167. package/dist/StatCardFromData.d.ts +2 -0
  168. package/dist/StripChart.cjs +1 -1
  169. package/dist/StripChart.cjs.map +1 -1
  170. package/dist/StripChart.d.ts +2 -0
  171. package/dist/StripChart.js +249 -258
  172. package/dist/StripChart.js.map +1 -1
  173. package/dist/ThreeDGlobe.cjs +1 -1
  174. package/dist/ThreeDGlobe.cjs.map +1 -1
  175. package/dist/ThreeDGlobe.d.ts +2 -0
  176. package/dist/ThreeDGlobe.js +142 -147
  177. package/dist/ThreeDGlobe.js.map +1 -1
  178. package/dist/Tooltip-Dj5eVppQ.js +45 -0
  179. package/dist/Tooltip-Dj5eVppQ.js.map +1 -0
  180. package/dist/Tooltip-uUdw6wJL.cjs +2 -0
  181. package/dist/Tooltip-uUdw6wJL.cjs.map +1 -0
  182. package/dist/TreeMapGraph.cjs +1 -1
  183. package/dist/TreeMapGraph.cjs.map +1 -1
  184. package/dist/TreeMapGraph.d.ts +2 -0
  185. package/dist/TreeMapGraph.js +159 -164
  186. package/dist/TreeMapGraph.js.map +1 -1
  187. package/dist/Types.d.ts +2 -0
  188. package/dist/UnitChart.d.ts +2 -0
  189. package/dist/{band-CyHaVft5.js → band-DHUZ2X7J.js} +3 -3
  190. package/dist/{band-CyHaVft5.js.map → band-DHUZ2X7J.js.map} +1 -1
  191. package/dist/{checkIfMultiple-Y9iKaV_u.js → checkIfMultiple-CIRtG0KE.js} +2 -2
  192. package/dist/{checkIfMultiple-Y9iKaV_u.js.map → checkIfMultiple-CIRtG0KE.js.map} +1 -1
  193. package/dist/index-CF5hnGvG.cjs +2 -0
  194. package/dist/index-CF5hnGvG.cjs.map +1 -0
  195. package/dist/index-DPGq3eIL.js +330 -0
  196. package/dist/index-DPGq3eIL.js.map +1 -0
  197. package/dist/index.cjs +1 -1
  198. package/dist/index.d.ts +2 -0
  199. package/dist/index.js +1 -1
  200. package/dist/{init-BJFW6EwE.js → init-BhZylTFx.js} +3 -3
  201. package/dist/{init-BJFW6EwE.js.map → init-BhZylTFx.js.map} +1 -1
  202. package/dist/{linear-BwnDd9KF.js → linear-BqltdMeF.js} +2 -2
  203. package/dist/{linear-BwnDd9KF.js.map → linear-BqltdMeF.js.map} +1 -1
  204. package/dist/{ordinal-P77xw8aL.js → ordinal-BJ6O_LC5.js} +2 -2
  205. package/dist/{ordinal-P77xw8aL.js.map → ordinal-BJ6O_LC5.js.map} +1 -1
  206. package/dist/{pow-DE4c7dbW.js → pow-CM2aze4M.js} +3 -3
  207. package/dist/{pow-DE4c7dbW.js.map → pow-CM2aze4M.js.map} +1 -1
  208. package/dist/{threshold-Bgr20hik.js → threshold-DFfqcDMa.js} +2 -2
  209. package/dist/{threshold-Bgr20hik.js.map → threshold-DFfqcDMa.js.map} +1 -1
  210. package/dist/{time-DCCfQk3V.js → time-BUL-dwnK.js} +3 -3
  211. package/dist/{time-DCCfQk3V.js.map → time-BUL-dwnK.js.map} +1 -1
  212. package/package.json +4 -4
  213. package/dist/Tooltip-4dJo4_AF.cjs +0 -2
  214. package/dist/Tooltip-4dJo4_AF.cjs.map +0 -1
  215. package/dist/Tooltip-CwWUegPB.js +0 -43
  216. package/dist/Tooltip-CwWUegPB.js.map +0 -1
  217. package/dist/index-B2LQV7Tk.js +0 -335
  218. package/dist/index-B2LQV7Tk.js.map +0 -1
  219. package/dist/index-xRHRLDIp.cjs +0 -2
  220. package/dist/index-xRHRLDIp.cjs.map +0 -1
  221. package/dist/sort-BIvMlUH1.js +0 -34
  222. package/dist/sort-BIvMlUH1.js.map +0 -1
  223. package/dist/sort-O96oMZLb.cjs +0 -2
  224. package/dist/sort-O96oMZLb.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultiLineAltChart.cjs","sources":["../src/Components/Graphs/LineCharts/MultiLineAltChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineAltChart/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 { ascending, sort } from 'd3-array';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Delaunay } from 'd3-delaunay';\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 MultiLineAltChartDataType,\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\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: 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 // 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 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 showLabels: boolean;\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 colorDomain: (string | number)[];\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n selectedColor?: string;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n label: number | string;\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 rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\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 colorDomain,\r\n selectedColor,\r\n classNames,\r\n showLabels,\r\n dimmedOpacity,\r\n precision,\r\n naLabel,\r\n customLayers,\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 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 ).filter(d => !checkIfNullOrUndefined(d.y));\r\n const labels = uniqBy(dataFormatted, 'label', true) as (string | number)[];\r\n const dates = sort(\r\n uniqBy(data, 'date', true).map(d => parse(`${d}`, dateFormat, new Date())),\r\n (a, b) => ascending(a, b),\r\n );\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 lineArray = labels.map(d =>\r\n orderBy(\r\n dataFormatted.filter(el => el.label == d),\r\n ['date'],\r\n ['asc'],\r\n ),\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()) : dates[0];\r\n const maxYear = maxDate ? parse(`${maxDate}`, dateFormat, new Date()) : dates[dates.length - 1];\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]))\r\n ? (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number) > 0\r\n ? 0\r\n : (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n ? (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\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 voronoiDiagram = Delaunay.from(\r\n dataFormatted.filter(d => !checkIfNullOrUndefined(d.date) && !checkIfNullOrUndefined(d.y)),\r\n d => x(d.date),\r\n d => y(d.y as number),\r\n ).voronoi([0, 0, graphWidth < 0 ? 0 : graphWidth, graphHeight < 0 ? 0 : graphHeight]);\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 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\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <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 />\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 'NA',\r\n precision,\r\n prefix,\r\n suffix,\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 />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <motion.g>\r\n {lineArray.map(d => (\r\n <motion.g\r\n key={d[0].label}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -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 d={\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || ''\r\n }\r\n style={{\r\n fill: 'none',\r\n strokeWidth: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : strokeWidth,\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n },\r\n whileInView: {\r\n 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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <motion.g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={graphWidth / d.length < 5 ? 0 : graphWidth / d.length < 20 ? 2 : 4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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 </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {(highlightedLines.indexOf(d[0].label) !== -1 ||\r\n mouseOverData?.label === d[0].label) &&\r\n showLabels ? (\r\n <motion.text\r\n className='text-sm font-bold'\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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 {d[0].label}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <text\r\n y={y(mouseOverData.y) - 8}\r\n x={x(mouseOverData.date)}\r\n className={cn('graph-value text-sm font-bold', classNames?.graphObjectValues)}\r\n style={{\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !mouseOverData.color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(mouseOverData.color)],\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(mouseOverData.y, naLabel, precision, prefix, suffix)}\r\n </text>\r\n ) : null}\r\n </motion.g>\r\n {dataFormatted\r\n .filter(d => !checkIfNullOrUndefined(d.y))\r\n .map((d, i) => {\r\n return (\r\n <g key={i}>\r\n <path\r\n d={voronoiDiagram.renderCell(\r\n dataFormatted.findIndex(el => el.label === d.label && el.date === d.date),\r\n )}\r\n opacity={0}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n />\r\n </g>\r\n );\r\n })}\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 </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 MultiLineAltChartDataType,\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 { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { uniqBy } from '@/Utils/uniqBy';\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: MultiLineAltChartDataType[];\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 /** Color or array of colors for lines */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: (string | number)[];\r\n /** Toggle the visibility of labels of the lines when highlighted or mouse hovered */\r\n showLabels?: 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 /** 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 dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** 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 /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 /** 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 MultiLineAltChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n showNAColor = true,\r\n colors,\r\n colorDomain,\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 padding,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n showColorScale = true,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showLabels = true,\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 naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\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 {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorScale && data.filter(el => el.color).length !== 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data}\r\n lineColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\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 tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\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 selectedColor={selectedColor}\r\n showLabels={showLabels}\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\r\n )}\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","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","colorDomain","selectedColor","classNames","showLabels","dimmedOpacity","precision","naLabel","customLayers","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","t3","d","date","parse","Date","dataFormatted","orderBy","map","filter","_temp","labels","uniqBy","t4","d_1","dates","sort","_temp2","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t5","t6","top","bottom","left","right","margin","MouseoverRectRef","lineArray","el","label","t7","t8","d_3","coordinates","highlightAreaSettingsFormatted","t9","d_4","el_0","j","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp4","_temp5","_temp6","_temp7","_temp8","maxParam","max","_temp9","_temp0","_temp1","_temp10","x","scaleTime","domain","range","t10","y","scaleLinear","nice","voronoiDiagram","Delaunay","from","_temp11","d_16","voronoi","lineShape","line","d_18","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp12","invert","pointer","clientY","clientX","mouseout","select","current","on","t11","jsx","HighlightArea","t12","yAxis","gridLines","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","numberFormattingFunction","t24","t25","t26","t27","dx","dy","t28","xAxis","axis","t29","t30","t31","t32","t33","t34","Axis","t35","t36","t37","title","t38","t39","AxisTitle","t40","d_24","format","t41","t42","d_25","t43","t44","t45","t46","t47","cn","t48","t49","t50","t51","_temp15","_temp16","t52","_temp27","d_30","i","renderCell","findIndex","el_12","event_0","event_1","t53","Fragment","el_13","i_0","RefLineY","text","color","value","t54","t55","d_31","i_1","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","cy","cx","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t56","_temp28","_temp29","t57","Tooltip","jsxs","motion","CustomArea","YTicksAndGridLines","_temp13","_temp14","d_23","XTicksAndGridLines","d_28","opacity","transition","initial","indexOf","whileInView","_temp17","fill","pathLength","_temp18","stroke","_temp19","Colors","gray","_temp20","_temp21","el_6","j_0","_temp22","_temp23","delay","_temp24","_temp25","graphObjectValues","_temp26","textAnchor","d_33","layer","d_32","position","d_29","el_11","el_10","el_9","el_8","el_7","el_5","el_4","el_3","el_2","el_1","d_27","d_26","d_22","d_21","d_20","d_15","d_12","d_11","d_14","d_13","d_6","d_5","d_8","d_7","d_10","d_9","a","b","ascending","d_0","MultiLineAltChart","graphTitle","showNAColor","colors","sources","graphDescription","footNote","padding","backgroundColor","showColorScale","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","EmptyState","ColorLegendWithMouseOver","categoricalColors","colorLegend","GraphArea","primaryColors","getNoOfTicks","footnote","source","GraphFooter","GraphContainer","d_2"],"mappings":"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"}
1
+ {"version":3,"file":"MultiLineAltChart.cjs","sources":["../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sort.js","../src/Components/Graphs/LineCharts/MultiLineAltChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineAltChart/index.tsx"],"sourcesContent":["export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","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 { ascending, sort } from 'd3-array';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Delaunay } from 'd3-delaunay';\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 MultiLineAltChartDataType,\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\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineAltChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: 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 // 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 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 showLabels: boolean;\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 colorDomain: (string | number)[];\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n selectedColor?: string;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n naLabel: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n label: number | string;\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 rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\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 colorDomain,\r\n selectedColor,\r\n classNames,\r\n showLabels,\r\n dimmedOpacity,\r\n precision,\r\n naLabel,\r\n customLayers,\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 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 ).filter(d => !checkIfNullOrUndefined(d.y));\r\n const labels = uniqBy(dataFormatted, 'label', true) as (string | number)[];\r\n const dates = sort(\r\n uniqBy(data, 'date', true).map(d => parse(`${d}`, dateFormat, new Date())),\r\n (a, b) => ascending(a, b),\r\n );\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 lineArray = labels.map(d =>\r\n orderBy(\r\n dataFormatted.filter(el => el.label == d),\r\n ['date'],\r\n ['asc'],\r\n ),\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()) : dates[0];\r\n const maxYear = maxDate ? parse(`${maxDate}`, dateFormat, new Date()) : dates[dates.length - 1];\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]))\r\n ? (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number) > 0\r\n ? 0\r\n : (Math.min(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\r\n ? (Math.max(\r\n ...(dataFormatted.map(d => d.y).filter(d => !checkIfNullOrUndefined(d)) as number[]),\r\n ) as number)\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 voronoiDiagram = Delaunay.from(\r\n dataFormatted.filter(d => !checkIfNullOrUndefined(d.date) && !checkIfNullOrUndefined(d.y)),\r\n d => x(d.date),\r\n d => y(d.y as number),\r\n ).voronoi([0, 0, graphWidth < 0 ? 0 : graphWidth, graphHeight < 0 ? 0 : graphHeight]);\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 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\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <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 />\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 'NA',\r\n precision,\r\n prefix,\r\n suffix,\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 />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <motion.g>\r\n {lineArray.map(d => (\r\n <motion.g\r\n key={d[0].label}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? 1\r\n : dimmedOpacity\r\n : selectedColor\r\n ? d[0].color\r\n ? lineColors[colorDomain.indexOf(d[0].color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -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 d={\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || ''\r\n }\r\n style={{\r\n fill: 'none',\r\n strokeWidth: mouseOverData\r\n ? d[0].label === mouseOverData.label\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(d[0].label) !== -1\r\n ? strokeWidth + Math.max(2, 0.5 * strokeWidth)\r\n : strokeWidth\r\n : strokeWidth,\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n },\r\n whileInView: {\r\n 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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <motion.g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={graphWidth / d.length < 5 ? 0 : graphWidth / d.length < 20 ? 2 : 4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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 </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {(highlightedLines.indexOf(d[0].label) !== -1 ||\r\n mouseOverData?.label === d[0].label) &&\r\n showLabels ? (\r\n <motion.text\r\n className='text-sm font-bold'\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !d[0].color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(d[0].color)],\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 {d[0].label}\r\n </motion.text>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <text\r\n y={y(mouseOverData.y) - 8}\r\n x={x(mouseOverData.date)}\r\n className={cn('graph-value text-sm font-bold', classNames?.graphObjectValues)}\r\n style={{\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? lineColors[0]\r\n : !mouseOverData.color\r\n ? Colors.gray\r\n : lineColors[colorDomain.indexOf(mouseOverData.color)],\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(mouseOverData.y, naLabel, precision, prefix, suffix)}\r\n </text>\r\n ) : null}\r\n </motion.g>\r\n {dataFormatted\r\n .filter(d => !checkIfNullOrUndefined(d.y))\r\n .map((d, i) => {\r\n return (\r\n <g key={i}>\r\n <path\r\n d={voronoiDiagram.renderCell(\r\n dataFormatted.findIndex(el => el.label === d.label && el.date === d.date),\r\n )}\r\n opacity={0}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n />\r\n </g>\r\n );\r\n })}\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 </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 MultiLineAltChartDataType,\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 { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { uniqBy } from '@/Utils/uniqBy';\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: MultiLineAltChartDataType[];\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 /** Color or array of colors for lines */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: (string | number)[];\r\n /** Toggle the visibility of labels of the lines when highlighted or mouse hovered */\r\n showLabels?: 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 /** 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 dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** 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 /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 /** 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 MultiLineAltChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n showNAColor = true,\r\n colors,\r\n colorDomain,\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 padding,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n showColorScale = true,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showLabels = true,\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 naLabel = 'NA',\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\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 {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorScale && data.filter(el => el.color).length !== 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data}\r\n lineColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\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 tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\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 selectedColor={selectedColor}\r\n showLabels={showLabels}\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n naLabel={naLabel}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\r\n )}\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":["permute","source","keys","key","sort","values","F","f","index","d","i","j","c","ascendingDefined","compareDefined","compare","ascending","a","b","x","Graph","props","$","_c","data","width","height","lineColors","dateFormat","noOfXTicks","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","colorDomain","selectedColor","classNames","showLabels","dimmedOpacity","precision","naLabel","customLayers","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","t3","date","parse","Date","dataFormatted","orderBy","map","filter","_temp","labels","uniqBy","t4","d_1","dates","_temp2","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t5","t6","top","bottom","left","right","margin","MouseoverRectRef","lineArray","el","label","t7","t8","d_3","coordinates","highlightAreaSettingsFormatted","t9","d_4","el_0","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp4","_temp5","_temp6","_temp7","_temp8","maxParam","max","_temp9","_temp0","_temp1","_temp10","scaleTime","domain","range","t10","y","scaleLinear","nice","voronoiDiagram","Delaunay","from","_temp11","d_16","voronoi","lineShape","line","d_18","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp12","invert","pointer","clientY","clientX","mouseout","select","current","on","t11","jsx","HighlightArea","t12","yAxis","gridLines","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","numberFormattingFunction","t24","t25","t26","t27","dx","dy","t28","xAxis","axis","t29","t30","t31","t32","t33","t34","Axis","t35","t36","t37","title","t38","t39","AxisTitle","t40","d_24","format","t41","t42","d_25","t43","t44","t45","t46","t47","cn","t48","t49","t50","t51","_temp15","_temp16","t52","_temp27","d_30","renderCell","findIndex","el_12","event_0","event_1","t53","Fragment","el_13","i_0","RefLineY","text","color","value","t54","t55","d_31","i_1","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","cy","cx","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t56","_temp28","_temp29","t57","Tooltip","jsxs","motion","CustomArea","YTicksAndGridLines","_temp13","_temp14","d_23","XTicksAndGridLines","d_28","opacity","transition","initial","indexOf","whileInView","_temp17","fill","pathLength","_temp18","stroke","_temp19","Colors","gray","_temp20","_temp21","el_6","j_0","_temp22","_temp23","delay","_temp24","_temp25","graphObjectValues","_temp26","textAnchor","d_33","layer","d_32","position","d_29","el_11","el_10","el_9","el_8","el_7","el_5","el_4","el_3","el_2","el_1","d_27","d_26","d_22","d_21","d_20","d_15","d_12","d_11","d_14","d_13","d_6","d_5","d_8","d_7","d_10","d_9","d_0","MultiLineAltChart","graphTitle","showNAColor","colors","sources","graphDescription","footNote","padding","backgroundColor","showColorScale","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","EmptyState","ColorLegendWithMouseOver","categoricalColors","colorLegend","GraphArea","primaryColors","getNoOfTicks","footnote","GraphFooter","GraphContainer","d_2"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -58,6 +58,7 @@ declare interface ClassNameObject {
58
58
  regLine?: string;
59
59
  dataCards?: string;
60
60
  colorLegend?: string;
61
+ modal?: string;
61
62
  }
62
63
 
63
64
  declare type CurveTypes = 'linear' | 'curve' | 'step' | 'stepAfter' | 'stepBefore';
@@ -240,6 +241,7 @@ declare interface StyleObject {
240
241
  mouseOverLine?: React.CSSProperties;
241
242
  regLine?: React.CSSProperties;
242
243
  dataCards?: React.CSSProperties;
244
+ modal?: React.CSSProperties;
243
245
  }
244
246
 
245
247
  export { }