@undp/data-viz 2.1.3 → 2.1.4

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 (118) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.js +279 -272
  4. package/dist/AreaChart.js.map +1 -1
  5. package/dist/BarGraph.cjs +1 -1
  6. package/dist/BarGraph.cjs.map +1 -1
  7. package/dist/BarGraph.d.ts +2 -0
  8. package/dist/BarGraph.js +1795 -1724
  9. package/dist/BarGraph.js.map +1 -1
  10. package/dist/BeeSwarmChart.cjs +1 -1
  11. package/dist/BeeSwarmChart.cjs.map +1 -1
  12. package/dist/BeeSwarmChart.js +312 -305
  13. package/dist/BeeSwarmChart.js.map +1 -1
  14. package/dist/BulletChart.cjs +1 -1
  15. package/dist/BulletChart.cjs.map +1 -1
  16. package/dist/BulletChart.js +298 -287
  17. package/dist/BulletChart.js.map +1 -1
  18. package/dist/ButterflyChart.cjs +1 -1
  19. package/dist/ButterflyChart.cjs.map +1 -1
  20. package/dist/ButterflyChart.js +224 -217
  21. package/dist/ButterflyChart.js.map +1 -1
  22. package/dist/CirclePackingGraph.cjs +1 -1
  23. package/dist/CirclePackingGraph.js +2 -2
  24. package/dist/DifferenceLineChart.cjs +1 -1
  25. package/dist/DifferenceLineChart.cjs.map +1 -1
  26. package/dist/DifferenceLineChart.js +404 -397
  27. package/dist/DifferenceLineChart.js.map +1 -1
  28. package/dist/DonutChart.cjs +1 -1
  29. package/dist/DonutChart.cjs.map +1 -1
  30. package/dist/DonutChart.js +42 -39
  31. package/dist/DonutChart.js.map +1 -1
  32. package/dist/DualAxisLineChart.cjs +1 -1
  33. package/dist/DualAxisLineChart.cjs.map +1 -1
  34. package/dist/DualAxisLineChart.js +320 -313
  35. package/dist/DualAxisLineChart.js.map +1 -1
  36. package/dist/DumbbellChart.cjs +1 -1
  37. package/dist/DumbbellChart.cjs.map +1 -1
  38. package/dist/DumbbellChart.js +298 -291
  39. package/dist/DumbbellChart.js.map +1 -1
  40. package/dist/{EmptyState-BZo1BbAn.js → EmptyState-C7ZXkZWd.js} +4 -4
  41. package/dist/EmptyState-C7ZXkZWd.js.map +1 -0
  42. package/dist/EmptyState-gLDRXBHm.cjs +2 -0
  43. package/dist/EmptyState-gLDRXBHm.cjs.map +1 -0
  44. package/dist/GraphEl-C2Fgg8PA.cjs +2 -0
  45. package/dist/GraphEl-C2Fgg8PA.cjs.map +1 -0
  46. package/dist/{GraphEl-CRrAlbcr.js → GraphEl-oZwZiTHI.js} +3 -2
  47. package/dist/GraphEl-oZwZiTHI.js.map +1 -0
  48. package/dist/GriddedGraphs.cjs +1 -1
  49. package/dist/GriddedGraphs.js +1 -1
  50. package/dist/HeatMap.cjs +1 -1
  51. package/dist/HeatMap.cjs.map +1 -1
  52. package/dist/HeatMap.js +179 -172
  53. package/dist/HeatMap.js.map +1 -1
  54. package/dist/Histogram.cjs +1 -1
  55. package/dist/Histogram.js +1 -1
  56. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  57. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  58. package/dist/LineChartWithConfidenceInterval.js +368 -361
  59. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  60. package/dist/MultiLineAltChart.cjs +1 -1
  61. package/dist/MultiLineAltChart.cjs.map +1 -1
  62. package/dist/MultiLineAltChart.js +327 -320
  63. package/dist/MultiLineAltChart.js.map +1 -1
  64. package/dist/MultiLineChart.cjs +1 -1
  65. package/dist/MultiLineChart.cjs.map +1 -1
  66. package/dist/MultiLineChart.js +374 -367
  67. package/dist/MultiLineChart.js.map +1 -1
  68. package/dist/ParetoChart.cjs +1 -1
  69. package/dist/ParetoChart.cjs.map +1 -1
  70. package/dist/ParetoChart.js +385 -378
  71. package/dist/ParetoChart.js.map +1 -1
  72. package/dist/RadarChart.cjs +1 -1
  73. package/dist/RadarChart.cjs.map +1 -1
  74. package/dist/RadarChart.js +34 -33
  75. package/dist/RadarChart.js.map +1 -1
  76. package/dist/SankeyChart.cjs +1 -1
  77. package/dist/SankeyChart.cjs.map +1 -1
  78. package/dist/SankeyChart.js +176 -169
  79. package/dist/SankeyChart.js.map +1 -1
  80. package/dist/ScatterPlot.cjs +1 -1
  81. package/dist/ScatterPlot.cjs.map +1 -1
  82. package/dist/ScatterPlot.js +366 -359
  83. package/dist/ScatterPlot.js.map +1 -1
  84. package/dist/SimpleLineChart.cjs +1 -1
  85. package/dist/SimpleLineChart.cjs.map +1 -1
  86. package/dist/SimpleLineChart.js +285 -278
  87. package/dist/SimpleLineChart.js.map +1 -1
  88. package/dist/SingleGraphDashboard.cjs +1 -1
  89. package/dist/SingleGraphDashboard.js +1 -1
  90. package/dist/SlopeChart.cjs +1 -1
  91. package/dist/SlopeChart.cjs.map +1 -1
  92. package/dist/SlopeChart.js +243 -236
  93. package/dist/SlopeChart.js.map +1 -1
  94. package/dist/StripChart.cjs +1 -1
  95. package/dist/StripChart.cjs.map +1 -1
  96. package/dist/StripChart.js +293 -286
  97. package/dist/StripChart.js.map +1 -1
  98. package/dist/TreeMapGraph.cjs +1 -1
  99. package/dist/TreeMapGraph.cjs.map +1 -1
  100. package/dist/TreeMapGraph.js +222 -215
  101. package/dist/TreeMapGraph.js.map +1 -1
  102. package/dist/index-Blvf-Q3U.cjs +2 -0
  103. package/dist/{index-CF5hnGvG.cjs.map → index-Blvf-Q3U.cjs.map} +1 -1
  104. package/dist/index-D1RrKgK6.js +337 -0
  105. package/dist/index-D1RrKgK6.js.map +1 -0
  106. package/dist/index.cjs +1 -1
  107. package/dist/index.d.ts +2 -0
  108. package/dist/index.js +1 -1
  109. package/package.json +1 -1
  110. package/dist/EmptyState-BZo1BbAn.js.map +0 -1
  111. package/dist/EmptyState-sAEZ_5rU.cjs +0 -2
  112. package/dist/EmptyState-sAEZ_5rU.cjs.map +0 -1
  113. package/dist/GraphEl-BLMih7RN.cjs +0 -2
  114. package/dist/GraphEl-BLMih7RN.cjs.map +0 -1
  115. package/dist/GraphEl-CRrAlbcr.js.map +0 -1
  116. package/dist/index-CF5hnGvG.cjs +0 -2
  117. package/dist/index-DPGq3eIL.js +0 -330
  118. package/dist/index-DPGq3eIL.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}\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 } = 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 />\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 <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:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity:\r\n highlightedLines.length !== 0\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(el.y, 'NA', precision, prefix, suffix)}\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 /** 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 } = 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 {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorLegendAtTop && showColorScale ? (\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 {svgWidth && svgHeight ? (\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 />\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","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","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","EmptyState","ColorLegend","colorLegend","GraphArea","getNoOfTicks","generateRandomString","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
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}\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 } = 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 />\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 <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:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity:\r\n highlightedLines.length !== 0\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(el.y, 'NA', precision, prefix, suffix)}\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 /** 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 } = 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 />\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","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":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),st=require("react"),xe=require("./index-DQA8q5sC.cjs"),ne=require("./numberFormattingFunction-02t-wJta.cjs"),he=require("./Tooltip-uUdw6wJL.cjs"),ue=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ce=require("./Axis-DxRV2yMi.cjs"),me=require("./AxisTitle-sS5bLLR7.cjs"),ge=require("./XAxesLabels-Bt5NZBmX.cjs"),ye=require("./DetailsModal-BN0HDFlV.cjs"),be=require("./band-VYfcZeJ2.cjs"),pe=require("./linear-BwPAspcq.cjs"),de=require("./line-DaEMhXmx.cjs"),se=require("./step-BZ3C8QFW.cjs"),ve=require("./use-in-view-QcfiW0w3.cjs"),Dt=require("./proxy-BxvUI_9l.cjs"),je=require("./index-DG2bgAva.cjs"),Ae=require("./GraphFooter.cjs"),we=require("./GraphHeader.cjs"),Ee=require("./ColorLegend.cjs"),oe=require("./Colors.cjs"),Re=require("./EmptyState-sAEZ_5rU.cjs"),fe=require("./GraphContainer-d8A46BK2.cjs");function Ce(e){const t=n.compilerRuntimeExports.c(157),{data:v,width:P,height:D,barColor:d,lineColor:p,axisTitles:u,sameAxes:j,rightMargin:zt,leftMargin:Qt,topMargin:Ft,bottomMargin:Yt,tooltip:Et,showValues:Rt,onSeriesMouseOver:ot,barPadding:Ht,truncateBy:Ct,showLabels:Gt,onSeriesMouseClick:C,resetSelectionOnDoubleClick:pt,detailsOnClick:w,noOfTicks:dt,lineSuffix:ft,barSuffix:Mt,linePrefix:kt,barPrefix:St,curveType:Lt,styles:s,classNames:o,animate:r,precision:F,customLayers:M,naLabel:rt,showAxisLabels:E}=e,Jt=st.useRef(null);let ht;t[0]!==r.amount||t[1]!==r.once?(ht={once:r.once,amount:r.amount},t[0]=r.amount,t[1]=r.once,t[2]=ht):ht=t[2];const k=ve.useInView(Jt,ht),Xt=Lt==="linear"?de.curveLinear:Lt==="step"?se.curveStep:Lt==="stepAfter"?se.stepAfter:Lt==="stepBefore"?se.stepBefore:se.monotoneX,[Nt,lt]=st.useState(void 0),[S,gt]=st.useState(void 0),[Ot,c]=st.useState(void 0),[x,at]=st.useState(void 0),Wt=Qt+50,yt=zt+65;let $t;t[3]!==Yt||t[4]!==Wt||t[5]!==yt||t[6]!==Ft?($t={top:Ft,bottom:Yt,left:Wt,right:yt},t[3]=Yt,t[4]=Wt,t[5]=yt,t[6]=Ft,t[7]=$t):$t=t[7];const l=$t,h=P-l.left-l.right,a=D-l.top-l.bottom;let L,Y,H,R,G,X,W,N,O,$,q,B,U,z,J;if(t[8]!==r||t[9]!==u||t[10]!==d||t[11]!==Ht||t[12]!==St||t[13]!==Mt||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]!==Xt||t[21]!==M||t[22]!==v||t[23]!==w||t[24]!==a||t[25]!==h||t[26]!==D||t[27]!==k||t[28]!==p||t[29]!==kt||t[30]!==ft||t[31]!==l.bottom||t[32]!==l.left||t[33]!==l.right||t[34]!==l.top||t[35]!==S||t[36]!==rt||t[37]!==dt||t[38]!==C||t[39]!==ot||t[40]!==F||t[41]!==pt||t[42]!==j||t[43]!==E||t[44]!==Gt||t[45]!==Rt||t[46]!==s?.graphObjectValues||t[47]!==s?.xAxis?.axis||t[48]!==s?.xAxis?.labels||t[49]!==s?.yAxis?.gridLines||t[50]!==s?.yAxis?.labels||t[51]!==s?.yAxis?.title||t[52]!==Ct||t[53]!==P){const m=v.map(ti),g=be.band().domain(m.map(_e)).range([0,h]).paddingInner(Ht),qt=Math.min(...m.map(Ze).filter(Qe))!==1/0?Math.min(...m.map(Ke).filter(Je))>0?0:Math.min(...m.map(ze).filter(Ue)):0,vt=Math.min(...m.map(Be).filter(We))!==1/0?Math.min(...m.map(Xe).filter(Ge))>0?0:Math.min(...m.map(He).filter(Ye)):0,jt=Math.max(...m.map(Fe).filter(De))!==1/0?Math.max(...m.map(Pe).filter(Te)):0,ct=Math.max(...m.map(Ie).filter(Ve))!==1/0?Math.max(...m.map(qe).filter($e)):0,Bt=qt<vt?qt:vt,At=jt>ct?jt:ct,f=pe.linear().domain([j?Bt:qt,j?At>0?At:0:jt>0?jt:0]).range([a,0]).nice(),y=pe.linear().domain([j?Bt:vt,j?At>0?At:0:ct>0?ct:0]).range([a,0]).nice(),Vt=de.line().defined(Oe).x(i=>g(`${i.id}`)+g.bandwidth()/2).y(i=>y(i.line)).curve(Xt),re=f.ticks(dt),Ut=y.ticks(dt);Y=Dt.motion.svg,G=`${P}px`,X=`${D}px`,W=`0 0 ${P} ${D}`,N="ltr",O=Jt,U=`translate(${l.left},${l.top})`;const Kt=o?.xAxis?.axis;let et;t[69]!==Kt?(et={axis:Kt},t[69]=Kt,t[70]=et):et=t[70];let ut;t[71]!==s?.xAxis?.axis?(ut=s?.xAxis?.axis||{},t[71]=s?.xAxis?.axis,t[72]=ut):ut=t[72];let V;t[73]!==d||t[74]!==ut?(V={axis:{stroke:d,...ut}},t[73]=d,t[74]=ut,t[75]=V):V=t[75];let xt;t[76]!==a||t[77]!==et||t[78]!==V?(xt=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:a,x1:-15,x2:-15,classNames:et,styles:V}),t[76]=a,t[77]=et,t[78]=V,t[79]=xt):xt=t[79];let wt;t[80]!==u||t[81]!==d||t[82]!==o?.yAxis?.title||t[83]!==a||t[84]!==l.left||t[85]!==E||t[86]!==s?.yAxis?.title?(wt=E?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:10-l.left,y:a/2,style:{fill:d,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:u[0].length>100?`${u[0].substring(0,100)}...`:u[0],rotate90:!0}):null,t[80]=u,t[81]=d,t[82]=o?.yAxis?.title,t[83]=a,t[84]=l.left,t[85]=E,t[86]=s?.yAxis?.title,t[87]=wt):wt=t[87],z=n.jsxRuntimeExports.jsxs("g",{children:[re.map((i,Pt)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:f(i),y2:f(i),x1:-15,x2:-20,style:{stroke:d,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:-25,y:f(i),dy:"0.33em",className:n.mo("text-xs",o?.yAxis?.labels),style:{textAnchor:"end",fill:d,...s?.yAxis?.labels||{}},children:ne.numberFormattingFunction(i,rt,F,St,Mt)})]},Pt)),xt,wt]});const It=h+15,it=h+15,nt=o?.xAxis?.axis;let A;t[88]!==nt?(A={axis:nt},t[88]=nt,t[89]=A):A=t[89];let I;t[90]!==s?.xAxis?.axis?(I=s?.xAxis?.axis||{},t[90]=s?.xAxis?.axis,t[91]=I):I=t[91];let mt;t[92]!==p||t[93]!==I?(mt={axis:{stroke:p,...I}},t[92]=p,t[93]=I,t[94]=mt):mt=t[94];let Tt;t[95]!==a||t[96]!==It||t[97]!==it||t[98]!==A||t[99]!==mt?(Tt=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:a,x1:It,x2:it,classNames:A,styles:mt}),t[95]=a,t[96]=It,t[97]=it,t[98]=A,t[99]=mt,t[100]=Tt):Tt=t[100];let Zt;t[101]!==u||t[102]!==o?.yAxis?.title||t[103]!==a||t[104]!==h||t[105]!==p||t[106]!==l.right||t[107]!==E||t[108]!==s?.yAxis?.title?(Zt=E?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:h+l.right-15,y:a/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[101]=u,t[102]=o?.yAxis?.title,t[103]=a,t[104]=h,t[105]=p,t[106]=l.right,t[107]=E,t[108]=s?.yAxis?.title,t[109]=Zt):Zt=t[109],J=n.jsxRuntimeExports.jsxs("g",{children:[Ut.map((i,Pt)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:y(i),y2:y(i),x1:h+15,x2:h+20,style:{stroke:p,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:h+25,y:y(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:p,...s?.yAxis?.labels||{}},className:n.mo("text-xs",o?.yAxis?.labels),children:ne.numberFormattingFunction(i,rt,F,kt,ft)})]},Pt)),Tt,Zt]});const le=o?.xAxis?.axis;let _t;t[110]!==le?(_t={axis:le},t[110]=le,t[111]=_t):_t=t[111];const ae=s?.xAxis?.axis;let te;t[112]!==ae?(te={axis:ae},t[112]=ae,t[113]=te):te=t[113],H=n.jsxRuntimeExports.jsx(ce.Axis,{y1:j?f(0):a,y2:j?f(0):a,x1:-15,x2:h+15,classNames:_t,styles:te}),t[114]!==M?(R=M.filter(Ne).map(Le),t[114]=M,t[115]=R):R=t[115],L=je.AnimatePresence,$=m.map((i,Pt)=>n.jsxRuntimeExports.jsxs(Dt.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:T=>{lt(i),at(T.clientY),c(T.clientX),ot?.(i)},onClick:()=>{(C||w)&&(xe.isEqual(S,i)&&pt?(gt(void 0),C?.(void 0)):(gt(i),C?.(i)))},onMouseMove:T=>{lt(i),at(T.clientY),c(T.clientX)},onMouseLeave:()=>{lt(void 0),c(void 0),at(void 0),ot?.(void 0)},children:[n.jsxRuntimeExports.jsx(Dt.motion.rect,{variants:{initial:{attrY:f(0),height:0,opacity:1,fill:d},whileInView:{attrY:i.bar?i.bar>0?f(i.bar):f(0):0,height:i.bar?Math.abs(f(i.bar)-f(0)):0,opacity:1,fill:d,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",exit:{attrY:f(0),height:0,opacity:0,transition:{duration:r.duration}},x:g(`${Pt}`),width:g.bandwidth()}),Rt&&!ue.checkIfNullOrUndefined(i.bar)?n.jsxRuntimeExports.jsx(Dt.motion.text,{x:g(`${i.id}`)+g.bandwidth()/2,exit:{attrY:f(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{attrY:f(0),opacity:0,fill:d},whileInView:{attrY:f(i.bar||0),opacity:1,fill:d,transition:{duration:r.duration}}},initial:"initial",animate:k?"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:ne.numberFormattingFunction(i.bar,rt,F,St,Mt)}):null,Gt?n.jsxRuntimeExports.jsx(ge.XAxesLabels,{value:`${i.label}`.length<Ct?`${i.label}`:`${`${i.label}`.substring(0,Ct)}...`,y:a+5,x:g(`${i.id}`),width:g.bandwidth(),height:l.bottom,style:s?.xAxis?.labels,className:o?.xAxis?.labels,alignment:"top",animate:r,isInView:k}):null]},i.label));let ee;t[116]!==r.duration?(ee={opacity:0,transition:{duration:r.duration}},t[116]=r.duration,t[117]=ee):ee=t[117];let ie;t[118]===Symbol.for("react.memo_cache_sentinel")?(ie={fill:"none",strokeWidth:2},t[118]=ie):ie=t[118],q=n.jsxRuntimeExports.jsx(Dt.motion.path,{exit:ee,variants:{initial:{d:Vt(m.map(Se)),opacity:0,stroke:p},whileInView:{d:Vt(m),opacity:1,stroke:p,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",style:ie}),B=m.map((i,Pt)=>n.jsxRuntimeExports.jsx("g",{children:ue.checkIfNullOrUndefined(i.line)?null:n.jsxRuntimeExports.jsxs("g",{onMouseEnter:T=>{lt(i),at(T.clientY),c(T.clientX),ot?.(i)},onClick:()=>{(C||w)&&(xe.isEqual(S,i)&&pt?(gt(void 0),C?.(void 0)):(gt(i),C?.(i)))},onMouseMove:T=>{lt(i),at(T.clientY),c(T.clientX)},onMouseLeave:()=>{lt(void 0),c(void 0),at(void 0),ot?.(void 0)},children:[n.jsxRuntimeExports.jsx(Dt.motion.circle,{exit:{cy:y(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{cy:y(0),opacity:0,fill:p},whileInView:{cy:y(i.line),opacity:1,fill:p,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",cx:g(i.id)+g.bandwidth()/2,r:h/m.length<5?0:h/m.length<20?2:4}),Rt?n.jsxRuntimeExports.jsx(Dt.motion.text,{x:g(`${i.id}`)+g.bandwidth()/2,exit:{y:y(0),opacity:0,transition:{duration:r.duration}},style:{textAnchor:"middle",...s?.graphObjectValues||{}},variants:{initial:{y:y(0),opacity:0,fill:p},whileInView:{y:y(i.line),opacity:1,fill:p,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:"-5px",children:ne.numberFormattingFunction(i.line,rt,F,kt,ft)}):null]})},Pt)),t[8]=r,t[9]=u,t[10]=d,t[11]=Ht,t[12]=St,t[13]=Mt,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]=Xt,t[21]=M,t[22]=v,t[23]=w,t[24]=a,t[25]=h,t[26]=D,t[27]=k,t[28]=p,t[29]=kt,t[30]=ft,t[31]=l.bottom,t[32]=l.left,t[33]=l.right,t[34]=l.top,t[35]=S,t[36]=rt,t[37]=dt,t[38]=C,t[39]=ot,t[40]=F,t[41]=pt,t[42]=j,t[43]=E,t[44]=Gt,t[45]=Rt,t[46]=s?.graphObjectValues,t[47]=s?.xAxis?.axis,t[48]=s?.xAxis?.labels,t[49]=s?.yAxis?.gridLines,t[50]=s?.yAxis?.labels,t[51]=s?.yAxis?.title,t[52]=Ct,t[53]=P,t[54]=L,t[55]=Y,t[56]=H,t[57]=R,t[58]=G,t[59]=X,t[60]=W,t[61]=N,t[62]=O,t[63]=$,t[64]=q,t[65]=B,t[66]=U,t[67]=z,t[68]=J}else L=t[54],Y=t[55],H=t[56],R=t[57],G=t[58],X=t[59],W=t[60],N=t[61],O=t[62],$=t[63],q=t[64],B=t[65],U=t[66],z=t[67],J=t[68];let K;t[119]!==L||t[120]!==$||t[121]!==q||t[122]!==B?(K=n.jsxRuntimeExports.jsxs(L,{children:[$,q,B]}),t[119]=L,t[120]=$,t[121]=q,t[122]=B,t[123]=K):K=t[123];let b;t[124]!==M?(b=M.filter(ke).map(Me),t[124]=M,t[125]=b):b=t[125];let Q;t[126]!==H||t[127]!==R||t[128]!==K||t[129]!==b||t[130]!==U||t[131]!==z||t[132]!==J?(Q=n.jsxRuntimeExports.jsxs("g",{transform:U,children:[z,J,H,R,K,b]}),t[126]=H,t[127]=R,t[128]=K,t[129]=b,t[130]=U,t[131]=z,t[132]=J,t[133]=Q):Q=t[133];let Z;t[134]!==Y||t[135]!==G||t[136]!==X||t[137]!==W||t[138]!==N||t[139]!==O||t[140]!==Q?(Z=n.jsxRuntimeExports.jsx(Y,{width:G,height:X,viewBox:W,direction:N,ref:O,children:Q}),t[134]=Y,t[135]=G,t[136]=X,t[137]=W,t[138]=N,t[139]=O,t[140]=Q,t[141]=Z):Z=t[141];let _;t[142]!==o?.tooltip||t[143]!==Ot||t[144]!==x||t[145]!==Nt||t[146]!==s?.tooltip||t[147]!==Et?(_=Nt&&Et&&Ot&&x?n.jsxRuntimeExports.jsx(he.Tooltip,{data:Nt,body:Et,xPos:Ot,yPos:x,backgroundStyle:s?.tooltip,className:o?.tooltip}):null,t[142]=o?.tooltip,t[143]=Ot,t[144]=x,t[145]=Nt,t[146]=s?.tooltip,t[147]=Et,t[148]=_):_=t[148];let tt;t[149]!==o?.modal||t[150]!==w||t[151]!==S?(tt=w&&S!==void 0?n.jsxRuntimeExports.jsx(ye.DetailsModal,{body:w,data:S,setData:gt,className:o?.modal}):null,t[149]=o?.modal,t[150]=w,t[151]=S,t[152]=tt):tt=t[152];let bt;return t[153]!==Z||t[154]!==_||t[155]!==tt?(bt=n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[Z,_,tt]}),t[153]=Z,t[154]=_,t[155]=tt,t[156]=bt):bt=t[156],bt}function Me(e){return e.layer}function ke(e){return e.position==="after"}function Se(e){return{...e,line:0}}function Le(e){return e.layer}function Ne(e){return e.position==="before"}function Oe(e){return!ue.checkIfNullOrUndefined(e.line)}function $e(e){return e!=null}function qe(e){return e.line}function Ve(e){return e!=null}function Ie(e){return e.line}function Te(e){return e!=null}function Pe(e){return e.bar}function De(e){return e!=null}function Fe(e){return e.bar}function Ye(e){return e!=null}function He(e){return e.line}function Ge(e){return e!=null}function Xe(e){return e.line}function We(e){return e!=null}function Be(e){return e.line}function Ue(e){return e!=null}function ze(e){return e.bar}function Je(e){return e!=null}function Ke(e){return e.bar}function Qe(e){return e!=null}function Ze(e){return e.bar}function _e(e){return`${e.id}`}function ti(e,t){return{...e,id:`${t}`}}function ei(e){const t=n.compilerRuntimeExports.c(77),{data:v,graphTitle:P,sources:D,graphDescription:d,height:p,width:u,footNote:j,padding:zt,lineColor:Qt,barColor:Ft,sameAxes:Yt,backgroundColor:Et,leftMargin:Rt,rightMargin:ot,topMargin:Ht,bottomMargin:Ct,lineAxisTitle:Gt,barAxisTitle:C,tooltip:pt,relativeHeight:w,onSeriesMouseOver:dt,graphID:ft,graphDownload:Mt,dataDownload:kt,barPadding:St,truncateBy:Lt,showLabels:s,onSeriesMouseClick:o,language:r,colorLegendTitle:F,minHeight:M,theme:rt,ariaLabel:E,resetSelectionOnDoubleClick:Jt,detailsOnClick:ht,showValues:k,noOfTicks:Xt,lineSuffix:Nt,barSuffix:lt,linePrefix:S,barPrefix:gt,curveType:Ot,styles:c,classNames:x,animate:at,precision:Wt,customLayers:yt,naLabel:$t,showColorScale:l,showAxisLabels:h}=e,a=Qt===void 0?oe.Colors.light.categoricalColors.colors[1]:Qt,L=Ft===void 0?oe.Colors.light.categoricalColors.colors[0]:Ft,Y=Yt===void 0?!1:Yt,H=Et===void 0?!1:Et,R=Rt===void 0?80:Rt,G=ot===void 0?80:ot,X=Ht===void 0?20:Ht,W=Ct===void 0?25:Ct,N=Gt===void 0?"Line chart":Gt,O=C===void 0?"Bar graph":C,$=Mt===void 0?!1:Mt,q=kt===void 0?!1:kt,B=St===void 0?.25:St,U=Lt===void 0?999:Lt,z=s===void 0?!0:s,J=r===void 0?"en":r,K=M===void 0?0:M,b=rt===void 0?"light":rt,Q=Jt===void 0?!0:Jt,Z=k===void 0?!0:k,_=Xt===void 0?5:Xt,tt=Nt===void 0?"":Nt,bt=lt===void 0?"":lt,m=S===void 0?"":S,g=gt===void 0?"":gt,qt=Ot===void 0?"curve":Ot,vt=at===void 0?!1:at,jt=Wt===void 0?2:Wt;let ct;t[0]!==yt?(ct=yt===void 0?[]:yt,t[0]=yt,t[1]=ct):ct=t[1];const Bt=ct,At=$t===void 0?"NA":$t,f=l===void 0?!0:l,y=h===void 0?!0:h,[Vt,re]=st.useState(0),[Ut,Kt]=st.useState(0),et=st.useRef(null),ut=st.useRef(null);let V,xt;t[2]===Symbol.for("react.memo_cache_sentinel")?(V=()=>{const mt=new ResizeObserver(Tt=>{re(Tt[0].target.clientWidth||620),Kt(Tt[0].target.clientHeight||480)});return et.current&&mt.observe(et.current),()=>mt.disconnect()},xt=[],t[2]=V,t[3]=xt):(V=t[2],xt=t[3]),st.useEffect(V,xt);const wt=x?.graphContainer,It=c?.graphContainer;let it;t[4]!==x?.description||t[5]!==x?.title||t[6]!==v||t[7]!==q||t[8]!==d||t[9]!==$||t[10]!==P||t[11]!==c?.description||t[12]!==c?.title||t[13]!==u?(it=P||d||$||q?n.jsxRuntimeExports.jsx(we.GraphHeader,{styles:{title:c?.title,description:c?.description},classNames:{title:x?.title,description:x?.description},graphTitle:P,graphDescription:d,width:u,graphDownload:$?ut:void 0,dataDownload:q?v.map(ri).filter(oi).length>0?v.map(si).filter(ni):v.filter(ii):null}):null,t[4]=x?.description,t[5]=x?.title,t[6]=v,t[7]=q,t[8]=d,t[9]=$,t[10]=P,t[11]=c?.description,t[12]=c?.title,t[13]=u,t[14]=it):it=t[14];let nt;t[15]!==vt||t[16]!==O||t[17]!==L||t[18]!==B||t[19]!==g||t[20]!==bt||t[21]!==W||t[22]!==x||t[23]!==F||t[24]!==qt||t[25]!==Bt||t[26]!==v||t[27]!==ht||t[28]!==R||t[29]!==N||t[30]!==a||t[31]!==m||t[32]!==tt||t[33]!==At||t[34]!==_||t[35]!==o||t[36]!==dt||t[37]!==jt||t[38]!==Q||t[39]!==G||t[40]!==Y||t[41]!==y||t[42]!==f||t[43]!==z||t[44]!==Z||t[45]!==c||t[46]!==Ut||t[47]!==Vt||t[48]!==b||t[49]!==pt||t[50]!==X||t[51]!==U?(nt=v.length===0?n.jsxRuntimeExports.jsx(Re.EmptyState,{}):n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[f?n.jsxRuntimeExports.jsx(Ee.ColorLegend,{colorDomain:[O,N],colors:[L||oe.Colors[b].categoricalColors.colors[0],a||oe.Colors[b].categoricalColors.colors[1]],colorLegendTitle:F,showNAColor:!1,className:x?.colorLegend}):null,n.jsxRuntimeExports.jsx(fe.GraphArea,{ref:et,children:Vt&&Ut?n.jsxRuntimeExports.jsx(Ce,{data:v,sameAxes:Y,lineColor:a,barColor:L,width:Vt,height:Ut,truncateBy:U,leftMargin:R,rightMargin:G,topMargin:X,bottomMargin:W,axisTitles:[O,N],tooltip:pt,onSeriesMouseOver:dt,barPadding:B,showLabels:z,onSeriesMouseClick:o,resetSelectionOnDoubleClick:Q,detailsOnClick:ht,noOfTicks:_,lineSuffix:tt,barSuffix:bt,linePrefix:m,barPrefix:g,curveType:qt,showValues:Z,styles:c,classNames:x,animate:vt===!0?{duration:.5,once:!0,amount:.5}:vt||{duration:0,once:!0,amount:0},precision:jt,customLayers:Bt,naLabel:At,showAxisLabels:y}):null})]}),t[15]=vt,t[16]=O,t[17]=L,t[18]=B,t[19]=g,t[20]=bt,t[21]=W,t[22]=x,t[23]=F,t[24]=qt,t[25]=Bt,t[26]=v,t[27]=ht,t[28]=R,t[29]=N,t[30]=a,t[31]=m,t[32]=tt,t[33]=At,t[34]=_,t[35]=o,t[36]=dt,t[37]=jt,t[38]=Q,t[39]=G,t[40]=Y,t[41]=y,t[42]=f,t[43]=z,t[44]=Z,t[45]=c,t[46]=Ut,t[47]=Vt,t[48]=b,t[49]=pt,t[50]=X,t[51]=U,t[52]=nt):nt=t[52];let A;t[53]!==x?.footnote||t[54]!==x?.source||t[55]!==j||t[56]!==D||t[57]!==c?.footnote||t[58]!==c?.source||t[59]!==u?(A=D||j?n.jsxRuntimeExports.jsx(Ae.GraphFooter,{styles:{footnote:c?.footnote,source:c?.source},classNames:{footnote:x?.footnote,source:x?.source},sources:D,footNote:j,width:u}):null,t[53]=x?.footnote,t[54]=x?.source,t[55]=j,t[56]=D,t[57]=c?.footnote,t[58]=c?.source,t[59]=u,t[60]=A):A=t[60];let I;return t[61]!==E||t[62]!==H||t[63]!==ft||t[64]!==p||t[65]!==J||t[66]!==K||t[67]!==zt||t[68]!==w||t[69]!==wt||t[70]!==It||t[71]!==it||t[72]!==nt||t[73]!==A||t[74]!==b||t[75]!==u?(I=n.jsxRuntimeExports.jsxs(fe.GraphContainer,{className:wt,style:It,id:ft,ref:ut,"aria-label":E,backgroundColor:H,theme:b,language:J,minHeight:K,width:u,height:p,relativeHeight:w,padding:zt,children:[it,nt,A]}),t[61]=E,t[62]=H,t[63]=ft,t[64]=p,t[65]=J,t[66]=K,t[67]=zt,t[68]=w,t[69]=wt,t[70]=It,t[71]=it,t[72]=nt,t[73]=A,t[74]=b,t[75]=u,t[76]=I):I=t[76],I}function ii(e){return e!==void 0}function ni(e){return e!==void 0}function si(e){return e.data}function oi(e){return e!==void 0}function ri(e){return e.data}exports.ParetoChart=ei;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),lt=require("react"),xe=require("./index-DQA8q5sC.cjs"),se=require("./numberFormattingFunction-02t-wJta.cjs"),he=require("./Tooltip-uUdw6wJL.cjs"),ue=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ce=require("./Axis-DxRV2yMi.cjs"),me=require("./AxisTitle-sS5bLLR7.cjs"),ge=require("./XAxesLabels-Bt5NZBmX.cjs"),ye=require("./DetailsModal-BN0HDFlV.cjs"),be=require("./band-VYfcZeJ2.cjs"),pe=require("./linear-BwPAspcq.cjs"),de=require("./line-DaEMhXmx.cjs"),oe=require("./step-BZ3C8QFW.cjs"),ve=require("./use-in-view-QcfiW0w3.cjs"),Yt=require("./proxy-BxvUI_9l.cjs"),Ae=require("./index-DG2bgAva.cjs"),je=require("./GraphFooter.cjs"),we=require("./GraphHeader.cjs"),Ee=require("./ColorLegend.cjs"),le=require("./Colors.cjs"),Re=require("./EmptyState-gLDRXBHm.cjs"),fe=require("./GraphContainer-d8A46BK2.cjs");function Ce(e){const t=n.compilerRuntimeExports.c(157),{data:d,width:F,height:Y,barColor:f,lineColor:p,axisTitles:x,sameAxes:A,rightMargin:Qt,leftMargin:te,topMargin:Ht,bottomMargin:Gt,tooltip:Ct,showValues:Mt,onSeriesMouseOver:rt,barPadding:Xt,truncateBy:kt,showLabels:Wt,onSeriesMouseClick:N,resetSelectionOnDoubleClick:ft,detailsOnClick:k,noOfTicks:ht,lineSuffix:gt,barSuffix:Lt,linePrefix:St,barPrefix:Nt,curveType:Ot,styles:s,classNames:o,animate:r,precision:H,customLayers:O,naLabel:at,showAxisLabels:L}=e,Zt=lt.useRef(null);let yt;t[0]!==r.amount||t[1]!==r.once?(yt={once:r.once,amount:r.amount},t[0]=r.amount,t[1]=r.once,t[2]=yt):yt=t[2];const $=ve.useInView(Zt,yt),Bt=Ot==="linear"?de.curveLinear:Ot==="step"?oe.curveStep:Ot==="stepAfter"?oe.stepAfter:Ot==="stepBefore"?oe.stepBefore:oe.monotoneX,[$t,ct]=lt.useState(void 0),[q,bt]=lt.useState(void 0),[qt,u]=lt.useState(void 0),[a,ut]=lt.useState(void 0),Ut=te+50,vt=Qt+65;let Vt;t[3]!==Gt||t[4]!==Ut||t[5]!==vt||t[6]!==Ht?(Vt={top:Ht,bottom:Gt,left:Ut,right:vt},t[3]=Gt,t[4]=Ut,t[5]=vt,t[6]=Ht,t[7]=Vt):Vt=t[7];const c=Vt,g=F-c.left-c.right,l=Y-c.top-c.bottom;let j,G,X,S,W,B,U,w,E,V,I,z,J,K,Q;if(t[8]!==r||t[9]!==x||t[10]!==f||t[11]!==Xt||t[12]!==Nt||t[13]!==Lt||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]!==Bt||t[21]!==O||t[22]!==d||t[23]!==k||t[24]!==l||t[25]!==g||t[26]!==Y||t[27]!==$||t[28]!==p||t[29]!==St||t[30]!==gt||t[31]!==c.bottom||t[32]!==c.left||t[33]!==c.right||t[34]!==c.top||t[35]!==q||t[36]!==at||t[37]!==ht||t[38]!==N||t[39]!==rt||t[40]!==H||t[41]!==ft||t[42]!==A||t[43]!==L||t[44]!==Wt||t[45]!==Mt||t[46]!==s?.graphObjectValues||t[47]!==s?.xAxis?.axis||t[48]!==s?.xAxis?.labels||t[49]!==s?.yAxis?.gridLines||t[50]!==s?.yAxis?.labels||t[51]!==s?.yAxis?.title||t[52]!==kt||t[53]!==F){const m=d.map(ti),y=be.band().domain(m.map(_e)).range([0,g]).paddingInner(Xt),It=Math.min(...m.map(Ze).filter(Qe))!==1/0?Math.min(...m.map(Ke).filter(Je))>0?0:Math.min(...m.map(ze).filter(Ue)):0,jt=Math.min(...m.map(Be).filter(We))!==1/0?Math.min(...m.map(Xe).filter(Ge))>0?0:Math.min(...m.map(He).filter(Ye)):0,wt=Math.max(...m.map(Fe).filter(De))!==1/0?Math.max(...m.map(Pe).filter(Te)):0,xt=Math.max(...m.map(Ie).filter(Ve))!==1/0?Math.max(...m.map(qe).filter($e)):0,zt=It<jt?It:jt,Et=wt>xt?wt:xt,h=pe.linear().domain([A?zt:It,A?Et>0?Et:0:wt>0?wt:0]).range([l,0]).nice(),b=pe.linear().domain([A?zt:jt,A?Et>0?Et:0:xt>0?xt:0]).range([l,0]).nice(),Tt=de.line().defined(Oe).x(i=>y(`${i.id}`)+y.bandwidth()/2).y(i=>b(i.line)).curve(Bt),re=h.ticks(ht),Jt=b.ticks(ht);G=Yt.motion.svg,W=`${F}px`,B=`${Y}px`,U=`0 0 ${F} ${Y}`,w="ltr",E=Zt,J=`translate(${c.left},${c.top})`;const _t=o?.xAxis?.axis;let nt;t[69]!==_t?(nt={axis:_t},t[69]=_t,t[70]=nt):nt=t[70];let mt;t[71]!==s?.xAxis?.axis?(mt=s?.xAxis?.axis||{},t[71]=s?.xAxis?.axis,t[72]=mt):mt=t[72];let T;t[73]!==f||t[74]!==mt?(T={axis:{stroke:f,...mt}},t[73]=f,t[74]=mt,t[75]=T):T=t[75];let pt;t[76]!==l||t[77]!==nt||t[78]!==T?(pt=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:l,x1:-15,x2:-15,classNames:nt,styles:T}),t[76]=l,t[77]=nt,t[78]=T,t[79]=pt):pt=t[79];let Rt;t[80]!==x||t[81]!==f||t[82]!==o?.yAxis?.title||t[83]!==l||t[84]!==c.left||t[85]!==L||t[86]!==s?.yAxis?.title?(Rt=L?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:10-c.left,y:l/2,style:{fill:f,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:x[0].length>100?`${x[0].substring(0,100)}...`:x[0],rotate90:!0}):null,t[80]=x,t[81]=f,t[82]=o?.yAxis?.title,t[83]=l,t[84]=c.left,t[85]=L,t[86]=s?.yAxis?.title,t[87]=Rt):Rt=t[87],K=n.jsxRuntimeExports.jsxs("g",{children:[re.map((i,Ft)=>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:se.numberFormattingFunction(i,at,H,Nt,Lt)})]},Ft)),pt,Rt]});const Pt=g+15,st=g+15,ot=o?.xAxis?.axis;let R;t[88]!==ot?(R={axis:ot},t[88]=ot,t[89]=R):R=t[89];let C;t[90]!==s?.xAxis?.axis?(C=s?.xAxis?.axis||{},t[90]=s?.xAxis?.axis,t[91]=C):C=t[91];let M;t[92]!==p||t[93]!==C?(M={axis:{stroke:p,...C}},t[92]=p,t[93]=C,t[94]=M):M=t[94];let P;t[95]!==l||t[96]!==Pt||t[97]!==st||t[98]!==R||t[99]!==M?(P=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:l,x1:Pt,x2:st,classNames:R,styles:M}),t[95]=l,t[96]=Pt,t[97]=st,t[98]=R,t[99]=M,t[100]=P):P=t[100];let dt;t[101]!==x||t[102]!==o?.yAxis?.title||t[103]!==l||t[104]!==g||t[105]!==p||t[106]!==c.right||t[107]!==L||t[108]!==s?.yAxis?.title?(dt=L?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:g+c.right-15,y:l/2,style:{fill:p,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:x[1].length>100?`${x[1].substring(0,100)}...`:x[1],rotate90:!0}):null,t[101]=x,t[102]=o?.yAxis?.title,t[103]=l,t[104]=g,t[105]=p,t[106]=c.right,t[107]=L,t[108]=s?.yAxis?.title,t[109]=dt):dt=t[109],Q=n.jsxRuntimeExports.jsxs("g",{children:[Jt.map((i,Ft)=>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:se.numberFormattingFunction(i,at,H,St,gt)})]},Ft)),P,dt]});const Kt=o?.xAxis?.axis;let Dt;t[110]!==Kt?(Dt={axis:Kt},t[110]=Kt,t[111]=Dt):Dt=t[111];const ae=s?.xAxis?.axis;let ee;t[112]!==ae?(ee={axis:ae},t[112]=ae,t[113]=ee):ee=t[113],X=n.jsxRuntimeExports.jsx(ce.Axis,{y1:A?h(0):l,y2:A?h(0):l,x1:-15,x2:g+15,classNames:Dt,styles:ee}),t[114]!==O?(S=O.filter(Ne).map(Se),t[114]=O,t[115]=S):S=t[115],j=Ae.AnimatePresence,V=m.map((i,Ft)=>n.jsxRuntimeExports.jsxs(Yt.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:D=>{ct(i),ut(D.clientY),u(D.clientX),rt?.(i)},onClick:()=>{(N||k)&&(xe.isEqual(q,i)&&ft?(bt(void 0),N?.(void 0)):(bt(i),N?.(i)))},onMouseMove:D=>{ct(i),ut(D.clientY),u(D.clientX)},onMouseLeave:()=>{ct(void 0),u(void 0),ut(void 0),rt?.(void 0)},children:[n.jsxRuntimeExports.jsx(Yt.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:r.duration}}},initial:"initial",animate:$?"whileInView":"initial",exit:{attrY:h(0),height:0,opacity:0,transition:{duration:r.duration}},x:y(`${Ft}`),width:y.bandwidth()}),Mt&&!ue.checkIfNullOrUndefined(i.bar)?n.jsxRuntimeExports.jsx(Yt.motion.text,{x:y(`${i.id}`)+y.bandwidth()/2,exit:{attrY:h(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{attrY:h(0),opacity:0,fill:f},whileInView:{attrY:h(i.bar||0),opacity:1,fill:f,transition:{duration:r.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:se.numberFormattingFunction(i.bar,at,H,Nt,Lt)}):null,Wt?n.jsxRuntimeExports.jsx(ge.XAxesLabels,{value:`${i.label}`.length<kt?`${i.label}`:`${`${i.label}`.substring(0,kt)}...`,y:l+5,x:y(`${i.id}`),width:y.bandwidth(),height:c.bottom,style:s?.xAxis?.labels,className:o?.xAxis?.labels,alignment:"top",animate:r,isInView:$}):null]},i.label));let ie;t[116]!==r.duration?(ie={opacity:0,transition:{duration:r.duration}},t[116]=r.duration,t[117]=ie):ie=t[117];let ne;t[118]===Symbol.for("react.memo_cache_sentinel")?(ne={fill:"none",strokeWidth:2},t[118]=ne):ne=t[118],I=n.jsxRuntimeExports.jsx(Yt.motion.path,{exit:ie,variants:{initial:{d:Tt(m.map(Le)),opacity:0,stroke:p},whileInView:{d:Tt(m),opacity:1,stroke:p,transition:{duration:r.duration}}},initial:"initial",animate:$?"whileInView":"initial",style:ne}),z=m.map((i,Ft)=>n.jsxRuntimeExports.jsx("g",{children:ue.checkIfNullOrUndefined(i.line)?null:n.jsxRuntimeExports.jsxs("g",{onMouseEnter:D=>{ct(i),ut(D.clientY),u(D.clientX),rt?.(i)},onClick:()=>{(N||k)&&(xe.isEqual(q,i)&&ft?(bt(void 0),N?.(void 0)):(bt(i),N?.(i)))},onMouseMove:D=>{ct(i),ut(D.clientY),u(D.clientX)},onMouseLeave:()=>{ct(void 0),u(void 0),ut(void 0),rt?.(void 0)},children:[n.jsxRuntimeExports.jsx(Yt.motion.circle,{exit:{cy:b(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{cy:b(0),opacity:0,fill:p},whileInView:{cy:b(i.line),opacity:1,fill:p,transition:{duration:r.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}),Mt?n.jsxRuntimeExports.jsx(Yt.motion.text,{x:y(`${i.id}`)+y.bandwidth()/2,exit:{y:b(0),opacity:0,transition:{duration:r.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:r.duration}}},initial:"initial",animate:$?"whileInView":"initial",className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:"-5px",children:se.numberFormattingFunction(i.line,at,H,St,gt)}):null]})},Ft)),t[8]=r,t[9]=x,t[10]=f,t[11]=Xt,t[12]=Nt,t[13]=Lt,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]=Bt,t[21]=O,t[22]=d,t[23]=k,t[24]=l,t[25]=g,t[26]=Y,t[27]=$,t[28]=p,t[29]=St,t[30]=gt,t[31]=c.bottom,t[32]=c.left,t[33]=c.right,t[34]=c.top,t[35]=q,t[36]=at,t[37]=ht,t[38]=N,t[39]=rt,t[40]=H,t[41]=ft,t[42]=A,t[43]=L,t[44]=Wt,t[45]=Mt,t[46]=s?.graphObjectValues,t[47]=s?.xAxis?.axis,t[48]=s?.xAxis?.labels,t[49]=s?.yAxis?.gridLines,t[50]=s?.yAxis?.labels,t[51]=s?.yAxis?.title,t[52]=kt,t[53]=F,t[54]=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}else j=t[54],G=t[55],X=t[56],S=t[57],W=t[58],B=t[59],U=t[60],w=t[61],E=t[62],V=t[63],I=t[64],z=t[65],J=t[66],K=t[67],Q=t[68];let Z;t[119]!==j||t[120]!==V||t[121]!==I||t[122]!==z?(Z=n.jsxRuntimeExports.jsxs(j,{children:[V,I,z]}),t[119]=j,t[120]=V,t[121]=I,t[122]=z,t[123]=Z):Z=t[123];let v;t[124]!==O?(v=O.filter(ke).map(Me),t[124]=O,t[125]=v):v=t[125];let _;t[126]!==X||t[127]!==S||t[128]!==Z||t[129]!==v||t[130]!==J||t[131]!==K||t[132]!==Q?(_=n.jsxRuntimeExports.jsxs("g",{transform:J,children:[K,Q,X,S,Z,v]}),t[126]=X,t[127]=S,t[128]=Z,t[129]=v,t[130]=J,t[131]=K,t[132]=Q,t[133]=_):_=t[133];let tt;t[134]!==G||t[135]!==W||t[136]!==B||t[137]!==U||t[138]!==w||t[139]!==E||t[140]!==_?(tt=n.jsxRuntimeExports.jsx(G,{width:W,height:B,viewBox:U,direction:w,ref:E,children:_}),t[134]=G,t[135]=W,t[136]=B,t[137]=U,t[138]=w,t[139]=E,t[140]=_,t[141]=tt):tt=t[141];let et;t[142]!==o?.tooltip||t[143]!==qt||t[144]!==a||t[145]!==$t||t[146]!==s?.tooltip||t[147]!==Ct?(et=$t&&Ct&&qt&&a?n.jsxRuntimeExports.jsx(he.Tooltip,{data:$t,body:Ct,xPos:qt,yPos:a,backgroundStyle:s?.tooltip,className:o?.tooltip}):null,t[142]=o?.tooltip,t[143]=qt,t[144]=a,t[145]=$t,t[146]=s?.tooltip,t[147]=Ct,t[148]=et):et=t[148];let it;t[149]!==o?.modal||t[150]!==k||t[151]!==q?(it=k&&q!==void 0?n.jsxRuntimeExports.jsx(ye.DetailsModal,{body:k,data:q,setData:bt,className:o?.modal}):null,t[149]=o?.modal,t[150]=k,t[151]=q,t[152]=it):it=t[152];let At;return t[153]!==tt||t[154]!==et||t[155]!==it?(At=n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[tt,et,it]}),t[153]=tt,t[154]=et,t[155]=it,t[156]=At):At=t[156],At}function Me(e){return e.layer}function ke(e){return e.position==="after"}function Le(e){return{...e,line:0}}function Se(e){return e.layer}function Ne(e){return e.position==="before"}function Oe(e){return!ue.checkIfNullOrUndefined(e.line)}function $e(e){return e!=null}function qe(e){return e.line}function Ve(e){return e!=null}function Ie(e){return e.line}function Te(e){return e!=null}function Pe(e){return e.bar}function De(e){return e!=null}function Fe(e){return e.bar}function Ye(e){return e!=null}function He(e){return e.line}function Ge(e){return e!=null}function Xe(e){return e.line}function We(e){return e!=null}function Be(e){return e.line}function Ue(e){return e!=null}function ze(e){return e.bar}function Je(e){return e!=null}function Ke(e){return e.bar}function Qe(e){return e!=null}function Ze(e){return e.bar}function _e(e){return`${e.id}`}function ti(e,t){return{...e,id:`${t}`}}function ei(e){const t=n.compilerRuntimeExports.c(90),{data:d,graphTitle:F,sources:Y,graphDescription:f,height:p,width:x,footNote:A,padding:Qt,lineColor:te,barColor:Ht,sameAxes:Gt,backgroundColor:Ct,leftMargin:Mt,rightMargin:rt,topMargin:Xt,bottomMargin:kt,lineAxisTitle:Wt,barAxisTitle:N,tooltip:ft,relativeHeight:k,onSeriesMouseOver:ht,graphID:gt,graphDownload:Lt,dataDownload:St,barPadding:Nt,truncateBy:Ot,showLabels:s,onSeriesMouseClick:o,language:r,colorLegendTitle:H,minHeight:O,theme:at,ariaLabel:L,resetSelectionOnDoubleClick:Zt,detailsOnClick:yt,showValues:$,noOfTicks:Bt,lineSuffix:$t,barSuffix:ct,linePrefix:q,barPrefix:bt,curveType:qt,styles:u,classNames:a,animate:ut,precision:Ut,customLayers:vt,naLabel:Vt,showColorScale:c,showAxisLabels:g}=e,l=te===void 0?le.Colors.light.categoricalColors.colors[1]:te,j=Ht===void 0?le.Colors.light.categoricalColors.colors[0]:Ht,G=Gt===void 0?!1:Gt,X=Ct===void 0?!1:Ct,S=Mt===void 0?80:Mt,W=rt===void 0?80:rt,B=Xt===void 0?20:Xt,U=kt===void 0?25:kt,w=Wt===void 0?"Line chart":Wt,E=N===void 0?"Bar graph":N,V=Lt===void 0?!1:Lt,I=St===void 0?!1:St,z=Nt===void 0?.25:Nt,J=Ot===void 0?999:Ot,K=s===void 0?!0:s,Q=r===void 0?"en":r,Z=O===void 0?0:O,v=at===void 0?"light":at,_=Zt===void 0?!0:Zt,tt=$===void 0?!0:$,et=Bt===void 0?5:Bt,it=$t===void 0?"":$t,At=ct===void 0?"":ct,m=q===void 0?"":q,y=bt===void 0?"":bt,It=qt===void 0?"curve":qt,jt=ut===void 0?!1:ut,wt=Ut===void 0?2:Ut;let xt;t[0]!==vt?(xt=vt===void 0?[]:vt,t[0]=vt,t[1]=xt):xt=t[1];const zt=xt,Et=Vt===void 0?"NA":Vt,h=c===void 0?!0:c,b=g===void 0?!0:g,[Tt,re]=lt.useState(0),[Jt,_t]=lt.useState(0),nt=lt.useRef(null),mt=lt.useRef(null);let T,pt;t[2]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{const Kt=new ResizeObserver(Dt=>{re(Dt[0].target.clientWidth||620),_t(Dt[0].target.clientHeight||480)});return nt.current&&Kt.observe(nt.current),()=>Kt.disconnect()},pt=[],t[2]=T,t[3]=pt):(T=t[2],pt=t[3]),lt.useEffect(T,pt);const Rt=a?.graphContainer,Pt=u?.graphContainer;let st;t[4]!==a?.description||t[5]!==a?.title||t[6]!==d||t[7]!==I||t[8]!==f||t[9]!==V||t[10]!==F||t[11]!==u?.description||t[12]!==u?.title||t[13]!==x?(st=F||f||V||I?n.jsxRuntimeExports.jsx(we.GraphHeader,{styles:{title:u?.title,description:u?.description},classNames:{title:a?.title,description:a?.description},graphTitle:F,graphDescription:f,width:x,graphDownload:V?mt:void 0,dataDownload:I?d.map(li).filter(oi).length>0?d.map(si).filter(ni):d.filter(ii):null}):null,t[4]=a?.description,t[5]=a?.title,t[6]=d,t[7]=I,t[8]=f,t[9]=V,t[10]=F,t[11]=u?.description,t[12]=u?.title,t[13]=x,t[14]=st):st=t[14];let ot;t[15]!==E||t[16]!==j||t[17]!==a?.colorLegend||t[18]!==H||t[19]!==d.length||t[20]!==w||t[21]!==l||t[22]!==h||t[23]!==v?(ot=!h&&d.length>0?null:n.jsxRuntimeExports.jsx(Ee.ColorLegend,{colorDomain:[E,w],colors:[j||le.Colors[v].categoricalColors.colors[0],l||le.Colors[v].categoricalColors.colors[1]],colorLegendTitle:H,showNAColor:!1,className:a?.colorLegend}),t[15]=E,t[16]=j,t[17]=a?.colorLegend,t[18]=H,t[19]=d.length,t[20]=w,t[21]=l,t[22]=h,t[23]=v,t[24]=ot):ot=t[24];let R;t[25]!==d.length?(R=d.length===0&&n.jsxRuntimeExports.jsx(Re.EmptyState,{}),t[25]=d.length,t[26]=R):R=t[26];let C;t[27]!==jt||t[28]!==E||t[29]!==j||t[30]!==z||t[31]!==y||t[32]!==At||t[33]!==U||t[34]!==a||t[35]!==It||t[36]!==zt||t[37]!==d||t[38]!==yt||t[39]!==S||t[40]!==w||t[41]!==l||t[42]!==m||t[43]!==it||t[44]!==Et||t[45]!==et||t[46]!==o||t[47]!==ht||t[48]!==wt||t[49]!==_||t[50]!==W||t[51]!==G||t[52]!==b||t[53]!==K||t[54]!==tt||t[55]!==u||t[56]!==Jt||t[57]!==Tt||t[58]!==ft||t[59]!==B||t[60]!==J?(C=Tt&&Jt&&d.length>0?n.jsxRuntimeExports.jsx(Ce,{data:d,sameAxes:G,lineColor:l,barColor:j,width:Tt,height:Jt,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:yt,noOfTicks:et,lineSuffix:it,barSuffix:At,linePrefix:m,barPrefix:y,curveType:It,showValues:tt,styles:u,classNames:a,animate:jt===!0?{duration:.5,once:!0,amount:.5}:jt||{duration:0,once:!0,amount:0},precision:wt,customLayers:zt,naLabel:Et,showAxisLabels:b}):null,t[27]=jt,t[28]=E,t[29]=j,t[30]=z,t[31]=y,t[32]=At,t[33]=U,t[34]=a,t[35]=It,t[36]=zt,t[37]=d,t[38]=yt,t[39]=S,t[40]=w,t[41]=l,t[42]=m,t[43]=it,t[44]=Et,t[45]=et,t[46]=o,t[47]=ht,t[48]=wt,t[49]=_,t[50]=W,t[51]=G,t[52]=b,t[53]=K,t[54]=tt,t[55]=u,t[56]=Jt,t[57]=Tt,t[58]=ft,t[59]=B,t[60]=J,t[61]=C):C=t[61];let M;t[62]!==R||t[63]!==C?(M=n.jsxRuntimeExports.jsxs(fe.GraphArea,{ref:nt,children:[R,C]}),t[62]=R,t[63]=C,t[64]=M):M=t[64];let P;t[65]!==a?.footnote||t[66]!==a?.source||t[67]!==A||t[68]!==Y||t[69]!==u?.footnote||t[70]!==u?.source||t[71]!==x?(P=Y||A?n.jsxRuntimeExports.jsx(je.GraphFooter,{styles:{footnote:u?.footnote,source:u?.source},classNames:{footnote:a?.footnote,source:a?.source},sources:Y,footNote:A,width:x}):null,t[65]=a?.footnote,t[66]=a?.source,t[67]=A,t[68]=Y,t[69]=u?.footnote,t[70]=u?.source,t[71]=x,t[72]=P):P=t[72];let dt;return t[73]!==L||t[74]!==X||t[75]!==gt||t[76]!==p||t[77]!==Q||t[78]!==Z||t[79]!==Qt||t[80]!==k||t[81]!==Rt||t[82]!==Pt||t[83]!==st||t[84]!==ot||t[85]!==M||t[86]!==P||t[87]!==v||t[88]!==x?(dt=n.jsxRuntimeExports.jsxs(fe.GraphContainer,{className:Rt,style:Pt,id:gt,ref:mt,"aria-label":L,backgroundColor:X,theme:v,language:Q,minHeight:Z,width:x,height:p,relativeHeight:k,padding:Qt,children:[st,ot,M,P]}),t[73]=L,t[74]=X,t[75]=gt,t[76]=p,t[77]=Q,t[78]=Z,t[79]=Qt,t[80]=k,t[81]=Rt,t[82]=Pt,t[83]=st,t[84]=ot,t[85]=M,t[86]=P,t[87]=v,t[88]=x,t[89]=dt):dt=t[89],dt}function ii(e){return e!==void 0}function ni(e){return e!==void 0}function si(e){return e.data}function oi(e){return e!==void 0}function li(e){return e.data}exports.ParetoChart=ei;
2
2
  //# sourceMappingURL=ParetoChart.cjs.map