@undp/data-viz 1.5.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.d.ts +1 -0
- package/dist/AreaChart.js +420 -520
- package/dist/AreaChart.js.map +1 -1
- package/dist/Axis-CRyfcLjc.js +32 -0
- package/dist/Axis-CRyfcLjc.js.map +1 -0
- package/dist/Axis-DxRV2yMi.cjs +2 -0
- package/dist/Axis-DxRV2yMi.cjs.map +1 -0
- package/dist/AxisTitle-jeI7am8o.js +29 -0
- package/dist/AxisTitle-jeI7am8o.js.map +1 -0
- package/dist/AxisTitle-sS5bLLR7.cjs +2 -0
- package/dist/AxisTitle-sS5bLLR7.cjs.map +1 -0
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +1 -0
- package/dist/BarGraph.js +2188 -4045
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.cjs.map +1 -1
- package/dist/BasicStatCard.d.ts +1 -0
- package/dist/BasicStatCard.js +120 -186
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +5 -0
- package/dist/BeeSwarmChart.js +501 -1019
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +3 -0
- package/dist/BiVariateChoroplethMap.js +458 -706
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +1 -0
- package/dist/BulletChart.js +863 -1414
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.d.ts +1 -0
- package/dist/ButterflyChart.js +474 -684
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +3 -0
- package/dist/ChoroplethMap.js +469 -731
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.d.ts +1 -0
- package/dist/CirclePackingGraph.js +5 -4
- package/dist/CirclePackingGraph.js.map +1 -1
- package/dist/ColorLegend.cjs +1 -1
- package/dist/ColorLegend.cjs.map +1 -1
- package/dist/ColorLegend.js +57 -44
- package/dist/ColorLegend.js.map +1 -1
- package/dist/ColorLegendWithMouseOver.cjs +1 -1
- package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ColorLegendWithMouseOver.js +60 -65
- package/dist/ColorLegendWithMouseOver.js.map +1 -1
- package/dist/Colors.cjs.map +1 -1
- package/dist/Colors.js +44 -430
- package/dist/Colors.js.map +1 -1
- package/dist/CopyTextButton.cjs +4 -4
- package/dist/CopyTextButton.cjs.map +1 -1
- package/dist/CopyTextButton.js +537 -455
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +7 -7
- package/dist/CsvDownloadButton.cjs.map +1 -1
- package/dist/CsvDownloadButton.js +442 -447
- package/dist/CsvDownloadButton.js.map +1 -1
- package/dist/DataCards.cjs +5 -5
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.d.ts +1 -0
- package/dist/DataCards.js +488 -581
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.d.ts +1 -0
- package/dist/DataTable.js +183 -326
- package/dist/DataTable.js.map +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.d.ts +1 -0
- package/dist/DifferenceLineChart.js +729 -794
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.d.ts +1 -4
- package/dist/DonutChart.js +260 -444
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +3 -0
- package/dist/DotDensityMap.js +388 -582
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/{DropdownSelect-CtOKZHD0.js → DropdownSelect-BbdPQa2k.js} +1401 -1374
- package/dist/DropdownSelect-BbdPQa2k.js.map +1 -0
- package/dist/DropdownSelect-Doz3mCrM.cjs +29 -0
- package/dist/DropdownSelect-Doz3mCrM.cjs.map +1 -0
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.d.ts +1 -0
- package/dist/DualAxisLineChart.js +617 -712
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +1 -0
- package/dist/DumbbellChart.js +789 -1499
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/EmptyState-BZo1BbAn.js +15 -0
- package/dist/{EmptyState-DdTp-Mdn.js.map → EmptyState-BZo1BbAn.js.map} +1 -1
- package/dist/EmptyState-sAEZ_5rU.cjs +2 -0
- package/dist/{EmptyState-d8_8SxeW.cjs.map → EmptyState-sAEZ_5rU.cjs.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +1 -1
- package/dist/ExcelDownloadButton.cjs.map +1 -1
- package/dist/ExcelDownloadButton.js +20 -24
- package/dist/ExcelDownloadButton.js.map +1 -1
- package/dist/FootNote.cjs +1 -1
- package/dist/FootNote.cjs.map +1 -1
- package/dist/FootNote.js +26 -17
- package/dist/FootNote.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.cjs.map +1 -1
- package/dist/GeoHubCompareMaps.d.ts +1 -0
- package/dist/GeoHubCompareMaps.js +264 -354
- package/dist/GeoHubCompareMaps.js.map +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.cjs.map +1 -1
- package/dist/GeoHubMap.d.ts +1 -0
- package/dist/GeoHubMap.js +214 -409
- package/dist/GeoHubMap.js.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.d.ts +1 -0
- package/dist/GeoHubMapWithLayerSelection.js +192 -293
- package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
- package/dist/GraphContainer-CRqzdKu2.js +78 -0
- package/dist/GraphContainer-CRqzdKu2.js.map +1 -0
- package/dist/GraphContainer-d8A46BK2.cjs +2 -0
- package/dist/GraphContainer-d8A46BK2.cjs.map +1 -0
- package/dist/GraphDescription.cjs +1 -1
- package/dist/GraphDescription.cjs.map +1 -1
- package/dist/GraphDescription.js +23 -17
- package/dist/GraphDescription.js.map +1 -1
- package/dist/GraphEl-BkyLYXG5.cjs +2 -0
- package/dist/GraphEl-BkyLYXG5.cjs.map +1 -0
- package/dist/{GraphEl-CqWzvOyr.js → GraphEl-DzRon4cb.js} +184 -202
- package/dist/GraphEl-DzRon4cb.js.map +1 -0
- package/dist/GraphFooter.cjs +1 -1
- package/dist/GraphFooter.cjs.map +1 -1
- package/dist/GraphFooter.js +28 -18
- package/dist/GraphFooter.js.map +1 -1
- package/dist/GraphHeader.cjs +1 -1
- package/dist/GraphHeader.cjs.map +1 -1
- package/dist/GraphHeader.d.ts +2 -1
- package/dist/GraphHeader.js +45 -59
- package/dist/GraphHeader.js.map +1 -1
- package/dist/GraphTitle.cjs +1 -1
- package/dist/GraphTitle.cjs.map +1 -1
- package/dist/GraphTitle.js +29 -24
- package/dist/GraphTitle.js.map +1 -1
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.cjs.map +1 -1
- package/dist/GriddedGraphs.d.ts +2 -0
- package/dist/GriddedGraphs.js +216 -450
- package/dist/GriddedGraphs.js.map +1 -1
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +2 -0
- package/dist/GriddedGraphsFromConfig.js +22 -36
- package/dist/GriddedGraphsFromConfig.js.map +1 -1
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.d.ts +1 -0
- package/dist/HeatMap.js +278 -446
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.d.ts +1 -0
- package/dist/Histogram.js +154 -264
- package/dist/Histogram.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.cjs.map +1 -1
- package/dist/ImageDownloadButton.d.ts +2 -1
- package/dist/ImageDownloadButton.js +21 -25
- package/dist/ImageDownloadButton.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.d.ts +1 -0
- package/dist/LineChartWithConfidenceInterval.js +674 -825
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.cjs.map +1 -1
- package/dist/LinearColorLegend.js +49 -30
- package/dist/LinearColorLegend.js.map +1 -1
- package/dist/Modal-DGcuAHyK.js +1047 -0
- package/dist/Modal-DGcuAHyK.js.map +1 -0
- package/dist/Modal-JW_IExO3.cjs +46 -0
- package/dist/Modal-JW_IExO3.cjs.map +1 -0
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.cjs.map +1 -1
- package/dist/MultiGraphDashboard.d.ts +2 -0
- package/dist/MultiGraphDashboard.js +122 -290
- package/dist/MultiGraphDashboard.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
- package/dist/MultiGraphDashboardFromConfig.js +22 -31
- package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -0
- package/dist/MultiGraphDashboardWideToLongFormat.js +137 -223
- package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +25 -27
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +1 -0
- package/dist/MultiLineAltChart.js +581 -659
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.d.ts +1 -0
- package/dist/MultiLineChart.js +617 -725
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.d.ts +1 -0
- package/dist/ParetoChart.js +531 -635
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +147 -338
- package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +22 -31
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
- package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
- package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
- package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
- package/dist/PerformanceIntensiveScrollStory.js +93 -114
- package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.d.ts +1 -0
- package/dist/RadarChart.js +426 -575
- package/dist/RadarChart.js.map +1 -1
- package/dist/ReferenceLine-2XCwHXQ4.js +162 -0
- package/dist/ReferenceLine-2XCwHXQ4.js.map +1 -0
- package/dist/ReferenceLine-BH0qdf4R.cjs +2 -0
- package/dist/ReferenceLine-BH0qdf4R.cjs.map +1 -0
- package/dist/RegressionLine-BOTTNSrr.cjs +2 -0
- package/dist/RegressionLine-BOTTNSrr.cjs.map +1 -0
- package/dist/RegressionLine-DAcY2DjT.js +87 -0
- package/dist/RegressionLine-DAcY2DjT.js.map +1 -0
- package/dist/SVGDownloadButton.cjs +1 -1
- package/dist/SVGDownloadButton.cjs.map +1 -1
- package/dist/SVGDownloadButton.js +21 -25
- package/dist/SVGDownloadButton.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.d.ts +1 -0
- package/dist/SankeyChart.js +665 -854
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.d.ts +1 -0
- package/dist/ScatterPlot.js +675 -815
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +1 -1
- package/dist/ScrollStory.cjs.map +1 -1
- package/dist/ScrollStory.d.ts +2 -0
- package/dist/ScrollStory.js +85 -97
- package/dist/ScrollStory.js.map +1 -1
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.d.ts +1 -0
- package/dist/SimpleLineChart.js +504 -613
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.cjs.map +1 -1
- package/dist/SingleGraphDashboard.d.ts +3 -1
- package/dist/SingleGraphDashboard.js +279 -507
- package/dist/SingleGraphDashboard.js.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +3 -1
- package/dist/SingleGraphDashboardFromConfig.js +25 -31
- package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
- package/dist/SingleGraphDashboardGeoHubMaps.js +146 -168
- package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +25 -21
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
- package/dist/SingleGraphDashboardThreeDGraphs.js +356 -589
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +25 -31
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.d.ts +1 -0
- package/dist/SlopeChart.js +539 -573
- package/dist/SlopeChart.js.map +1 -1
- package/dist/Source-DYMJRrsq.cjs +2 -0
- package/dist/Source-DYMJRrsq.cjs.map +1 -0
- package/dist/Source-DwTHB8fn.js +78 -0
- package/dist/Source-DwTHB8fn.js.map +1 -0
- package/dist/Source.cjs +1 -1
- package/dist/Source.cjs.map +1 -1
- package/dist/Source.js +4 -38
- package/dist/Source.js.map +1 -1
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.cjs.map +1 -1
- package/dist/SparkLine.d.ts +1 -0
- package/dist/SparkLine.js +286 -314
- package/dist/SparkLine.js.map +1 -1
- package/dist/Spinner-D7rnnwnA.js +47 -0
- package/dist/Spinner-D7rnnwnA.js.map +1 -0
- package/dist/Spinner-DRMBUsX7.cjs +2 -0
- package/dist/Spinner-DRMBUsX7.cjs.map +1 -0
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.d.ts +1 -0
- package/dist/StatCardFromData.js +163 -243
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.d.ts +1 -0
- package/dist/StripChart.js +665 -983
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.d.ts +3 -0
- package/dist/ThreeDGlobe.js +355 -526
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +96 -126
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/Tooltip-4dJo4_AF.cjs +2 -0
- package/dist/Tooltip-4dJo4_AF.cjs.map +1 -0
- package/dist/Tooltip-CwWUegPB.js +43 -0
- package/dist/Tooltip-CwWUegPB.js.map +1 -0
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.d.ts +1 -0
- package/dist/TreeMapGraph.js +479 -617
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +2 -0
- package/dist/Typography-DX7PlgQU.cjs +2 -0
- package/dist/Typography-DX7PlgQU.cjs.map +1 -0
- package/dist/Typography-PxtFcnJb.js +142 -0
- package/dist/Typography-PxtFcnJb.js.map +1 -0
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.d.ts +1 -0
- package/dist/UnitChart.js +160 -212
- package/dist/UnitChart.js.map +1 -1
- package/dist/XAxesLabels-D5X8jngD.cjs +2 -0
- package/dist/XAxesLabels-D5X8jngD.cjs.map +1 -0
- package/dist/XAxesLabels-DNO0KmjL.js +73 -0
- package/dist/XAxesLabels-DNO0KmjL.js.map +1 -0
- package/dist/XTicksAndGridLines-B6CELS7q.cjs +2 -0
- package/dist/XTicksAndGridLines-B6CELS7q.cjs.map +1 -0
- package/dist/XTicksAndGridLines-CObVFSm4.js +38 -0
- package/dist/XTicksAndGridLines-CObVFSm4.js.map +1 -0
- package/dist/YAxesLabels-DcS85Beo.cjs +2 -0
- package/dist/YAxesLabels-DcS85Beo.cjs.map +1 -0
- package/dist/YAxesLabels-Dnnng49-.js +70 -0
- package/dist/YAxesLabels-Dnnng49-.js.map +1 -0
- package/dist/YTicksAndGridLines-4pxTRlRK.cjs +2 -0
- package/dist/YTicksAndGridLines-4pxTRlRK.cjs.map +1 -0
- package/dist/YTicksAndGridLines-Blepl7XF.js +38 -0
- package/dist/YTicksAndGridLines-Blepl7XF.js.map +1 -0
- package/dist/{band-BEjh2CHI.js → band-CyHaVft5.js} +3 -3
- package/dist/{band-BEjh2CHI.js.map → band-CyHaVft5.js.map} +1 -1
- package/dist/{band-CAApY4Pd.cjs → band-VYfcZeJ2.cjs} +2 -2
- package/dist/{band-CAApY4Pd.cjs.map → band-VYfcZeJ2.cjs.map} +1 -1
- package/dist/checkIfMultiple-Y9iKaV_u.js +950 -0
- package/dist/checkIfMultiple-Y9iKaV_u.js.map +1 -0
- package/dist/checkIfMultiple-wg6hJLXy.cjs +12 -0
- package/dist/checkIfMultiple-wg6hJLXy.cjs.map +1 -0
- package/dist/customArea-BUhPiPT6.js +163 -0
- package/dist/{customArea-B-dWU0zZ.js.map → customArea-BUhPiPT6.js.map} +1 -1
- package/dist/customArea-CMF5g-C3.cjs +2 -0
- package/dist/{customArea-CK768gCn.cjs.map → customArea-CMF5g-C3.cjs.map} +1 -1
- package/dist/delaunay-C1uAf38t.js.map +1 -1
- package/dist/delaunay-rcy0HhZi.cjs.map +1 -1
- package/dist/{ensureCompleteData-DlmibgaI.js → ensureCompleteData-DNKEGRiP.js} +12 -32
- package/dist/{ensureCompleteData-DlmibgaI.js.map → ensureCompleteData-DNKEGRiP.js.map} +1 -1
- package/dist/{ensureCompleteData-DkQYPeDa.cjs → ensureCompleteData-I6nYmT8E.cjs} +2 -2
- package/dist/{ensureCompleteData-DkQYPeDa.cjs.map → ensureCompleteData-I6nYmT8E.cjs.map} +1 -1
- package/dist/{excelDownload-BOA-lskf.js → excelDownload-BEC1AyQW.js} +12 -2
- package/dist/{excelDownload-BOA-lskf.js.map → excelDownload-BEC1AyQW.js.map} +1 -1
- package/dist/excelDownload-BQpsCa62.cjs.map +1 -1
- package/dist/{fetchAndParseData-sapWbnYk.js → fetchAndParseData-BpqkBPQL.js} +15 -28
- package/dist/{fetchAndParseData-sapWbnYk.js.map → fetchAndParseData-BpqkBPQL.js.map} +1 -1
- package/dist/fetchAndParseData-l5HGMAEs.cjs +16 -0
- package/dist/{fetchAndParseData-Ba-_CgxS.cjs.map → fetchAndParseData-l5HGMAEs.cjs.map} +1 -1
- package/dist/fetchAndParseData.cjs +1 -1
- package/dist/fetchAndParseData.js +1 -1
- package/dist/{filterData-9nEcQ-Jp.js → filterData-DsAiFzKY.js} +3 -5
- package/dist/{filterData-9nEcQ-Jp.js.map → filterData-DsAiFzKY.js.map} +1 -1
- package/dist/{filterData-BoYadk0l.cjs → filterData-T5DQBE9b.cjs} +2 -2
- package/dist/{filterData-BoYadk0l.cjs.map → filterData-T5DQBE9b.cjs.map} +1 -1
- package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -1
- package/dist/generateRandomString-za3IQGfQ.js.map +1 -1
- package/dist/{getCentroidCoordinates-Dfk6IqEG.js → getCentroidCoordinates-D7r34N4w.js} +2 -2
- package/dist/{getCentroidCoordinates-Dfk6IqEG.js.map → getCentroidCoordinates-D7r34N4w.js.map} +1 -1
- package/dist/{getCentroidCoordinates-DxTBqzp2.cjs → getCentroidCoordinates-Dng1HVjO.cjs} +2 -2
- package/dist/{getCentroidCoordinates-DxTBqzp2.cjs.map → getCentroidCoordinates-Dng1HVjO.cjs.map} +1 -1
- package/dist/getGraphList-BpEWn1Tk.js +227 -0
- package/dist/{getGraphList-DuColTJM.js.map → getGraphList-BpEWn1Tk.js.map} +1 -1
- package/dist/getGraphList-gf02xgT2.cjs.map +1 -1
- package/dist/getJenks-BbngDoBQ.js.map +1 -1
- package/dist/getJenks-GYmdwBqm.cjs.map +1 -1
- package/dist/getSchema.cjs.map +1 -1
- package/dist/getSchema.js +445 -231
- package/dist/getSchema.js.map +1 -1
- package/dist/getSliderMarks-BmADcPQt.cjs +6 -0
- package/dist/getSliderMarks-BmADcPQt.cjs.map +1 -0
- package/dist/getSliderMarks-HIDJ0_Cd.js +1033 -0
- package/dist/getSliderMarks-HIDJ0_Cd.js.map +1 -0
- package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js → getTextColorBasedOnBgColor-CDY808zi.js} +11 -3
- package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js.map → getTextColorBasedOnBgColor-CDY808zi.js.map} +1 -1
- package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -1
- package/dist/{getUniqValue-DiCh_MOD.js → getUniqValue-BKHCm3zE.js} +2 -4
- package/dist/{getUniqValue-DiCh_MOD.js.map → getUniqValue-BKHCm3zE.js.map} +1 -1
- package/dist/getUniqValue-RViz8tTw.cjs.map +1 -1
- package/dist/{imageDownload-Dcci2LEy.js → imageDownload-BX6SILNZ.js} +4 -2
- package/dist/{imageDownload-Dcci2LEy.js.map → imageDownload-BX6SILNZ.js.map} +1 -1
- package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -1
- package/dist/{index-DvVprvy6.js → index-BZQYSqar.js} +7 -7
- package/dist/{index-DvVprvy6.js.map → index-BZQYSqar.js.map} +1 -1
- package/dist/index-B_sAFsEV.cjs +2 -0
- package/dist/{index-BYzIB5V6.cjs.map → index-B_sAFsEV.cjs.map} +1 -1
- package/dist/index-BqfRwk1n.js +146 -0
- package/dist/index-BqfRwk1n.js.map +1 -0
- package/dist/{index-V_JXij1_.js → index-BuwmuDFJ.js} +3 -3
- package/dist/{index-V_JXij1_.js.map → index-BuwmuDFJ.js.map} +1 -1
- package/dist/index-CHPV5EwG-CTPQjnHt.cjs +84 -0
- package/dist/index-CHPV5EwG-CTPQjnHt.cjs.map +1 -0
- package/dist/{index-CHPV5EwG-BPSP-7Jg.js → index-CHPV5EwG-Curnpaqc.js} +937 -842
- package/dist/index-CHPV5EwG-Curnpaqc.js.map +1 -0
- package/dist/index-Cno4Q0YE.cjs +2 -0
- package/dist/{index-CQ3e6Ewi.cjs.map → index-Cno4Q0YE.cjs.map} +1 -1
- package/dist/{index-tvAyXPPW-DBlMKnNB.js → index-Cw8sCyo_-B2hEKjzG.js} +16 -16
- package/dist/{index-tvAyXPPW-DBlMKnNB.js.map → index-Cw8sCyo_-B2hEKjzG.js.map} +1 -1
- package/dist/index-Cw8sCyo_-BrHiWiRF.cjs +2 -0
- package/dist/index-Cw8sCyo_-BrHiWiRF.cjs.map +1 -0
- package/dist/index-CyZ1lmi_.cjs +2 -0
- package/dist/{index-D72cOtq7.cjs.map → index-CyZ1lmi_.cjs.map} +1 -1
- package/dist/index-D491FEn1.js +184 -0
- package/dist/index-D491FEn1.js.map +1 -0
- package/dist/index-DG2bgAva.cjs +10 -0
- package/dist/index-DG2bgAva.cjs.map +1 -0
- package/dist/index-DRXx7m-C.cjs +2 -0
- package/dist/index-DRXx7m-C.cjs.map +1 -0
- package/dist/index-DoY3Ga3W.cjs +2 -0
- package/dist/index-DoY3Ga3W.cjs.map +1 -0
- package/dist/index-DxXnJ8Ti.cjs +2 -0
- package/dist/index-DxXnJ8Ti.cjs.map +1 -0
- package/dist/{index-DG3YrCr5-D3FrrXj8.js → index-Dzc_aaI9-Bb7gobH_.js} +2 -2
- package/dist/{index-DG3YrCr5-D3FrrXj8.js.map → index-Dzc_aaI9-Bb7gobH_.js.map} +1 -1
- package/dist/{index-DG3YrCr5-v7rayV3N.cjs → index-Dzc_aaI9-BmkfPMyc.cjs} +2 -2
- package/dist/{index-DG3YrCr5-v7rayV3N.cjs.map → index-Dzc_aaI9-BmkfPMyc.cjs.map} +1 -1
- package/dist/{index-9tDEUqOZ.js → index-GEsywGxz.js} +9 -9
- package/dist/index-GEsywGxz.js.map +1 -0
- package/dist/index-SKgJALZg.js +99 -0
- package/dist/{index-DKCxu1Gh.js.map → index-SKgJALZg.js.map} +1 -1
- package/dist/index-leTnKT2q.js +329 -0
- package/dist/index-leTnKT2q.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +19 -8
- package/dist/index.js +13 -13
- package/dist/{init-BhZylTFx.js → init-BJFW6EwE.js} +3 -3
- package/dist/{init-BhZylTFx.js.map → init-BJFW6EwE.js.map} +1 -1
- package/dist/{linear-BVckp9RD.cjs → linear-BwPAspcq.cjs} +2 -2
- package/dist/{linear-BVckp9RD.cjs.map → linear-BwPAspcq.cjs.map} +1 -1
- package/dist/{linear-DUdu7l2G.js → linear-BwnDd9KF.js} +3 -3
- package/dist/{linear-DUdu7l2G.js.map → linear-BwnDd9KF.js.map} +1 -1
- package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -1
- package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -1
- package/dist/{ordinal-BOeNbyae.cjs → ordinal-CrsysVE-.cjs} +2 -2
- package/dist/ordinal-CrsysVE-.cjs.map +1 -0
- package/dist/{ordinal-w9Lu4Stb.js → ordinal-P77xw8aL.js} +24 -24
- package/dist/ordinal-P77xw8aL.js.map +1 -0
- package/dist/{pow-e8zx3AQJ.js → pow-DE4c7dbW.js} +3 -3
- package/dist/{pow-e8zx3AQJ.js.map → pow-DE4c7dbW.js.map} +1 -1
- package/dist/{pow-B5-jkdHU.cjs → pow-DgrUorRi.cjs} +2 -2
- package/dist/{pow-B5-jkdHU.cjs.map → pow-DgrUorRi.cjs.map} +1 -1
- package/dist/{proxy-CkpFesk1.js → proxy-BxkFHwUw.js} +144 -134
- package/dist/proxy-BxkFHwUw.js.map +1 -0
- package/dist/proxy-BxvUI_9l.cjs +2 -0
- package/dist/proxy-BxvUI_9l.cjs.map +1 -0
- package/dist/{removeOutliers-DR48e-18.js → removeOutliers-BqW0sPqj.js} +2 -5
- package/dist/{removeOutliers-DR48e-18.js.map → removeOutliers-BqW0sPqj.js.map} +1 -1
- package/dist/removeOutliers-WELHHqiI.cjs.map +1 -1
- package/dist/{sort-DfK1b0F5.js → sort-BIvMlUH1.js} +5 -5
- package/dist/{sort-DfK1b0F5.js.map → sort-BIvMlUH1.js.map} +1 -1
- package/dist/{string-CRoCZCYa.cjs → string-C-kRh1bQ.cjs} +2 -2
- package/dist/{string-CRoCZCYa.cjs.map → string-C-kRh1bQ.cjs.map} +1 -1
- package/dist/{string-B8KlVSPX.js → string-C_xJ4Wg4.js} +3 -3
- package/dist/{string-B8KlVSPX.js.map → string-C_xJ4Wg4.js.map} +1 -1
- package/dist/string2HTML-CPGr_I5E.cjs +3 -0
- package/dist/{string2HTML-z7CwHXcx.cjs.map → string2HTML-CPGr_I5E.cjs.map} +1 -1
- package/dist/{string2HTML-oFCROsus.js → string2HTML-DhG75NqA.js} +15 -9
- package/dist/{string2HTML-oFCROsus.js.map → string2HTML-DhG75NqA.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{svgDownload-C2-E3yf2.js → svgDownload-BAoarWNt.js} +4 -2
- package/dist/{svgDownload-C2-E3yf2.js.map → svgDownload-BAoarWNt.js.map} +1 -1
- package/dist/svgDownload-D9zEGjTF.cjs.map +1 -1
- package/dist/{threshold-DFfqcDMa.js → threshold-Bgr20hik.js} +2 -2
- package/dist/{threshold-DFfqcDMa.js.map → threshold-Bgr20hik.js.map} +1 -1
- package/dist/{time-Byw_jYQ7.cjs → time-CZd5YLSP.cjs} +2 -2
- package/dist/{time-Byw_jYQ7.cjs.map → time-CZd5YLSP.cjs.map} +1 -1
- package/dist/{time-BzJP5SPC.js → time-DCCfQk3V.js} +3 -3
- package/dist/{time-BzJP5SPC.js.map → time-DCCfQk3V.js.map} +1 -1
- package/dist/transformData.cjs +1 -1
- package/dist/transformData.js +3 -3
- package/dist/transformDataForAggregation-CE3bAlHU.js +585 -0
- package/dist/{transformDataForAggregation-sBpdlX8n.js.map → transformDataForAggregation-CE3bAlHU.js.map} +1 -1
- package/dist/transformDataForAggregation-KXGm6flX.cjs.map +1 -1
- package/dist/transformDataForGraphFromFile-BExxcITV.js +14 -0
- package/dist/{transformDataForGraphFromFile-ComYvzuz.js.map → transformDataForGraphFromFile-BExxcITV.js.map} +1 -1
- package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs → transformDataForGraphFromFile-DaJHQCsL.cjs} +2 -2
- package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs.map → transformDataForGraphFromFile-DaJHQCsL.cjs.map} +1 -1
- package/dist/transformDataForSelect-D8AuvYdf.js.map +1 -1
- package/dist/transformDataForSelect-YmStusCI.cjs.map +1 -1
- package/dist/uniqBy-BHy4I8PK.js.map +1 -1
- package/dist/uniqBy-O05lp2S5.cjs.map +1 -1
- package/dist/{use-in-view-yS6jzJAp.js → use-in-view-Cxa7y1TH.js} +2 -2
- package/dist/use-in-view-Cxa7y1TH.js.map +1 -0
- package/dist/use-in-view-QcfiW0w3.cjs +2 -0
- package/dist/use-in-view-QcfiW0w3.cjs.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +8 -8
- package/dist/validateSchema.cjs.map +1 -1
- package/dist/validateSchema.js +33 -29
- package/dist/validateSchema.js.map +1 -1
- package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs → x-BBpi7a_7-mTo40uId.cjs} +2 -2
- package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs.map → x-BBpi7a_7-mTo40uId.cjs.map} +1 -1
- package/dist/{y-D0sAaVii.js → y-BqfogMAB.js} +3 -3
- package/dist/{y-D0sAaVii.js.map → y-BqfogMAB.js.map} +1 -1
- package/dist/{zoom-QipiAl5W.js → zoom-C9MFjAaV.js} +5 -5
- package/dist/{zoom-QipiAl5W.js.map → zoom-C9MFjAaV.js.map} +1 -1
- package/dist/zoom-DPw8bba-.cjs +2 -0
- package/dist/{zoom-BiMNsz72.cjs.map → zoom-DPw8bba-.cjs.map} +1 -1
- package/package.json +9 -8
- package/dist/Axis-DE7dSn1_.cjs +0 -2
- package/dist/Axis-DE7dSn1_.cjs.map +0 -1
- package/dist/Axis-Ddg-seDi.js +0 -43
- package/dist/Axis-Ddg-seDi.js.map +0 -1
- package/dist/AxisTitle-BmHLMRJZ.js +0 -20
- package/dist/AxisTitle-BmHLMRJZ.js.map +0 -1
- package/dist/AxisTitle-CK9YeovX.cjs +0 -2
- package/dist/AxisTitle-CK9YeovX.cjs.map +0 -1
- package/dist/DropdownSelect-CtOKZHD0.js.map +0 -1
- package/dist/DropdownSelect-DBDM64B5.cjs +0 -29
- package/dist/DropdownSelect-DBDM64B5.cjs.map +0 -1
- package/dist/EmptyState-DdTp-Mdn.js +0 -22
- package/dist/EmptyState-d8_8SxeW.cjs +0 -2
- package/dist/GraphEl-C6yjl1VM.cjs +0 -2
- package/dist/GraphEl-C6yjl1VM.cjs.map +0 -1
- package/dist/GraphEl-CqWzvOyr.js.map +0 -1
- package/dist/Modal-DVVwpKhP.js +0 -1019
- package/dist/Modal-DVVwpKhP.js.map +0 -1
- package/dist/Modal-tXZlLE5s.cjs +0 -46
- package/dist/Modal-tXZlLE5s.cjs.map +0 -1
- package/dist/ReferenceLine-CFVBBN__.cjs +0 -2
- package/dist/ReferenceLine-CFVBBN__.cjs.map +0 -1
- package/dist/ReferenceLine-CfAW3vKJ.js +0 -128
- package/dist/ReferenceLine-CfAW3vKJ.js.map +0 -1
- package/dist/RegressionLine-C2--oMQq.js +0 -49
- package/dist/RegressionLine-C2--oMQq.js.map +0 -1
- package/dist/RegressionLine-Dj0GSiAp.cjs +0 -2
- package/dist/RegressionLine-Dj0GSiAp.cjs.map +0 -1
- package/dist/Spinner-C85UF28E.js +0 -30
- package/dist/Spinner-C85UF28E.js.map +0 -1
- package/dist/Spinner-DA6Z5E4n.cjs +0 -2
- package/dist/Spinner-DA6Z5E4n.cjs.map +0 -1
- package/dist/Tooltip-CVCGWyzw.js +0 -46
- package/dist/Tooltip-CVCGWyzw.js.map +0 -1
- package/dist/Tooltip-De16GWhY.cjs +0 -2
- package/dist/Tooltip-De16GWhY.cjs.map +0 -1
- package/dist/Typography-Ctgfl1J5.js +0 -140
- package/dist/Typography-Ctgfl1J5.js.map +0 -1
- package/dist/Typography-k-kOjICQ.cjs +0 -2
- package/dist/Typography-k-kOjICQ.cjs.map +0 -1
- package/dist/XAxesLabels-Drf7M3YK.cjs +0 -2
- package/dist/XAxesLabels-Drf7M3YK.cjs.map +0 -1
- package/dist/XAxesLabels-loO78vUO.js +0 -57
- package/dist/XAxesLabels-loO78vUO.js.map +0 -1
- package/dist/XTicksAndGridLines-Bn9u5gOM.js +0 -56
- package/dist/XTicksAndGridLines-Bn9u5gOM.js.map +0 -1
- package/dist/XTicksAndGridLines-CCzXIV8d.cjs +0 -2
- package/dist/XTicksAndGridLines-CCzXIV8d.cjs.map +0 -1
- package/dist/YAxesLabels-DECkMgq8.js +0 -52
- package/dist/YAxesLabels-DECkMgq8.js.map +0 -1
- package/dist/YAxesLabels-yRFFdx1s.cjs +0 -2
- package/dist/YAxesLabels-yRFFdx1s.cjs.map +0 -1
- package/dist/YTicksAndGridLines-B6ah7CRf.js +0 -56
- package/dist/YTicksAndGridLines-B6ah7CRf.js.map +0 -1
- package/dist/YTicksAndGridLines-DBDuz6vb.cjs +0 -2
- package/dist/YTicksAndGridLines-DBDuz6vb.cjs.map +0 -1
- package/dist/checkIfMultiple-BXbHUCWM.cjs +0 -12
- package/dist/checkIfMultiple-BXbHUCWM.cjs.map +0 -1
- package/dist/checkIfMultiple-ChTJk2Tk.js +0 -912
- package/dist/checkIfMultiple-ChTJk2Tk.js.map +0 -1
- package/dist/customArea-B-dWU0zZ.js +0 -175
- package/dist/customArea-CK768gCn.cjs +0 -2
- package/dist/fetchAndParseData-Ba-_CgxS.cjs +0 -16
- package/dist/getGraphList-DuColTJM.js +0 -265
- package/dist/getSliderMarks-9cNoRkDx.js +0 -1023
- package/dist/getSliderMarks-9cNoRkDx.js.map +0 -1
- package/dist/getSliderMarks-CRIbTGYV.cjs +0 -6
- package/dist/getSliderMarks-CRIbTGYV.cjs.map +0 -1
- package/dist/index-37q0ULNQ.js +0 -430
- package/dist/index-37q0ULNQ.js.map +0 -1
- package/dist/index-9tDEUqOZ.js.map +0 -1
- package/dist/index-BW8iNx7E.cjs +0 -10
- package/dist/index-BW8iNx7E.cjs.map +0 -1
- package/dist/index-BW_-wD2k.cjs +0 -2
- package/dist/index-BW_-wD2k.cjs.map +0 -1
- package/dist/index-BYzIB5V6.cjs +0 -2
- package/dist/index-BmCqpO1B.js +0 -342
- package/dist/index-BmCqpO1B.js.map +0 -1
- package/dist/index-CHPV5EwG-BPSP-7Jg.js.map +0 -1
- package/dist/index-CHPV5EwG-DDoeWRVt.cjs +0 -44
- package/dist/index-CHPV5EwG-DDoeWRVt.cjs.map +0 -1
- package/dist/index-CNvov0eg.js +0 -122
- package/dist/index-CNvov0eg.js.map +0 -1
- package/dist/index-CQ3e6Ewi.cjs +0 -2
- package/dist/index-CVlCtJbC.cjs +0 -2
- package/dist/index-CVlCtJbC.cjs.map +0 -1
- package/dist/index-CoZbeNM9.cjs +0 -2
- package/dist/index-CoZbeNM9.cjs.map +0 -1
- package/dist/index-D72cOtq7.cjs +0 -2
- package/dist/index-DKCxu1Gh.js +0 -77
- package/dist/index-tvAyXPPW-DPOG-C2i.cjs +0 -2
- package/dist/index-tvAyXPPW-DPOG-C2i.cjs.map +0 -1
- package/dist/ordinal-BOeNbyae.cjs.map +0 -1
- package/dist/ordinal-w9Lu4Stb.js.map +0 -1
- package/dist/proxy-BHRoeZgd.cjs +0 -2
- package/dist/proxy-BHRoeZgd.cjs.map +0 -1
- package/dist/proxy-CkpFesk1.js.map +0 -1
- package/dist/string2HTML-z7CwHXcx.cjs +0 -3
- package/dist/transformDataForAggregation-sBpdlX8n.js +0 -755
- package/dist/transformDataForGraphFromFile-ComYvzuz.js +0 -24
- package/dist/use-in-view-sQJZ_xDO.cjs +0 -2
- package/dist/use-in-view-sQJZ_xDO.cjs.map +0 -1
- package/dist/use-in-view-yS6jzJAp.js.map +0 -1
- package/dist/zoom-BiMNsz72.cjs +0 -2
|
@@ -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\nimport { cn } from '@undp/design-system-react/cn';\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\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 = 10,\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(width || entries[0].target.clientWidth || 620);\r\n setSvgHeight(height || entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 480);\r\n setSvgWidth(graphDiv.current.clientWidth || 620);\r\n if (!width) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height]);\r\n\r\n return (\r\n <div\r\n className={`${theme || 'light'} flex ${width ? 'w-fit grow-0' : 'w-full grow'}`}\r\n dir={language === 'he' || language === 'ar' ? 'rtl' : undefined}\r\n >\r\n <div\r\n className={cn(\r\n `${\r\n !backgroundColor\r\n ? 'bg-transparent '\r\n : backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto flex flex-col grow h-inherit ${language || 'en'}`,\r\n width ? 'w-fit' : 'w-full',\r\n classNames?.graphContainer,\r\n )}\r\n style={{\r\n ...(styles?.graphContainer || {}),\r\n ...(backgroundColor && backgroundColor !== true ? { backgroundColor } : {}),\r\n }}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={\r\n ariaLabel ||\r\n `${\r\n graphTitle ? `The graph shows ${graphTitle}. ` : ''\r\n }This is a line chart that show trends for two datasets over time.${\r\n graphDescription ? ` ${graphDescription}` : ''\r\n }`\r\n }\r\n >\r\n <div\r\n className='flex grow'\r\n style={{ padding: backgroundColor ? padding || '1rem' : padding || 0 }}\r\n >\r\n <div className='flex flex-col w-full gap-4 grow justify-between'>\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.current : 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 <div className='grow flex flex-col justify-center gap-3 w-full'>\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 />\r\n )}\r\n <div\r\n className='flex flex-col grow justify-center leading-0'\r\n ref={graphDiv}\r\n aria-label='Graph area'\r\n >\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <Graph\r\n data={data}\r\n sameAxes={sameAxes}\r\n lineColors={lineColors}\r\n width={width || svgWidth}\r\n height={Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n )}\r\n dateFormat={dateFormat}\r\n showValues={showValues}\r\n noOfXTicks={noOfXTicks}\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 </div>\r\n </>\r\n )}\r\n </div>\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 </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["Graph","props","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","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","useEffect","timeout","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","eventX","setEventX","eventY","setEventY","margin","MouseoverRectRef","dataFormatted","orderBy","d","parse","highlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","minParam1","minParam2","maxParam1","maxParam2","minParam","maxParam","x","scaleTime","y1","scaleLinear","y2","lineShape1","line","checkIfNullOrUndefined","lineShape2","y1Ticks","y2Ticks","xTicks","mousemove","event","selectedData","bisectCenter","pointer","mouseout","select","jsxs","Fragment","jsx","motion","HighlightArea","i","cn","numberFormattingFunction","Axis","AxisTitle","XTicksAndGridLines","format","el","Tooltip","DualAxisLineChart","graphTitle","sources","graphDescription","footNote","padding","Colors","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","showColorScale","minHeight","colorLegendTitle","theme","ariaLabel","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","entries","GraphHeader","EmptyState","ColorLegend","GraphFooter"],"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\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 = 10,\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}\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","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-DDoeWRVt.cjs"),x=require("react"),ve=require("./parse-hMnG_lRV.cjs"),Oe=require("./getSliderMarks-CRIbTGYV.cjs"),Me=require("./index-CQ3e6Ewi.cjs"),Le=require("./index-DQA8q5sC.cjs"),Ve=require("./Modal-tXZlLE5s.cjs"),Te=require("./numberFormattingFunction-02t-wJta.cjs"),$e=require("./Tooltip-De16GWhY.cjs"),A=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ae=require("./string2HTML-z7CwHXcx.cjs"),Ze=require("./XTicksAndGridLines-CCzXIV8d.cjs"),qe=require("./AxisTitle-CK9YeovX.cjs"),et=require("./YAxesLabels-yRFFdx1s.cjs"),Fe=require("./YTicksAndGridLines-DBDuz6vb.cjs"),Pe=require("./ReferenceLine-CFVBBN__.cjs"),Be=require("./linear-BVckp9RD.cjs"),He=require("./band-CAApY4Pd.cjs"),We=require("./use-in-view-sQJZ_xDO.cjs"),le=require("./proxy-BHRoeZgd.cjs"),Ue=require("./index-BW8iNx7E.cjs"),Ge=require("./GraphHeader.cjs"),Xe=require("./GraphFooter.cjs"),Ye=require("./ColorLegendWithMouseOver.cjs"),_e=require("./Colors.cjs"),ze=require("./EmptyState-d8_8SxeW.cjs"),Ne=require("./index-BW_-wD2k.cjs"),je=require("./ensureCompleteData-DkQYPeDa.cjs"),Je=require("./uniqBy-O05lp2S5.cjs"),Ke=require("./sort-O96oMZLb.cjs"),Qe=require("./init-DU0ybBc_.cjs"),tt=require("./Axis-DE7dSn1_.cjs"),it=require("./XAxesLabels-Drf7M3YK.cjs");function at(ye){const{data:l,dotColors:m,suffix:z,prefix:J,barPadding:w,showValues:ue,showTicks:ee,leftMargin:te,truncateBy:ce,width:ie,height:ae,rightMargin:K,topMargin:N,bottomMargin:s,radius:q,showLabels:xe,tooltip:O,onSeriesMouseOver:F,maxValue:E,minValue:re,onSeriesMouseClick:B,selectedColor:I,arrowConnector:R,connectorStrokeWidth:pe,maxBarThickness:ne,minBarThickness:se,resetSelectionOnDoubleClick:ge,detailsOnClick:v,axisTitle:U,noOfTicks:fe,valueColor:G,styles:d,classNames:p,labelOrder:D,refValues:oe,rtl:y,animate:u,precision:M,customLayers:X,highlightedDataPoints:Y,dimmedOpacity:L}=ye,j=x.useRef(null),g=We.useInView(j,{once:u.once,amount:u.amount}),h={top:U?N+25:N,bottom:s,left:te,right:K},H=ie-h.left-h.right,W=ae-h.top-h.bottom,[Q,P]=x.useState(void 0),[C,b]=x.useState(void 0),[S,Z]=x.useState(void 0),[V,$]=x.useState(void 0),_=l.map((t,n)=>({...t,id:D?`${t.label}`:`${n}`})),k=D||_.map(t=>`${t.id}`),f=Be.linear().domain([re,E]).range([0,H]).nice(),T=He.band().domain(k).range([0,se?Math.max(W,se*_.length):ne?Math.min(W,ne*_.length):W]).paddingInner(w),a=f.ticks(fe);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsxs(le.motion.svg,{width:`${ie}px`,height:`${ae}px`,viewBox:`0 0 ${ie} ${ae}`,direction:"ltr",ref:j,children:[R?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,i.jsxRuntimeExports.jsxs("g",{transform:`translate(${h.left},${h.top})`,children:[ee?i.jsxRuntimeExports.jsx(Ze.XTicksAndGridLines,{values:a.filter((t,n)=>n!==0),x:a.filter((t,n)=>n!==0).map(t=>f(t)),y1:0-N,y2:W+h.bottom,styles:{gridLines:d?.xAxis?.gridLines,labels:d?.xAxis?.labels},classNames:{gridLines:p?.xAxis?.gridLines,labels:p?.xAxis?.labels},suffix:z,prefix:J,labelType:"secondary",showGridLines:!0,precision:M}):null,i.jsxRuntimeExports.jsx(qe.AxisTitle,{x:H/2,y:0-h.top+15,style:d?.xAxis?.title,className:p?.xAxis?.title,text:U}),i.jsxRuntimeExports.jsx(Fe.YTicksAndGridLines,{y:_.map(t=>T(`${t.id}`)+T.bandwidth()/2),x1:0,x2:H,styles:{gridLines:d?.yAxis?.gridLines},classNames:{gridLines:p?.yAxis?.gridLines},labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:M}),X.filter(t=>t.position==="before").map(t=>t.layer),i.jsxRuntimeExports.jsxs(Ue.AnimatePresence,{children:[_.map(t=>i.jsxRuntimeExports.jsxs(le.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:T(`${t.id}`)+T.bandwidth()/2,opacity:Y.length!==0?Y.indexOf(t.label)!==-1?.85:L:.85},whileInView:{x:0,y:T(`${t.id}`)+T.bandwidth()/2,opacity:Y.length!==0?Y.indexOf(t.label)!==-1?.85:L:.85,transition:{duration:u.duration}}},initial:"initial",animate:g?"whileInView":"initial",exit:{opacity:0,transition:{duration:u.duration}},children:[xe?i.jsxRuntimeExports.jsx(et.YAxesLabels,{value:`${t.label}`.length<ce?`${t.label}`:`${`${t.label}`.substring(0,ce)}...`,y:0-T.bandwidth()/2,x:0-h.left,width:h.left,height:T.bandwidth(),alignment:"right",style:d?.yAxis?.labels,className:p?.yAxis?.labels,animate:u,isInView:g}):null,i.jsxRuntimeExports.jsx(le.motion.line,{y1:0,y2:0,style:{strokeWidth:pe,...d?.dataConnectors||{},opacity:I?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",p?.dataConnectors),markerEnd:R&&t.x.indexOf(Math.min(...t.x.filter(n=>n!==null)))===0?"url(#arrow)":"",markerStart:R&&t.x.indexOf(Math.min(...t.x.filter(n=>n!==null)))===t.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:f(Math.min(...t.x.filter(n=>n!==null)))+q,x2:f(Math.max(...t.x.filter(n=>n!==null)))-q,transition:{duration:u.duration}}},initial:"initial",animate:g?"whileInView":"initial"}),t.x.map((n,o)=>i.jsxRuntimeExports.jsx(le.motion.g,{onMouseEnter:de=>{P({...t,xIndex:o}),$(de.clientY),Z(de.clientX),F?.({...t,xIndex:o})},onClick:()=>{(B||v)&&(Le.isEqual(C,{...t,xIndex:o})&&ge?(b(void 0),B?.(void 0)):(b({...t,xIndex:o}),B&&B({...t,xIndex:o})))},onMouseMove:de=>{P({...t,xIndex:o}),$(de.clientY),Z(de.clientX)},onMouseLeave:()=>{P(void 0),Z(void 0),$(void 0),F?.(void 0)},exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{opacity:I?m[o]===I?1:.3:1},whileInView:{opacity:I?m[o]===I?1:.3:1,transition:{duration:u.duration}}},initial:"initial",animate:g?"whileInView":"initial",children:A.checkIfNullOrUndefined(n)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(le.motion.circle,{cy:0,r:q,style:{fill:m[o],fillOpacity:.85,stroke:m[o],strokeWidth:1,opacity:A.checkIfNullOrUndefined(n)?0:1},exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{cx:f(0),opacity:0},whileInView:{cx:f(n||0),opacity:A.checkIfNullOrUndefined(n)?0:1,transition:{duration:u.duration}}},initial:"initial",animate:g?"whileInView":"initial"}),ue?i.jsxRuntimeExports.jsx(le.motion.text,{y:0,style:{textAnchor:"middle",...d?.graphObjectValues||{}},dx:0,dy:0-q-3,className:i.mo("graph-value text-sm font-bold",A.checkIfNullOrUndefined(n)?"0opacity-0":"opacity-100",p?.graphObjectValues),exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{x:f(0),opacity:0,fill:G||m[o]},whileInView:{x:f(n||0),fill:G||m[o],opacity:1,transition:{duration:u.duration}}},initial:"initial",animate:g?"whileInView":"initial",children:Te.numberFormattingFunction(n,"NA",M,J,z)}):null]})},o))]},t.label)),oe?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:oe.map((t,n)=>i.jsxRuntimeExports.jsx(Pe.RefLineX,{text:t.text,color:t.color,x:f(t.value),y1:0-h.top,y2:W+h.bottom,textSide:f(t.value)>H*.75||y?"left":"right",classNames:t.classNames,styles:t.styles,animate:u,isInView:g},n))}):null]}),X.filter(t=>t.position==="after").map(t=>t.layer)]})]}),Q&&O&&S&&V?i.jsxRuntimeExports.jsx($e.Tooltip,{data:Q,body:O,xPos:S,yPos:V,backgroundStyle:d?.tooltip,className:p?.tooltip}):null,v&&C!==void 0?i.jsxRuntimeExports.jsx(Ve.X,{open:C!==void 0,onClose:()=>{b(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof v=="string"?{__html:Ae.string2HTML(v,C)}:void 0,children:typeof v=="function"?v(C):null})}):null]})}function rt(ye){const{data:l,graphTitle:m,colors:z=_e.Colors.light.categoricalColors.colors,sources:J,graphDescription:w,barPadding:ue=.25,showTicks:ee=!0,leftMargin:te=100,rightMargin:ce=40,topMargin:ie=20,bottomMargin:ae=10,truncateBy:K=999,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:O,padding:F,backgroundColor:E=!1,radius:re=3,showLabels:B=!0,tooltip:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se="",prefix:ge="",maxValue:v,minValue:U,onSeriesMouseClick:fe,graphDownload:G=!1,dataDownload:d=!1,showValues:p=!0,sortParameter:D,arrowConnector:oe=!1,connectorStrokeWidth:y=2,language:u="en",minHeight:M=0,theme:X="light",labelOrder:Y,maxBarThickness:L,maxNumberOfBars:j,minBarThickness:g,ariaLabel:h,resetSelectionOnDoubleClick:H=!0,detailsOnClick:W,axisTitle:Q,noOfTicks:P=5,valueColor:C,styles:b,classNames:S,refValues:Z,filterNA:V=!0,animate:$=!1,precision:_=2,customLayers:k=[],showColorScale:f=!0,highlightedDataPoints:T=[],dimmedOpacity:a=.3,timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},sortData:n}=ye,[o,de]=x.useState(0),[ke,Ee]=x.useState(0),[me,Ie]=x.useState(t.autoplay),c=Ke.sort(Je.uniqBy(l,"date",!0).map(e=>ve.parse(`${e}`,t.dateFormat||"yyyy",new Date).getTime()),(e,r)=>Qe.ascending(e,r)),[be,we]=x.useState(t.autoplay?0:c.length-1),[De,Se]=x.useState(void 0),he=x.useRef(null),Re=x.useRef(null);x.useEffect(()=>{const e=new ResizeObserver(r=>{de(s||r[0].target.clientWidth||620),Ee(N||r[0].target.clientHeight||480)});return he.current&&(Ee(he.current.clientHeight||480),de(he.current.clientWidth||620),s||e.observe(he.current)),()=>e.disconnect()},[s,N]),x.useEffect(()=>{const e=setInterval(()=>{we(r=>r<c.length-1?r+1:0)},(t.speed||2)*1e3);return me||clearInterval(e),()=>clearInterval(e)},[c,me,t.speed]);const Ce=Oe.getSliderMarks(c,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return i.jsxRuntimeExports.jsx("div",{className:`${X||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:u==="he"||u==="ar"?"rtl":void 0,children:i.jsxRuntimeExports.jsx("div",{className:i.mo(`${E?E===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${u||"en"}`,s?"w-fit":"w-full",S?.graphContainer),style:{...b?.graphContainer||{},...E&&E!==!0?{backgroundColor:E}:{}},id:ne,ref:Re,"aria-label":h||`${m?`The graph shows ${m}. `:""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${w?` ${w}`:""}`,children:i.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:E?F||"1rem":F||0},children:i.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[m||w||G||d?i.jsxRuntimeExports.jsx(Ge.GraphHeader,{styles:{title:b?.title,description:b?.description},classNames:{title:S?.title,description:S?.description},graphTitle:m,graphDescription:w,width:s,graphDownload:G?Re.current:void 0,dataDownload:d?l.map(e=>e.data).filter(e=>e!==void 0).length>0?l.map(e=>e.data).filter(e=>e!==void 0):l.filter(e=>e!==void 0):null}):null,t.enabled&&c.length>0&&Ce?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Ie(!me)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":me?"Click to pause animation":"Click to play animation",children:me?i.jsxRuntimeExports.jsx(Ne.Pause,{}):i.jsxRuntimeExports.jsx(Ne.Play,{})}),i.jsxRuntimeExports.jsx(Oe.xr,{min:c[0],max:c[c.length-1],marks:Ce,step:null,defaultValue:c[c.length-1],value:c[be],onChangeComplete:e=>{we(c.indexOf(e))},onChange:e=>{we(c.indexOf(e))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,i.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:l.length===0?i.jsxRuntimeExports.jsx(ze.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[f?i.jsxRuntimeExports.jsx(Ye.ColorLegendWithMouseOver,{width:s,colorDomain:xe,colors:z,colorLegendTitle:O,setSelectedColor:Se,showNAColor:!1}):null,i.jsxRuntimeExports.jsx("div",{className:"flex grow w-full justify-center leading-0",ref:he,"aria-label":"Graph area",children:(s||o)&&(N||ke)?i.jsxRuntimeExports.jsx(at,{data:D!==void 0?D==="diff"?Me.orderBy(je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===ve.format(new Date(c[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[e.x.length-1])||A.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0],[n||"asc"]).filter((e,r)=>j?r<j:!0):Me.orderBy(je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===ve.format(new Date(c[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[D])?-1/0:e.x[D],[n||"asc"]).filter((e,r)=>j?r<j:!0):je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>V?!e.x.every(r=>r==null):e).filter((e,r)=>j?r<j:!0),dotColors:z,width:s||o,height:Math.max(M,N||(R?M?(s||o)*R>M?(s||o)*R:M:(s||o)*R:ke)),suffix:se,prefix:ge,radius:re,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:K,showLabels:B,showValues:p,tooltip:I,onSeriesMouseOver:pe,maxValue:A.checkIfNullOrUndefined(v)?Math.max(...l.map(e=>Math.max(...e.x.filter(r=>r!==null))))<0?0:Math.max(...l.map(e=>Math.max(...e.x.filter(r=>r!==null)))):v,minValue:A.checkIfNullOrUndefined(U)?Math.min(...l.map(e=>Math.min(...e.x.filter(r=>r!==null))))>0?0:Math.min(...l.map(e=>Math.min(...e.x.filter(r=>r!==null)))):U,onSeriesMouseClick:fe,selectedColor:De,arrowConnector:oe,connectorStrokeWidth:y,maxBarThickness:L,minBarThickness:g,resetSelectionOnDoubleClick:H,detailsOnClick:W,axisTitle:Q,noOfTicks:P,valueColor:C,styles:b,classNames:S,labelOrder:Y,refValues:Z,rtl:u==="he"||u==="ar",animate:$===!0?{duration:.5,once:!0,amount:.5}:$||{duration:0,once:!0,amount:0},precision:_,customLayers:k,highlightedDataPoints:T,dimmedOpacity:a}):null})]})}),J||q?i.jsxRuntimeExports.jsx(Xe.GraphFooter,{styles:{footnote:b?.footnote,source:b?.source},classNames:{footnote:S?.footnote,source:S?.source},sources:J,footNote:q,width:s}):null]})})})})}function nt(ye){const{data:l,dotColors:m,barPadding:z,showTicks:J,leftMargin:w,truncateBy:ue,width:ee,height:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,radius:K,showLabels:N,tooltip:s,onSeriesMouseOver:q,maxValue:xe,minValue:O,onSeriesMouseClick:F,showValues:E,suffix:re,prefix:B,selectedColor:I,arrowConnector:R,connectorStrokeWidth:pe,maxBarThickness:ne,minBarThickness:se,resetSelectionOnDoubleClick:ge,detailsOnClick:v,axisTitle:U,noOfTicks:fe,valueColor:G,styles:d,classNames:p,labelOrder:D,refValues:oe,animate:y,precision:u,customLayers:M,highlightedDataPoints:X,dimmedOpacity:Y}=ye,L=x.useRef(null),j=We.useInView(L,{once:y.once,amount:y.amount}),g={top:ie,bottom:ae,left:U?w+30:w,right:ce},h=ee-g.left-g.right,H=te-g.top-g.bottom,[W,Q]=x.useState(void 0),[P,C]=x.useState(void 0),[b,S]=x.useState(void 0),[Z,V]=x.useState(void 0),$=l.map((a,t)=>({...a,id:D?`${a.label}`:`${t}`})),_=D||$.map(a=>`${a.id}`),k=Be.linear().domain([O,xe]).range([H,0]).nice(),f=He.band().domain(_).range([0,se?Math.max(h,se*$.length):ne?Math.min(h,ne*$.length):h]).paddingInner(z),T=k.ticks(fe);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsxs(le.motion.svg,{width:`${ee}px`,height:`${te}px`,viewBox:`0 0 ${ee} ${te}`,direction:"ltr",ref:L,children:[R?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,i.jsxRuntimeExports.jsxs("g",{transform:`translate(${g.left},${g.top})`,children:[i.jsxRuntimeExports.jsx(tt.Axis,{y1:k(O<0?0:O),y2:k(O<0?0:O),x1:0-w,x2:h+g.right,label:Te.numberFormattingFunction(O<0?0:O,"NA",u,B,re),labelPos:{x:0-w,dx:0,dy:xe<0?"1em":-5,y:k(O<0?0:O)},classNames:{axis:p?.xAxis?.axis,label:p?.yAxis?.labels},styles:{axis:d?.xAxis?.axis,label:d?.yAxis?.labels}}),J?i.jsxRuntimeExports.jsx(Fe.YTicksAndGridLines,{values:T.filter(a=>a!==0),y:T.filter(a=>a!==0).map(a=>k(a)),x1:0-w,x2:h+g.right,styles:{gridLines:d?.yAxis?.gridLines,labels:d?.yAxis?.labels},classNames:{gridLines:p?.yAxis?.gridLines,labels:p?.yAxis?.labels},suffix:re,prefix:B,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:u}):null,i.jsxRuntimeExports.jsx(qe.AxisTitle,{x:0-w-15,y:H/2,style:d?.yAxis?.title,className:p?.yAxis?.title,text:U,rotate90:!0}),M.filter(a=>a.position==="before").map(a=>a.layer),i.jsxRuntimeExports.jsxs(Ue.AnimatePresence,{children:[$.map(a=>i.jsxRuntimeExports.jsxs(le.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:f(`${a.id}`)+f.bandwidth()/2,y:0,opacity:X.length!==0?X.indexOf(a.label)!==-1?.85:Y:.85},whileInView:{x:f(`${a.id}`)+f.bandwidth()/2,y:0,opacity:X.length!==0?X.indexOf(a.label)!==-1?.85:Y:.85,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",exit:{opacity:0,transition:{duration:y.duration}},children:[N?i.jsxRuntimeExports.jsx(it.XAxesLabels,{value:`${a.label}`.length<ue?`${a.label}`:`${`${a.label}`.substring(0,ue)}...`,y:H+5,x:0-f.bandwidth()/2,width:f.bandwidth(),height:g.bottom,style:d?.xAxis?.labels,className:p?.xAxis?.labels,alignment:"top",animate:y,isInView:j}):null,i.jsxRuntimeExports.jsx(le.motion.line,{x1:0,x2:0,style:{strokeWidth:pe,...d?.dataConnectors||{},opacity:I?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",p?.dataConnectors),markerEnd:R&&a.x.indexOf(Math.min(...a.x.filter(t=>t!==null)))===0?"url(#arrow)":"",markerStart:R&&a.x.indexOf(Math.min(...a.x.filter(t=>t!==null)))===a.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:k(Math.min(...a.x.filter(t=>t!==null)))+K,y2:k(Math.max(...a.x.filter(t=>t!==null)))-K,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),a.x.map((t,n)=>i.jsxRuntimeExports.jsx(le.motion.g,{onMouseEnter:o=>{Q({...a,xIndex:n}),V(o.clientY),S(o.clientX),q?.({...a,xIndex:n})},onClick:()=>{(F||v)&&(Le.isEqual(P,{...a,xIndex:n})&&ge?(C(void 0),F?.(void 0)):(C({...a,xIndex:n}),F&&F({...a,xIndex:n})))},onMouseMove:o=>{Q({...a,xIndex:n}),V(o.clientY),S(o.clientX)},onMouseLeave:()=>{Q(void 0),S(void 0),V(void 0),q?.(void 0)},exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{opacity:I?m[n]===I?1:.3:1},whileInView:{opacity:I?m[n]===I?1:.3:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:A.checkIfNullOrUndefined(t)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(le.motion.circle,{cx:0,r:K,style:{fill:m[n],fillOpacity:.85,stroke:m[n],strokeWidth:1},exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{cy:k(0),opacity:0},whileInView:{cy:k(t||0),opacity:A.checkIfNullOrUndefined(t)?0:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),E?i.jsxRuntimeExports.jsx(le.motion.text,{x:0,style:{textAnchor:"start",...d?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",A.checkIfNullOrUndefined(t)?"opacity-0":"opacity-100",p?.graphObjectValues),dx:K+3,dy:"0.33em",exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{y:k(0),opacity:0,fill:G||m[n]},whileInView:{y:k(t||0),fill:G||m[n],opacity:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Te.numberFormattingFunction(t,"NA",u,B,re)}):null]})},n))]},a.label)),oe?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:oe.map((a,t)=>i.jsxRuntimeExports.jsx(Pe.RefLineY,{text:a.text,color:a.color,y:k(a.value),x1:0-w,x2:h+g.right,classNames:a.classNames,styles:a.styles,animate:y,isInView:j},t))}):null]}),M.filter(a=>a.position==="after").map(a=>a.layer)]})]}),W&&s&&b&&Z?i.jsxRuntimeExports.jsx($e.Tooltip,{data:W,body:s,xPos:b,yPos:Z,backgroundStyle:d?.tooltip,className:p?.tooltip}):null,v&&P!==void 0?i.jsxRuntimeExports.jsx(Ve.X,{open:P!==void 0,onClose:()=>{C(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof v=="string"?{__html:Ae.string2HTML(v,P)}:void 0,children:typeof v=="function"?v(P):null})}):null]})}function st(ye){const{data:l,graphTitle:m,colors:z=_e.Colors.light.categoricalColors.colors,sources:J,graphDescription:w,barPadding:ue=.25,showTicks:ee=!0,leftMargin:te=20,rightMargin:ce=20,topMargin:ie=20,bottomMargin:ae=25,truncateBy:K=999,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:O,padding:F,backgroundColor:E=!1,radius:re=3,tooltip:B,showLabels:I=!0,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se="",prefix:ge="",maxValue:v,minValue:U,onSeriesMouseClick:fe,graphDownload:G=!1,dataDownload:d=!1,showValues:p=!0,sortParameter:D,arrowConnector:oe=!1,connectorStrokeWidth:y=2,language:u="en",minHeight:M=0,theme:X="light",maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:g,resetSelectionOnDoubleClick:h=!0,detailsOnClick:H,axisTitle:W,noOfTicks:Q=5,valueColor:P,styles:C,classNames:b,labelOrder:S,refValues:Z,filterNA:V=!0,animate:$=!1,precision:_=2,customLayers:k=[],showColorScale:f=!0,highlightedDataPoints:T=[],dimmedOpacity:a=.3,timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0},sortData:n}=ye,[o,de]=x.useState(0),[ke,Ee]=x.useState(0),[me,Ie]=x.useState(t.autoplay),c=Ke.sort(Je.uniqBy(l,"date",!0).map(e=>ve.parse(`${e}`,t.dateFormat||"yyyy",new Date).getTime()),(e,r)=>Qe.ascending(e,r)),[be,we]=x.useState(t.autoplay?0:c.length-1),[De,Se]=x.useState(void 0),he=x.useRef(null),Re=x.useRef(null);x.useEffect(()=>{const e=new ResizeObserver(r=>{de(s||r[0].target.clientWidth||620),Ee(N||r[0].target.clientHeight||480)});return he.current&&(Ee(he.current.clientHeight||480),de(he.current.clientWidth||620),s||e.observe(he.current)),()=>e.disconnect()},[s,N]),x.useEffect(()=>{const e=setInterval(()=>{we(r=>r<c.length-1?r+1:0)},(t.speed||2)*1e3);return me||clearInterval(e),()=>clearInterval(e)},[c,me,t.speed]);const Ce=Oe.getSliderMarks(c,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return i.jsxRuntimeExports.jsx("div",{className:`${X||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:u==="he"||u==="ar"?"rtl":void 0,children:i.jsxRuntimeExports.jsx("div",{className:i.mo(`${E?E===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${u||"en"}`,s?"w-fit":"w-full",b?.graphContainer),style:{...C?.graphContainer||{},...E&&E!==!0?{backgroundColor:E}:{}},id:ne,ref:Re,"aria-label":g||`${m?`The graph shows ${m}. `:""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${w?` ${w}`:""}`,children:i.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:E?F||"1rem":F||0},children:i.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[m||w||G||d?i.jsxRuntimeExports.jsx(Ge.GraphHeader,{styles:{title:C?.title,description:C?.description},classNames:{title:b?.title,description:b?.description},graphTitle:m,graphDescription:w,width:s,graphDownload:G?Re.current:void 0,dataDownload:d?l.map(e=>e.data).filter(e=>e!==void 0).length>0?l.map(e=>e.data).filter(e=>e!==void 0):l.filter(e=>e!==void 0):null}):null,t.enabled&&c.length>0&&Ce?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Ie(!me)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":me?"Click to pause animation":"Click to play animation",children:me?i.jsxRuntimeExports.jsx(Ne.Pause,{}):i.jsxRuntimeExports.jsx(Ne.Play,{})}),i.jsxRuntimeExports.jsx(Oe.xr,{min:c[0],max:c[c.length-1],marks:Ce,step:null,defaultValue:c[c.length-1],value:c[be],onChangeComplete:e=>{we(c.indexOf(e))},onChange:e=>{we(c.indexOf(e))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,i.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:l.length===0?i.jsxRuntimeExports.jsx(ze.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[f?i.jsxRuntimeExports.jsx(Ye.ColorLegendWithMouseOver,{width:s,colorDomain:xe,colors:z,colorLegendTitle:O,setSelectedColor:Se,showNAColor:!1}):null,i.jsxRuntimeExports.jsx("div",{className:"flex grow w-full justify-center leading-0",ref:he,"aria-label":"Graph area",children:(s||o)&&(N||ke)?i.jsxRuntimeExports.jsx(nt,{data:D!==void 0?D==="diff"?Me.orderBy(je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===ve.format(new Date(c[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[e.x.length-1])||A.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0],[n||"asc"]).filter((e,r)=>L?r<L:!0):Me.orderBy(je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===ve.format(new Date(c[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[D])?-1/0:e.x[D],[n||"asc"]).filter((e,r)=>L?r<L:!0):je.ensureCompleteDataForDumbbellChart(l,t.dateFormat||"yyyy").filter(e=>V?!e.x.every(r=>r==null):e).filter((e,r)=>L?r<L:!0),dotColors:z,width:s||o,height:Math.max(M,N||(R?M?(s||o)*R>M?(s||o)*R:M:(s||o)*R:ke)),radius:re,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:K,showLabels:I,showValues:p,tooltip:B,suffix:se,prefix:ge,onSeriesMouseOver:pe,maxValue:A.checkIfNullOrUndefined(v)?Math.max(...l.map(e=>Math.max(...e.x.filter(r=>r!==null))))<0?0:Math.max(...l.map(e=>Math.max(...e.x.filter(r=>r!==null)))):v,minValue:A.checkIfNullOrUndefined(U)?Math.min(...l.map(e=>Math.min(...e.x.filter(r=>r!==null))))>0?0:Math.min(...l.map(e=>Math.min(...e.x.filter(r=>r!==null)))):U,onSeriesMouseClick:fe,selectedColor:De,arrowConnector:oe,connectorStrokeWidth:y,maxBarThickness:Y,minBarThickness:j,resetSelectionOnDoubleClick:h,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,styles:C,classNames:b,labelOrder:S,refValues:Z,animate:$===!0?{duration:.5,once:!0,amount:.5}:$||{duration:0,once:!0,amount:0},precision:_,customLayers:k,highlightedDataPoints:T,dimmedOpacity:a}):null})]})}),J||q?i.jsxRuntimeExports.jsx(Xe.GraphFooter,{styles:{footnote:C?.footnote,source:C?.source},classNames:{footnote:b?.footnote,source:b?.source},sources:J,footNote:q,width:s}):null]})})})})}function ot(ye){const{data:l,graphTitle:m,colors:z,sources:J,graphDescription:w,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:K,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:O,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:v,minValue:U,onSeriesMouseClick:fe,graphDownload:G,dataDownload:d,showValues:p,sortParameter:D,arrowConnector:oe,connectorStrokeWidth:y,language:u,minHeight:M,theme:X,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:g,resetSelectionOnDoubleClick:h,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,orientation:C="vertical",styles:b,classNames:S,labelOrder:Z,refValues:V,filterNA:$,animate:_,precision:k,showColorScale:f,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n,sortData:o}=ye;return C==="vertical"?i.jsxRuntimeExports.jsx(st,{data:l,graphTitle:m,colors:z,sources:J,graphDescription:w,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:K,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:O,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:v,minValue:U,onSeriesMouseClick:fe,graphDownload:G,dataDownload:d,showValues:p,sortParameter:D,arrowConnector:oe,connectorStrokeWidth:y,language:u,minHeight:M,theme:X,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:g,resetSelectionOnDoubleClick:h,styles:b,detailsOnClick:H,axisTitle:W,noOfTicks:Q,labelOrder:Z,valueColor:P,classNames:S,refValues:V,filterNA:$,animate:_,precision:k,showColorScale:f,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n,sortData:o}):i.jsxRuntimeExports.jsx(rt,{data:l,graphTitle:m,colors:z,sources:J,graphDescription:w,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:K,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:O,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:v,minValue:U,onSeriesMouseClick:fe,graphDownload:G,dataDownload:d,showValues:p,sortParameter:D,arrowConnector:oe,connectorStrokeWidth:y,language:u,minHeight:M,theme:X,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:g,resetSelectionOnDoubleClick:h,styles:b,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,classNames:S,labelOrder:Z,refValues:V,filterNA:$,animate:_,precision:k,showColorScale:f,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n,sortData:o})}exports.DumbbellChart=ot;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),be=require("./index-Cno4Q0YE.cjs"),he=require("./parse-hMnG_lRV.cjs"),C=require("react"),ve=require("./getSliderMarks-BmADcPQt.cjs"),ke=require("./index-DQA8q5sC.cjs"),Ae=require("./Modal-JW_IExO3.cjs"),ye=require("./numberFormattingFunction-02t-wJta.cjs"),Ee=require("./Tooltip-4dJo4_AF.cjs"),Ct=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Re=require("./string2HTML-CPGr_I5E.cjs"),Ce=require("./AxisTitle-sS5bLLR7.cjs"),Te=require("./Axis-DxRV2yMi.cjs"),Se=require("./XAxesLabels-D5X8jngD.cjs"),Oe=require("./YTicksAndGridLines-4pxTRlRK.cjs"),Me=require("./ReferenceLine-BH0qdf4R.cjs"),De=require("./XTicksAndGridLines-B6CELS7q.cjs"),qe=require("./YAxesLabels-DcS85Beo.cjs"),Ie=require("./linear-BwPAspcq.cjs"),Le=require("./band-VYfcZeJ2.cjs"),$e=require("./use-in-view-QcfiW0w3.cjs"),Rt=require("./proxy-BxvUI_9l.cjs"),Ne=require("./index-DG2bgAva.cjs"),fe=require("./ensureCompleteData-I6nYmT8E.cjs"),Fe=require("./uniqBy-O05lp2S5.cjs"),je=require("./GraphContainer-d8A46BK2.cjs"),Pe=require("./GraphHeader.cjs"),we=require("./index-DRXx7m-C.cjs"),Be=require("./GraphFooter.cjs"),He=require("./ColorLegendWithMouseOver.cjs"),We=require("./EmptyState-sAEZ_5rU.cjs"),Ge=require("./Colors.cjs"),Ye=require("./sort-O96oMZLb.cjs"),Xe=require("./init-DU0ybBc_.cjs");function Ue(e){const t=i.compilerRuntimeExports.c(139),{data:h,leftMargin:Dt,rightMargin:ie,topMargin:qt,bottomMargin:Ft,dotColors:v,barPadding:Ot,showTicks:Pt,truncateBy:Bt,width:Mt,height:It,radius:st,showLabels:ut,tooltip:g,onSeriesMouseOver:D,maxValue:Ht,minValue:O,onSeriesMouseClick:X,showValues:Wt,suffix:ot,prefix:q,selectedColor:M,arrowConnector:k,connectorStrokeWidth:Ut,maxBarThickness:xt,minBarThickness:vt,resetSelectionOnDoubleClick:Gt,detailsOnClick:m,axisTitle:F,noOfTicks:zt,valueColor:jt,styles:n,classNames:s,labelOrder:I,refValues:wt,animate:d,precision:u,customLayers:$,highlightedDataPoints:L,dimmedOpacity:dt}=e,b=Dt===void 0?20:Dt,Jt=ie===void 0?20:ie,Lt=qt===void 0?20:qt,kt=Ft===void 0?25:Ft,ne=C.useRef(null);let Kt;t[0]!==d.amount||t[1]!==d.once?(Kt={once:d.once,amount:d.amount},t[0]=d.amount,t[1]=d.once,t[2]=Kt):Kt=t[2];const N=$e.useInView(ne,Kt),U=F?b+30:b;let $t;t[3]!==kt||t[4]!==Jt||t[5]!==U||t[6]!==Lt?($t={top:Lt,bottom:kt,left:U,right:Jt},t[3]=kt,t[4]=Jt,t[5]=U,t[6]=Lt,t[7]=$t):$t=t[7];const a=$t,o=Mt-a.left-a.right,rt=It-a.top-a.bottom,[at,Nt]=C.useState(void 0),[P,B]=C.useState(void 0),[Vt,mt]=C.useState(void 0),[pt,Tt]=C.useState(void 0);let ht,H,W,z,A,V,E,J,K,Q,Z,j,w,_,tt;if(t[8]!==d||t[9]!==k||t[10]!==F||t[11]!==Ot||t[12]!==s?.dataConnectors||t[13]!==s?.graphObjectValues||t[14]!==s?.xAxis?.axis||t[15]!==s?.xAxis?.labels||t[16]!==s?.yAxis?.gridLines||t[17]!==s?.yAxis?.labels||t[18]!==s?.yAxis?.title||t[19]!==Ut||t[20]!==$||t[21]!==h||t[22]!==m||t[23]!==dt||t[24]!==v||t[25]!==rt||t[26]!==o||t[27]!==It||t[28]!==L||t[29]!==N||t[30]!==I||t[31]!==b||t[32]!==a.bottom||t[33]!==a.left||t[34]!==a.right||t[35]!==a.top||t[36]!==xt||t[37]!==Ht||t[38]!==vt||t[39]!==O||t[40]!==P||t[41]!==zt||t[42]!==X||t[43]!==D||t[44]!==u||t[45]!==q||t[46]!==st||t[47]!==wt||t[48]!==Gt||t[49]!==M||t[50]!==ut||t[51]!==Pt||t[52]!==Wt||t[53]!==n?.dataConnectors||t[54]!==n?.graphObjectValues||t[55]!==n?.xAxis?.axis||t[56]!==n?.xAxis?.labels||t[57]!==n?.yAxis?.gridLines||t[58]!==n?.yAxis?.labels||t[59]!==n?.yAxis?.title||t[60]!==ot||t[61]!==Bt||t[62]!==jt||t[63]!==Mt){let yt;t[79]!==I?(yt=(l,ct)=>({...l,id:I?`${l.label}`:`${ct}`}),t[79]=I,t[80]=yt):yt=t[80];const At=h.map(yt),Qt=I||At.map(si),G=Ie.linear().domain([O,Ht]).range([rt,0]).nice(),f=Le.band().domain(Qt).range([0,vt?Math.max(o,vt*At.length):xt?Math.min(o,xt*At.length):o]).paddingInner(Ot),gt=G.ticks(zt);H=Rt.motion.svg,E=`${Mt}px`,J=`${It}px`,K=`0 0 ${Mt} ${It}`,Q="ltr",Z=ne,t[81]!==k?(j=k?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[81]=k,t[82]=j):j=t[82],tt=`translate(${a.left},${a.top})`;const Zt=G(O<0?0:O),se=G(O<0?0:O),_t=O<0?0:O;let p;t[83]!==u||t[84]!==q||t[85]!==ot||t[86]!==_t?(p=ye.numberFormattingFunction(_t,"NA",u,q,ot),t[83]=u,t[84]=q,t[85]=ot,t[86]=_t,t[87]=p):p=t[87];const Yt=s?.xAxis?.axis,te=s?.yAxis?.labels;let Et;t[88]!==Yt||t[89]!==te?(Et={axis:Yt,label:te},t[88]=Yt,t[89]=te,t[90]=Et):Et=t[90];const ee=n?.xAxis?.axis,lt=n?.yAxis?.labels;let r;t[91]!==ee||t[92]!==lt?(r={axis:ee,label:lt},t[91]=ee,t[92]=lt,t[93]=r):r=t[93],W=i.jsxRuntimeExports.jsx(Te.Axis,{y1:Zt,y2:se,x1:0-b,x2:o+a.right,label:p,labelPos:{x:0-b,dx:0,dy:Ht<0?"1em":-5,y:G(O<0?0:O)},classNames:Et,styles:r}),z=Pt?i.jsxRuntimeExports.jsx(Oe.YTicksAndGridLines,{values:gt.filter(ni),y:gt.filter(ii).map(l=>G(l)),x1:0-b,x2:o+a.right,styles:{gridLines:n?.yAxis?.gridLines,labels:n?.yAxis?.labels},classNames:{gridLines:s?.yAxis?.gridLines,labels:s?.yAxis?.labels},suffix:ot,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:u}):null;const x=0-b-15,y=rt/2,bt=n?.yAxis?.title,ae=s?.yAxis?.title;t[94]!==F||t[95]!==x||t[96]!==y||t[97]!==bt||t[98]!==ae?(A=i.jsxRuntimeExports.jsx(Ce.AxisTitle,{x,y,style:bt,className:ae,text:F,rotate90:!0}),t[94]=F,t[95]=x,t[96]=y,t[97]=bt,t[98]=ae,t[99]=A):A=t[99],t[100]!==$?(V=$.filter(ei).map(ti),t[100]=$,t[101]=V):V=t[101],ht=Ne.AnimatePresence,w=At.map(l=>i.jsxRuntimeExports.jsxs(Rt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:f(`${l.id}`)+f.bandwidth()/2,y:0,opacity:L.length!==0?L.indexOf(l.label)!==-1?.85:dt:.85},whileInView:{x:f(`${l.id}`)+f.bandwidth()/2,y:0,opacity:L.length!==0?L.indexOf(l.label)!==-1?.85:dt:.85,transition:{duration:d.duration}}},initial:"initial",animate:N?"whileInView":"initial",exit:{opacity:0,transition:{duration:d.duration}},children:[ut?i.jsxRuntimeExports.jsx(Se.XAxesLabels,{value:`${l.label}`.length<Bt?`${l.label}`:`${`${l.label}`.substring(0,Bt)}...`,y:rt+5,x:0-f.bandwidth()/2,width:f.bandwidth(),height:a.bottom,style:n?.xAxis?.labels,className:s?.xAxis?.labels,alignment:"top",animate:d,isInView:N}):null,i.jsxRuntimeExports.jsx(Rt.motion.line,{x1:0,x2:0,style:{strokeWidth:Ut,...n?.dataConnectors||{},opacity:M?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",s?.dataConnectors),markerEnd:k&&l.x.indexOf(Math.min(...l.x.filter(_e)))===0?"url(#arrow)":"",markerStart:k&&l.x.indexOf(Math.min(...l.x.filter(Ze)))===l.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:G(Math.min(...l.x.filter(Qe)))+st,y2:G(Math.max(...l.x.filter(Ke)))-st,transition:{duration:d.duration}}},initial:"initial",animate:N?"whileInView":"initial"}),l.x.map((ct,Y)=>i.jsxRuntimeExports.jsx(Rt.motion.g,{onMouseEnter:Xt=>{Nt({...l,xIndex:Y}),Tt(Xt.clientY),mt(Xt.clientX),D?.({...l,xIndex:Y})},onClick:()=>{(X||m)&&(ke.isEqual(P,{...l,xIndex:Y})&&Gt?(B(void 0),X?.(void 0)):(B({...l,xIndex:Y}),X&&X({...l,xIndex:Y})))},onMouseMove:Xt=>{Nt({...l,xIndex:Y}),Tt(Xt.clientY),mt(Xt.clientX)},onMouseLeave:()=>{Nt(void 0),mt(void 0),Tt(void 0),D?.(void 0)},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{opacity:M?v[Y]===M?1:.3:1},whileInView:{opacity:M?v[Y]===M?1:.3:1,transition:{duration:d.duration}}},initial:"initial",animate:N?"whileInView":"initial",children:Ct.checkIfNullOrUndefined(ct)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Rt.motion.circle,{cx:0,r:st,style:{fill:v[Y],fillOpacity:.85,stroke:v[Y],strokeWidth:1},exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{cy:G(0),opacity:0},whileInView:{cy:G(ct||0),opacity:Ct.checkIfNullOrUndefined(ct)?0:1,transition:{duration:d.duration}}},initial:"initial",animate:N?"whileInView":"initial"}),Wt?i.jsxRuntimeExports.jsx(Rt.motion.text,{x:0,style:{textAnchor:"start",...n?.graphObjectValues||{}},className:i.mo("graph-value text-sm font-bold",Ct.checkIfNullOrUndefined(ct)?"opacity-0":"opacity-100",s?.graphObjectValues),dx:st+3,dy:"0.33em",exit:{opacity:0,transition:{duration:d.duration}},variants:{initial:{y:G(0),opacity:0,fill:jt||v[Y]},whileInView:{y:G(ct||0),fill:jt||v[Y],opacity:1,transition:{duration:d.duration}}},initial:"initial",animate:N?"whileInView":"initial",children:ye.numberFormattingFunction(ct,"NA",u,q,ot)}):null]})},Y))]},l.label)),_=wt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:wt.map((l,ct)=>i.jsxRuntimeExports.jsx(Me.RefLineY,{text:l.text,color:l.color,y:G(l.value),x1:0-b,x2:o+a.right,classNames:l.classNames,styles:l.styles,animate:d,isInView:N},ct))}):null,t[8]=d,t[9]=k,t[10]=F,t[11]=Ot,t[12]=s?.dataConnectors,t[13]=s?.graphObjectValues,t[14]=s?.xAxis?.axis,t[15]=s?.xAxis?.labels,t[16]=s?.yAxis?.gridLines,t[17]=s?.yAxis?.labels,t[18]=s?.yAxis?.title,t[19]=Ut,t[20]=$,t[21]=h,t[22]=m,t[23]=dt,t[24]=v,t[25]=rt,t[26]=o,t[27]=It,t[28]=L,t[29]=N,t[30]=I,t[31]=b,t[32]=a.bottom,t[33]=a.left,t[34]=a.right,t[35]=a.top,t[36]=xt,t[37]=Ht,t[38]=vt,t[39]=O,t[40]=P,t[41]=zt,t[42]=X,t[43]=D,t[44]=u,t[45]=q,t[46]=st,t[47]=wt,t[48]=Gt,t[49]=M,t[50]=ut,t[51]=Pt,t[52]=Wt,t[53]=n?.dataConnectors,t[54]=n?.graphObjectValues,t[55]=n?.xAxis?.axis,t[56]=n?.xAxis?.labels,t[57]=n?.yAxis?.gridLines,t[58]=n?.yAxis?.labels,t[59]=n?.yAxis?.title,t[60]=ot,t[61]=Bt,t[62]=jt,t[63]=Mt,t[64]=ht,t[65]=H,t[66]=W,t[67]=z,t[68]=A,t[69]=V,t[70]=E,t[71]=J,t[72]=K,t[73]=Q,t[74]=Z,t[75]=j,t[76]=w,t[77]=_,t[78]=tt}else ht=t[64],H=t[65],W=t[66],z=t[67],A=t[68],V=t[69],E=t[70],J=t[71],K=t[72],Q=t[73],Z=t[74],j=t[75],w=t[76],_=t[77],tt=t[78];let et;t[102]!==ht||t[103]!==w||t[104]!==_?(et=i.jsxRuntimeExports.jsxs(ht,{children:[w,_]}),t[102]=ht,t[103]=w,t[104]=_,t[105]=et):et=t[105];let R;t[106]!==$?(R=$.filter(Je).map(ze),t[106]=$,t[107]=R):R=t[107];let T;t[108]!==W||t[109]!==z||t[110]!==A||t[111]!==V||t[112]!==et||t[113]!==R||t[114]!==tt?(T=i.jsxRuntimeExports.jsxs("g",{transform:tt,children:[W,z,A,V,et,R]}),t[108]=W,t[109]=z,t[110]=A,t[111]=V,t[112]=et,t[113]=R,t[114]=tt,t[115]=T):T=t[115];let S;t[116]!==H||t[117]!==E||t[118]!==J||t[119]!==K||t[120]!==Q||t[121]!==Z||t[122]!==j||t[123]!==T?(S=i.jsxRuntimeExports.jsxs(H,{width:E,height:J,viewBox:K,direction:Q,ref:Z,children:[j,T]}),t[116]=H,t[117]=E,t[118]=J,t[119]=K,t[120]=Q,t[121]=Z,t[122]=j,t[123]=T,t[124]=S):S=t[124];let it;t[125]!==s?.tooltip||t[126]!==Vt||t[127]!==pt||t[128]!==at||t[129]!==n?.tooltip||t[130]!==g?(it=at&&g&&Vt&&pt?i.jsxRuntimeExports.jsx(Ee.Tooltip,{data:at,body:g,xPos:Vt,yPos:pt,backgroundStyle:n?.tooltip,className:s?.tooltip}):null,t[125]=s?.tooltip,t[126]=Vt,t[127]=pt,t[128]=at,t[129]=n?.tooltip,t[130]=g,t[131]=it):it=t[131];let nt;t[132]!==m||t[133]!==P?(nt=m&&P!==void 0?i.jsxRuntimeExports.jsx(Ae.le,{open:P!==void 0,onClose:()=>{B(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof m=="string"?{__html:Re.string2HTML(m,P)}:void 0,children:typeof m=="function"?m(P):null})}):null,t[132]=m,t[133]=P,t[134]=nt):nt=t[134];let ft;return t[135]!==S||t[136]!==it||t[137]!==nt?(ft=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[S,it,nt]}),t[135]=S,t[136]=it,t[137]=nt,t[138]=ft):ft=t[138],ft}function ze(e){return e.layer}function Je(e){return e.position==="after"}function Ke(e){return e!==null}function Qe(e){return e!==null}function Ze(e){return e!==null}function _e(e){return e!==null}function ti(e){return e.layer}function ei(e){return e.position==="before"}function ii(e){return e!==0}function ni(e){return e!==0}function si(e){return`${e.id}`}function oi(e){const t=i.compilerRuntimeExports.c(132),{data:h,leftMargin:Dt,rightMargin:ie,topMargin:qt,bottomMargin:Ft,dotColors:v,suffix:Ot,prefix:Pt,barPadding:Bt,showValues:Mt,showTicks:It,truncateBy:st,width:ut,height:g,radius:D,showLabels:Ht,tooltip:O,onSeriesMouseOver:X,maxValue:Wt,minValue:ot,onSeriesMouseClick:q,selectedColor:M,arrowConnector:k,connectorStrokeWidth:Ut,maxBarThickness:xt,minBarThickness:vt,resetSelectionOnDoubleClick:Gt,detailsOnClick:m,axisTitle:F,noOfTicks:zt,valueColor:jt,styles:n,classNames:s,labelOrder:I,refValues:wt,rtl:d,animate:u,precision:$,customLayers:L,highlightedDataPoints:dt,dimmedOpacity:b}=e,Jt=Dt===void 0?100:Dt,Lt=ie===void 0?40:ie,kt=qt===void 0?20:qt,ne=Ft===void 0?10:Ft,Kt=C.useRef(null);let N;t[0]!==u.amount||t[1]!==u.once?(N={once:u.once,amount:u.amount},t[0]=u.amount,t[1]=u.once,t[2]=N):N=t[2];const U=$e.useInView(Kt,N),$t=F?kt+25:kt;let a;t[3]!==ne||t[4]!==Jt||t[5]!==Lt||t[6]!==$t?(a={top:$t,bottom:ne,left:Jt,right:Lt},t[3]=ne,t[4]=Jt,t[5]=Lt,t[6]=$t,t[7]=a):a=t[7];const o=a,rt=ut-o.left-o.right,at=g-o.top-o.bottom,[Nt,P]=C.useState(void 0),[B,Vt]=C.useState(void 0),[mt,pt]=C.useState(void 0),[Tt,ht]=C.useState(void 0);let H,W,z,A,V,E,J,K,Q,Z,j,w,_,tt,et;if(t[8]!==u||t[9]!==k||t[10]!==F||t[11]!==Bt||t[12]!==s?.dataConnectors||t[13]!==s?.graphObjectValues||t[14]!==s?.xAxis?.gridLines||t[15]!==s?.xAxis?.labels||t[16]!==s?.xAxis?.title||t[17]!==s?.yAxis?.gridLines||t[18]!==s?.yAxis?.labels||t[19]!==Ut||t[20]!==L||t[21]!==h||t[22]!==m||t[23]!==b||t[24]!==v||t[25]!==at||t[26]!==rt||t[27]!==g||t[28]!==dt||t[29]!==U||t[30]!==I||t[31]!==o.bottom||t[32]!==o.left||t[33]!==o.top||t[34]!==xt||t[35]!==Wt||t[36]!==vt||t[37]!==ot||t[38]!==B||t[39]!==zt||t[40]!==q||t[41]!==X||t[42]!==$||t[43]!==Pt||t[44]!==D||t[45]!==wt||t[46]!==Gt||t[47]!==d||t[48]!==M||t[49]!==Ht||t[50]!==It||t[51]!==Mt||t[52]!==n?.dataConnectors||t[53]!==n?.graphObjectValues||t[54]!==n?.xAxis?.gridLines||t[55]!==n?.xAxis?.labels||t[56]!==n?.xAxis?.title||t[57]!==n?.yAxis?.gridLines||t[58]!==n?.yAxis?.labels||t[59]!==Ot||t[60]!==kt||t[61]!==st||t[62]!==jt||t[63]!==ut){let At;t[79]!==I?(At=(r,x)=>({...r,id:I?`${r.label}`:`${x}`}),t[79]=I,t[80]=At):At=t[80];const Qt=h.map(At),G=I||Qt.map(fi),f=Ie.linear().domain([ot,Wt]).range([0,rt]).nice(),gt=Le.band().domain(G).range([0,vt?Math.max(at,vt*Qt.length):xt?Math.min(at,xt*Qt.length):at]).paddingInner(Bt),Zt=f.ticks(zt);W=Rt.motion.svg,J=`${ut}px`,K=`${g}px`,Q=`0 0 ${ut} ${g}`,Z="ltr",j=Kt,t[81]!==k?(w=k?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[81]=k,t[82]=w):w=t[82],et=`translate(${o.left},${o.top})`,z=It?i.jsxRuntimeExports.jsx(De.XTicksAndGridLines,{values:Zt.filter(hi),x:Zt.filter(pi).map(r=>f(r)),y1:0-kt,y2:at+o.bottom,styles:{gridLines:n?.xAxis?.gridLines,labels:n?.xAxis?.labels},classNames:{gridLines:s?.xAxis?.gridLines,labels:s?.xAxis?.labels},suffix:Ot,prefix:Pt,labelType:"secondary",showGridLines:!0,precision:$}):null;const se=rt/2,_t=0-o.top+15,p=n?.xAxis?.title,Yt=s?.xAxis?.title;t[83]!==F||t[84]!==se||t[85]!==_t||t[86]!==p||t[87]!==Yt?(A=i.jsxRuntimeExports.jsx(Ce.AxisTitle,{x:se,y:_t,style:p,className:Yt,text:F}),t[83]=F,t[84]=se,t[85]=_t,t[86]=p,t[87]=Yt,t[88]=A):A=t[88];const te=n?.yAxis?.gridLines;let Et;t[89]!==te?(Et={gridLines:te},t[89]=te,t[90]=Et):Et=t[90];const ee=s?.yAxis?.gridLines;let lt;t[91]!==ee?(lt={gridLines:ee},t[91]=ee,t[92]=lt):lt=t[92],V=i.jsxRuntimeExports.jsx(Oe.YTicksAndGridLines,{y:Qt.map(r=>gt(`${r.id}`)+gt.bandwidth()/2),x1:0,x2:rt,styles:Et,classNames:lt,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:$}),t[93]!==L?(E=L.filter(mi).map(di),t[93]=L,t[94]=E):E=t[94],H=Ne.AnimatePresence,_=Qt.map(r=>i.jsxRuntimeExports.jsxs(Rt.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:gt(`${r.id}`)+gt.bandwidth()/2,opacity:dt.length!==0?dt.indexOf(r.label)!==-1?.85:b:.85},whileInView:{x:0,y:gt(`${r.id}`)+gt.bandwidth()/2,opacity:dt.length!==0?dt.indexOf(r.label)!==-1?.85:b:.85,transition:{duration:u.duration}}},initial:"initial",animate:U?"whileInView":"initial",exit:{opacity:0,transition:{duration:u.duration}},children:[Ht?i.jsxRuntimeExports.jsx(qe.YAxesLabels,{value:`${r.label}`.length<st?`${r.label}`:`${`${r.label}`.substring(0,st)}...`,y:0-gt.bandwidth()/2,x:0-o.left,width:o.left,height:gt.bandwidth(),alignment:"right",style:n?.yAxis?.labels,className:s?.yAxis?.labels,animate:u,isInView:U}):null,i.jsxRuntimeExports.jsx(Rt.motion.line,{y1:0,y2:0,style:{strokeWidth:Ut,...n?.dataConnectors||{},opacity:M?.3:1},className:i.mo("stroke-primary-gray-600 dark:stroke-primary-gray-300",s?.dataConnectors),markerEnd:k&&r.x.indexOf(Math.min(...r.x.filter(xi)))===0?"url(#arrow)":"",markerStart:k&&r.x.indexOf(Math.min(...r.x.filter(ui)))===r.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:f(Math.min(...r.x.filter(ci)))+D,x2:f(Math.max(...r.x.filter(li)))-D,transition:{duration:u.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),r.x.map((x,y)=>i.jsxRuntimeExports.jsx(Rt.motion.g,{onMouseEnter:bt=>{P({...r,xIndex:y}),ht(bt.clientY),pt(bt.clientX),X?.({...r,xIndex:y})},onClick:()=>{(q||m)&&(ke.isEqual(B,{...r,xIndex:y})&&Gt?(Vt(void 0),q?.(void 0)):(Vt({...r,xIndex:y}),q&&q({...r,xIndex:y})))},onMouseMove:bt=>{P({...r,xIndex:y}),ht(bt.clientY),pt(bt.clientX)},onMouseLeave:()=>{P(void 0),pt(void 0),ht(void 0),X?.(void 0)},exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{opacity:M?v[y]===M?1:.3:1},whileInView:{opacity:M?v[y]===M?1:.3:1,transition:{duration:u.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:Ct.checkIfNullOrUndefined(x)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(Rt.motion.circle,{cy:0,r:D,style:{fill:v[y],fillOpacity:.85,stroke:v[y],strokeWidth:1,opacity:Ct.checkIfNullOrUndefined(x)?0:1},exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{cx:f(0),opacity:0},whileInView:{cx:f(x||0),opacity:Ct.checkIfNullOrUndefined(x)?0:1,transition:{duration:u.duration}}},initial:"initial",animate:U?"whileInView":"initial"}),Mt?i.jsxRuntimeExports.jsx(Rt.motion.text,{y:0,style:{textAnchor:"middle",...n?.graphObjectValues||{}},dx:0,dy:0-D-3,className:i.mo("graph-value text-sm font-bold",Ct.checkIfNullOrUndefined(x)?"0opacity-0":"opacity-100",s?.graphObjectValues),exit:{opacity:0,transition:{duration:u.duration}},variants:{initial:{x:f(0),opacity:0,fill:jt||v[y]},whileInView:{x:f(x||0),fill:jt||v[y],opacity:1,transition:{duration:u.duration}}},initial:"initial",animate:U?"whileInView":"initial",children:ye.numberFormattingFunction(x,"NA",$,Pt,Ot)}):null]})},y))]},r.label)),tt=wt?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:wt.map((r,x)=>i.jsxRuntimeExports.jsx(Me.RefLineX,{text:r.text,color:r.color,x:f(r.value),y1:0-o.top,y2:at+o.bottom,textSide:f(r.value)>rt*.75||d?"left":"right",classNames:r.classNames,styles:r.styles,animate:u,isInView:U},x))}):null,t[8]=u,t[9]=k,t[10]=F,t[11]=Bt,t[12]=s?.dataConnectors,t[13]=s?.graphObjectValues,t[14]=s?.xAxis?.gridLines,t[15]=s?.xAxis?.labels,t[16]=s?.xAxis?.title,t[17]=s?.yAxis?.gridLines,t[18]=s?.yAxis?.labels,t[19]=Ut,t[20]=L,t[21]=h,t[22]=m,t[23]=b,t[24]=v,t[25]=at,t[26]=rt,t[27]=g,t[28]=dt,t[29]=U,t[30]=I,t[31]=o.bottom,t[32]=o.left,t[33]=o.top,t[34]=xt,t[35]=Wt,t[36]=vt,t[37]=ot,t[38]=B,t[39]=zt,t[40]=q,t[41]=X,t[42]=$,t[43]=Pt,t[44]=D,t[45]=wt,t[46]=Gt,t[47]=d,t[48]=M,t[49]=Ht,t[50]=It,t[51]=Mt,t[52]=n?.dataConnectors,t[53]=n?.graphObjectValues,t[54]=n?.xAxis?.gridLines,t[55]=n?.xAxis?.labels,t[56]=n?.xAxis?.title,t[57]=n?.yAxis?.gridLines,t[58]=n?.yAxis?.labels,t[59]=Ot,t[60]=kt,t[61]=st,t[62]=jt,t[63]=ut,t[64]=H,t[65]=W,t[66]=z,t[67]=A,t[68]=V,t[69]=E,t[70]=J,t[71]=K,t[72]=Q,t[73]=Z,t[74]=j,t[75]=w,t[76]=_,t[77]=tt,t[78]=et}else H=t[64],W=t[65],z=t[66],A=t[67],V=t[68],E=t[69],J=t[70],K=t[71],Q=t[72],Z=t[73],j=t[74],w=t[75],_=t[76],tt=t[77],et=t[78];let R;t[95]!==H||t[96]!==_||t[97]!==tt?(R=i.jsxRuntimeExports.jsxs(H,{children:[_,tt]}),t[95]=H,t[96]=_,t[97]=tt,t[98]=R):R=t[98];let T;t[99]!==L?(T=L.filter(ai).map(ri),t[99]=L,t[100]=T):T=t[100];let S;t[101]!==z||t[102]!==A||t[103]!==V||t[104]!==E||t[105]!==R||t[106]!==T||t[107]!==et?(S=i.jsxRuntimeExports.jsxs("g",{transform:et,children:[z,A,V,E,R,T]}),t[101]=z,t[102]=A,t[103]=V,t[104]=E,t[105]=R,t[106]=T,t[107]=et,t[108]=S):S=t[108];let it;t[109]!==W||t[110]!==J||t[111]!==K||t[112]!==Q||t[113]!==Z||t[114]!==j||t[115]!==w||t[116]!==S?(it=i.jsxRuntimeExports.jsxs(W,{width:J,height:K,viewBox:Q,direction:Z,ref:j,children:[w,S]}),t[109]=W,t[110]=J,t[111]=K,t[112]=Q,t[113]=Z,t[114]=j,t[115]=w,t[116]=S,t[117]=it):it=t[117];let nt;t[118]!==s?.tooltip||t[119]!==mt||t[120]!==Tt||t[121]!==Nt||t[122]!==n?.tooltip||t[123]!==O?(nt=Nt&&O&&mt&&Tt?i.jsxRuntimeExports.jsx(Ee.Tooltip,{data:Nt,body:O,xPos:mt,yPos:Tt,backgroundStyle:n?.tooltip,className:s?.tooltip}):null,t[118]=s?.tooltip,t[119]=mt,t[120]=Tt,t[121]=Nt,t[122]=n?.tooltip,t[123]=O,t[124]=nt):nt=t[124];let ft;t[125]!==m||t[126]!==B?(ft=m&&B!==void 0?i.jsxRuntimeExports.jsx(Ae.le,{open:B!==void 0,onClose:()=>{Vt(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof m=="string"?{__html:Re.string2HTML(m,B)}:void 0,children:typeof m=="function"?m(B):null})}):null,t[125]=m,t[126]=B,t[127]=ft):ft=t[127];let yt;return t[128]!==it||t[129]!==nt||t[130]!==ft?(yt=i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[it,nt,ft]}),t[128]=it,t[129]=nt,t[130]=ft,t[131]=yt):yt=t[131],yt}function ri(e){return e.layer}function ai(e){return e.position==="after"}function li(e){return e!==null}function ci(e){return e!==null}function ui(e){return e!==null}function xi(e){return e!==null}function di(e){return e.layer}function mi(e){return e.position==="before"}function pi(e,t){return t!==0}function hi(e,t){return t!==0}function fi(e){return`${e.id}`}function yi(e){const t=i.compilerRuntimeExports.c(43),{data:h,graphTitle:Dt,colors:ie,sources:qt,graphDescription:Ft,barPadding:v,showTicks:Ot,leftMargin:Pt,rightMargin:Bt,topMargin:Mt,bottomMargin:It,truncateBy:st,height:ut,width:g,footNote:D,colorDomain:Ht,colorLegendTitle:O,padding:X,backgroundColor:Wt,radius:ot,tooltip:q,showLabels:M,relativeHeight:k,onSeriesMouseOver:Ut,graphID:xt,suffix:vt,prefix:Gt,maxValue:m,minValue:F,onSeriesMouseClick:zt,graphDownload:jt,dataDownload:n,showValues:s,sortParameter:I,arrowConnector:wt,connectorStrokeWidth:d,language:u,minHeight:$,theme:L,maxBarThickness:dt,maxNumberOfBars:b,minBarThickness:Jt,ariaLabel:Lt,resetSelectionOnDoubleClick:kt,detailsOnClick:ne,axisTitle:Kt,noOfTicks:N,valueColor:U,orientation:$t,styles:a,classNames:o,labelOrder:rt,refValues:at,filterNA:Nt,animate:P,precision:B,showColorScale:Vt,customLayers:mt,highlightedDataPoints:pt,dimmedOpacity:Tt,timeline:ht,sortData:H}=e,W=ie===void 0?Ge.Colors.light.categoricalColors.colors:ie,z=v===void 0?.25:v,A=Ot===void 0?!0:Ot,V=st===void 0?999:st,E=Wt===void 0?!0:Wt,J=ot===void 0?3:ot,K=M===void 0?!0:M,Q=vt===void 0?"":vt,Z=Gt===void 0?"":Gt,j=jt===void 0?!1:jt,w=n===void 0?!1:n,_=s===void 0?!0:s,tt=wt===void 0?!1:wt,et=d===void 0?2:d,R=u===void 0?"en":u,T=$===void 0?0:$,S=L===void 0?"light":L,it=kt===void 0?!0:kt,nt=N===void 0?5:N,ft=$t===void 0?"vertical":$t,yt=Nt===void 0?!0:Nt,At=P===void 0?!1:P,Qt=B===void 0?2:B,G=Vt===void 0?!0:Vt;let f;t[0]!==mt?(f=mt===void 0?[]:mt,t[0]=mt,t[1]=f):f=t[1];const gt=f;let Zt;t[2]!==pt?(Zt=pt===void 0?[]:pt,t[2]=pt,t[3]=Zt):Zt=t[3];const se=Zt,_t=Tt===void 0?.3:Tt,p=ht===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:ht,[Yt,te]=C.useState(0),[Et,ee]=C.useState(0),[lt,r]=C.useState(p.autoplay),x=Ye.sort(Fe.uniqBy(h,"date",!0).map(c=>he.parse(`${c}`,p.dateFormat||"yyyy",new Date).getTime()),Ti),[y,bt]=C.useState(p.autoplay?0:x.length-1),[ae,l]=C.useState(void 0),ct=C.useRef(null),Y=C.useRef(null);let Xt,le;t[4]===Symbol.for("react.memo_cache_sentinel")?(Xt=()=>{const c=new ResizeObserver(St=>{te(St[0].target.clientWidth||620),ee(St[0].target.clientHeight||480)});return ct.current&&c.observe(ct.current),()=>c.disconnect()},le=[],t[4]=Xt,t[5]=le):(Xt=t[4],le=t[5]),C.useEffect(Xt,le),C.useEffect(()=>{const c=setInterval(()=>{bt(St=>St<x.length-1?St+1:0)},(p.speed||2)*1e3);return lt||clearInterval(c),()=>clearInterval(c)},[x,lt,p.speed]);const ge=ve.getSliderMarks(x,y,p.showOnlyActiveDate,p.dateFormat||"yyyy"),Ve=ft==="horizontal"?oi:Ue,ue=je.GraphContainer,xe=o?.graphContainer,de=a?.graphContainer;let oe;t[6]!==o?.description||t[7]!==o?.title||t[8]!==h||t[9]!==w||t[10]!==Ft||t[11]!==j||t[12]!==Dt||t[13]!==a?.description||t[14]!==a?.title||t[15]!==g?(oe=Dt||Ft||j||w?i.jsxRuntimeExports.jsx(Pe.GraphHeader,{styles:{title:a?.title,description:a?.description},classNames:{title:o?.title,description:o?.description},graphTitle:Dt,graphDescription:Ft,width:g,graphDownload:j?Y:void 0,dataDownload:w?h.map(Vi).filter(Ni).length>0?h.map($i).filter(Li):h.filter(Ii):null}):null,t[6]=o?.description,t[7]=o?.title,t[8]=h,t[9]=w,t[10]=Ft,t[11]=j,t[12]=Dt,t[13]=a?.description,t[14]=a?.title,t[15]=g,t[16]=oe):oe=t[16];const me=p.enabled&&x.length>0&&ge?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{r(!lt)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":lt?"Click to pause animation":"Click to play animation",children:lt?i.jsxRuntimeExports.jsx(we.Pause,{}):i.jsxRuntimeExports.jsx(we.Play,{})}),i.jsxRuntimeExports.jsx(ve.Nr,{min:x[0],max:x[x.length-1],marks:ge,step:null,defaultValue:x[x.length-1],value:x[y],onChangeComplete:c=>{bt(x.indexOf(c))},onChange:c=>{bt(x.indexOf(c))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,pe=h.length===0?i.jsxRuntimeExports.jsx(We.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[G?i.jsxRuntimeExports.jsx(He.ColorLegendWithMouseOver,{width:g,colorDomain:Ht,colors:W,colorLegendTitle:O,setSelectedColor:l,showNAColor:!1,className:o?.colorLegend}):null,i.jsxRuntimeExports.jsx(je.GraphArea,{ref:ct,children:Yt&&Et?i.jsxRuntimeExports.jsx(Ve,{data:I!==void 0?I==="diff"?be.orderBy(fe.ensureCompleteDataForDumbbellChart(h,p.dateFormat||"yyyy").filter(c=>p.enabled?c.date===he.format(new Date(x[y]),p.dateFormat||"yyyy"):c).filter(c=>yt?!c.x.every(Mi):c),Oi,[H||"asc"]).filter((c,St)=>b?St<b:!0):be.orderBy(fe.ensureCompleteDataForDumbbellChart(h,p.dateFormat||"yyyy").filter(c=>p.enabled?c.date===he.format(new Date(x[y]),p.dateFormat||"yyyy"):c).filter(c=>yt?!c.x.every(Ci):c),c=>Ct.checkIfNullOrUndefined(c.x[I])?-1/0:c.x[I],[H||"asc"]).filter((c,St)=>b?St<b:!0):fe.ensureCompleteDataForDumbbellChart(h,p.dateFormat||"yyyy").filter(c=>yt?!c.x.every(Ri):c).filter((c,St)=>b?St<b:!0),dotColors:W,width:Yt,height:Et,radius:J,barPadding:z,showTicks:A,leftMargin:Pt,rightMargin:Bt,topMargin:Mt,bottomMargin:It,truncateBy:V,showLabels:K,showValues:_,tooltip:q,suffix:Q,prefix:Z,onSeriesMouseOver:Ut,maxValue:Ct.checkIfNullOrUndefined(m)?Math.max(...h.map(Ai))<0?0:Math.max(...h.map(wi)):m,minValue:Ct.checkIfNullOrUndefined(F)?Math.min(...h.map(vi))>0?0:Math.min(...h.map(gi)):F,onSeriesMouseClick:zt,selectedColor:ae,arrowConnector:tt,connectorStrokeWidth:et,maxBarThickness:dt,minBarThickness:Jt,resetSelectionOnDoubleClick:it,detailsOnClick:ne,axisTitle:Kt,noOfTicks:nt,valueColor:U,styles:a,classNames:o,labelOrder:rt,refValues:at,animate:At===!0?{duration:.5,once:!0,amount:.5}:At||{duration:0,once:!0,amount:0},precision:Qt,customLayers:gt,highlightedDataPoints:se,dimmedOpacity:_t,rtl:R==="ar"||R==="he"}):null})]});let re;t[17]!==o?.footnote||t[18]!==o?.source||t[19]!==D||t[20]!==qt||t[21]!==a?.footnote||t[22]!==a?.source||t[23]!==g?(re=qt||D?i.jsxRuntimeExports.jsx(Be.GraphFooter,{styles:{footnote:a?.footnote,source:a?.source},classNames:{footnote:o?.footnote,source:o?.source},sources:qt,footNote:D,width:g}):null,t[17]=o?.footnote,t[18]=o?.source,t[19]=D,t[20]=qt,t[21]=a?.footnote,t[22]=a?.source,t[23]=g,t[24]=re):re=t[24];let ce;return t[25]!==ue||t[26]!==Lt||t[27]!==E||t[28]!==xt||t[29]!==ut||t[30]!==R||t[31]!==T||t[32]!==X||t[33]!==k||t[34]!==xe||t[35]!==de||t[36]!==oe||t[37]!==me||t[38]!==pe||t[39]!==re||t[40]!==S||t[41]!==g?(ce=i.jsxRuntimeExports.jsxs(ue,{className:xe,style:de,id:xt,ref:Y,"aria-label":Lt,backgroundColor:E,theme:S,language:R,minHeight:T,width:g,height:ut,relativeHeight:k,padding:X,children:[oe,me,pe,re]}),t[25]=ue,t[26]=Lt,t[27]=E,t[28]=xt,t[29]=ut,t[30]=R,t[31]=T,t[32]=X,t[33]=k,t[34]=xe,t[35]=de,t[36]=oe,t[37]=me,t[38]=pe,t[39]=re,t[40]=S,t[41]=g,t[42]=ce):ce=t[42],ce}function gi(e){return Math.min(...e.x.filter(bi))}function bi(e){return e!==null}function vi(e){return Math.min(...e.x.filter(ji))}function ji(e){return e!==null}function wi(e){return Math.max(...e.x.filter(ki))}function ki(e){return e!==null}function Ai(e){return Math.max(...e.x.filter(Ei))}function Ei(e){return e!==null}function Ri(e){return e==null}function Ci(e){return e==null}function Oi(e){return Ct.checkIfNullOrUndefined(e.x[e.x.length-1])||Ct.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]}function Mi(e){return e==null}function Ii(e){return e!==void 0}function Li(e){return e!==void 0}function $i(e){return e.data}function Ni(e){return e!==void 0}function Vi(e){return e.data}function Ti(e,t){return Xe.ascending(e,t)}exports.DumbbellChart=yi;
|
|
2
2
|
//# sourceMappingURL=DumbbellChart.cjs.map
|