@undp/data-viz 2.1.3 → 2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.js +279 -272
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +2 -0
- package/dist/BarGraph.js +1795 -1724
- package/dist/BarGraph.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.js +312 -305
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.js +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.js +298 -287
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.js +224 -217
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.js +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.js +2 -2
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.js +404 -397
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.js +116 -113
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.js +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.js +320 -313
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.js +298 -291
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/{EmptyState-BZo1BbAn.js → EmptyState-C7ZXkZWd.js} +4 -4
- package/dist/EmptyState-C7ZXkZWd.js.map +1 -0
- package/dist/EmptyState-gLDRXBHm.cjs +2 -0
- package/dist/EmptyState-gLDRXBHm.cjs.map +1 -0
- package/dist/GraphEl-BixTEyKW.cjs +2 -0
- package/dist/GraphEl-BixTEyKW.cjs.map +1 -0
- package/dist/{GraphEl-CRrAlbcr.js → GraphEl-Dyu_EIQb.js} +3 -2
- package/dist/GraphEl-Dyu_EIQb.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.js +2 -2
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.js +1 -1
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.js +179 -172
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.js +2 -2
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.js +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.js +368 -361
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.js +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.js +327 -320
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.js +374 -367
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.js +385 -378
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +1 -1
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +34 -33
- package/dist/RadarChart.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.js +176 -169
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.js +366 -359
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.js +285 -278
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.js +2 -2
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.js +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +1 -1
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +243 -236
- package/dist/SlopeChart.js.map +1 -1
- package/dist/Spinner-CQZcjzwd.cjs +2 -0
- package/dist/Spinner-CQZcjzwd.cjs.map +1 -0
- package/dist/{Spinner-D7rnnwnA.js → Spinner-DVBnY6Vg.js} +5 -5
- package/dist/Spinner-DVBnY6Vg.js.map +1 -0
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.js +293 -286
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.js +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.js +222 -215
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/index-R1gTfap5.js +337 -0
- package/dist/index-R1gTfap5.js.map +1 -0
- package/dist/index-WML2dCZ0.cjs +2 -0
- package/dist/{index-CF5hnGvG.cjs.map → index-WML2dCZ0.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/EmptyState-BZo1BbAn.js.map +0 -1
- package/dist/EmptyState-sAEZ_5rU.cjs +0 -2
- package/dist/EmptyState-sAEZ_5rU.cjs.map +0 -1
- package/dist/GraphEl-BLMih7RN.cjs +0 -2
- package/dist/GraphEl-BLMih7RN.cjs.map +0 -1
- package/dist/GraphEl-CRrAlbcr.js.map +0 -1
- package/dist/Spinner-D7rnnwnA.js.map +0 -1
- package/dist/Spinner-DRMBUsX7.cjs +0 -2
- package/dist/Spinner-DRMBUsX7.cjs.map +0 -1
- package/dist/index-CF5hnGvG.cjs +0 -2
- package/dist/index-DPGq3eIL.js +0 -330
- package/dist/index-DPGq3eIL.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n lineSuffixes: [string, string];\r\n linePrefixes: [string, string];\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n lineSuffixes,\r\n linePrefixes,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n precision,\r\n customLayers,\r\n showAxisLabels,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[0], lineSuffixes[0])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[1], lineSuffixes[1])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n 'NA',\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n 'NA',\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for the 2 lines */\r\n lineColors?: [string, string];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values of the lines */\r\n linePrefixes?: [string, string];\r\n /** Suffix for values of the lines */\r\n lineSuffixes?: [string, string];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n lineSuffixes = ['', ''],\r\n linePrefixes = ['', ''],\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n precision = 2,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {!showColorScale ? null : (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n )}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n lineSuffixes={lineSuffixes}\r\n linePrefixes={linePrefixes}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\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","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","lineSuffixes","linePrefixes","minDate","maxDate","curveType","styles","classNames","precision","customLayers","showAxisLabels","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","EmptyState","ColorLegend","colorLegend","GraphArea","getNoOfTicks","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DualAxisLineChart.js","sources":["../src/Components/Graphs/LineCharts/DualAxisLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/DualAxisLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveMonotoneX,\r\n curveLinear,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n DualAxisLineChartDataType,\r\n HighlightAreaSettingsDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n data: DualAxisLineChartDataType[];\r\n lineColors: [string, string];\r\n labels: [string, string];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n showValues: boolean;\r\n noOfXTicks: number;\r\n rightMargin: number;\r\n leftMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n sameAxes: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n animate: AnimateDataType;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n noOfYTicks: number;\r\n lineSuffixes: [string, string];\r\n linePrefixes: [string, string];\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n showAxisLabels: boolean;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y1: number;\r\n y2: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n labels,\r\n sameAxes,\r\n dateFormat,\r\n showValues,\r\n noOfXTicks,\r\n rightMargin,\r\n leftMargin,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n highlightAreaSettings,\r\n onSeriesMouseOver,\r\n animate,\r\n strokeWidth,\r\n showDots,\r\n noOfYTicks,\r\n lineSuffixes,\r\n linePrefixes,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n precision,\r\n customLayers,\r\n showAxisLabels,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin + 50,\r\n right: rightMargin + 65,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam1 =\r\n Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const minParam2 =\r\n Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) > 0\r\n ? 0\r\n : Math.min(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam1 =\r\n Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y1).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n const maxParam2 =\r\n Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null)) !==\r\n Infinity\r\n ? Math.max(...dataFormatted.map(d => d.y2).filter(d => d !== undefined && d !== null))\r\n : 0;\r\n\r\n const minParam = minParam1 < minParam2 ? minParam1 : minParam2;\r\n const maxParam = maxParam1 > maxParam2 ? maxParam1 : maxParam2;\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n\r\n const y1 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam1,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam1 > 0 ? maxParam1 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n const y2 = scaleLinear()\r\n .domain([\r\n sameAxes ? minParam : minParam2,\r\n sameAxes ? (maxParam > 0 ? maxParam : 0) : maxParam2 > 0 ? maxParam2 : 0,\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape1 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y1))\r\n .x(d => x(d.date))\r\n .y(d => y1(d.y1))\r\n .curve(curve);\r\n\r\n const lineShape2 = line<FormattedDataType>()\r\n .defined(d => !checkIfNullOrUndefined(d.y2))\r\n .x(d => x(d.date))\r\n .y(d => y2(d.y2))\r\n .curve(curve);\r\n const y1Ticks = y1.ticks(noOfYTicks);\r\n const y2Ticks = y2.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n {y1Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y1(d)}\r\n y2={y1(d)}\r\n x1={-15}\r\n x2={-20}\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={0 - 25}\r\n y={y1(d)}\r\n dy='0.33em'\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n style={{\r\n textAnchor: 'end',\r\n fill: lineColors[0],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[0], lineSuffixes[0])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={-15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[0], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={10 - margin.left}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[0], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[0].length > 100 ? `${labels[0].substring(0, 100)}...` : labels[0]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {y2Ticks.map((d, i) => (\r\n <g key={i}>\r\n <line\r\n y1={y2(d)}\r\n y2={y2(d)}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 20}\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth: 1,\r\n ...(styles?.yAxis?.gridLines || {}),\r\n }}\r\n className={classNames?.yAxis?.gridLines}\r\n />\r\n <text\r\n x={graphWidth + 25}\r\n y={y2(d)}\r\n dy='0.33em'\r\n dx={-2}\r\n style={{\r\n textAnchor: 'start',\r\n fill: lineColors[1],\r\n ...(styles?.yAxis?.labels || {}),\r\n }}\r\n className={cn('text-xs', classNames?.yAxis?.labels)}\r\n >\r\n {numberFormattingFunction(d, 'NA', precision, linePrefixes[1], lineSuffixes[1])}\r\n </text>\r\n </g>\r\n ))}\r\n <Axis\r\n y1={0}\r\n y2={graphHeight}\r\n x1={graphWidth + 15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: { stroke: lineColors[1], ...(styles?.xAxis?.axis || {}) } }}\r\n />\r\n {showAxisLabels ? (\r\n <AxisTitle\r\n x={graphWidth + margin.right - 15}\r\n y={graphHeight / 2}\r\n style={{ fill: lineColors[1], ...(styles?.yAxis?.title || {}) }}\r\n className={classNames?.yAxis?.title}\r\n text={labels[1].length > 100 ? `${labels[1].substring(0, 100)}...` : labels[1]}\r\n rotate90\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n <Axis\r\n y1={graphHeight}\r\n y2={graphHeight}\r\n x1={-15}\r\n x2={graphWidth + 15}\r\n classNames={{ axis: classNames?.xAxis?.axis }}\r\n styles={{ axis: styles?.xAxis?.axis }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n <motion.path\r\n style={{\r\n stroke: lineColors[0],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape1(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y1),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n <motion.path\r\n d={\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || ''\r\n }\r\n style={{\r\n stroke: lineColors[1],\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d:\r\n lineShape2(\r\n dataFormatted.filter(\r\n (el): el is FormattedDataType => !checkIfNullOrUndefined(el.y2),\r\n ),\r\n ) || '',\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n <g>\r\n {dataFormatted.map((d, i) => (\r\n <motion.g key={i}>\r\n {!checkIfNullOrUndefined(d.y1) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[0],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(d.date),\r\n cy: y1(d.y1 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y2)\r\n ? -8\r\n : (d.y2 as number) < (d.y1 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-1 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y1 as number),\r\n fill: lineColors[0],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n fill: lineColors[0],\r\n y: y2(d.y1 as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y1,\r\n 'NA',\r\n precision,\r\n linePrefixes[0],\r\n lineSuffixes[0],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n {!checkIfNullOrUndefined(d.y2) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n fill: lineColors[1],\r\n cx: x(d.date),\r\n cy: y2(d.y2 as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={\r\n checkIfNullOrUndefined(d.y1)\r\n ? -8\r\n : (d.y1 as number) < (d.y2 as number)\r\n ? -8\r\n : '1em'\r\n }\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value graph-value-line-2 text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n x: x(d.date),\r\n y: y2(d.y2 as number),\r\n fill: lineColors[1],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(\r\n d.y2,\r\n 'NA',\r\n precision,\r\n linePrefixes[1],\r\n lineSuffixes[1],\r\n )}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </motion.g>\r\n ))}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport {\r\n DualAxisLineChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DualAxisLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for the 2 lines */\r\n lineColors?: [string, string];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values of the lines */\r\n linePrefixes?: [string, string];\r\n /** Suffix for values of the lines */\r\n lineSuffixes?: [string, string];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Enables same axis for the 2 lines */\r\n sameAxes?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of labels of the axis. */\r\n showAxisLabels?: boolean;\r\n /** Labels for the lines */\r\n labels: [string, string];\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function DualAxisLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks,\r\n dateFormat = 'yyyy',\r\n showValues = false,\r\n padding,\r\n lineColors = [\r\n Colors.light.categoricalColors.colors[0],\r\n Colors.light.categoricalColors.colors[1],\r\n ],\r\n sameAxes = false,\r\n backgroundColor = false,\r\n leftMargin = 80,\r\n rightMargin = 80,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n labels,\r\n lineSuffixes = ['', ''],\r\n linePrefixes = ['', ''],\r\n tooltip,\r\n highlightAreaSettings = [],\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n graphID,\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n strokeWidth = 2,\r\n showDots = true,\r\n language = 'en',\r\n showColorScale = true,\r\n minHeight = 0,\r\n colorLegendTitle,\r\n theme = 'light',\r\n ariaLabel,\r\n noOfYTicks = 5,\r\n maxDate,\r\n minDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n precision = 2,\r\n customLayers = [],\r\n showAxisLabels = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale && labels.length > 0 ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n highlightAreaSettings={highlightAreaSettings}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n noOfYTicks={noOfYTicks}\r\n lineSuffixes={lineSuffixes}\r\n linePrefixes={linePrefixes}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n customLayers={customLayers}\r\n showAxisLabels={showAxisLabels}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","labels","sameAxes","dateFormat","showValues","noOfXTicks","rightMargin","leftMargin","topMargin","bottomMargin","tooltip","highlightAreaSettings","onSeriesMouseOver","animate","strokeWidth","showDots","noOfYTicks","lineSuffixes","linePrefixes","minDate","maxDate","curveType","styles","classNames","precision","customLayers","showAxisLabels","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","t5","top","bottom","left","right","margin","MouseoverRectRef","t6","d","date","parse","Date","dataFormatted","orderBy","map","t7","t8","d_0","coordinates","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam1","Math","min","_temp","filter","_temp2","Infinity","_temp3","_temp4","_temp5","_temp6","minParam2","_temp7","_temp8","_temp9","_temp0","_temp1","_temp10","maxParam1","max","_temp11","_temp12","_temp13","_temp14","maxParam2","_temp15","_temp16","_temp17","_temp18","minParam","maxParam","x","scaleTime","domain","range","y1","scaleLinear","nice","y2","lineShape1","line","defined","_temp19","d_22","y","d_23","lineShape2","_temp20","d_25","d_26","y1Ticks","ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp21","invert","pointer","clientY","clientX","mouseout","select","current","on","jsx","HighlightArea","t9","xAxis","axis","t10","t11","t12","stroke","t13","Axis","t14","yAxis","title","AxisTitle","fill","substring","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","d_30","format","t30","t31","d_31","t32","gridLines","t33","t34","t35","t36","cn","t37","t38","t39","t40","_temp22","_temp23","t41","t42","opacity","transition","t43","t44","t45","d_34","i_1","jsxs","motion","checkIfNullOrUndefined","Fragment","initial","cx","cy","whileInView","delay","textAnchor","graphObjectValues","numberFormattingFunction","i","t46","t47","_temp29","_temp30","t48","Symbol","for","pointerEvents","t49","t50","Tooltip","d_28","d_29","i_0","XTicksAndGridLines","pathLength","_temp24","_temp25","_temp26","_temp27","_temp28","mouseOverLine","d_36","layer","d_35","position","el_3","el","el_2","el_1","el_0","d_33","d_32","d_27","d_24","d_21","d_18","d_17","d_20","d_19","d_14","d_13","d_16","d_15","d_8","d_7","d_10","d_9","d_12","d_11","d_2","d_1","d_4","d_3","d_6","d_5","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","colorLegend","ColorLegend","EmptyState","getNoOfTicks","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
package/dist/DumbbellChart.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),Ee=require("./index-Cno4Q0YE.cjs"),je=require("./parse-hMnG_lRV.cjs"),T=require("react"),Oe=require("./getSliderMarks-BmADcPQt.cjs"),Me=require("./index-DQA8q5sC.cjs"),ke=require("./numberFormattingFunction-02t-wJta.cjs"),Ie=require("./Tooltip-uUdw6wJL.cjs"),qt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Le=require("./AxisTitle-sS5bLLR7.cjs"),Fe=require("./Axis-DxRV2yMi.cjs"),Pe=require("./XAxesLabels-Bt5NZBmX.cjs"),$e=require("./YTicksAndGridLines-4pxTRlRK.cjs"),Ne=require("./ReferenceLine-BH0qdf4R.cjs"),We=require("./XTicksAndGridLines-B6CELS7q.cjs"),Ge=require("./YAxesLabels-DesLesUP.cjs"),Ve=require("./DetailsModal-BN0HDFlV.cjs"),De=require("./linear-BwPAspcq.cjs"),Se=require("./band-VYfcZeJ2.cjs"),Te=require("./use-in-view-QcfiW0w3.cjs"),Tt=require("./proxy-BxvUI_9l.cjs"),qe=require("./index-DG2bgAva.cjs"),Ae=require("./ensureCompleteData-pZ9QO6kB.cjs"),Re=require("./GraphContainer-d8A46BK2.cjs"),Be=require("./GraphHeader.cjs"),Ce=require("./index-DRXx7m-C.cjs"),Ye=require("./GraphFooter.cjs"),Xe=require("./ColorLegendWithMouseOver.cjs"),He=require("./EmptyState-sAEZ_5rU.cjs"),Ue=require("./Colors.cjs");function ze(e){const t=i.compilerRuntimeExports.c(146),{data:d,leftMargin:Jt,rightMargin:se,topMargin:Kt,bottomMargin:Qt,dotColors:k,barPadding:Ft,showTicks:Mt,truncateBy:It,width:wt,height:jt,radius:ht,showLabels:At,tooltip:g,onSeriesMouseOver:at,maxValue:Lt,minValue:E,onSeriesMouseClick:ct,showValues:Zt,suffix:ft,prefix:q,selectedColor:F,arrowConnector:L,connectorStrokeWidth:Pt,maxBarThickness:kt,minBarThickness:$t,resetSelectionOnDoubleClick:_t,detailsOnClick:O,axisTitle:P,noOfTicks:Wt,valueColor:Nt,styles:s,classNames:n,labelOrder:y,refValues:Vt,animate:p,precision:m,customLayers:X,highlightedDataPoints:W,dimmedOpacity:ut}=e,b=Jt===void 0?20:Jt,Gt=se===void 0?20:se,Bt=Kt===void 0?20:Kt,Dt=Qt===void 0?25:Qt,te=T.useRef(null);let Yt;t[0]!==p.amount||t[1]!==p.once?(Yt={once:p.once,amount:p.amount},t[0]=p.amount,t[1]=p.once,t[2]=Yt):Yt=t[2];const H=Te.useInView(te,Yt),U=P?b+30:b;let Xt;t[3]!==Dt||t[4]!==Gt||t[5]!==U||t[6]!==Bt?(Xt={top:Bt,bottom:Dt,left:U,right:Gt},t[3]=Dt,t[4]=Gt,t[5]=U,t[6]=Bt,t[7]=Xt):Xt=t[7];const l=Xt,o=wt-l.left-l.right,rt=jt-l.top-l.bottom,[lt,Ht]=T.useState(void 0),[yt,gt]=T.useState(void 0),[Ut,Et]=T.useState(void 0),[Ot,zt]=T.useState(void 0);let Rt;if(t[8]!==d||t[9]!==y){const f=new Set,h=d.map((v,w)=>{const a=y?`${v.label}`:`${w}`;return f.add(a),{...v,id:a}}),M=y?y.filter(v=>!f.has(v)):[];let mt;t[11]!==d[0]?(mt=v=>({id:v,label:v,x:Array(d[0].x.length).fill(null)}),t[11]=d[0],t[12]=mt):mt=t[12],Rt=[...h,...M.map(mt)],t[8]=d,t[9]=y,t[10]=Rt}else Rt=t[10];const G=Rt;let $;t[13]!==G||t[14]!==y?($=y??G.map(oi),t[13]=G,t[14]=y,t[15]=$):$=t[15];const St=$;let bt,z,J,K,Q,Z,j,R,C,_,tt,et,A,N,V;if(t[16]!==p||t[17]!==L||t[18]!==P||t[19]!==St||t[20]!==Ft||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.axis||t[24]!==n?.xAxis?.labels||t[25]!==n?.yAxis?.gridLines||t[26]!==n?.yAxis?.labels||t[27]!==n?.yAxis?.title||t[28]!==Pt||t[29]!==X||t[30]!==G||t[31]!==O||t[32]!==ut||t[33]!==k||t[34]!==rt||t[35]!==o||t[36]!==jt||t[37]!==W||t[38]!==H||t[39]!==b||t[40]!==l.bottom||t[41]!==l.left||t[42]!==l.right||t[43]!==l.top||t[44]!==kt||t[45]!==Lt||t[46]!==$t||t[47]!==E||t[48]!==yt||t[49]!==Wt||t[50]!==ct||t[51]!==at||t[52]!==m||t[53]!==q||t[54]!==ht||t[55]!==Vt||t[56]!==_t||t[57]!==F||t[58]!==At||t[59]!==Mt||t[60]!==Zt||t[61]!==s?.dataConnectors||t[62]!==s?.graphObjectValues||t[63]!==s?.xAxis?.axis||t[64]!==s?.xAxis?.labels||t[65]!==s?.yAxis?.gridLines||t[66]!==s?.yAxis?.labels||t[67]!==s?.yAxis?.title||t[68]!==ft||t[69]!==It||t[70]!==Nt||t[71]!==wt){const f=De.linear().domain([E,Lt]).range([rt,0]).nice(),h=Se.band().domain(St).range([0,$t?Math.max(o,$t*G.length):kt?Math.min(o,kt*G.length):o]).paddingInner(Ft),M=f.ticks(Wt);z=Tt.motion.svg,C=`${wt}px`,_=`${jt}px`,tt=`0 0 ${wt} ${jt}`,et="ltr",A=te,t[87]!==L?(N=L?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[87]=L,t[88]=N):N=t[88],K=`translate(${l.left},${l.top})`;const mt=f(E<0?0:E),v=f(E<0?0:E),w=E<0?0:E;let a;t[89]!==m||t[90]!==q||t[91]!==ft||t[92]!==w?(a=ke.numberFormattingFunction(w,"NA",m,q,ft),t[89]=m,t[90]=q,t[91]=ft,t[92]=w,t[93]=a):a=t[93];const pt=n?.xAxis?.axis,ie=n?.yAxis?.labels;let vt;t[94]!==pt||t[95]!==ie?(vt={axis:pt,label:ie},t[94]=pt,t[95]=ie,t[96]=vt):vt=t[96];const ne=s?.xAxis?.axis,Y=s?.yAxis?.labels;let c;t[97]!==ne||t[98]!==Y?(c={axis:ne,label:Y},t[97]=ne,t[98]=Y,t[99]=c):c=t[99],Q=i.jsxRuntimeExports.jsx(Fe.Axis,{y1:mt,y2:v,x1:0-b,x2:o+l.right,label:a,labelPos:{x:0-b,dx:0,dy:Lt<0?"1em":-5,y:f(E<0?0:E)},classNames:vt,styles:c}),Z=Mt?i.jsxRuntimeExports.jsx($e.YTicksAndGridLines,{values:M.filter(si),y:M.filter(ni).map(x=>f(x)),x1:0-b,x2:o+l.right,styles:{gridLines:s?.yAxis?.gridLines,labels:s?.yAxis?.labels},classNames:{gridLines:n?.yAxis?.gridLines,labels:n?.yAxis?.labels},suffix:ft,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:m}):null;const S=0-b-15,r=rt/2,I=s?.yAxis?.title,ae=n?.yAxis?.title;t[100]!==P||t[101]!==S||t[102]!==r||t[103]!==I||t[104]!==ae?(j=i.jsxRuntimeExports.jsx(Le.AxisTitle,{x:S,y:r,style:I,className:ae,text:P,rotate90:!0}),t[100]=P,t[101]=S,t[102]=r,t[103]=I,t[104]=ae,t[105]=j):j=t[105],t[106]!==X?(R=X.filter(ii).map(ei),t[106]=X,t[107]=R):R=t[107],bt=qe.AnimatePresence,V=G.map(x=>i.jsxRuntimeExports.jsxs(Tt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:h(`${x.id}`)+h.bandwidth()/2,y:0,opacity:W.length!==0?W.indexOf(x.label)!==-1?.85:ut:.85},whileInView:{x:h(`${x.id}`)+h.bandwidth()/2,y:0,opacity:W.length!==0?W.indexOf(x.label)!==-1?.85:ut:.85,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",exit:{opacity:0,transition:{duration:p.duration}},children:[At?i.jsxRuntimeExports.jsx(Pe.XAxesLabels,{value:`${x.label}`.length<It?`${x.label}`:`${`${x.label}`.substring(0,It)}...`,y:rt+5,x:0-h.bandwidth()/2,width:h.bandwidth(),height:l.bottom,style:s?.xAxis?.labels,className:n?.xAxis?.labels,alignment:"top",animate:p,isInView:H}):null,i.jsxRuntimeExports.jsx(Tt.motion.line,{x1:0,x2:0,style:{strokeWidth:Pt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:L&&x.x.indexOf(Math.min(...x.x.filter(ti)))===0?"url(#arrow)":"",markerStart:L&&x.x.indexOf(Math.min(...x.x.filter(_e)))===x.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:f(Math.min(...x.x.filter(Ze)))+ht,y2:f(Math.max(...x.x.filter(Qe)))-ht,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial"}),x.x.map((ee,ot)=>i.jsxRuntimeExports.jsx(Tt.motion.g,{onMouseEnter:oe=>{Ht({...x,xIndex:ot}),zt(oe.clientY),Et(oe.clientX),at?.({...x,xIndex:ot})},onClick:()=>{(ct||O)&&(Me.isEqual(yt,{...x,xIndex:ot})&&_t?(gt(void 0),ct?.(void 0)):(gt({...x,xIndex:ot}),ct&&ct({...x,xIndex:ot})))},onMouseMove:oe=>{Ht({...x,xIndex:ot}),zt(oe.clientY),Et(oe.clientX)},onMouseLeave:()=>{Ht(void 0),Et(void 0),zt(void 0),at?.(void 0)},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{opacity:F?k[ot]===F?1:.3:1},whileInView:{opacity:F?k[ot]===F?1:.3:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",children:qt.checkIfNullOrUndefined(ee)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Tt.motion.circle,{cx:0,r:ht,style:{fill:k[ot],fillOpacity:.85,stroke:k[ot],strokeWidth:1},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{cy:f(0),opacity:0},whileInView:{cy:f(ee||0),opacity:qt.checkIfNullOrUndefined(ee)?0:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial"}),Zt?i.jsxRuntimeExports.jsx(Tt.motion.text,{x:0,style:{textAnchor:"start",...s?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",qt.checkIfNullOrUndefined(ee)?"opacity-0":"opacity-100",n?.graphObjectValues),dx:ht+3,dy:"0.33em",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y:f(0),opacity:0,fill:Nt||k[ot]},whileInView:{y:f(ee||0),fill:Nt||k[ot],opacity:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",children:ke.numberFormattingFunction(ee,"NA",m,q,ft)}):null]})},ot))]},x.label)),J=Vt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Vt.map((x,ee)=>i.jsxRuntimeExports.jsx(Ne.RefLineY,{text:x.text,color:x.color,y:f(x.value),x1:0-b,x2:o+l.right,classNames:x.classNames,styles:x.styles,animate:p,isInView:H},ee))}):null,t[16]=p,t[17]=L,t[18]=P,t[19]=St,t[20]=Ft,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.axis,t[24]=n?.xAxis?.labels,t[25]=n?.yAxis?.gridLines,t[26]=n?.yAxis?.labels,t[27]=n?.yAxis?.title,t[28]=Pt,t[29]=X,t[30]=G,t[31]=O,t[32]=ut,t[33]=k,t[34]=rt,t[35]=o,t[36]=jt,t[37]=W,t[38]=H,t[39]=b,t[40]=l.bottom,t[41]=l.left,t[42]=l.right,t[43]=l.top,t[44]=kt,t[45]=Lt,t[46]=$t,t[47]=E,t[48]=yt,t[49]=Wt,t[50]=ct,t[51]=at,t[52]=m,t[53]=q,t[54]=ht,t[55]=Vt,t[56]=_t,t[57]=F,t[58]=At,t[59]=Mt,t[60]=Zt,t[61]=s?.dataConnectors,t[62]=s?.graphObjectValues,t[63]=s?.xAxis?.axis,t[64]=s?.xAxis?.labels,t[65]=s?.yAxis?.gridLines,t[66]=s?.yAxis?.labels,t[67]=s?.yAxis?.title,t[68]=ft,t[69]=It,t[70]=Nt,t[71]=wt,t[72]=bt,t[73]=z,t[74]=J,t[75]=K,t[76]=Q,t[77]=Z,t[78]=j,t[79]=R,t[80]=C,t[81]=_,t[82]=tt,t[83]=et,t[84]=A,t[85]=N,t[86]=V}else bt=t[72],z=t[73],J=t[74],K=t[75],Q=t[76],Z=t[77],j=t[78],R=t[79],C=t[80],_=t[81],tt=t[82],et=t[83],A=t[84],N=t[85],V=t[86];let it;t[108]!==bt||t[109]!==J||t[110]!==V?(it=i.jsxRuntimeExports.jsxs(bt,{children:[V,J]}),t[108]=bt,t[109]=J,t[110]=V,t[111]=it):it=t[111];let nt;t[112]!==X?(nt=X.filter(Ke).map(Je),t[112]=X,t[113]=nt):nt=t[113];let xt;t[114]!==K||t[115]!==Q||t[116]!==Z||t[117]!==j||t[118]!==R||t[119]!==it||t[120]!==nt?(xt=i.jsxRuntimeExports.jsxs("g",{transform:K,children:[Q,Z,j,R,it,nt]}),t[114]=K,t[115]=Q,t[116]=Z,t[117]=j,t[118]=R,t[119]=it,t[120]=nt,t[121]=xt):xt=t[121];let D;t[122]!==z||t[123]!==C||t[124]!==_||t[125]!==tt||t[126]!==et||t[127]!==A||t[128]!==N||t[129]!==xt?(D=i.jsxRuntimeExports.jsxs(z,{width:C,height:_,viewBox:tt,direction:et,ref:A,children:[N,xt]}),t[122]=z,t[123]=C,t[124]=_,t[125]=tt,t[126]=et,t[127]=A,t[128]=N,t[129]=xt,t[130]=D):D=t[130];let B;t[131]!==n?.tooltip||t[132]!==Ut||t[133]!==Ot||t[134]!==lt||t[135]!==s?.tooltip||t[136]!==g?(B=lt&&g&&Ut&&Ot?i.jsxRuntimeExports.jsx(Ie.Tooltip,{data:lt,body:g,xPos:Ut,yPos:Ot,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[131]=n?.tooltip,t[132]=Ut,t[133]=Ot,t[134]=lt,t[135]=s?.tooltip,t[136]=g,t[137]=B):B=t[137];let st;t[138]!==n?.modal||t[139]!==O||t[140]!==yt?(st=O&&yt!==void 0?i.jsxRuntimeExports.jsx(Ve.DetailsModal,{body:O,data:yt,setData:gt,className:n?.modal}):null,t[138]=n?.modal,t[139]=O,t[140]=yt,t[141]=st):st=t[141];let dt;return t[142]!==D||t[143]!==B||t[144]!==st?(dt=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[D,B,st]}),t[142]=D,t[143]=B,t[144]=st,t[145]=dt):dt=t[145],dt}function Je(e){return e.layer}function Ke(e){return e.position==="after"}function Qe(e){return e!==null}function Ze(e){return e!==null}function _e(e){return e!==null}function ti(e){return e!==null}function ei(e){return e.layer}function ii(e){return e.position==="before"}function ni(e){return e!==0}function si(e){return e!==0}function oi(e){return`${e.id}`}function ai(e){const t=i.compilerRuntimeExports.c(139),{data:d,leftMargin:Jt,rightMargin:se,topMargin:Kt,bottomMargin:Qt,dotColors:k,suffix:Ft,prefix:Mt,barPadding:It,showValues:wt,showTicks:jt,truncateBy:ht,width:At,height:g,radius:at,showLabels:Lt,tooltip:E,onSeriesMouseOver:ct,maxValue:Zt,minValue:ft,onSeriesMouseClick:q,selectedColor:F,arrowConnector:L,connectorStrokeWidth:Pt,maxBarThickness:kt,minBarThickness:$t,resetSelectionOnDoubleClick:_t,detailsOnClick:O,axisTitle:P,noOfTicks:Wt,valueColor:Nt,styles:s,classNames:n,labelOrder:y,refValues:Vt,rtl:p,animate:m,precision:X,customLayers:W,highlightedDataPoints:ut,dimmedOpacity:b}=e,Gt=Jt===void 0?100:Jt,Bt=se===void 0?40:se,Dt=Kt===void 0?20:Kt,te=Qt===void 0?10:Qt,Yt=T.useRef(null);let H;t[0]!==m.amount||t[1]!==m.once?(H={once:m.once,amount:m.amount},t[0]=m.amount,t[1]=m.once,t[2]=H):H=t[2];const U=Te.useInView(Yt,H),Xt=P?Dt+25:Dt;let l;t[3]!==te||t[4]!==Gt||t[5]!==Bt||t[6]!==Xt?(l={top:Xt,bottom:te,left:Gt,right:Bt},t[3]=te,t[4]=Gt,t[5]=Bt,t[6]=Xt,t[7]=l):l=t[7];const o=l,rt=At-o.left-o.right,lt=g-o.top-o.bottom,[Ht,yt]=T.useState(void 0),[gt,Ut]=T.useState(void 0),[Et,Ot]=T.useState(void 0),[zt,Rt]=T.useState(void 0);let G;if(t[8]!==d||t[9]!==y){const h=new Set,M=d.map((w,a)=>{const pt=y?`${w.label}`:`${a}`;return h.add(pt),{...w,id:pt}}),mt=y?y.filter(w=>!h.has(w)):[];let v;t[11]!==d[0]?(v=w=>({id:w,label:w,x:Array(d[0].x.length).fill(null)}),t[11]=d[0],t[12]=v):v=t[12],G=[...M,...mt.map(v)],t[8]=d,t[9]=y,t[10]=G}else G=t[10];const $=G;let St;t[13]!==$||t[14]!==y?(St=y??$.map(yi),t[13]=$,t[14]=y,t[15]=St):St=t[15];const bt=St;let z,J,K,Q,Z,j,R,C,_,tt,et,A,N,V,it;if(t[16]!==m||t[17]!==L||t[18]!==P||t[19]!==bt||t[20]!==It||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.gridLines||t[24]!==n?.xAxis?.labels||t[25]!==n?.xAxis?.title||t[26]!==n?.yAxis?.gridLines||t[27]!==n?.yAxis?.labels||t[28]!==Pt||t[29]!==W||t[30]!==$||t[31]!==O||t[32]!==b||t[33]!==k||t[34]!==lt||t[35]!==rt||t[36]!==g||t[37]!==ut||t[38]!==U||t[39]!==o.bottom||t[40]!==o.left||t[41]!==o.top||t[42]!==kt||t[43]!==Zt||t[44]!==$t||t[45]!==ft||t[46]!==gt||t[47]!==Wt||t[48]!==q||t[49]!==ct||t[50]!==X||t[51]!==Mt||t[52]!==at||t[53]!==Vt||t[54]!==_t||t[55]!==p||t[56]!==F||t[57]!==Lt||t[58]!==jt||t[59]!==wt||t[60]!==s?.dataConnectors||t[61]!==s?.graphObjectValues||t[62]!==s?.xAxis?.gridLines||t[63]!==s?.xAxis?.labels||t[64]!==s?.xAxis?.title||t[65]!==s?.yAxis?.gridLines||t[66]!==s?.yAxis?.labels||t[67]!==Ft||t[68]!==Dt||t[69]!==ht||t[70]!==Nt||t[71]!==At){const h=De.linear().domain([ft,Zt]).range([0,rt]).nice(),M=Se.band().domain(bt).range([0,$t?Math.max(lt,$t*$.length):kt?Math.min(lt,kt*$.length):lt]).paddingInner(It),mt=h.ticks(Wt);J=Tt.motion.svg,_=`${At}px`,tt=`${g}px`,et=`0 0 ${At} ${g}`,A="ltr",N=Yt,t[87]!==L?(V=L?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[87]=L,t[88]=V):V=t[88],Q=`translate(${o.left},${o.top})`,Z=jt?i.jsxRuntimeExports.jsx(We.XTicksAndGridLines,{values:mt.filter(fi),x:mt.filter(hi).map(c=>h(c)),y1:0-Dt,y2:lt+o.bottom,styles:{gridLines:s?.xAxis?.gridLines,labels:s?.xAxis?.labels},classNames:{gridLines:n?.xAxis?.gridLines,labels:n?.xAxis?.labels},suffix:Ft,prefix:Mt,labelType:"secondary",showGridLines:!0,precision:X}):null;const v=rt/2,w=0-o.top+15,a=s?.xAxis?.title,pt=n?.xAxis?.title;t[89]!==P||t[90]!==v||t[91]!==w||t[92]!==a||t[93]!==pt?(j=i.jsxRuntimeExports.jsx(Le.AxisTitle,{x:v,y:w,style:a,className:pt,text:P}),t[89]=P,t[90]=v,t[91]=w,t[92]=a,t[93]=pt,t[94]=j):j=t[94];const ie=s?.yAxis?.gridLines;let vt;t[95]!==ie?(vt={gridLines:ie},t[95]=ie,t[96]=vt):vt=t[96];const ne=n?.yAxis?.gridLines;let Y;t[97]!==ne?(Y={gridLines:ne},t[97]=ne,t[98]=Y):Y=t[98],R=i.jsxRuntimeExports.jsx($e.YTicksAndGridLines,{y:$.map(c=>M(`${c.id}`)+M.bandwidth()/2),x1:0,x2:rt,styles:vt,classNames:Y,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:X}),t[99]!==W?(C=W.filter(pi).map(mi),t[99]=W,t[100]=C):C=t[100],z=qe.AnimatePresence,it=$.map(c=>i.jsxRuntimeExports.jsxs(Tt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:M(`${c.id}`)+M.bandwidth()/2,opacity:ut.length!==0?ut.indexOf(c.label)!==-1?.85:b:.85},whileInView:{x:0,y:M(`${c.id}`)+M.bandwidth()/2,opacity:ut.length!==0?ut.indexOf(c.label)!==-1?.85:b:.85,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:m.duration}},children:[Lt?i.jsxRuntimeExports.jsx(Ge.YAxesLabels,{value:`${c.label}`.length<ht?`${c.label}`:`${`${c.label}`.substring(0,ht)}...`,y:0-M.bandwidth()/2,x:0-o.left,width:o.left,height:M.bandwidth(),alignment:"right",style:s?.yAxis?.labels,className:n?.yAxis?.labels,animate:m,isInView:U}):null,i.jsxRuntimeExports.jsx(Tt.motion.line,{y1:0,y2:0,style:{strokeWidth:Pt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:L&&c.x.indexOf(Math.min(...c.x.filter(di)))===0?"url(#arrow)":"",markerStart:L&&c.x.indexOf(Math.min(...c.x.filter(xi)))===c.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:h(Math.min(...c.x.filter(ui)))+at,x2:h(Math.max(...c.x.filter(ci)))-at,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),c.x.map((S,r)=>i.jsxRuntimeExports.jsx(Tt.motion.g,{onMouseEnter:I=>{yt({...c,xIndex:r}),Rt(I.clientY),Ot(I.clientX),ct?.({...c,xIndex:r})},onClick:()=>{(q||O)&&(Me.isEqual(gt,{...c,xIndex:r})&&_t?(Ut(void 0),q?.(void 0)):(Ut({...c,xIndex:r}),q&&q({...c,xIndex:r})))},onMouseMove:I=>{yt({...c,xIndex:r}),Rt(I.clientY),Ot(I.clientX)},onMouseLeave:()=>{yt(void 0),Ot(void 0),Rt(void 0),ct?.(void 0)},exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{opacity:F?k[r]===F?1:.3:1},whileInView:{opacity:F?k[r]===F?1:.3:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:qt.checkIfNullOrUndefined(S)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Tt.motion.circle,{cy:0,r:at,style:{fill:k[r],fillOpacity:.85,stroke:k[r],strokeWidth:1,opacity:qt.checkIfNullOrUndefined(S)?0:1},exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{cx:h(0),opacity:0},whileInView:{cx:h(S||0),opacity:qt.checkIfNullOrUndefined(S)?0:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),wt?i.jsxRuntimeExports.jsx(Tt.motion.text,{y:0,style:{textAnchor:"middle",...s?.graphObjectValues||{}},dx:0,dy:0-at-3,className:i.mo("graph-value text-sm font-bold",qt.checkIfNullOrUndefined(S)?"0opacity-0":"opacity-100",n?.graphObjectValues),exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{x:h(0),opacity:0,fill:Nt||k[r]},whileInView:{x:h(S||0),fill:Nt||k[r],opacity:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:ke.numberFormattingFunction(S,"NA",X,Mt,Ft)}):null]})},r))]},c.label)),K=Vt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Vt.map((c,S)=>i.jsxRuntimeExports.jsx(Ne.RefLineX,{text:c.text,color:c.color,x:h(c.value),y1:0-o.top,y2:lt+o.bottom,textSide:h(c.value)>rt*.75||p?"left":"right",classNames:c.classNames,styles:c.styles,animate:m,isInView:U},S))}):null,t[16]=m,t[17]=L,t[18]=P,t[19]=bt,t[20]=It,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.gridLines,t[24]=n?.xAxis?.labels,t[25]=n?.xAxis?.title,t[26]=n?.yAxis?.gridLines,t[27]=n?.yAxis?.labels,t[28]=Pt,t[29]=W,t[30]=$,t[31]=O,t[32]=b,t[33]=k,t[34]=lt,t[35]=rt,t[36]=g,t[37]=ut,t[38]=U,t[39]=o.bottom,t[40]=o.left,t[41]=o.top,t[42]=kt,t[43]=Zt,t[44]=$t,t[45]=ft,t[46]=gt,t[47]=Wt,t[48]=q,t[49]=ct,t[50]=X,t[51]=Mt,t[52]=at,t[53]=Vt,t[54]=_t,t[55]=p,t[56]=F,t[57]=Lt,t[58]=jt,t[59]=wt,t[60]=s?.dataConnectors,t[61]=s?.graphObjectValues,t[62]=s?.xAxis?.gridLines,t[63]=s?.xAxis?.labels,t[64]=s?.xAxis?.title,t[65]=s?.yAxis?.gridLines,t[66]=s?.yAxis?.labels,t[67]=Ft,t[68]=Dt,t[69]=ht,t[70]=Nt,t[71]=At,t[72]=z,t[73]=J,t[74]=K,t[75]=Q,t[76]=Z,t[77]=j,t[78]=R,t[79]=C,t[80]=_,t[81]=tt,t[82]=et,t[83]=A,t[84]=N,t[85]=V,t[86]=it}else z=t[72],J=t[73],K=t[74],Q=t[75],Z=t[76],j=t[77],R=t[78],C=t[79],_=t[80],tt=t[81],et=t[82],A=t[83],N=t[84],V=t[85],it=t[86];let nt;t[101]!==z||t[102]!==K||t[103]!==it?(nt=i.jsxRuntimeExports.jsxs(z,{children:[it,K]}),t[101]=z,t[102]=K,t[103]=it,t[104]=nt):nt=t[104];let xt;t[105]!==W?(xt=W.filter(li).map(ri),t[105]=W,t[106]=xt):xt=t[106];let D;t[107]!==Q||t[108]!==Z||t[109]!==j||t[110]!==R||t[111]!==C||t[112]!==nt||t[113]!==xt?(D=i.jsxRuntimeExports.jsxs("g",{transform:Q,children:[Z,j,R,C,nt,xt]}),t[107]=Q,t[108]=Z,t[109]=j,t[110]=R,t[111]=C,t[112]=nt,t[113]=xt,t[114]=D):D=t[114];let B;t[115]!==J||t[116]!==_||t[117]!==tt||t[118]!==et||t[119]!==A||t[120]!==N||t[121]!==V||t[122]!==D?(B=i.jsxRuntimeExports.jsxs(J,{width:_,height:tt,viewBox:et,direction:A,ref:N,children:[V,D]}),t[115]=J,t[116]=_,t[117]=tt,t[118]=et,t[119]=A,t[120]=N,t[121]=V,t[122]=D,t[123]=B):B=t[123];let st;t[124]!==n?.tooltip||t[125]!==Et||t[126]!==zt||t[127]!==Ht||t[128]!==s?.tooltip||t[129]!==E?(st=Ht&&E&&Et&&zt?i.jsxRuntimeExports.jsx(Ie.Tooltip,{data:Ht,body:E,xPos:Et,yPos:zt,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[124]=n?.tooltip,t[125]=Et,t[126]=zt,t[127]=Ht,t[128]=s?.tooltip,t[129]=E,t[130]=st):st=t[130];let dt;t[131]!==n?.modal||t[132]!==O||t[133]!==gt?(dt=O&>!==void 0?i.jsxRuntimeExports.jsx(Ve.DetailsModal,{body:O,data:gt,setData:Ut,className:n?.modal}):null,t[131]=n?.modal,t[132]=O,t[133]=gt,t[134]=dt):dt=t[134];let f;return t[135]!==B||t[136]!==st||t[137]!==dt?(f=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[B,st,dt]}),t[135]=B,t[136]=st,t[137]=dt,t[138]=f):f=t[138],f}function ri(e){return e.layer}function li(e){return e.position==="after"}function ci(e){return e!==null}function ui(e){return e!==null}function xi(e){return e!==null}function di(e){return e!==null}function mi(e){return e.layer}function pi(e){return e.position==="before"}function hi(e,t){return t!==0}function fi(e,t){return t!==0}function yi(e){return`${e.id}`}function gi(e){const t=i.compilerRuntimeExports.c(120),{data:d,graphTitle:Jt,colors:se,sources:Kt,graphDescription:Qt,barPadding:k,showTicks:Ft,leftMargin:Mt,rightMargin:It,topMargin:wt,bottomMargin:jt,truncateBy:ht,height:At,width:g,footNote:at,colorDomain:Lt,colorLegendTitle:E,padding:ct,backgroundColor:Zt,radius:ft,tooltip:q,showLabels:F,relativeHeight:L,onSeriesMouseOver:Pt,graphID:kt,suffix:$t,prefix:_t,maxValue:O,minValue:P,onSeriesMouseClick:Wt,graphDownload:Nt,dataDownload:s,showValues:n,sortParameter:y,arrowConnector:Vt,connectorStrokeWidth:p,language:m,minHeight:X,theme:W,maxBarThickness:ut,maxNumberOfBars:b,minBarThickness:Gt,ariaLabel:Bt,resetSelectionOnDoubleClick:Dt,detailsOnClick:te,axisTitle:Yt,noOfTicks:H,valueColor:U,orientation:Xt,styles:l,classNames:o,labelOrder:rt,refValues:lt,filterNA:Ht,animate:yt,precision:gt,showColorScale:Ut,customLayers:Et,highlightedDataPoints:Ot,dimmedOpacity:zt,timeline:Rt,sortData:G}=e,$=se===void 0?Ue.Colors.light.categoricalColors.colors:se,St=k===void 0?.25:k,bt=Ft===void 0?!0:Ft,z=ht===void 0?999:ht,J=Zt===void 0?!0:Zt,K=ft===void 0?3:ft,Q=F===void 0?!0:F,Z=$t===void 0?"":$t,j=_t===void 0?"":_t,R=Nt===void 0?!1:Nt,C=s===void 0?!1:s,_=n===void 0?!0:n,tt=Vt===void 0?!1:Vt,et=p===void 0?2:p,A=m===void 0?"en":m,N=X===void 0?0:X,V=W===void 0?"light":W,it=Dt===void 0?!0:Dt,nt=H===void 0?5:H,xt=Xt===void 0?"vertical":Xt,D=Ht===void 0?!0:Ht,B=yt===void 0?!1:yt,st=gt===void 0?2:gt,dt=Ut===void 0?!0:Ut;let f;t[0]!==Et?(f=Et===void 0?[]:Et,t[0]=Et,t[1]=f):f=t[1];const h=f;let M;t[2]!==Ot?(M=Ot===void 0?[]:Ot,t[2]=Ot,t[3]=M):M=t[3];const mt=M,v=zt===void 0?.3:zt;let w;t[4]!==Rt?(w=Rt===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:Rt,t[4]=Rt,t[5]=w):w=t[5];const a=w,[pt,ie]=T.useState(0),[vt,ne]=T.useState(0),[Y,c]=T.useState(a.autoplay);let S;if(t[6]!==d||t[7]!==a.dateFormat){let u;t[9]!==a.dateFormat?(u=Ct=>je.parse(`${Ct.date}`,a.dateFormat||"yyyy",new Date).getTime(),t[9]=a.dateFormat,t[10]=u):u=t[10],S=[...new Set(d.filter(Ti).map(u))],S.sort(Si),t[6]=d,t[7]=a.dateFormat,t[8]=S}else S=t[8];const r=S,[I,ae]=T.useState(a.autoplay?0:r.length-1),[x,ee]=T.useState(void 0),ot=T.useRef(null),oe=T.useRef(null);let xe,de;t[11]===Symbol.for("react.memo_cache_sentinel")?(xe=()=>{const u=new ResizeObserver(Ct=>{ie(Ct[0].target.clientWidth||620),ne(Ct[0].target.clientHeight||480)});return ot.current&&u.observe(ot.current),()=>u.disconnect()},de=[],t[11]=xe,t[12]=de):(xe=t[11],de=t[12]),T.useEffect(xe,de);let me,pe;t[13]!==Y||t[14]!==a.speed||t[15]!==r?(me=()=>{const u=setInterval(()=>{ae(Ct=>Ct<r.length-1?Ct+1:0)},(a.speed||2)*1e3);return Y||clearInterval(u),()=>clearInterval(u)},pe=[r,Y,a.speed],t[13]=Y,t[14]=a.speed,t[15]=r,t[16]=me,t[17]=pe):(me=t[16],pe=t[17]),T.useEffect(me,pe);const ge=a.dateFormat||"yyyy";let he;t[18]!==I||t[19]!==ge||t[20]!==a.showOnlyActiveDate||t[21]!==r?(he=Oe.getSliderMarks(r,I,a.showOnlyActiveDate,ge),t[18]=I,t[19]=ge,t[20]=a.showOnlyActiveDate,t[21]=r,t[22]=he):he=t[22];const fe=he,be=xt==="horizontal"?ai:ze,ve=o?.graphContainer,we=l?.graphContainer;let re;t[23]!==o?.description||t[24]!==o?.title||t[25]!==d||t[26]!==C||t[27]!==Qt||t[28]!==R||t[29]!==Jt||t[30]!==l?.description||t[31]!==l?.title||t[32]!==g?(re=Jt||Qt||R||C?i.jsxRuntimeExports.jsx(Be.GraphHeader,{styles:{title:l?.title,description:l?.description},classNames:{title:o?.title,description:o?.description},graphTitle:Jt,graphDescription:Qt,width:g,graphDownload:R?oe:void 0,dataDownload:C?d.map(Di).filter(Vi).length>0?d.map(Ni).filter($i):d.filter(Li):null}):null,t[23]=o?.description,t[24]=o?.title,t[25]=d,t[26]=C,t[27]=Qt,t[28]=R,t[29]=Jt,t[30]=l?.description,t[31]=l?.title,t[32]=g,t[33]=re):re=t[33];let le;t[34]!==I||t[35]!==fe||t[36]!==Y||t[37]!==a.enabled||t[38]!==r?(le=a.enabled&&r.length>0&&fe?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{c(!Y)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":Y?"Click to pause animation":"Click to play animation",children:Y?i.jsxRuntimeExports.jsx(Ce.Pause,{}):i.jsxRuntimeExports.jsx(Ce.Play,{})}),i.jsxRuntimeExports.jsx(Oe.Nr,{min:r[0],max:r[r.length-1],marks:fe,step:null,defaultValue:r[r.length-1],value:r[I],onChangeComplete:u=>{ae(r.indexOf(u))},onChange:u=>{ae(r.indexOf(u))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t[34]=I,t[35]=fe,t[36]=Y,t[37]=a.enabled,t[38]=r,t[39]=le):le=t[39];let ce;t[40]!==be||t[41]!==B||t[42]!==tt||t[43]!==Yt||t[44]!==St||t[45]!==jt||t[46]!==o||t[47]!==Lt||t[48]!==E||t[49]!==$||t[50]!==et||t[51]!==h||t[52]!==d||t[53]!==te||t[54]!==v||t[55]!==D||t[56]!==mt||t[57]!==I||t[58]!==rt||t[59]!==A||t[60]!==Mt||t[61]!==ut||t[62]!==b||t[63]!==O||t[64]!==Gt||t[65]!==P||t[66]!==nt||t[67]!==Wt||t[68]!==Pt||t[69]!==st||t[70]!==j||t[71]!==K||t[72]!==lt||t[73]!==it||t[74]!==It||t[75]!==x||t[76]!==dt||t[77]!==Q||t[78]!==bt||t[79]!==_||t[80]!==G||t[81]!==y||t[82]!==l||t[83]!==Z||t[84]!==vt||t[85]!==pt||t[86]!==a.dateFormat||t[87]!==a.enabled||t[88]!==q||t[89]!==wt||t[90]!==z||t[91]!==r||t[92]!==U||t[93]!==g?(ce=d.length===0?i.jsxRuntimeExports.jsx(He.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[dt?i.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:g,colorDomain:Lt,colors:$,colorLegendTitle:E,setSelectedColor:ee,showNAColor:!1,className:o?.colorLegend}):null,i.jsxRuntimeExports.jsx(Re.GraphArea,{ref:ot,children:pt&&vt?i.jsxRuntimeExports.jsx(be,{data:y!==void 0?y==="diff"?Ee.orderBy(Ae.ensureCompleteDataForDumbbellChart(d,a.dateFormat||"yyyy").filter(u=>a.enabled?u.date===je.format(new Date(r[I]),a.dateFormat||"yyyy"):u).filter(u=>D?!u.x.every(Ii):u),Mi,[G||"asc"]).filter((u,Ct)=>b?Ct<b:!0):Ee.orderBy(Ae.ensureCompleteDataForDumbbellChart(d,a.dateFormat||"yyyy").filter(u=>a.enabled?u.date===je.format(new Date(r[I]),a.dateFormat||"yyyy"):u).filter(u=>D?!u.x.every(Ci):u),u=>qt.checkIfNullOrUndefined(u.x[y])?-1/0:u.x[y],[G||"asc"]).filter((u,Ct)=>b?Ct<b:!0):Ae.ensureCompleteDataForDumbbellChart(d,a.dateFormat||"yyyy").filter(u=>D?!u.x.every(Ri):u).filter((u,Ct)=>b?Ct<b:!0),dotColors:$,width:pt,height:vt,radius:K,barPadding:St,showTicks:bt,leftMargin:Mt,rightMargin:It,topMargin:wt,bottomMargin:jt,truncateBy:z,showLabels:Q,showValues:_,tooltip:q,suffix:Z,prefix:j,onSeriesMouseOver:Pt,maxValue:qt.checkIfNullOrUndefined(O)?Math.max(...d.map(Ei))<0?0:Math.max(...d.map(Ai)):O,minValue:qt.checkIfNullOrUndefined(P)?Math.min(...d.map(wi))>0?0:Math.min(...d.map(bi)):P,onSeriesMouseClick:Wt,selectedColor:x,arrowConnector:tt,connectorStrokeWidth:et,maxBarThickness:ut,minBarThickness:Gt,resetSelectionOnDoubleClick:it,detailsOnClick:te,axisTitle:Yt,noOfTicks:nt,valueColor:U,styles:l,classNames:o,labelOrder:rt,refValues:lt,animate:B===!0?{duration:.5,once:!0,amount:.5}:B||{duration:0,once:!0,amount:0},precision:st,customLayers:h,highlightedDataPoints:mt,dimmedOpacity:v,rtl:A==="ar"||A==="he"}):null})]}),t[40]=be,t[41]=B,t[42]=tt,t[43]=Yt,t[44]=St,t[45]=jt,t[46]=o,t[47]=Lt,t[48]=E,t[49]=$,t[50]=et,t[51]=h,t[52]=d,t[53]=te,t[54]=v,t[55]=D,t[56]=mt,t[57]=I,t[58]=rt,t[59]=A,t[60]=Mt,t[61]=ut,t[62]=b,t[63]=O,t[64]=Gt,t[65]=P,t[66]=nt,t[67]=Wt,t[68]=Pt,t[69]=st,t[70]=j,t[71]=K,t[72]=lt,t[73]=it,t[74]=It,t[75]=x,t[76]=dt,t[77]=Q,t[78]=bt,t[79]=_,t[80]=G,t[81]=y,t[82]=l,t[83]=Z,t[84]=vt,t[85]=pt,t[86]=a.dateFormat,t[87]=a.enabled,t[88]=q,t[89]=wt,t[90]=z,t[91]=r,t[92]=U,t[93]=g,t[94]=ce):ce=t[94];let ue;t[95]!==o?.footnote||t[96]!==o?.source||t[97]!==at||t[98]!==Kt||t[99]!==l?.footnote||t[100]!==l?.source||t[101]!==g?(ue=Kt||at?i.jsxRuntimeExports.jsx(Ye.GraphFooter,{styles:{footnote:l?.footnote,source:l?.source},classNames:{footnote:o?.footnote,source:o?.source},sources:Kt,footNote:at,width:g}):null,t[95]=o?.footnote,t[96]=o?.source,t[97]=at,t[98]=Kt,t[99]=l?.footnote,t[100]=l?.source,t[101]=g,t[102]=ue):ue=t[102];let ye;return t[103]!==Bt||t[104]!==J||t[105]!==kt||t[106]!==At||t[107]!==A||t[108]!==N||t[109]!==ct||t[110]!==L||t[111]!==ve||t[112]!==we||t[113]!==re||t[114]!==le||t[115]!==ce||t[116]!==ue||t[117]!==V||t[118]!==g?(ye=i.jsxRuntimeExports.jsxs(Re.GraphContainer,{className:ve,style:we,id:kt,ref:oe,"aria-label":Bt,backgroundColor:J,theme:V,language:A,minHeight:N,width:g,height:At,relativeHeight:L,padding:ct,children:[re,le,ce,ue]}),t[103]=Bt,t[104]=J,t[105]=kt,t[106]=At,t[107]=A,t[108]=N,t[109]=ct,t[110]=L,t[111]=ve,t[112]=we,t[113]=re,t[114]=le,t[115]=ce,t[116]=ue,t[117]=V,t[118]=g,t[119]=ye):ye=t[119],ye}function bi(e){return Math.min(...e.x.filter(vi))}function vi(e){return e!==null}function wi(e){return Math.min(...e.x.filter(ji))}function ji(e){return e!==null}function Ai(e){return Math.max(...e.x.filter(ki))}function ki(e){return e!==null}function Ei(e){return Math.max(...e.x.filter(Oi))}function Oi(e){return e!==null}function Ri(e){return e==null}function Ci(e){return e==null}function Mi(e){return qt.checkIfNullOrUndefined(e.x[e.x.length-1])||qt.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]}function Ii(e){return e==null}function Li(e){return e!==void 0}function $i(e){return e!==void 0}function Ni(e){return e.data}function Vi(e){return e!==void 0}function Di(e){return e.data}function Si(e,t){return e-t}function Ti(e){return e.date}exports.DumbbellChart=gi;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),Re=require("./index-Cno4Q0YE.cjs"),Ee=require("./parse-hMnG_lRV.cjs"),T=require("react"),Me=require("./getSliderMarks-BmADcPQt.cjs"),$e=require("./index-DQA8q5sC.cjs"),Ce=require("./numberFormattingFunction-02t-wJta.cjs"),Ne=require("./Tooltip-uUdw6wJL.cjs"),qt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ve=require("./AxisTitle-sS5bLLR7.cjs"),Ge=require("./Axis-DxRV2yMi.cjs"),Be=require("./XAxesLabels-Bt5NZBmX.cjs"),De=require("./YTicksAndGridLines-4pxTRlRK.cjs"),Se=require("./ReferenceLine-BH0qdf4R.cjs"),Ye=require("./XTicksAndGridLines-B6CELS7q.cjs"),Xe=require("./YAxesLabels-DesLesUP.cjs"),Te=require("./DetailsModal-BN0HDFlV.cjs"),qe=require("./linear-BwPAspcq.cjs"),Fe=require("./band-VYfcZeJ2.cjs"),Pe=require("./use-in-view-QcfiW0w3.cjs"),Tt=require("./proxy-BxvUI_9l.cjs"),We=require("./index-DG2bgAva.cjs"),Oe=require("./ensureCompleteData-pZ9QO6kB.cjs"),Ie=require("./GraphContainer-d8A46BK2.cjs"),He=require("./GraphHeader.cjs"),Le=require("./index-DRXx7m-C.cjs"),Ue=require("./GraphFooter.cjs"),ze=require("./ColorLegendWithMouseOver.cjs"),Je=require("./EmptyState-gLDRXBHm.cjs"),Ke=require("./Colors.cjs");function Qe(e){const t=i.compilerRuntimeExports.c(146),{data:u,leftMargin:Jt,rightMargin:se,topMargin:Kt,bottomMargin:Qt,dotColors:E,barPadding:Ft,showTicks:Mt,truncateBy:It,width:wt,height:jt,radius:ht,showLabels:At,tooltip:g,onSeriesMouseOver:at,maxValue:Lt,minValue:O,onSeriesMouseClick:ct,showValues:Zt,suffix:ft,prefix:q,selectedColor:F,arrowConnector:$,connectorStrokeWidth:Pt,maxBarThickness:kt,minBarThickness:$t,resetSelectionOnDoubleClick:_t,detailsOnClick:C,axisTitle:P,noOfTicks:Wt,valueColor:Nt,styles:s,classNames:n,labelOrder:y,refValues:Vt,animate:p,precision:m,customLayers:X,highlightedDataPoints:W,dimmedOpacity:ut}=e,b=Jt===void 0?20:Jt,Gt=se===void 0?20:se,Bt=Kt===void 0?20:Kt,Dt=Qt===void 0?25:Qt,te=T.useRef(null);let Yt;t[0]!==p.amount||t[1]!==p.once?(Yt={once:p.once,amount:p.amount},t[0]=p.amount,t[1]=p.once,t[2]=Yt):Yt=t[2];const H=Pe.useInView(te,Yt),U=P?b+30:b;let Xt;t[3]!==Dt||t[4]!==Gt||t[5]!==U||t[6]!==Bt?(Xt={top:Bt,bottom:Dt,left:U,right:Gt},t[3]=Dt,t[4]=Gt,t[5]=U,t[6]=Bt,t[7]=Xt):Xt=t[7];const l=Xt,o=wt-l.left-l.right,rt=jt-l.top-l.bottom,[lt,Ht]=T.useState(void 0),[yt,gt]=T.useState(void 0),[Ut,Et]=T.useState(void 0),[Ot,zt]=T.useState(void 0);let Ct;if(t[8]!==u||t[9]!==y){const f=new Set,h=u.map((v,w)=>{const a=y?`${v.label}`:`${w}`;return f.add(a),{...v,id:a}}),I=y?y.filter(v=>!f.has(v)):[];let mt;t[11]!==u[0]?(mt=v=>({id:v,label:v,x:Array(u[0].x.length).fill(null)}),t[11]=u[0],t[12]=mt):mt=t[12],Ct=[...h,...I.map(mt)],t[8]=u,t[9]=y,t[10]=Ct}else Ct=t[10];const G=Ct;let j;t[13]!==G||t[14]!==y?(j=y??G.map(li),t[13]=G,t[14]=y,t[15]=j):j=t[15];const St=j;let bt,z,J,K,Q,Z,A,R,M,_,tt,et,k,N,V;if(t[16]!==p||t[17]!==$||t[18]!==P||t[19]!==St||t[20]!==Ft||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.axis||t[24]!==n?.xAxis?.labels||t[25]!==n?.yAxis?.gridLines||t[26]!==n?.yAxis?.labels||t[27]!==n?.yAxis?.title||t[28]!==Pt||t[29]!==X||t[30]!==G||t[31]!==C||t[32]!==ut||t[33]!==E||t[34]!==rt||t[35]!==o||t[36]!==jt||t[37]!==W||t[38]!==H||t[39]!==b||t[40]!==l.bottom||t[41]!==l.left||t[42]!==l.right||t[43]!==l.top||t[44]!==kt||t[45]!==Lt||t[46]!==$t||t[47]!==O||t[48]!==yt||t[49]!==Wt||t[50]!==ct||t[51]!==at||t[52]!==m||t[53]!==q||t[54]!==ht||t[55]!==Vt||t[56]!==_t||t[57]!==F||t[58]!==At||t[59]!==Mt||t[60]!==Zt||t[61]!==s?.dataConnectors||t[62]!==s?.graphObjectValues||t[63]!==s?.xAxis?.axis||t[64]!==s?.xAxis?.labels||t[65]!==s?.yAxis?.gridLines||t[66]!==s?.yAxis?.labels||t[67]!==s?.yAxis?.title||t[68]!==ft||t[69]!==It||t[70]!==Nt||t[71]!==wt){const f=qe.linear().domain([O,Lt]).range([rt,0]).nice(),h=Fe.band().domain(St).range([0,$t?Math.max(o,$t*G.length):kt?Math.min(o,kt*G.length):o]).paddingInner(Ft),I=f.ticks(Wt);z=Tt.motion.svg,M=`${wt}px`,_=`${jt}px`,tt=`0 0 ${wt} ${jt}`,et="ltr",k=te,t[87]!==$?(N=$?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[87]=$,t[88]=N):N=t[88],K=`translate(${l.left},${l.top})`;const mt=f(O<0?0:O),v=f(O<0?0:O),w=O<0?0:O;let a;t[89]!==m||t[90]!==q||t[91]!==ft||t[92]!==w?(a=Ce.numberFormattingFunction(w,"NA",m,q,ft),t[89]=m,t[90]=q,t[91]=ft,t[92]=w,t[93]=a):a=t[93];const pt=n?.xAxis?.axis,ie=n?.yAxis?.labels;let vt;t[94]!==pt||t[95]!==ie?(vt={axis:pt,label:ie},t[94]=pt,t[95]=ie,t[96]=vt):vt=t[96];const ne=s?.xAxis?.axis,Y=s?.yAxis?.labels;let c;t[97]!==ne||t[98]!==Y?(c={axis:ne,label:Y},t[97]=ne,t[98]=Y,t[99]=c):c=t[99],Q=i.jsxRuntimeExports.jsx(Ge.Axis,{y1:mt,y2:v,x1:0-b,x2:o+l.right,label:a,labelPos:{x:0-b,dx:0,dy:Lt<0?"1em":-5,y:f(O<0?0:O)},classNames:vt,styles:c}),Z=Mt?i.jsxRuntimeExports.jsx(De.YTicksAndGridLines,{values:I.filter(ri),y:I.filter(ai).map(d=>f(d)),x1:0-b,x2:o+l.right,styles:{gridLines:s?.yAxis?.gridLines,labels:s?.yAxis?.labels},classNames:{gridLines:n?.yAxis?.gridLines,labels:n?.yAxis?.labels},suffix:ft,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:m}):null;const S=0-b-15,r=rt/2,L=s?.yAxis?.title,ae=n?.yAxis?.title;t[100]!==P||t[101]!==S||t[102]!==r||t[103]!==L||t[104]!==ae?(A=i.jsxRuntimeExports.jsx(Ve.AxisTitle,{x:S,y:r,style:L,className:ae,text:P,rotate90:!0}),t[100]=P,t[101]=S,t[102]=r,t[103]=L,t[104]=ae,t[105]=A):A=t[105],t[106]!==X?(R=X.filter(oi).map(si),t[106]=X,t[107]=R):R=t[107],bt=We.AnimatePresence,V=G.map(d=>i.jsxRuntimeExports.jsxs(Tt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:h(`${d.id}`)+h.bandwidth()/2,y:0,opacity:W.length!==0?W.indexOf(d.label)!==-1?.85:ut:.85},whileInView:{x:h(`${d.id}`)+h.bandwidth()/2,y:0,opacity:W.length!==0?W.indexOf(d.label)!==-1?.85:ut:.85,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",exit:{opacity:0,transition:{duration:p.duration}},children:[At?i.jsxRuntimeExports.jsx(Be.XAxesLabels,{value:`${d.label}`.length<It?`${d.label}`:`${`${d.label}`.substring(0,It)}...`,y:rt+5,x:0-h.bandwidth()/2,width:h.bandwidth(),height:l.bottom,style:s?.xAxis?.labels,className:n?.xAxis?.labels,alignment:"top",animate:p,isInView:H}):null,i.jsxRuntimeExports.jsx(Tt.motion.line,{x1:0,x2:0,style:{strokeWidth:Pt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:$&&d.x.indexOf(Math.min(...d.x.filter(ni)))===0?"url(#arrow)":"",markerStart:$&&d.x.indexOf(Math.min(...d.x.filter(ii)))===d.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:f(Math.min(...d.x.filter(ei)))+ht,y2:f(Math.max(...d.x.filter(ti)))-ht,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial"}),d.x.map((ee,ot)=>i.jsxRuntimeExports.jsx(Tt.motion.g,{onMouseEnter:oe=>{Ht({...d,xIndex:ot}),zt(oe.clientY),Et(oe.clientX),at?.({...d,xIndex:ot})},onClick:()=>{(ct||C)&&($e.isEqual(yt,{...d,xIndex:ot})&&_t?(gt(void 0),ct?.(void 0)):(gt({...d,xIndex:ot}),ct&&ct({...d,xIndex:ot})))},onMouseMove:oe=>{Ht({...d,xIndex:ot}),zt(oe.clientY),Et(oe.clientX)},onMouseLeave:()=>{Ht(void 0),Et(void 0),zt(void 0),at?.(void 0)},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{opacity:F?E[ot]===F?1:.3:1},whileInView:{opacity:F?E[ot]===F?1:.3:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",children:qt.checkIfNullOrUndefined(ee)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Tt.motion.circle,{cx:0,r:ht,style:{fill:E[ot],fillOpacity:.85,stroke:E[ot],strokeWidth:1},exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{cy:f(0),opacity:0},whileInView:{cy:f(ee||0),opacity:qt.checkIfNullOrUndefined(ee)?0:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial"}),Zt?i.jsxRuntimeExports.jsx(Tt.motion.text,{x:0,style:{textAnchor:"start",...s?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",qt.checkIfNullOrUndefined(ee)?"opacity-0":"opacity-100",n?.graphObjectValues),dx:ht+3,dy:"0.33em",exit:{opacity:0,transition:{duration:p.duration}},variants:{initial:{y:f(0),opacity:0,fill:Nt||E[ot]},whileInView:{y:f(ee||0),fill:Nt||E[ot],opacity:1,transition:{duration:p.duration}}},initial:"initial",animate:H?"whileInView":"initial",children:Ce.numberFormattingFunction(ee,"NA",m,q,ft)}):null]})},ot))]},d.label)),J=Vt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Vt.map((d,ee)=>i.jsxRuntimeExports.jsx(Se.RefLineY,{text:d.text,color:d.color,y:f(d.value),x1:0-b,x2:o+l.right,classNames:d.classNames,styles:d.styles,animate:p,isInView:H},ee))}):null,t[16]=p,t[17]=$,t[18]=P,t[19]=St,t[20]=Ft,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.axis,t[24]=n?.xAxis?.labels,t[25]=n?.yAxis?.gridLines,t[26]=n?.yAxis?.labels,t[27]=n?.yAxis?.title,t[28]=Pt,t[29]=X,t[30]=G,t[31]=C,t[32]=ut,t[33]=E,t[34]=rt,t[35]=o,t[36]=jt,t[37]=W,t[38]=H,t[39]=b,t[40]=l.bottom,t[41]=l.left,t[42]=l.right,t[43]=l.top,t[44]=kt,t[45]=Lt,t[46]=$t,t[47]=O,t[48]=yt,t[49]=Wt,t[50]=ct,t[51]=at,t[52]=m,t[53]=q,t[54]=ht,t[55]=Vt,t[56]=_t,t[57]=F,t[58]=At,t[59]=Mt,t[60]=Zt,t[61]=s?.dataConnectors,t[62]=s?.graphObjectValues,t[63]=s?.xAxis?.axis,t[64]=s?.xAxis?.labels,t[65]=s?.yAxis?.gridLines,t[66]=s?.yAxis?.labels,t[67]=s?.yAxis?.title,t[68]=ft,t[69]=It,t[70]=Nt,t[71]=wt,t[72]=bt,t[73]=z,t[74]=J,t[75]=K,t[76]=Q,t[77]=Z,t[78]=A,t[79]=R,t[80]=M,t[81]=_,t[82]=tt,t[83]=et,t[84]=k,t[85]=N,t[86]=V}else bt=t[72],z=t[73],J=t[74],K=t[75],Q=t[76],Z=t[77],A=t[78],R=t[79],M=t[80],_=t[81],tt=t[82],et=t[83],k=t[84],N=t[85],V=t[86];let it;t[108]!==bt||t[109]!==J||t[110]!==V?(it=i.jsxRuntimeExports.jsxs(bt,{children:[V,J]}),t[108]=bt,t[109]=J,t[110]=V,t[111]=it):it=t[111];let nt;t[112]!==X?(nt=X.filter(_e).map(Ze),t[112]=X,t[113]=nt):nt=t[113];let xt;t[114]!==K||t[115]!==Q||t[116]!==Z||t[117]!==A||t[118]!==R||t[119]!==it||t[120]!==nt?(xt=i.jsxRuntimeExports.jsxs("g",{transform:K,children:[Q,Z,A,R,it,nt]}),t[114]=K,t[115]=Q,t[116]=Z,t[117]=A,t[118]=R,t[119]=it,t[120]=nt,t[121]=xt):xt=t[121];let D;t[122]!==z||t[123]!==M||t[124]!==_||t[125]!==tt||t[126]!==et||t[127]!==k||t[128]!==N||t[129]!==xt?(D=i.jsxRuntimeExports.jsxs(z,{width:M,height:_,viewBox:tt,direction:et,ref:k,children:[N,xt]}),t[122]=z,t[123]=M,t[124]=_,t[125]=tt,t[126]=et,t[127]=k,t[128]=N,t[129]=xt,t[130]=D):D=t[130];let B;t[131]!==n?.tooltip||t[132]!==Ut||t[133]!==Ot||t[134]!==lt||t[135]!==s?.tooltip||t[136]!==g?(B=lt&&g&&Ut&&Ot?i.jsxRuntimeExports.jsx(Ne.Tooltip,{data:lt,body:g,xPos:Ut,yPos:Ot,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[131]=n?.tooltip,t[132]=Ut,t[133]=Ot,t[134]=lt,t[135]=s?.tooltip,t[136]=g,t[137]=B):B=t[137];let st;t[138]!==n?.modal||t[139]!==C||t[140]!==yt?(st=C&&yt!==void 0?i.jsxRuntimeExports.jsx(Te.DetailsModal,{body:C,data:yt,setData:gt,className:n?.modal}):null,t[138]=n?.modal,t[139]=C,t[140]=yt,t[141]=st):st=t[141];let dt;return t[142]!==D||t[143]!==B||t[144]!==st?(dt=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[D,B,st]}),t[142]=D,t[143]=B,t[144]=st,t[145]=dt):dt=t[145],dt}function Ze(e){return e.layer}function _e(e){return e.position==="after"}function ti(e){return e!==null}function ei(e){return e!==null}function ii(e){return e!==null}function ni(e){return e!==null}function si(e){return e.layer}function oi(e){return e.position==="before"}function ai(e){return e!==0}function ri(e){return e!==0}function li(e){return`${e.id}`}function ci(e){const t=i.compilerRuntimeExports.c(139),{data:u,leftMargin:Jt,rightMargin:se,topMargin:Kt,bottomMargin:Qt,dotColors:E,suffix:Ft,prefix:Mt,barPadding:It,showValues:wt,showTicks:jt,truncateBy:ht,width:At,height:g,radius:at,showLabels:Lt,tooltip:O,onSeriesMouseOver:ct,maxValue:Zt,minValue:ft,onSeriesMouseClick:q,selectedColor:F,arrowConnector:$,connectorStrokeWidth:Pt,maxBarThickness:kt,minBarThickness:$t,resetSelectionOnDoubleClick:_t,detailsOnClick:C,axisTitle:P,noOfTicks:Wt,valueColor:Nt,styles:s,classNames:n,labelOrder:y,refValues:Vt,rtl:p,animate:m,precision:X,customLayers:W,highlightedDataPoints:ut,dimmedOpacity:b}=e,Gt=Jt===void 0?100:Jt,Bt=se===void 0?40:se,Dt=Kt===void 0?20:Kt,te=Qt===void 0?10:Qt,Yt=T.useRef(null);let H;t[0]!==m.amount||t[1]!==m.once?(H={once:m.once,amount:m.amount},t[0]=m.amount,t[1]=m.once,t[2]=H):H=t[2];const U=Pe.useInView(Yt,H),Xt=P?Dt+25:Dt;let l;t[3]!==te||t[4]!==Gt||t[5]!==Bt||t[6]!==Xt?(l={top:Xt,bottom:te,left:Gt,right:Bt},t[3]=te,t[4]=Gt,t[5]=Bt,t[6]=Xt,t[7]=l):l=t[7];const o=l,rt=At-o.left-o.right,lt=g-o.top-o.bottom,[Ht,yt]=T.useState(void 0),[gt,Ut]=T.useState(void 0),[Et,Ot]=T.useState(void 0),[zt,Ct]=T.useState(void 0);let G;if(t[8]!==u||t[9]!==y){const h=new Set,I=u.map((w,a)=>{const pt=y?`${w.label}`:`${a}`;return h.add(pt),{...w,id:pt}}),mt=y?y.filter(w=>!h.has(w)):[];let v;t[11]!==u[0]?(v=w=>({id:w,label:w,x:Array(u[0].x.length).fill(null)}),t[11]=u[0],t[12]=v):v=t[12],G=[...I,...mt.map(v)],t[8]=u,t[9]=y,t[10]=G}else G=t[10];const j=G;let St;t[13]!==j||t[14]!==y?(St=y??j.map(vi),t[13]=j,t[14]=y,t[15]=St):St=t[15];const bt=St;let z,J,K,Q,Z,A,R,M,_,tt,et,k,N,V,it;if(t[16]!==m||t[17]!==$||t[18]!==P||t[19]!==bt||t[20]!==It||t[21]!==n?.dataConnectors||t[22]!==n?.graphObjectValues||t[23]!==n?.xAxis?.gridLines||t[24]!==n?.xAxis?.labels||t[25]!==n?.xAxis?.title||t[26]!==n?.yAxis?.gridLines||t[27]!==n?.yAxis?.labels||t[28]!==Pt||t[29]!==W||t[30]!==j||t[31]!==C||t[32]!==b||t[33]!==E||t[34]!==lt||t[35]!==rt||t[36]!==g||t[37]!==ut||t[38]!==U||t[39]!==o.bottom||t[40]!==o.left||t[41]!==o.top||t[42]!==kt||t[43]!==Zt||t[44]!==$t||t[45]!==ft||t[46]!==gt||t[47]!==Wt||t[48]!==q||t[49]!==ct||t[50]!==X||t[51]!==Mt||t[52]!==at||t[53]!==Vt||t[54]!==_t||t[55]!==p||t[56]!==F||t[57]!==Lt||t[58]!==jt||t[59]!==wt||t[60]!==s?.dataConnectors||t[61]!==s?.graphObjectValues||t[62]!==s?.xAxis?.gridLines||t[63]!==s?.xAxis?.labels||t[64]!==s?.xAxis?.title||t[65]!==s?.yAxis?.gridLines||t[66]!==s?.yAxis?.labels||t[67]!==Ft||t[68]!==Dt||t[69]!==ht||t[70]!==Nt||t[71]!==At){const h=qe.linear().domain([ft,Zt]).range([0,rt]).nice(),I=Fe.band().domain(bt).range([0,$t?Math.max(lt,$t*j.length):kt?Math.min(lt,kt*j.length):lt]).paddingInner(It),mt=h.ticks(Wt);J=Tt.motion.svg,_=`${At}px`,tt=`${g}px`,et=`0 0 ${At} ${g}`,k="ltr",N=Yt,t[87]!==$?(V=$?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,t[87]=$,t[88]=V):V=t[88],Q=`translate(${o.left},${o.top})`,Z=jt?i.jsxRuntimeExports.jsx(Ye.XTicksAndGridLines,{values:mt.filter(bi),x:mt.filter(gi).map(c=>h(c)),y1:0-Dt,y2:lt+o.bottom,styles:{gridLines:s?.xAxis?.gridLines,labels:s?.xAxis?.labels},classNames:{gridLines:n?.xAxis?.gridLines,labels:n?.xAxis?.labels},suffix:Ft,prefix:Mt,labelType:"secondary",showGridLines:!0,precision:X}):null;const v=rt/2,w=0-o.top+15,a=s?.xAxis?.title,pt=n?.xAxis?.title;t[89]!==P||t[90]!==v||t[91]!==w||t[92]!==a||t[93]!==pt?(A=i.jsxRuntimeExports.jsx(Ve.AxisTitle,{x:v,y:w,style:a,className:pt,text:P}),t[89]=P,t[90]=v,t[91]=w,t[92]=a,t[93]=pt,t[94]=A):A=t[94];const ie=s?.yAxis?.gridLines;let vt;t[95]!==ie?(vt={gridLines:ie},t[95]=ie,t[96]=vt):vt=t[96];const ne=n?.yAxis?.gridLines;let Y;t[97]!==ne?(Y={gridLines:ne},t[97]=ne,t[98]=Y):Y=t[98],R=i.jsxRuntimeExports.jsx(De.YTicksAndGridLines,{y:j.map(c=>I(`${c.id}`)+I.bandwidth()/2),x1:0,x2:rt,styles:vt,classNames:Y,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:X}),t[99]!==W?(M=W.filter(yi).map(fi),t[99]=W,t[100]=M):M=t[100],z=We.AnimatePresence,it=j.map(c=>i.jsxRuntimeExports.jsxs(Tt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:I(`${c.id}`)+I.bandwidth()/2,opacity:ut.length!==0?ut.indexOf(c.label)!==-1?.85:b:.85},whileInView:{x:0,y:I(`${c.id}`)+I.bandwidth()/2,opacity:ut.length!==0?ut.indexOf(c.label)!==-1?.85:b:.85,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:m.duration}},children:[Lt?i.jsxRuntimeExports.jsx(Xe.YAxesLabels,{value:`${c.label}`.length<ht?`${c.label}`:`${`${c.label}`.substring(0,ht)}...`,y:0-I.bandwidth()/2,x:0-o.left,width:o.left,height:I.bandwidth(),alignment:"right",style:s?.yAxis?.labels,className:n?.yAxis?.labels,animate:m,isInView:U}):null,i.jsxRuntimeExports.jsx(Tt.motion.line,{y1:0,y2:0,style:{strokeWidth:Pt,...s?.dataConnectors||{},opacity:F?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",n?.dataConnectors),markerEnd:$&&c.x.indexOf(Math.min(...c.x.filter(hi)))===0?"url(#arrow)":"",markerStart:$&&c.x.indexOf(Math.min(...c.x.filter(pi)))===c.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:h(Math.min(...c.x.filter(mi)))+at,x2:h(Math.max(...c.x.filter(di)))-at,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),c.x.map((S,r)=>i.jsxRuntimeExports.jsx(Tt.motion.g,{onMouseEnter:L=>{yt({...c,xIndex:r}),Ct(L.clientY),Ot(L.clientX),ct?.({...c,xIndex:r})},onClick:()=>{(q||C)&&($e.isEqual(gt,{...c,xIndex:r})&&_t?(Ut(void 0),q?.(void 0)):(Ut({...c,xIndex:r}),q&&q({...c,xIndex:r})))},onMouseMove:L=>{yt({...c,xIndex:r}),Ct(L.clientY),Ot(L.clientX)},onMouseLeave:()=>{yt(void 0),Ot(void 0),Ct(void 0),ct?.(void 0)},exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{opacity:F?E[r]===F?1:.3:1},whileInView:{opacity:F?E[r]===F?1:.3:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:qt.checkIfNullOrUndefined(S)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Tt.motion.circle,{cy:0,r:at,style:{fill:E[r],fillOpacity:.85,stroke:E[r],strokeWidth:1,opacity:qt.checkIfNullOrUndefined(S)?0:1},exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{cx:h(0),opacity:0},whileInView:{cx:h(S||0),opacity:qt.checkIfNullOrUndefined(S)?0:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),wt?i.jsxRuntimeExports.jsx(Tt.motion.text,{y:0,style:{textAnchor:"middle",...s?.graphObjectValues||{}},dx:0,dy:0-at-3,className:i.mo("graph-value text-sm font-bold",qt.checkIfNullOrUndefined(S)?"0opacity-0":"opacity-100",n?.graphObjectValues),exit:{opacity:0,transition:{duration:m.duration}},variants:{initial:{x:h(0),opacity:0,fill:Nt||E[r]},whileInView:{x:h(S||0),fill:Nt||E[r],opacity:1,transition:{duration:m.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:Ce.numberFormattingFunction(S,"NA",X,Mt,Ft)}):null]})},r))]},c.label)),K=Vt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:Vt.map((c,S)=>i.jsxRuntimeExports.jsx(Se.RefLineX,{text:c.text,color:c.color,x:h(c.value),y1:0-o.top,y2:lt+o.bottom,textSide:h(c.value)>rt*.75||p?"left":"right",classNames:c.classNames,styles:c.styles,animate:m,isInView:U},S))}):null,t[16]=m,t[17]=$,t[18]=P,t[19]=bt,t[20]=It,t[21]=n?.dataConnectors,t[22]=n?.graphObjectValues,t[23]=n?.xAxis?.gridLines,t[24]=n?.xAxis?.labels,t[25]=n?.xAxis?.title,t[26]=n?.yAxis?.gridLines,t[27]=n?.yAxis?.labels,t[28]=Pt,t[29]=W,t[30]=j,t[31]=C,t[32]=b,t[33]=E,t[34]=lt,t[35]=rt,t[36]=g,t[37]=ut,t[38]=U,t[39]=o.bottom,t[40]=o.left,t[41]=o.top,t[42]=kt,t[43]=Zt,t[44]=$t,t[45]=ft,t[46]=gt,t[47]=Wt,t[48]=q,t[49]=ct,t[50]=X,t[51]=Mt,t[52]=at,t[53]=Vt,t[54]=_t,t[55]=p,t[56]=F,t[57]=Lt,t[58]=jt,t[59]=wt,t[60]=s?.dataConnectors,t[61]=s?.graphObjectValues,t[62]=s?.xAxis?.gridLines,t[63]=s?.xAxis?.labels,t[64]=s?.xAxis?.title,t[65]=s?.yAxis?.gridLines,t[66]=s?.yAxis?.labels,t[67]=Ft,t[68]=Dt,t[69]=ht,t[70]=Nt,t[71]=At,t[72]=z,t[73]=J,t[74]=K,t[75]=Q,t[76]=Z,t[77]=A,t[78]=R,t[79]=M,t[80]=_,t[81]=tt,t[82]=et,t[83]=k,t[84]=N,t[85]=V,t[86]=it}else z=t[72],J=t[73],K=t[74],Q=t[75],Z=t[76],A=t[77],R=t[78],M=t[79],_=t[80],tt=t[81],et=t[82],k=t[83],N=t[84],V=t[85],it=t[86];let nt;t[101]!==z||t[102]!==K||t[103]!==it?(nt=i.jsxRuntimeExports.jsxs(z,{children:[it,K]}),t[101]=z,t[102]=K,t[103]=it,t[104]=nt):nt=t[104];let xt;t[105]!==W?(xt=W.filter(xi).map(ui),t[105]=W,t[106]=xt):xt=t[106];let D;t[107]!==Q||t[108]!==Z||t[109]!==A||t[110]!==R||t[111]!==M||t[112]!==nt||t[113]!==xt?(D=i.jsxRuntimeExports.jsxs("g",{transform:Q,children:[Z,A,R,M,nt,xt]}),t[107]=Q,t[108]=Z,t[109]=A,t[110]=R,t[111]=M,t[112]=nt,t[113]=xt,t[114]=D):D=t[114];let B;t[115]!==J||t[116]!==_||t[117]!==tt||t[118]!==et||t[119]!==k||t[120]!==N||t[121]!==V||t[122]!==D?(B=i.jsxRuntimeExports.jsxs(J,{width:_,height:tt,viewBox:et,direction:k,ref:N,children:[V,D]}),t[115]=J,t[116]=_,t[117]=tt,t[118]=et,t[119]=k,t[120]=N,t[121]=V,t[122]=D,t[123]=B):B=t[123];let st;t[124]!==n?.tooltip||t[125]!==Et||t[126]!==zt||t[127]!==Ht||t[128]!==s?.tooltip||t[129]!==O?(st=Ht&&O&&Et&&zt?i.jsxRuntimeExports.jsx(Ne.Tooltip,{data:Ht,body:O,xPos:Et,yPos:zt,backgroundStyle:s?.tooltip,className:n?.tooltip}):null,t[124]=n?.tooltip,t[125]=Et,t[126]=zt,t[127]=Ht,t[128]=s?.tooltip,t[129]=O,t[130]=st):st=t[130];let dt;t[131]!==n?.modal||t[132]!==C||t[133]!==gt?(dt=C&>!==void 0?i.jsxRuntimeExports.jsx(Te.DetailsModal,{body:C,data:gt,setData:Ut,className:n?.modal}):null,t[131]=n?.modal,t[132]=C,t[133]=gt,t[134]=dt):dt=t[134];let f;return t[135]!==B||t[136]!==st||t[137]!==dt?(f=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[B,st,dt]}),t[135]=B,t[136]=st,t[137]=dt,t[138]=f):f=t[138],f}function ui(e){return e.layer}function xi(e){return e.position==="after"}function di(e){return e!==null}function mi(e){return e!==null}function pi(e){return e!==null}function hi(e){return e!==null}function fi(e){return e.layer}function yi(e){return e.position==="before"}function gi(e,t){return t!==0}function bi(e,t){return t!==0}function vi(e){return`${e.id}`}function wi(e){const t=i.compilerRuntimeExports.c(130),{data:u,graphTitle:Jt,colors:se,sources:Kt,graphDescription:Qt,barPadding:E,showTicks:Ft,leftMargin:Mt,rightMargin:It,topMargin:wt,bottomMargin:jt,truncateBy:ht,height:At,width:g,footNote:at,colorDomain:Lt,colorLegendTitle:O,padding:ct,backgroundColor:Zt,radius:ft,tooltip:q,showLabels:F,relativeHeight:$,onSeriesMouseOver:Pt,graphID:kt,suffix:$t,prefix:_t,maxValue:C,minValue:P,onSeriesMouseClick:Wt,graphDownload:Nt,dataDownload:s,showValues:n,sortParameter:y,arrowConnector:Vt,connectorStrokeWidth:p,language:m,minHeight:X,theme:W,maxBarThickness:ut,maxNumberOfBars:b,minBarThickness:Gt,ariaLabel:Bt,resetSelectionOnDoubleClick:Dt,detailsOnClick:te,axisTitle:Yt,noOfTicks:H,valueColor:U,orientation:Xt,styles:l,classNames:o,labelOrder:rt,refValues:lt,filterNA:Ht,animate:yt,precision:gt,showColorScale:Ut,customLayers:Et,highlightedDataPoints:Ot,dimmedOpacity:zt,timeline:Ct,sortData:G}=e,j=se===void 0?Ke.Colors.light.categoricalColors.colors:se,St=E===void 0?.25:E,bt=Ft===void 0?!0:Ft,z=ht===void 0?999:ht,J=Zt===void 0?!0:Zt,K=ft===void 0?3:ft,Q=F===void 0?!0:F,Z=$t===void 0?"":$t,A=_t===void 0?"":_t,R=Nt===void 0?!1:Nt,M=s===void 0?!1:s,_=n===void 0?!0:n,tt=Vt===void 0?!1:Vt,et=p===void 0?2:p,k=m===void 0?"en":m,N=X===void 0?0:X,V=W===void 0?"light":W,it=Dt===void 0?!0:Dt,nt=H===void 0?5:H,xt=Xt===void 0?"vertical":Xt,D=Ht===void 0?!0:Ht,B=yt===void 0?!1:yt,st=gt===void 0?2:gt,dt=Ut===void 0?!0:Ut;let f;t[0]!==Et?(f=Et===void 0?[]:Et,t[0]=Et,t[1]=f):f=t[1];const h=f;let I;t[2]!==Ot?(I=Ot===void 0?[]:Ot,t[2]=Ot,t[3]=I):I=t[3];const mt=I,v=zt===void 0?.3:zt;let w;t[4]!==Ct?(w=Ct===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:Ct,t[4]=Ct,t[5]=w):w=t[5];const a=w,[pt,ie]=T.useState(0),[vt,ne]=T.useState(0),[Y,c]=T.useState(a.autoplay);let S;if(t[6]!==u||t[7]!==a.dateFormat){let x;t[9]!==a.dateFormat?(x=Rt=>Ee.parse(`${Rt.date}`,a.dateFormat||"yyyy",new Date).getTime(),t[9]=a.dateFormat,t[10]=x):x=t[10],S=[...new Set(u.filter(Pi).map(x))],S.sort(Fi),t[6]=u,t[7]=a.dateFormat,t[8]=S}else S=t[8];const r=S,[L,ae]=T.useState(a.autoplay?0:r.length-1),[d,ee]=T.useState(void 0),ot=T.useRef(null),oe=T.useRef(null);let pe,he;t[11]===Symbol.for("react.memo_cache_sentinel")?(pe=()=>{const x=new ResizeObserver(Rt=>{ie(Rt[0].target.clientWidth||620),ne(Rt[0].target.clientHeight||480)});return ot.current&&x.observe(ot.current),()=>x.disconnect()},he=[],t[11]=pe,t[12]=he):(pe=t[11],he=t[12]),T.useEffect(pe,he);let fe,ye;t[13]!==Y||t[14]!==a.speed||t[15]!==r?(fe=()=>{const x=setInterval(()=>{ae(Rt=>Rt<r.length-1?Rt+1:0)},(a.speed||2)*1e3);return Y||clearInterval(x),()=>clearInterval(x)},ye=[r,Y,a.speed],t[13]=Y,t[14]=a.speed,t[15]=r,t[16]=fe,t[17]=ye):(fe=t[16],ye=t[17]),T.useEffect(fe,ye);const we=a.dateFormat||"yyyy";let ge;t[18]!==L||t[19]!==we||t[20]!==a.showOnlyActiveDate||t[21]!==r?(ge=Me.getSliderMarks(r,L,a.showOnlyActiveDate,we),t[18]=L,t[19]=we,t[20]=a.showOnlyActiveDate,t[21]=r,t[22]=ge):ge=t[22];const be=ge,je=xt==="horizontal"?ci:Qe,Ae=o?.graphContainer,ke=l?.graphContainer;let re;t[23]!==o?.description||t[24]!==o?.title||t[25]!==u||t[26]!==M||t[27]!==Qt||t[28]!==R||t[29]!==Jt||t[30]!==l?.description||t[31]!==l?.title||t[32]!==g?(re=Jt||Qt||R||M?i.jsxRuntimeExports.jsx(He.GraphHeader,{styles:{title:l?.title,description:l?.description},classNames:{title:o?.title,description:o?.description},graphTitle:Jt,graphDescription:Qt,width:g,graphDownload:R?oe:void 0,dataDownload:M?u.map(qi).filter(Ti).length>0?u.map(Si).filter(Di):u.filter(Vi):null}):null,t[23]=o?.description,t[24]=o?.title,t[25]=u,t[26]=M,t[27]=Qt,t[28]=R,t[29]=Jt,t[30]=l?.description,t[31]=l?.title,t[32]=g,t[33]=re):re=t[33];let le;t[34]!==L||t[35]!==be||t[36]!==Y||t[37]!==a.enabled||t[38]!==r?(le=a.enabled&&r.length>0&&be?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{c(!Y)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":Y?"Click to pause animation":"Click to play animation",children:Y?i.jsxRuntimeExports.jsx(Le.Pause,{}):i.jsxRuntimeExports.jsx(Le.Play,{})}),i.jsxRuntimeExports.jsx(Me.Nr,{min:r[0],max:r[r.length-1],marks:be,step:null,defaultValue:r[r.length-1],value:r[L],onChangeComplete:x=>{ae(r.indexOf(x))},onChange:x=>{ae(r.indexOf(x))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,t[34]=L,t[35]=be,t[36]=Y,t[37]=a.enabled,t[38]=r,t[39]=le):le=t[39];let ce;t[40]!==o?.colorLegend||t[41]!==Lt||t[42]!==O||t[43]!==j||t[44]!==u.length||t[45]!==dt||t[46]!==g?(ce=dt&&u.length>0?i.jsxRuntimeExports.jsx(ze.ColorLegendWithMouseOver,{width:g,colorDomain:Lt,colors:j,colorLegendTitle:O,setSelectedColor:ee,showNAColor:!1,className:o?.colorLegend}):null,t[40]=o?.colorLegend,t[41]=Lt,t[42]=O,t[43]=j,t[44]=u.length,t[45]=dt,t[46]=g,t[47]=ce):ce=t[47];let ue;t[48]!==u.length?(ue=u.length===0&&i.jsxRuntimeExports.jsx(Je.EmptyState,{}),t[48]=u.length,t[49]=ue):ue=t[49];let xe;t[50]!==je||t[51]!==B||t[52]!==tt||t[53]!==Yt||t[54]!==St||t[55]!==jt||t[56]!==o||t[57]!==j||t[58]!==et||t[59]!==h||t[60]!==u||t[61]!==te||t[62]!==v||t[63]!==D||t[64]!==mt||t[65]!==L||t[66]!==rt||t[67]!==k||t[68]!==Mt||t[69]!==ut||t[70]!==b||t[71]!==C||t[72]!==Gt||t[73]!==P||t[74]!==nt||t[75]!==Wt||t[76]!==Pt||t[77]!==st||t[78]!==A||t[79]!==K||t[80]!==lt||t[81]!==it||t[82]!==It||t[83]!==d||t[84]!==Q||t[85]!==bt||t[86]!==_||t[87]!==G||t[88]!==y||t[89]!==l||t[90]!==Z||t[91]!==vt||t[92]!==pt||t[93]!==a.dateFormat||t[94]!==a.enabled||t[95]!==q||t[96]!==wt||t[97]!==z||t[98]!==r||t[99]!==U?(xe=pt&&vt&&u.length>0?i.jsxRuntimeExports.jsx(je,{data:y!==void 0?y==="diff"?Re.orderBy(Oe.ensureCompleteDataForDumbbellChart(u,a.dateFormat||"yyyy").filter(x=>a.enabled?x.date===Ee.format(new Date(r[L]),a.dateFormat||"yyyy"):x).filter(x=>D?!x.x.every(Ni):x),$i,[G||"asc"]).filter((x,Rt)=>b?Rt<b:!0):Re.orderBy(Oe.ensureCompleteDataForDumbbellChart(u,a.dateFormat||"yyyy").filter(x=>a.enabled?x.date===Ee.format(new Date(r[L]),a.dateFormat||"yyyy"):x).filter(x=>D?!x.x.every(Li):x),x=>qt.checkIfNullOrUndefined(x.x[y])?-1/0:x.x[y],[G||"asc"]).filter((x,Rt)=>b?Rt<b:!0):Oe.ensureCompleteDataForDumbbellChart(u,a.dateFormat||"yyyy").filter(x=>D?!x.x.every(Ii):x).filter((x,Rt)=>b?Rt<b:!0),dotColors:j,width:pt,height:vt,radius:K,barPadding:St,showTicks:bt,leftMargin:Mt,rightMargin:It,topMargin:wt,bottomMargin:jt,truncateBy:z,showLabels:Q,showValues:_,tooltip:q,suffix:Z,prefix:A,onSeriesMouseOver:Pt,maxValue:qt.checkIfNullOrUndefined(C)?Math.max(...u.map(Ri))<0?0:Math.max(...u.map(Oi)):C,minValue:qt.checkIfNullOrUndefined(P)?Math.min(...u.map(ki))>0?0:Math.min(...u.map(ji)):P,onSeriesMouseClick:Wt,selectedColor:d,arrowConnector:tt,connectorStrokeWidth:et,maxBarThickness:ut,minBarThickness:Gt,resetSelectionOnDoubleClick:it,detailsOnClick:te,axisTitle:Yt,noOfTicks:nt,valueColor:U,styles:l,classNames:o,labelOrder:rt,refValues:lt,animate:B===!0?{duration:.5,once:!0,amount:.5}:B||{duration:0,once:!0,amount:0},precision:st,customLayers:h,highlightedDataPoints:mt,dimmedOpacity:v,rtl:k==="ar"||k==="he"}):null,t[50]=je,t[51]=B,t[52]=tt,t[53]=Yt,t[54]=St,t[55]=jt,t[56]=o,t[57]=j,t[58]=et,t[59]=h,t[60]=u,t[61]=te,t[62]=v,t[63]=D,t[64]=mt,t[65]=L,t[66]=rt,t[67]=k,t[68]=Mt,t[69]=ut,t[70]=b,t[71]=C,t[72]=Gt,t[73]=P,t[74]=nt,t[75]=Wt,t[76]=Pt,t[77]=st,t[78]=A,t[79]=K,t[80]=lt,t[81]=it,t[82]=It,t[83]=d,t[84]=Q,t[85]=bt,t[86]=_,t[87]=G,t[88]=y,t[89]=l,t[90]=Z,t[91]=vt,t[92]=pt,t[93]=a.dateFormat,t[94]=a.enabled,t[95]=q,t[96]=wt,t[97]=z,t[98]=r,t[99]=U,t[100]=xe):xe=t[100];let de;t[101]!==ue||t[102]!==xe?(de=i.jsxRuntimeExports.jsxs(Ie.GraphArea,{ref:ot,children:[ue,xe]}),t[101]=ue,t[102]=xe,t[103]=de):de=t[103];let me;t[104]!==o?.footnote||t[105]!==o?.source||t[106]!==at||t[107]!==Kt||t[108]!==l?.footnote||t[109]!==l?.source||t[110]!==g?(me=Kt||at?i.jsxRuntimeExports.jsx(Ue.GraphFooter,{styles:{footnote:l?.footnote,source:l?.source},classNames:{footnote:o?.footnote,source:o?.source},sources:Kt,footNote:at,width:g}):null,t[104]=o?.footnote,t[105]=o?.source,t[106]=at,t[107]=Kt,t[108]=l?.footnote,t[109]=l?.source,t[110]=g,t[111]=me):me=t[111];let ve;return t[112]!==Bt||t[113]!==J||t[114]!==kt||t[115]!==At||t[116]!==k||t[117]!==N||t[118]!==ct||t[119]!==$||t[120]!==Ae||t[121]!==ke||t[122]!==re||t[123]!==le||t[124]!==ce||t[125]!==de||t[126]!==me||t[127]!==V||t[128]!==g?(ve=i.jsxRuntimeExports.jsxs(Ie.GraphContainer,{className:Ae,style:ke,id:kt,ref:oe,"aria-label":Bt,backgroundColor:J,theme:V,language:k,minHeight:N,width:g,height:At,relativeHeight:$,padding:ct,children:[re,le,ce,de,me]}),t[112]=Bt,t[113]=J,t[114]=kt,t[115]=At,t[116]=k,t[117]=N,t[118]=ct,t[119]=$,t[120]=Ae,t[121]=ke,t[122]=re,t[123]=le,t[124]=ce,t[125]=de,t[126]=me,t[127]=V,t[128]=g,t[129]=ve):ve=t[129],ve}function ji(e){return Math.min(...e.x.filter(Ai))}function Ai(e){return e!==null}function ki(e){return Math.min(...e.x.filter(Ei))}function Ei(e){return e!==null}function Oi(e){return Math.max(...e.x.filter(Ci))}function Ci(e){return e!==null}function Ri(e){return Math.max(...e.x.filter(Mi))}function Mi(e){return e!==null}function Ii(e){return e==null}function Li(e){return e==null}function $i(e){return qt.checkIfNullOrUndefined(e.x[e.x.length-1])||qt.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]}function Ni(e){return e==null}function Vi(e){return e!==void 0}function Di(e){return e!==void 0}function Si(e){return e.data}function Ti(e){return e!==void 0}function qi(e){return e.data}function Fi(e,t){return e-t}function Pi(e){return e.date}exports.DumbbellChart=wi;
|
|
2
2
|
//# sourceMappingURL=DumbbellChart.cjs.map
|