@undp/data-viz 1.5.9 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2185 -4042
- 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 +118 -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 +518 -1016
- 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 +1 -0
- package/dist/BiVariateChoroplethMap.js +456 -697
- 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 +1 -0
- package/dist/ChoroplethMap.js +468 -722
- 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 -6
- 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 +3 -3
- 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/Data/barChart.json +70 -0
- package/dist/Data/basic.csv +20 -0
- 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 +731 -795
- 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 +1 -0
- package/dist/DotDensityMap.js +387 -574
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/{DropdownSelect-6kjXM6oW.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 +620 -714
- 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-36lXXyui.js.map → EmptyState-BZo1BbAn.js.map} +1 -1
- package/dist/EmptyState-sAEZ_5rU.cjs +2 -0
- package/dist/{EmptyState-B8IpKGcL.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 +267 -342
- 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 -379
- 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 -278
- 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-2IiUDxjR.js → GraphEl-BZne2JIx.js} +181 -202
- package/dist/GraphEl-BZne2JIx.js.map +1 -0
- package/dist/GraphEl-D5MUfp45.cjs +2 -0
- package/dist/GraphEl-D5MUfp45.cjs.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 +1 -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 +1 -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 +677 -827
- 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 +1 -0
- package/dist/MultiGraphDashboard.js +126 -292
- 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 +1 -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 +139 -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 +582 -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 -724
- 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 +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +148 -337
- 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 +1 -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 +1 -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 +1 -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 +505 -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 +2 -1
- package/dist/SingleGraphDashboard.js +284 -508
- 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 +2 -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 +1 -0
- package/dist/SingleGraphDashboardGeoHubMaps.js +150 -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 +1 -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 +1 -0
- package/dist/SingleGraphDashboardThreeDGraphs.js +363 -593
- 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 +1 -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 +161 -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 +1 -0
- package/dist/ThreeDGlobe.js +356 -519
- 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 +1 -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-x4L4xwLl.js.map → customArea-BUhPiPT6.js.map} +1 -1
- package/dist/customArea-CMF5g-C3.cjs +2 -0
- package/dist/{customArea-1G1S78s_.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/getNoOfTicks-C_1CFXv_.cjs +2 -0
- package/dist/getNoOfTicks-C_1CFXv_.cjs.map +1 -0
- package/dist/getNoOfTicks-CpmRjcRF.js +7 -0
- package/dist/getNoOfTicks-CpmRjcRF.js.map +1 -0
- 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-BHe3wsWF.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-C6LorfZ-.cjs +2 -0
- package/dist/index-C6LorfZ-.cjs.map +1 -0
- package/dist/index-CHPV5EwG-CTPQjnHt.cjs +84 -0
- package/dist/index-CHPV5EwG-CTPQjnHt.cjs.map +1 -0
- package/dist/{index-CHPV5EwG-DBWUSD9b.js → index-CHPV5EwG-Curnpaqc.js} +724 -625
- package/dist/index-CHPV5EwG-Curnpaqc.js.map +1 -0
- package/dist/index-Ceppbd8C.js +342 -0
- package/dist/index-Ceppbd8C.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-Cw8sCyo_-BuI_jX5Z.js → index-Cw8sCyo_-B2hEKjzG.js} +16 -16
- package/dist/{index-Cw8sCyo_-BuI_jX5Z.js.map → index-Cw8sCyo_-B2hEKjzG.js.map} +1 -1
- package/dist/{index-Cw8sCyo_-gxT8ADyn.cjs → index-Cw8sCyo_-BrHiWiRF.cjs} +2 -2
- package/dist/{index-Cw8sCyo_-gxT8ADyn.cjs.map → index-Cw8sCyo_-BrHiWiRF.cjs.map} +1 -1
- 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-DxXnJ8Ti.cjs +2 -0
- package/dist/index-DxXnJ8Ti.cjs.map +1 -0
- package/dist/{index-Dzc_aaI9-BKklH89r.js → index-Dzc_aaI9-Bb7gobH_.js} +2 -2
- package/dist/{index-Dzc_aaI9-BKklH89r.js.map → index-Dzc_aaI9-Bb7gobH_.js.map} +1 -1
- package/dist/{index-Dzc_aaI9-RIk2GRHD.cjs → index-Dzc_aaI9-BmkfPMyc.cjs} +2 -2
- package/dist/{index-Dzc_aaI9-RIk2GRHD.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-Bw_eHBVN.js.map → index-SKgJALZg.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +10 -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-BYIC9BuT.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-DR-UTB96.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 +7 -6
- package/dist/Axis-4gUOL8B7.js +0 -43
- package/dist/Axis-4gUOL8B7.js.map +0 -1
- package/dist/Axis-CkNn1wit.cjs +0 -2
- package/dist/Axis-CkNn1wit.cjs.map +0 -1
- package/dist/AxisTitle-Wkz-xeQL.cjs +0 -2
- package/dist/AxisTitle-Wkz-xeQL.cjs.map +0 -1
- package/dist/AxisTitle-v6_xcXZ-.js +0 -20
- package/dist/AxisTitle-v6_xcXZ-.js.map +0 -1
- package/dist/DropdownSelect-6kjXM6oW.js.map +0 -1
- package/dist/DropdownSelect-vt8yiB-g.cjs +0 -29
- package/dist/DropdownSelect-vt8yiB-g.cjs.map +0 -1
- package/dist/EmptyState-36lXXyui.js +0 -22
- package/dist/EmptyState-B8IpKGcL.cjs +0 -2
- package/dist/GraphEl-2IiUDxjR.js.map +0 -1
- package/dist/GraphEl-qrlfGPe3.cjs +0 -2
- package/dist/GraphEl-qrlfGPe3.cjs.map +0 -1
- package/dist/Modal-Cg8daIlV.js +0 -1030
- package/dist/Modal-Cg8daIlV.js.map +0 -1
- package/dist/Modal-CuuJdWkD.cjs +0 -46
- package/dist/Modal-CuuJdWkD.cjs.map +0 -1
- package/dist/ReferenceLine-CPMaAX0r.js +0 -128
- package/dist/ReferenceLine-CPMaAX0r.js.map +0 -1
- package/dist/ReferenceLine-D04j-zeV.cjs +0 -2
- package/dist/ReferenceLine-D04j-zeV.cjs.map +0 -1
- package/dist/RegressionLine-CW7iViH2.js +0 -49
- package/dist/RegressionLine-CW7iViH2.js.map +0 -1
- package/dist/RegressionLine-D-49RaHa.cjs +0 -2
- package/dist/RegressionLine-D-49RaHa.cjs.map +0 -1
- package/dist/Spinner-Bpz70q_g.js +0 -30
- package/dist/Spinner-Bpz70q_g.js.map +0 -1
- package/dist/Spinner-C6wLp85s.cjs +0 -2
- package/dist/Spinner-C6wLp85s.cjs.map +0 -1
- package/dist/Tooltip-6LIdPQGC.js +0 -46
- package/dist/Tooltip-6LIdPQGC.js.map +0 -1
- package/dist/Tooltip-Cpv0QohJ.cjs +0 -2
- package/dist/Tooltip-Cpv0QohJ.cjs.map +0 -1
- package/dist/Typography-BDULiwlF.cjs +0 -2
- package/dist/Typography-BDULiwlF.cjs.map +0 -1
- package/dist/Typography-LmZ9LEpe.js +0 -140
- package/dist/Typography-LmZ9LEpe.js.map +0 -1
- package/dist/XAxesLabels-CLZnBgSr.cjs +0 -2
- package/dist/XAxesLabels-CLZnBgSr.cjs.map +0 -1
- package/dist/XAxesLabels-SOSmso5J.js +0 -57
- package/dist/XAxesLabels-SOSmso5J.js.map +0 -1
- package/dist/XTicksAndGridLines-DuydSnZ_.js +0 -56
- package/dist/XTicksAndGridLines-DuydSnZ_.js.map +0 -1
- package/dist/XTicksAndGridLines-RKy7BVCO.cjs +0 -2
- package/dist/XTicksAndGridLines-RKy7BVCO.cjs.map +0 -1
- package/dist/YAxesLabels-DlDyLvhi.js +0 -52
- package/dist/YAxesLabels-DlDyLvhi.js.map +0 -1
- package/dist/YAxesLabels-Dqd259-t.cjs +0 -2
- package/dist/YAxesLabels-Dqd259-t.cjs.map +0 -1
- package/dist/YTicksAndGridLines-7t4MKtGw.js +0 -56
- package/dist/YTicksAndGridLines-7t4MKtGw.js.map +0 -1
- package/dist/YTicksAndGridLines-qGpRo_t1.cjs +0 -2
- package/dist/YTicksAndGridLines-qGpRo_t1.cjs.map +0 -1
- package/dist/checkIfMultiple-Dko_cBvE.cjs +0 -12
- package/dist/checkIfMultiple-Dko_cBvE.cjs.map +0 -1
- package/dist/checkIfMultiple-u2SmbiCf.js +0 -912
- package/dist/checkIfMultiple-u2SmbiCf.js.map +0 -1
- package/dist/customArea-1G1S78s_.cjs +0 -2
- package/dist/customArea-x4L4xwLl.js +0 -175
- package/dist/fetchAndParseData-Ba-_CgxS.cjs +0 -16
- package/dist/getGraphList-DuColTJM.js +0 -265
- package/dist/getSliderMarks-CUxPy36E.cjs +0 -6
- package/dist/getSliderMarks-CUxPy36E.cjs.map +0 -1
- package/dist/getSliderMarks-_pYOWEtO.js +0 -1023
- package/dist/getSliderMarks-_pYOWEtO.js.map +0 -1
- package/dist/index-9tDEUqOZ.js.map +0 -1
- package/dist/index-BHe3wsWF.cjs +0 -2
- package/dist/index-Bw_eHBVN.js +0 -77
- package/dist/index-C0bpbS4F.cjs +0 -2
- package/dist/index-C0bpbS4F.cjs.map +0 -1
- package/dist/index-CE9pmfxt.js +0 -430
- package/dist/index-CE9pmfxt.js.map +0 -1
- package/dist/index-CEJwW3lL.cjs +0 -2
- package/dist/index-CEJwW3lL.cjs.map +0 -1
- package/dist/index-CHPV5EwG-DBWUSD9b.js.map +0 -1
- package/dist/index-CHPV5EwG-DjM48pIC.cjs +0 -44
- package/dist/index-CHPV5EwG-DjM48pIC.cjs.map +0 -1
- package/dist/index-CQ3e6Ewi.cjs +0 -2
- package/dist/index-Cm8NIdOO.cjs +0 -10
- package/dist/index-Cm8NIdOO.cjs.map +0 -1
- package/dist/index-CoZbeNM9.cjs +0 -2
- package/dist/index-CoZbeNM9.cjs.map +0 -1
- package/dist/index-Cwgh7i7X.js +0 -122
- package/dist/index-Cwgh7i7X.js.map +0 -1
- package/dist/index-D72cOtq7.cjs +0 -2
- package/dist/index-zZjQEHlm.js +0 -342
- package/dist/index-zZjQEHlm.js.map +0 -1
- package/dist/ordinal-BOeNbyae.cjs.map +0 -1
- package/dist/ordinal-w9Lu4Stb.js.map +0 -1
- package/dist/proxy-BYIC9BuT.js.map +0 -1
- package/dist/proxy-CKadx4lC.cjs +0 -2
- package/dist/proxy-CKadx4lC.cjs.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-CEwlc_dd.cjs +0 -2
- package/dist/use-in-view-CEwlc_dd.cjs.map +0 -1
- package/dist/use-in-view-DR-UTB96.js.map +0 -1
- package/dist/zoom-BiMNsz72.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLineChart.js","sources":["../src/Components/Graphs/LineCharts/MultiLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n labels: (string | number)[];\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n showColorLegendAtTop: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n dashedLines: (string | number)[];\r\n dashSettings: string[];\r\n labelsToBeHidden: (string | number)[];\r\n revealClipId: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n dateFormat,\r\n noOfXTicks,\r\n labels,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showValues,\r\n showColorLegendAtTop,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n dashedLines,\r\n dashSettings,\r\n labelsToBeHidden,\r\n revealClipId,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const dataArray = dataFormatted[0].y.map((_d, i) => {\r\n return dataFormatted\r\n .map(el => ({\r\n ...el,\r\n y: el.y[i],\r\n }))\r\n .filter(el => !checkIfNullOrUndefined(el.y));\r\n });\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n ) > 0\r\n ? 0\r\n : Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <defs>\r\n <clipPath id={revealClipId}>\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n height={graphHeight}\r\n variants={{\r\n initial: { width: 0 },\r\n whileInView: {\r\n width: graphWidth,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n </clipPath>\r\n </defs>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n {dataArray.map((d, i) => (\r\n <motion.g\r\n key={labels[i]}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n style={{\r\n fill: 'none',\r\n strokeWidth,\r\n }}\r\n clipPath={`url(#${revealClipId})`}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n ...(dashedLines.length === 0 ? { pathLength: 0 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n },\r\n whileInView: {\r\n ...(dashedLines.length === 0 ? { pathLength: 1 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n strokeDasharray={\r\n dashedLines.includes(labels[i])\r\n ? dashSettings[i % dashSettings.length]\r\n : undefined\r\n }\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={-8}\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(el.y, 'NA', precision, prefix, suffix)}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </g>\r\n ))}\r\n {showColorLegendAtTop || labelsToBeHidden.includes(labels[i]) ? null : (\r\n <motion.text\r\n className='text-xs'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {labels[i]}\r\n </motion.text>\r\n )}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { generateRandomString } from '@/Utils/generateRandomString';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors of the lines */\r\n lineColors?: string[];\r\n /** Toggle the visibility of color legend between the top of the graphs and next to the line */\r\n showColorLegendAtTop?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Array of labels of line which are dashed */\r\n dashedLines?: (string | number)[];\r\n /** Array of dash settings that define the dash style for the dashed line. If the length of the array is less than length of dashedLines then it loop around. */\r\n dashSettings?: string[];\r\n /** Defines which labels are hidden from the color scale and the graph */\r\n labelsToBeHidden?: (string | number)[];\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Labels for the lines */\r\n labels: (string | number)[];\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function MultiLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n lineColors = Colors.light.categoricalColors.colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n labels,\r\n padding,\r\n showValues = false,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showColorLegendAtTop = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines = [],\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n dashedLines = [],\r\n dashSettings = ['5 5'],\r\n labelsToBeHidden = [],\r\n showColorScale = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(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 multi-line chart that shows trends 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 {showColorLegendAtTop && showColorScale ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n labelsToBeHidden={labelsToBeHidden}\r\n colors={lineColors}\r\n showNAColor={false}\r\n />\r\n ) : null}\r\n <div className='w-full grow leading-0' ref={graphDiv} aria-label='Graph area'>\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <Graph\r\n data={data}\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 noOfXTicks={noOfXTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorLegendAtTop={showColorScale ? showColorLegendAtTop : true}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n labelsToBeHidden={labelsToBeHidden}\r\n dashedLines={dashedLines}\r\n dashSettings={dashSettings}\r\n revealClipId={generateRandomString(8)}\r\n />\r\n ) : null}\r\n </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","dateFormat","noOfXTicks","labels","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","showValues","showColorLegendAtTop","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","classNames","dimmedOpacity","precision","customLayers","dashedLines","dashSettings","labelsToBeHidden","revealClipId","svgRef","useRef","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","dataArray","_d","el","checkIfNullOrUndefined","highlightAreaSettingsFormatted","customHighlightAreaSettingsFormatted","j","graphWidth","graphHeight","minYear","maxYear","minParam","maxParam","x","scaleTime","y","scaleLinear","lineShape","line","yTicks","xTicks","mousemove","event","selectedData","bisectCenter","pointer","mouseout","select","jsxs","Fragment","jsx","motion","HighlightArea","CustomArea","YTicksAndGridLines","Axis","numberFormattingFunction","AxisTitle","XTicksAndGridLines","format","cn","RefLineY","endPoints","getLineEndPoint","connectorSettings","labelSettings","Annotation","Tooltip","MultiLineChart","graphTitle","Colors","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","showColorScale","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","entries","GraphHeader","EmptyState","ColorLegend","generateRandomString","GraphFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiLineChart.js","sources":["../src/Components/Graphs/LineCharts/MultiLineChart/Graph.tsx","../src/Components/Graphs/LineCharts/MultiLineChart/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport {\r\n line,\r\n curveLinear,\r\n curveMonotoneX,\r\n curveStep,\r\n curveStepAfter,\r\n curveStepBefore,\r\n} from 'd3-shape';\r\nimport { scaleLinear, scaleTime } from 'd3-scale';\r\nimport { format } from 'date-fns/format';\r\nimport { parse } from 'date-fns/parse';\r\nimport { bisectCenter } from 'd3-array';\r\nimport { pointer, select } from 'd3-selection';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n AnimateDataType,\r\n AnnotationSettingsDataType,\r\n ClassNameObject,\r\n CurveTypes,\r\n CustomHighlightAreaSettingsDataType,\r\n CustomLayerDataType,\r\n HighlightAreaSettingsDataType,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getLineEndPoint } from '@/Utils/getLineEndPoint';\r\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { Annotation } from '@/Components/Elements/Annotations';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { CustomArea } from '@/Components/Elements/HighlightArea/customArea';\r\nimport { HighlightArea } from '@/Components/Elements/HighlightArea';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n lineColors: string[];\r\n width: number;\r\n height: number;\r\n dateFormat: string;\r\n noOfXTicks: number;\r\n labels: (string | number)[];\r\n topMargin: number;\r\n bottomMargin: number;\r\n leftMargin: number;\r\n rightMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n showColorLegendAtTop: boolean;\r\n highlightAreaSettings: HighlightAreaSettingsDataType[];\r\n refValues: ReferenceDataType[];\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedLines: (string | number)[];\r\n animate: AnimateDataType;\r\n rtl: boolean;\r\n strokeWidth: number;\r\n showDots: boolean;\r\n annotations: AnnotationSettingsDataType[];\r\n customHighlightAreaSettings: CustomHighlightAreaSettingsDataType[];\r\n yAxisTitle?: string;\r\n noOfYTicks: number;\r\n minDate?: string | number;\r\n maxDate?: string | number;\r\n curveType: CurveTypes;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n dashedLines: (string | number)[];\r\n dashSettings: string[];\r\n labelsToBeHidden: (string | number)[];\r\n revealClipId: string;\r\n}\r\n\r\ninterface FormattedDataType {\r\n y: number;\r\n date: Date;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n width,\r\n height,\r\n lineColors,\r\n dateFormat,\r\n noOfXTicks,\r\n labels,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n suffix,\r\n prefix,\r\n leftMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showValues,\r\n showColorLegendAtTop,\r\n refValues,\r\n highlightAreaSettings,\r\n minValue,\r\n maxValue,\r\n highlightedLines,\r\n animate,\r\n rtl,\r\n strokeWidth,\r\n showDots,\r\n annotations,\r\n customHighlightAreaSettings,\r\n yAxisTitle,\r\n noOfYTicks,\r\n minDate,\r\n maxDate,\r\n curveType,\r\n styles,\r\n classNames,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n dashedLines,\r\n dashSettings,\r\n labelsToBeHidden,\r\n revealClipId,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const [hasAnimatedOnce, setHasAnimatedOnce] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isInView && !hasAnimatedOnce) {\r\n const timeout = setTimeout(\r\n () => {\r\n setHasAnimatedOnce(true);\r\n },\r\n (animate.duration + 0.5) * 1000,\r\n );\r\n return () => clearTimeout(timeout);\r\n }\r\n }, [isInView, hasAnimatedOnce, animate.duration]);\r\n const curve =\r\n curveType === 'linear'\r\n ? curveLinear\r\n : curveType === 'step'\r\n ? curveStep\r\n : curveType === 'stepAfter'\r\n ? curveStepAfter\r\n : curveType === 'stepBefore'\r\n ? curveStepBefore\r\n : curveMonotoneX;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: yAxisTitle ? leftMargin + 30 : leftMargin,\r\n right: rightMargin,\r\n };\r\n const MouseoverRectRef = useRef(null);\r\n const dataFormatted = orderBy(\r\n data.map(d => ({\r\n ...d,\r\n date: parse(`${d.date}`, dateFormat, new Date()),\r\n })),\r\n ['date'],\r\n ['asc'],\r\n );\r\n const dataArray = dataFormatted[0].y.map((_d, i) => {\r\n return dataFormatted\r\n .map(el => ({\r\n ...el,\r\n y: el.y[i],\r\n }))\r\n .filter(el => !checkIfNullOrUndefined(el.y));\r\n });\r\n const highlightAreaSettingsFormatted = highlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: [\r\n d.coordinates[0] === null ? null : parse(`${d.coordinates[0]}`, dateFormat, new Date()),\r\n d.coordinates[1] === null ? null : parse(`${d.coordinates[1]}`, dateFormat, new Date()),\r\n ],\r\n }));\r\n const customHighlightAreaSettingsFormatted = customHighlightAreaSettings.map(d => ({\r\n ...d,\r\n coordinates: d.coordinates.map((el, j) =>\r\n j % 2 === 0 ? parse(`${el}`, dateFormat, new Date()) : (el as number),\r\n ),\r\n }));\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const minYear = minDate ? parse(`${minDate}`, dateFormat, new Date()) : dataFormatted[0].date;\r\n const maxYear = maxDate\r\n ? parse(`${maxDate}`, dateFormat, new Date())\r\n : dataFormatted[dataFormatted.length - 1].date;\r\n const minParam: number = checkIfNullOrUndefined(minValue)\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n ) > 0\r\n ? 0\r\n : Math.min(\r\n ...dataFormatted.map(d =>\r\n Math.min(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0\r\n : (minValue as number);\r\n const maxParam: number = Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n ? Math.max(\r\n ...dataFormatted.map(d =>\r\n Math.max(...(d.y.filter(el => !checkIfNullOrUndefined(el)) as number[])),\r\n ),\r\n )\r\n : 0;\r\n\r\n const x = scaleTime().domain([minYear, maxYear]).range([0, graphWidth]);\r\n const y = scaleLinear()\r\n .domain([\r\n checkIfNullOrUndefined(minValue) ? minParam : (minValue as number),\r\n checkIfNullOrUndefined(maxValue) ? (maxParam > 0 ? maxParam : 0) : (maxValue as number),\r\n ])\r\n .range([graphHeight, 0])\r\n .nice();\r\n\r\n const lineShape = line<FormattedDataType>()\r\n .x(d => x(d.date))\r\n .y(d => y(d.y))\r\n .curve(curve);\r\n\r\n const yTicks = y.ticks(noOfYTicks);\r\n const xTicks = x.ticks(noOfXTicks);\r\n useEffect(() => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mousemove = (event: any) => {\r\n const selectedData =\r\n dataFormatted[\r\n bisectCenter(\r\n dataFormatted.map(d => d.date),\r\n x.invert(pointer(event)[0]),\r\n 0,\r\n )\r\n ];\r\n setMouseOverData(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(selectedData || dataFormatted[dataFormatted.length - 1]);\r\n };\r\n const mouseout = () => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n };\r\n select(MouseoverRectRef.current).on('mousemove', mousemove).on('mouseout', mouseout);\r\n onSeriesMouseOver?.(undefined);\r\n }, [x, dataFormatted, onSeriesMouseOver]);\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <defs>\r\n <clipPath id={revealClipId}>\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n height={graphHeight}\r\n variants={{\r\n initial: { width: 0 },\r\n whileInView: {\r\n width: graphWidth,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n </clipPath>\r\n </defs>\r\n <HighlightArea\r\n areaSettings={highlightAreaSettingsFormatted}\r\n width={graphWidth}\r\n height={graphHeight}\r\n scale={x}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <CustomArea\r\n areaSettings={customHighlightAreaSettingsFormatted}\r\n scaleX={x}\r\n scaleY={y}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n <g>\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n />\r\n <Axis\r\n y1={y(minParam < 0 ? 0 : minParam)}\r\n y2={y(minParam < 0 ? 0 : minParam)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n label={numberFormattingFunction(\r\n minParam < 0 ? 0 : minParam,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n labelPos={{\r\n x: 0 - leftMargin,\r\n y: y(minParam < 0 ? 0 : minParam),\r\n dx: 0,\r\n dy: maxParam < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <AxisTitle\r\n x={0 - leftMargin - 15}\r\n y={graphHeight / 2}\r\n style={styles?.yAxis?.title}\r\n className={classNames?.yAxis?.title}\r\n text={yAxisTitle}\r\n rotate90\r\n />\r\n </g>\r\n <g>\r\n <XTicksAndGridLines\r\n values={xTicks.map(d => format(d, dateFormat))}\r\n x={xTicks.map(d => x(d))}\r\n y1={0}\r\n y2={graphHeight}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: cn('opacity-0', classNames?.xAxis?.gridLines),\r\n labels: cn(\r\n 'fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs',\r\n classNames?.xAxis?.labels,\r\n ),\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='primary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </g>\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n <g>\r\n {dataArray.map((d, i) => (\r\n <motion.g\r\n key={labels[i]}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n },\r\n whileInView: {\r\n opacity:\r\n highlightedLines.length !== 0\r\n ? highlightedLines.indexOf(labels[i]) !== -1\r\n ? 1\r\n : dimmedOpacity\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n <motion.path\r\n style={{\r\n fill: 'none',\r\n strokeWidth,\r\n }}\r\n clipPath={`url(#${revealClipId})`}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n ...(dashedLines.length === 0 ? { pathLength: 0 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n },\r\n whileInView: {\r\n ...(dashedLines.length === 0 ? { pathLength: 1 } : {}),\r\n d:\r\n lineShape(\r\n d.filter((el): el is FormattedDataType => !checkIfNullOrUndefined(el.y)),\r\n ) || '',\r\n opacity: 1,\r\n stroke: lineColors[i],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n strokeDasharray={\r\n dashedLines.includes(labels[i])\r\n ? dashSettings[i % dashSettings.length]\r\n : undefined\r\n }\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.map((el, j) => (\r\n <g key={j}>\r\n {!checkIfNullOrUndefined(el.y) ? (\r\n <>\r\n {showDots ? (\r\n <motion.circle\r\n r={\r\n graphWidth / dataFormatted.length < 5\r\n ? 0\r\n : graphWidth / dataFormatted.length < 20\r\n ? 2\r\n : 4\r\n }\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n cx: x(el.date),\r\n cy: y(el.y as number),\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n ) : null}\r\n {showValues ? (\r\n <motion.text\r\n dy={-8}\r\n style={{\r\n textAnchor: 'middle',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n className={cn(\r\n 'graph-value text-xs font-bold',\r\n classNames?.graphObjectValues,\r\n )}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(el.date),\r\n y: y(el.y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {numberFormattingFunction(el.y, 'NA', precision, prefix, suffix)}\r\n </motion.text>\r\n ) : null}\r\n </>\r\n ) : null}\r\n </g>\r\n ))}\r\n {showColorLegendAtTop || labelsToBeHidden.includes(labels[i]) ? null : (\r\n <motion.text\r\n className='text-xs'\r\n dx={5}\r\n dy={4}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n },\r\n whileInView: {\r\n opacity: 1,\r\n fill: lineColors[i],\r\n x: x(d[d.length - 1].date),\r\n y: y(d[d.length - 1].y as number),\r\n transition: {\r\n duration: hasAnimatedOnce ? animate.duration : 0.5,\r\n delay: hasAnimatedOnce ? 0 : animate.duration,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n >\r\n {labels[i]}\r\n </motion.text>\r\n )}\r\n </motion.g>\r\n ))}\r\n {mouseOverData ? (\r\n <line\r\n y1={0}\r\n y2={graphHeight}\r\n x1={x(mouseOverData.date)}\r\n x2={x(mouseOverData.date)}\r\n className={cn(\r\n 'undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100',\r\n classNames?.mouseOverLine,\r\n )}\r\n style={styles?.mouseOverLine}\r\n />\r\n ) : null}\r\n </g>\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - leftMargin}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n <g>\r\n {annotations.map((d, i) => {\r\n const endPoints = getLineEndPoint(\r\n {\r\n x: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n },\r\n {\r\n x: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n y: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n },\r\n checkIfNullOrUndefined(d.connectorRadius) ? 3.5 : (d.connectorRadius as number),\r\n );\r\n const connectorSettings = d.showConnector\r\n ? {\r\n y1: endPoints.y,\r\n x1: endPoints.x,\r\n y2: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0)\r\n : 0 + (d.yOffset || 0),\r\n x2: d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n cy: d.yCoordinate ? y(d.yCoordinate as number) : 0,\r\n cx: d.xCoordinate ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) : 0,\r\n circleRadius: checkIfNullOrUndefined(d.connectorRadius)\r\n ? 3.5\r\n : (d.connectorRadius as number),\r\n strokeWidth: d.showConnector === true ? 2 : Math.min(d.showConnector || 0, 1),\r\n }\r\n : undefined;\r\n const labelSettings = {\r\n y: d.yCoordinate\r\n ? y(d.yCoordinate as number) + (d.yOffset || 0) - 8\r\n : 0 + (d.yOffset || 0) - 8,\r\n x: rtl\r\n ? 0\r\n : d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0),\r\n width: rtl\r\n ? d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)\r\n : graphWidth +\r\n margin.right -\r\n (d.xCoordinate\r\n ? x(parse(`${d.xCoordinate}`, dateFormat, new Date())) + (d.xOffset || 0)\r\n : 0 + (d.xOffset || 0)),\r\n maxWidth: d.maxWidth,\r\n fontWeight: d.fontWeight,\r\n align: d.align,\r\n };\r\n return (\r\n <Annotation\r\n key={i}\r\n color={d.color}\r\n connectorsSettings={connectorSettings}\r\n labelSettings={labelSettings}\r\n text={d.text}\r\n classNames={d.classNames}\r\n styles={d.styles}\r\n animate={animate}\r\n isInView={isInView}\r\n />\r\n );\r\n })}\r\n </g>\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n <rect\r\n ref={MouseoverRectRef}\r\n style={{\r\n fill: 'none',\r\n pointerEvents: 'all',\r\n }}\r\n width={graphWidth}\r\n height={graphHeight}\r\n />\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n AnnotationSettingsDataType,\r\n CustomHighlightAreaSettingsDataType,\r\n Languages,\r\n MultiLineChartDataType,\r\n ReferenceDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n HighlightAreaSettingsDataType,\r\n CurveTypes,\r\n CustomLayerDataType,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { generateRandomString } from '@/Utils/generateRandomString';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { getNoOfTicks } from '@/Utils/getNoOfTicks';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: MultiLineChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors of the lines */\r\n lineColors?: string[];\r\n /** Toggle the visibility of color legend between the top of the graphs and next to the line */\r\n showColorLegendAtTop?: boolean;\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Array of labels of line which are dashed */\r\n dashedLines?: (string | number)[];\r\n /** Array of dash settings that define the dash style for the dashed line. If the length of the array is less than length of dashedLines then it loop around. */\r\n dashSettings?: string[];\r\n /** Defines which labels are hidden from the color scale and the graph */\r\n labelsToBeHidden?: (string | number)[];\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Minimum value for the chart */\r\n minValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Maximum value of the date for the chart */\r\n maxDate?: string | number;\r\n /** Minimum value of the date for the chart */\r\n minDate?: string | number;\r\n /** No. of ticks on the x-axis */\r\n noOfXTicks?: number;\r\n /** No. of ticks on the y-axis */\r\n noOfYTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of dots on the line */\r\n showDots?: boolean;\r\n /** Toggle visibility of color scale. */\r\n showColorScale?: boolean;\r\n /** Stroke width of the line */\r\n strokeWidth?: number;\r\n /** Toggle the initial animation of the line. If the type is number then it uses the number as the time in seconds for animation. */\r\n animate?: boolean | AnimateDataType;\r\n /** Format of the date in the data object. Available formats can be found [here](https://date-fns.org/docs/format) */\r\n dateFormat?: string;\r\n /** Title for the Y-axis */\r\n yAxisTitle?: string;\r\n /** Labels for the lines */\r\n labels: (string | number)[];\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedLines?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Annotations on the chart */\r\n annotations?: AnnotationSettingsDataType[];\r\n /** Highlighted area(square) on the chart */\r\n highlightAreaSettings?: HighlightAreaSettingsDataType[];\r\n /** Highlighted area(custom shape) on the chart */\r\n customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];\r\n /** Curve type for the line */\r\n curveType?: CurveTypes;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function MultiLineChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n lineColors = Colors.light.categoricalColors.colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n noOfXTicks = 10,\r\n dateFormat = 'yyyy',\r\n labels,\r\n padding,\r\n showValues = false,\r\n backgroundColor = false,\r\n leftMargin = 30,\r\n rightMargin = 50,\r\n topMargin = 20,\r\n bottomMargin = 25,\r\n tooltip,\r\n relativeHeight,\r\n onSeriesMouseOver,\r\n showColorLegendAtTop = false,\r\n refValues = [],\r\n highlightAreaSettings = [],\r\n graphID,\r\n minValue,\r\n maxValue,\r\n highlightedLines = [],\r\n graphDownload = false,\r\n dataDownload = false,\r\n animate = false,\r\n language = 'en',\r\n colorLegendTitle,\r\n minHeight = 0,\r\n strokeWidth = 2,\r\n showDots = true,\r\n annotations = [],\r\n customHighlightAreaSettings = [],\r\n theme = 'light',\r\n ariaLabel,\r\n yAxisTitle,\r\n noOfYTicks = 5,\r\n minDate,\r\n maxDate,\r\n curveType = 'curve',\r\n styles,\r\n classNames,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n dashedLines = [],\r\n dashSettings = ['5 5'],\r\n labelsToBeHidden = [],\r\n showColorScale = true,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorLegendAtTop && showColorScale ? (\r\n <ColorLegend\r\n colorDomain={labels}\r\n colorLegendTitle={colorLegendTitle}\r\n labelsToBeHidden={labelsToBeHidden}\r\n colors={lineColors}\r\n showNAColor={false}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data}\r\n lineColors={lineColors}\r\n width={svgWidth}\r\n height={svgHeight}\r\n dateFormat={dateFormat}\r\n noOfXTicks={noOfXTicks ?? getNoOfTicks(svgWidth)}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n labels={labels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorLegendAtTop={showColorScale ? showColorLegendAtTop : true}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n highlightAreaSettings={highlightAreaSettings}\r\n refValues={refValues}\r\n minValue={minValue}\r\n maxValue={maxValue}\r\n highlightedLines={highlightedLines}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n rtl={language === 'he' || language === 'ar'}\r\n strokeWidth={strokeWidth}\r\n showDots={showDots}\r\n annotations={annotations}\r\n customHighlightAreaSettings={customHighlightAreaSettings}\r\n yAxisTitle={yAxisTitle}\r\n noOfYTicks={noOfYTicks}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n curveType={curveType}\r\n styles={styles}\r\n classNames={classNames}\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n labelsToBeHidden={labelsToBeHidden}\r\n dashedLines={dashedLines}\r\n dashSettings={dashSettings}\r\n revealClipId={generateRandomString(8)}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\r\n )}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["Graph","props","$","_c","data","width","height","lineColors","dateFormat","noOfXTicks","labels","rightMargin","topMargin","bottomMargin","suffix","prefix","leftMargin","tooltip","onSeriesMouseOver","showValues","showColorLegendAtTop","refValues","highlightAreaSettings","minValue","maxValue","highlightedLines","animate","rtl","strokeWidth","showDots","annotations","customHighlightAreaSettings","yAxisTitle","noOfYTicks","minDate","maxDate","curveType","styles","classNames","dimmedOpacity","precision","customLayers","dashedLines","dashSettings","labelsToBeHidden","revealClipId","svgRef","useRef","t0","amount","once","isInView","useInView","hasAnimatedOnce","setHasAnimatedOnce","useState","t1","t2","duration","timeout","setTimeout","clearTimeout","useEffect","curve","curveLinear","curveStep","curveStepAfter","curveStepBefore","curveMonotoneX","mouseOverData","setMouseOverData","undefined","eventX","setEventX","eventY","setEventY","t3","t4","top","bottom","left","right","margin","MouseoverRectRef","t5","d","date","parse","Date","dataFormatted","orderBy","map","dataArray","y","_d","i","el","filter","_temp","t6","t7","d_0","coordinates","highlightAreaSettingsFormatted","t8","d_1","el_1","j","customHighlightAreaSettingsFormatted","graphWidth","graphHeight","minYear","maxYear","length","minParam","checkIfNullOrUndefined","Math","min","_temp3","_temp5","_temp7","maxParam","max","_temp9","_temp1","x","scaleTime","domain","range","t9","scaleLinear","nice","lineShape","line","d_7","d_8","yTicks","ticks","xTicks","mousemove","event","selectedData","bisectCenter","_temp10","invert","pointer","clientY","clientX","mouseout","select","current","on","t10","Symbol","for","t11","t12","initial","whileInView","transition","t13","t14","jsx","motion","t15","t16","HighlightArea","t17","yAxis","gridLines","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","numberFormattingFunction","t29","t30","t31","t32","dx","dy","t33","xAxis","axis","t34","t35","label","t36","t37","t38","t39","Axis","t40","t41","t42","title","t43","t44","AxisTitle","t45","d_13","format","t46","t47","d_14","t48","t49","t50","t51","t52","cn","t53","t54","t55","t56","_temp13","_temp14","t57","d_17","i_0","jsxs","opacity","indexOf","fill","pathLength","_temp15","stroke","_temp16","includes","el_9","j_0","Fragment","cx","cy","delay","textAnchor","graphObjectValues","t58","mouseOverLine","t59","t60","el_10","i_1","RefLineY","text","color","value","t61","t62","d_18","i_2","endPoints","getLineEndPoint","xCoordinate","xOffset","yCoordinate","yOffset","connectorRadius","connectorSettings","showConnector","y1","x1","y2","x2","circleRadius","labelSettings","maxWidth","fontWeight","align","Annotation","t63","_temp17","_temp18","t64","pointerEvents","t65","t66","Tooltip","CustomArea","YTicksAndGridLines","_temp11","_temp12","d_12","XTicksAndGridLines","d_20","layer","d_19","position","el_8","el_7","d_16","d_15","d_11","d_10","d_9","d_5","_temp0","el_5","d_6","_temp8","el_6","d_2","_temp6","el_2","d_3","_temp4","el_3","d_4","_temp2","el_4","el_0","MultiLineChart","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","relativeHeight","graphID","graphDownload","dataDownload","language","colorLegendTitle","minHeight","theme","ariaLabel","showColorScale","Colors","light","categoricalColors","colors","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","GraphHeader","EmptyState","ColorLegend","colorLegend","GraphArea","getNoOfTicks","generateRandomString","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
package/dist/ParetoChart.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DjM48pIC.cjs"),j=require("react"),gt=require("./index-DQA8q5sC.cjs"),wt=require("./Modal-CuuJdWkD.cjs"),ot=require("./numberFormattingFunction-02t-wJta.cjs"),Et=require("./Tooltip-Cpv0QohJ.cjs"),Rt=require("./string2HTML-z7CwHXcx.cjs"),pt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),dt=require("./Axis-CkNn1wit.cjs"),ft=require("./AxisTitle-Wkz-xeQL.cjs"),At=require("./XAxesLabels-CLZnBgSr.cjs"),Mt=require("./band-CAApY4Pd.cjs"),yt=require("./linear-BVckp9RD.cjs"),jt=require("./line-DHV4JwCR.cjs"),lt=require("./step-BZ3C8QFW.cjs"),Ct=require("./use-in-view-CEwlc_dd.cjs"),P=require("./proxy-CKadx4lC.cjs"),kt=require("./index-Cm8NIdOO.cjs"),Nt=require("./GraphFooter.cjs"),$t=require("./GraphHeader.cjs"),St=require("./ColorLegend.cjs"),xt=require("./Colors.cjs"),qt=require("./EmptyState-B8IpKGcL.cjs");function It(ct){const{data:q,width:M,height:V,barColor:u,lineColor:o,axisTitles:s,sameAxes:b,rightMargin:U,leftMargin:z,topMargin:_,bottomMargin:ut,tooltip:v,showValues:J,onSeriesMouseOver:D,barPadding:mt,truncateBy:K,showLabels:Q,onSeriesMouseClick:w,resetSelectionOnDoubleClick:Z,detailsOnClick:h,noOfTicks:tt,lineSuffix:et,barSuffix:Y,linePrefix:W,barPrefix:it,curveType:F,styles:l,classNames:x,animate:r,precision:H,customLayers:I,naLabel:C,showAxisLabels:st}=ct,nt=j.useRef(null),k=Ct.useInView(nt,{once:r.once,amount:r.amount}),ht=F==="linear"?jt.curveLinear:F==="step"?lt.curveStep:F==="stepAfter"?lt.stepAfter:F==="stepBefore"?lt.stepBefore:lt.monotoneX,[at,N]=j.useState(void 0),[$,L]=j.useState(void 0),[rt,S]=j.useState(void 0),[E,m]=j.useState(void 0),p={top:_,bottom:ut,left:z+50,right:U+65},d=M-p.left-p.right,g=V-p.top-p.bottom,n=q.map((t,A)=>({...t,id:`${A}`})),c=Mt.band().domain(n.map(t=>`${t.id}`)).range([0,d]).paddingInner(mt),X=Math.min(...n.map(t=>t.bar).filter(t=>t!=null))!==1/0?Math.min(...n.map(t=>t.bar).filter(t=>t!=null))>0?0:Math.min(...n.map(t=>t.bar).filter(t=>t!=null)):0,R=Math.min(...n.map(t=>t.line).filter(t=>t!=null))!==1/0?Math.min(...n.map(t=>t.line).filter(t=>t!=null))>0?0:Math.min(...n.map(t=>t.line).filter(t=>t!=null)):0,T=Math.max(...n.map(t=>t.bar).filter(t=>t!=null))!==1/0?Math.max(...n.map(t=>t.bar).filter(t=>t!=null)):0,O=Math.max(...n.map(t=>t.line).filter(t=>t!=null))!==1/0?Math.max(...n.map(t=>t.line).filter(t=>t!=null)):0,G=X<R?X:R,y=T>O?T:O,a=yt.linear().domain([b?G:X,b?y>0?y:0:T>0?T:0]).range([g,0]).nice(),i=yt.linear().domain([b?G:R,b?y>0?y:0:O>0?O:0]).range([g,0]).nice(),B=jt.line().defined(t=>!pt.checkIfNullOrUndefined(t.line)).x(t=>c(`${t.id}`)+c.bandwidth()/2).y(t=>i(t.line)).curve(ht),bt=a.ticks(tt),vt=i.ticks(tt);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(P.motion.svg,{width:`${M}px`,height:`${V}px`,viewBox:`0 0 ${M} ${V}`,direction:"ltr",ref:nt,children:e.jsxRuntimeExports.jsxs("g",{transform:`translate(${p.left},${p.top})`,children:[e.jsxRuntimeExports.jsxs("g",{children:[bt.map((t,A)=>e.jsxRuntimeExports.jsxs("g",{children:[e.jsxRuntimeExports.jsx("line",{y1:a(t),y2:a(t),x1:-15,x2:-20,style:{stroke:u,strokeWidth:1,...l?.yAxis?.gridLines||{}},className:x?.yAxis?.gridLines}),e.jsxRuntimeExports.jsx("text",{x:-25,y:a(t),dy:"0.33em",className:e.mo("text-xs",x?.yAxis?.labels),style:{textAnchor:"end",fill:u,...l?.yAxis?.labels||{}},children:ot.numberFormattingFunction(t,C,H,it,Y)})]},A)),e.jsxRuntimeExports.jsx(dt.Axis,{y1:0,y2:g,x1:-15,x2:-15,classNames:{axis:x?.xAxis?.axis},styles:{axis:{stroke:u,...l?.xAxis?.axis||{}}}}),st?e.jsxRuntimeExports.jsx(ft.AxisTitle,{x:10-p.left,y:g/2,style:{fill:u,...l?.yAxis?.title||{}},className:x?.yAxis?.title,text:s[0].length>100?`${s[0].substring(0,100)}...`:s[0],rotate90:!0}):null]}),e.jsxRuntimeExports.jsxs("g",{children:[vt.map((t,A)=>e.jsxRuntimeExports.jsxs("g",{children:[e.jsxRuntimeExports.jsx("line",{y1:i(t),y2:i(t),x1:d+15,x2:d+20,style:{stroke:o,strokeWidth:1,...l?.yAxis?.gridLines||{}},className:x?.yAxis?.gridLines}),e.jsxRuntimeExports.jsx("text",{x:d+25,y:i(t),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:o,...l?.yAxis?.labels||{}},className:e.mo("text-xs",x?.yAxis?.labels),children:ot.numberFormattingFunction(t,C,H,W,et)})]},A)),e.jsxRuntimeExports.jsx(dt.Axis,{y1:0,y2:g,x1:d+15,x2:d+15,classNames:{axis:x?.xAxis?.axis},styles:{axis:{stroke:o,...l?.xAxis?.axis||{}}}}),st?e.jsxRuntimeExports.jsx(ft.AxisTitle,{x:d+p.right-15,y:g/2,style:{fill:o,...l?.yAxis?.title||{}},className:x?.yAxis?.title,text:s[1].length>100?`${s[1].substring(0,100)}...`:s[1],rotate90:!0}):null]}),e.jsxRuntimeExports.jsx(dt.Axis,{y1:b?a(0):g,y2:b?a(0):g,x1:-15,x2:d+15,classNames:{axis:x?.xAxis?.axis},styles:{axis:l?.xAxis?.axis}}),I.filter(t=>t.position==="before").map(t=>t.layer),e.jsxRuntimeExports.jsxs(kt.AnimatePresence,{children:[n.map((t,A)=>e.jsxRuntimeExports.jsxs(P.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:f=>{N(t),m(f.clientY),S(f.clientX),D?.(t)},onClick:()=>{(w||h)&&(gt.isEqual($,t)&&Z?(L(void 0),w?.(void 0)):(L(t),w?.(t)))},onMouseMove:f=>{N(t),m(f.clientY),S(f.clientX)},onMouseLeave:()=>{N(void 0),S(void 0),m(void 0),D?.(void 0)},children:[e.jsxRuntimeExports.jsx(P.motion.rect,{variants:{initial:{attrY:a(0),height:0,opacity:1,fill:u},whileInView:{attrY:t.bar?t.bar>0?a(t.bar):a(0):0,height:t.bar?Math.abs(a(t.bar)-a(0)):0,opacity:1,fill:u,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",exit:{attrY:a(0),height:0,opacity:0,transition:{duration:r.duration}},x:c(`${A}`),width:c.bandwidth()}),J&&!pt.checkIfNullOrUndefined(t.bar)?e.jsxRuntimeExports.jsx(P.motion.text,{x:c(`${t.id}`)+c.bandwidth()/2,exit:{attrY:a(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{attrY:a(0),opacity:0,fill:u},whileInView:{attrY:a(t.bar||0),opacity:1,fill:u,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",style:{textAnchor:"middle",...l?.graphObjectValues||{}},className:e.mo("graph-value text-sm",x?.graphObjectValues),dy:t.bar?t.bar>=0?"-5px":"1em":"-5px",children:ot.numberFormattingFunction(t.bar,C,H,it,Y)}):null,Q?e.jsxRuntimeExports.jsx(At.XAxesLabels,{value:`${t.label}`.length<K?`${t.label}`:`${`${t.label}`.substring(0,K)}...`,y:g+5,x:c(`${t.id}`),width:c.bandwidth(),height:p.bottom,style:l?.xAxis?.labels,className:x?.xAxis?.labels,alignment:"top",animate:r,isInView:k}):null]},t.label)),e.jsxRuntimeExports.jsx(P.motion.path,{exit:{opacity:0,transition:{duration:r.duration}},variants:{initial:{d:B(n.map(t=>({...t,line:0}))),opacity:0,stroke:o},whileInView:{d:B(n),opacity:1,stroke:o,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",style:{fill:"none",strokeWidth:2}}),n.map((t,A)=>e.jsxRuntimeExports.jsx("g",{children:pt.checkIfNullOrUndefined(t.line)?null:e.jsxRuntimeExports.jsxs("g",{onMouseEnter:f=>{N(t),m(f.clientY),S(f.clientX),D?.(t)},onClick:()=>{(w||h)&&(gt.isEqual($,t)&&Z?(L(void 0),w?.(void 0)):(L(t),w?.(t)))},onMouseMove:f=>{N(t),m(f.clientY),S(f.clientX)},onMouseLeave:()=>{N(void 0),S(void 0),m(void 0),D?.(void 0)},children:[e.jsxRuntimeExports.jsx(P.motion.circle,{exit:{cy:i(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{cy:i(0),opacity:0,fill:o},whileInView:{cy:i(t.line),opacity:1,fill:o,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",cx:c(t.id)+c.bandwidth()/2,r:d/n.length<5?0:d/n.length<20?2:4}),J?e.jsxRuntimeExports.jsx(P.motion.text,{x:c(`${t.id}`)+c.bandwidth()/2,exit:{y:i(0),opacity:0,transition:{duration:r.duration}},style:{textAnchor:"middle",...l?.graphObjectValues||{}},variants:{initial:{y:i(0),opacity:0,fill:o},whileInView:{y:i(t.line),opacity:1,fill:o,transition:{duration:r.duration}}},initial:"initial",animate:k?"whileInView":"initial",className:e.mo("graph-value text-sm",x?.graphObjectValues),dy:"-5px",children:ot.numberFormattingFunction(t.line,C,H,W,et)}):null]})},A))]}),I.filter(t=>t.position==="after").map(t=>t.layer)]})}),at&&v&&rt&&E?e.jsxRuntimeExports.jsx(Et.Tooltip,{data:at,body:v,xPos:rt,yPos:E,backgroundStyle:l?.tooltip,className:x?.tooltip}):null,h&&$!==void 0?e.jsxRuntimeExports.jsx(wt.G,{open:$!==void 0,onClose:()=>{L(void 0)},children:e.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof h=="string"?{__html:Rt.string2HTML(h,$)}:void 0,children:typeof h=="function"?h($):null})}):null]})}function Lt(ct){const{data:q,graphTitle:M,sources:V,graphDescription:u,height:o,width:s,footNote:b,padding:U,lineColor:z=xt.Colors.light.categoricalColors.colors[1],barColor:_=xt.Colors.light.categoricalColors.colors[0],sameAxes:ut=!1,backgroundColor:v=!1,leftMargin:J=80,rightMargin:D=80,topMargin:mt=20,bottomMargin:K=25,lineAxisTitle:Q="Line chart",barAxisTitle:w="Bar graph",tooltip:Z,relativeHeight:h,onSeriesMouseOver:tt,graphID:et,graphDownload:Y=!1,dataDownload:W=!1,barPadding:it=.25,truncateBy:F=999,showLabels:l=!0,onSeriesMouseClick:x,language:r="en",colorLegendTitle:H,minHeight:I=0,theme:C="light",ariaLabel:st,resetSelectionOnDoubleClick:nt=!0,detailsOnClick:k,showValues:ht=!0,noOfTicks:at=5,lineSuffix:N="",barSuffix:$="",linePrefix:L="",barPrefix:rt="",curveType:S="curve",styles:E,classNames:m,animate:p=!1,precision:d=2,customLayers:g=[],naLabel:n="NA",showColorScale:c=!0,showAxisLabels:X=!0}=ct,[R,T]=j.useState(0),[O,G]=j.useState(0),y=j.useRef(null),a=j.useRef(null);return j.useEffect(()=>{const i=new ResizeObserver(B=>{T(s||B[0].target.clientWidth||620),G(o||B[0].target.clientHeight||480)});return y.current&&(G(y.current.clientHeight||480),T(y.current.clientWidth||620),s||i.observe(y.current)),()=>i.disconnect()},[s,o]),e.jsxRuntimeExports.jsx("div",{className:`${C||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:r==="he"||r==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${v?v===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${r||"en"}`,s?"w-fit":"w-full",m?.graphContainer),style:{...E?.graphContainer||{},...v&&v!==!0?{backgroundColor:v}:{}},id:et,ref:a,"aria-label":st||`${M?`The graph shows ${M}. `:""}This is a pareto chart that shows a variable as bars and another as line chart.${u?` ${u}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:v?U||"1rem":U||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[M||u||Y||W?e.jsxRuntimeExports.jsx($t.GraphHeader,{styles:{title:E?.title,description:E?.description},classNames:{title:m?.title,description:m?.description},graphTitle:M,graphDescription:u,width:s,graphDownload:Y?a.current:void 0,dataDownload:W?q.map(i=>i.data).filter(i=>i!==void 0).length>0?q.map(i=>i.data).filter(i=>i!==void 0):q.filter(i=>i!==void 0):null}):null,e.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:q.length===0?e.jsxRuntimeExports.jsx(qt.EmptyState,{}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[c?e.jsxRuntimeExports.jsx(St.ColorLegend,{colorDomain:[w,Q],colors:[_||xt.Colors[C].categoricalColors.colors[0],z||xt.Colors[C].categoricalColors.colors[1]],colorLegendTitle:H,showNAColor:!1}):null,e.jsxRuntimeExports.jsx("div",{className:"flex flex-col grow justify-center leading-0",ref:y,"aria-label":"Graph area",children:(s||R)&&(o||O)?e.jsxRuntimeExports.jsx(It,{data:q,sameAxes:ut,lineColor:z,barColor:_,width:s||R,height:Math.max(I,o||(h?I?(s||R)*h>I?(s||R)*h:I:(s||R)*h:O)),truncateBy:F,leftMargin:J,rightMargin:D,topMargin:mt,bottomMargin:K,axisTitles:[w,Q],tooltip:Z,onSeriesMouseOver:tt,barPadding:it,showLabels:l,onSeriesMouseClick:x,resetSelectionOnDoubleClick:nt,detailsOnClick:k,noOfTicks:at,lineSuffix:N,barSuffix:$,linePrefix:L,barPrefix:rt,curveType:S,showValues:ht,styles:E,classNames:m,animate:p===!0?{duration:.5,once:!0,amount:.5}:p||{duration:0,once:!0,amount:0},precision:d,customLayers:g,naLabel:n,showAxisLabels:X}):null})]})}),V||b?e.jsxRuntimeExports.jsx(Nt.GraphFooter,{styles:{footnote:E?.footnote,source:E?.source},classNames:{footnote:m?.footnote,source:m?.source},sources:V,footNote:b,width:s}):null]})})})})}exports.ParetoChart=Lt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),st=require("react"),xe=require("./index-DQA8q5sC.cjs"),he=require("./Modal-JW_IExO3.cjs"),ne=require("./numberFormattingFunction-02t-wJta.cjs"),ge=require("./Tooltip-4dJo4_AF.cjs"),ye=require("./string2HTML-CPGr_I5E.cjs"),ue=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ce=require("./Axis-DxRV2yMi.cjs"),me=require("./AxisTitle-sS5bLLR7.cjs"),be=require("./XAxesLabels-D5X8jngD.cjs"),ve=require("./band-VYfcZeJ2.cjs"),pe=require("./linear-BwPAspcq.cjs"),de=require("./line-DHV4JwCR.cjs"),se=require("./step-BZ3C8QFW.cjs"),je=require("./use-in-view-QcfiW0w3.cjs"),Dt=require("./proxy-BxvUI_9l.cjs"),Ae=require("./index-DG2bgAva.cjs"),we=require("./GraphFooter.cjs"),Ee=require("./GraphHeader.cjs"),Re=require("./ColorLegend.cjs"),oe=require("./Colors.cjs"),Me=require("./EmptyState-sAEZ_5rU.cjs"),fe=require("./GraphContainer-d8A46BK2.cjs");function Ce(e){const t=n.compilerRuntimeExports.c(156),{data:j,width:P,height:D,barColor:d,lineColor:p,axisTitles:u,sameAxes:A,rightMargin:zt,leftMargin:Qt,topMargin:Ft,bottomMargin:Ht,tooltip:Et,showValues:Rt,onSeriesMouseOver:ot,barPadding:Yt,truncateBy:Mt,showLabels:Gt,onSeriesMouseClick:C,resetSelectionOnDoubleClick:pt,detailsOnClick:y,noOfTicks:dt,lineSuffix:ft,barSuffix:Ct,linePrefix:kt,barPrefix:Lt,curveType:St,styles:s,classNames:o,animate:r,precision:F,customLayers:k,naLabel:rt,showAxisLabels:R}=e,Jt=st.useRef(null);let ht;t[0]!==r.amount||t[1]!==r.once?(ht={once:r.once,amount:r.amount},t[0]=r.amount,t[1]=r.once,t[2]=ht):ht=t[2];const L=je.useInView(Jt,ht),Xt=St==="linear"?de.curveLinear:St==="step"?se.curveStep:St==="stepAfter"?se.stepAfter:St==="stepBefore"?se.stepBefore:se.monotoneX,[Nt,lt]=st.useState(void 0),[w,gt]=st.useState(void 0),[Ot,c]=st.useState(void 0),[x,at]=st.useState(void 0),Wt=Qt+50,yt=zt+65;let Tt;t[3]!==Ht||t[4]!==Wt||t[5]!==yt||t[6]!==Ft?(Tt={top:Ft,bottom:Ht,left:Wt,right:yt},t[3]=Ht,t[4]=Wt,t[5]=yt,t[6]=Ft,t[7]=Tt):Tt=t[7];const l=Tt,h=P-l.left-l.right,a=D-l.top-l.bottom;let S,H,Y,M,G,X,W,N,O,T,$,B,U,z,J;if(t[8]!==r||t[9]!==u||t[10]!==d||t[11]!==Yt||t[12]!==Lt||t[13]!==Ct||t[14]!==o?.graphObjectValues||t[15]!==o?.xAxis?.axis||t[16]!==o?.xAxis?.labels||t[17]!==o?.yAxis?.gridLines||t[18]!==o?.yAxis?.labels||t[19]!==o?.yAxis?.title||t[20]!==Xt||t[21]!==k||t[22]!==j||t[23]!==y||t[24]!==a||t[25]!==h||t[26]!==D||t[27]!==L||t[28]!==p||t[29]!==kt||t[30]!==ft||t[31]!==l.bottom||t[32]!==l.left||t[33]!==l.right||t[34]!==l.top||t[35]!==w||t[36]!==rt||t[37]!==dt||t[38]!==C||t[39]!==ot||t[40]!==F||t[41]!==pt||t[42]!==A||t[43]!==R||t[44]!==Gt||t[45]!==Rt||t[46]!==s?.graphObjectValues||t[47]!==s?.xAxis?.axis||t[48]!==s?.xAxis?.labels||t[49]!==s?.yAxis?.gridLines||t[50]!==s?.yAxis?.labels||t[51]!==s?.yAxis?.title||t[52]!==Mt||t[53]!==P){const m=j.map(ei),g=ve.band().domain(m.map(ti)).range([0,h]).paddingInner(Yt),$t=Math.min(...m.map(_e).filter(Ze))!==1/0?Math.min(...m.map(Qe).filter(Ke))>0?0:Math.min(...m.map(Je).filter(ze)):0,vt=Math.min(...m.map(Ue).filter(Be))!==1/0?Math.min(...m.map(We).filter(Xe))>0?0:Math.min(...m.map(Ge).filter(Ye)):0,jt=Math.max(...m.map(He).filter(Fe))!==1/0?Math.max(...m.map(De).filter(Pe)):0,ct=Math.max(...m.map(Ve).filter(Ie))!==1/0?Math.max(...m.map(qe).filter($e)):0,Bt=$t<vt?$t:vt,At=jt>ct?jt:ct,f=pe.linear().domain([A?Bt:$t,A?At>0?At:0:jt>0?jt:0]).range([a,0]).nice(),b=pe.linear().domain([A?Bt:vt,A?At>0?At:0:ct>0?ct:0]).range([a,0]).nice(),qt=de.line().defined(Te).x(i=>g(`${i.id}`)+g.bandwidth()/2).y(i=>b(i.line)).curve(Xt),re=f.ticks(dt),Ut=b.ticks(dt);H=Dt.motion.svg,G=`${P}px`,X=`${D}px`,W=`0 0 ${P} ${D}`,N="ltr",O=Jt,U=`translate(${l.left},${l.top})`;const Kt=o?.xAxis?.axis;let et;t[69]!==Kt?(et={axis:Kt},t[69]=Kt,t[70]=et):et=t[70];let ut;t[71]!==s?.xAxis?.axis?(ut=s?.xAxis?.axis||{},t[71]=s?.xAxis?.axis,t[72]=ut):ut=t[72];let q;t[73]!==d||t[74]!==ut?(q={axis:{stroke:d,...ut}},t[73]=d,t[74]=ut,t[75]=q):q=t[75];let xt;t[76]!==a||t[77]!==et||t[78]!==q?(xt=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:a,x1:-15,x2:-15,classNames:et,styles:q}),t[76]=a,t[77]=et,t[78]=q,t[79]=xt):xt=t[79];let wt;t[80]!==u||t[81]!==d||t[82]!==o?.yAxis?.title||t[83]!==a||t[84]!==l.left||t[85]!==R||t[86]!==s?.yAxis?.title?(wt=R?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:10-l.left,y:a/2,style:{fill:d,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:u[0].length>100?`${u[0].substring(0,100)}...`:u[0],rotate90:!0}):null,t[80]=u,t[81]=d,t[82]=o?.yAxis?.title,t[83]=a,t[84]=l.left,t[85]=R,t[86]=s?.yAxis?.title,t[87]=wt):wt=t[87],z=n.jsxRuntimeExports.jsxs("g",{children:[re.map((i,Pt)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:f(i),y2:f(i),x1:-15,x2:-20,style:{stroke:d,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:-25,y:f(i),dy:"0.33em",className:n.mo("text-xs",o?.yAxis?.labels),style:{textAnchor:"end",fill:d,...s?.yAxis?.labels||{}},children:ne.numberFormattingFunction(i,rt,F,Lt,Ct)})]},Pt)),xt,wt]});const It=h+15,it=h+15,nt=o?.xAxis?.axis;let E;t[88]!==nt?(E={axis:nt},t[88]=nt,t[89]=E):E=t[89];let I;t[90]!==s?.xAxis?.axis?(I=s?.xAxis?.axis||{},t[90]=s?.xAxis?.axis,t[91]=I):I=t[91];let mt;t[92]!==p||t[93]!==I?(mt={axis:{stroke:p,...I}},t[92]=p,t[93]=I,t[94]=mt):mt=t[94];let Vt;t[95]!==a||t[96]!==It||t[97]!==it||t[98]!==E||t[99]!==mt?(Vt=n.jsxRuntimeExports.jsx(ce.Axis,{y1:0,y2:a,x1:It,x2:it,classNames:E,styles:mt}),t[95]=a,t[96]=It,t[97]=it,t[98]=E,t[99]=mt,t[100]=Vt):Vt=t[100];let Zt;t[101]!==u||t[102]!==o?.yAxis?.title||t[103]!==a||t[104]!==h||t[105]!==p||t[106]!==l.right||t[107]!==R||t[108]!==s?.yAxis?.title?(Zt=R?n.jsxRuntimeExports.jsx(me.AxisTitle,{x:h+l.right-15,y:a/2,style:{fill:p,...s?.yAxis?.title||{}},className:o?.yAxis?.title,text:u[1].length>100?`${u[1].substring(0,100)}...`:u[1],rotate90:!0}):null,t[101]=u,t[102]=o?.yAxis?.title,t[103]=a,t[104]=h,t[105]=p,t[106]=l.right,t[107]=R,t[108]=s?.yAxis?.title,t[109]=Zt):Zt=t[109],J=n.jsxRuntimeExports.jsxs("g",{children:[Ut.map((i,Pt)=>n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx("line",{y1:b(i),y2:b(i),x1:h+15,x2:h+20,style:{stroke:p,strokeWidth:1,...s?.yAxis?.gridLines||{}},className:o?.yAxis?.gridLines}),n.jsxRuntimeExports.jsx("text",{x:h+25,y:b(i),dy:"0.33em",dx:-2,style:{textAnchor:"start",fill:p,...s?.yAxis?.labels||{}},className:n.mo("text-xs",o?.yAxis?.labels),children:ne.numberFormattingFunction(i,rt,F,kt,ft)})]},Pt)),Vt,Zt]});const le=o?.xAxis?.axis;let _t;t[110]!==le?(_t={axis:le},t[110]=le,t[111]=_t):_t=t[111];const ae=s?.xAxis?.axis;let te;t[112]!==ae?(te={axis:ae},t[112]=ae,t[113]=te):te=t[113],Y=n.jsxRuntimeExports.jsx(ce.Axis,{y1:A?f(0):a,y2:A?f(0):a,x1:-15,x2:h+15,classNames:_t,styles:te}),t[114]!==k?(M=k.filter(Oe).map(Ne),t[114]=k,t[115]=M):M=t[115],S=Ae.AnimatePresence,T=m.map((i,Pt)=>n.jsxRuntimeExports.jsxs(Dt.motion.g,{className:"undp-viz-g-with-hover",opacity:.85,onMouseEnter:V=>{lt(i),at(V.clientY),c(V.clientX),ot?.(i)},onClick:()=>{(C||y)&&(xe.isEqual(w,i)&&pt?(gt(void 0),C?.(void 0)):(gt(i),C?.(i)))},onMouseMove:V=>{lt(i),at(V.clientY),c(V.clientX)},onMouseLeave:()=>{lt(void 0),c(void 0),at(void 0),ot?.(void 0)},children:[n.jsxRuntimeExports.jsx(Dt.motion.rect,{variants:{initial:{attrY:f(0),height:0,opacity:1,fill:d},whileInView:{attrY:i.bar?i.bar>0?f(i.bar):f(0):0,height:i.bar?Math.abs(f(i.bar)-f(0)):0,opacity:1,fill:d,transition:{duration:r.duration}}},initial:"initial",animate:L?"whileInView":"initial",exit:{attrY:f(0),height:0,opacity:0,transition:{duration:r.duration}},x:g(`${Pt}`),width:g.bandwidth()}),Rt&&!ue.checkIfNullOrUndefined(i.bar)?n.jsxRuntimeExports.jsx(Dt.motion.text,{x:g(`${i.id}`)+g.bandwidth()/2,exit:{attrY:f(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{attrY:f(0),opacity:0,fill:d},whileInView:{attrY:f(i.bar||0),opacity:1,fill:d,transition:{duration:r.duration}}},initial:"initial",animate:L?"whileInView":"initial",style:{textAnchor:"middle",...s?.graphObjectValues||{}},className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:i.bar?i.bar>=0?"-5px":"1em":"-5px",children:ne.numberFormattingFunction(i.bar,rt,F,Lt,Ct)}):null,Gt?n.jsxRuntimeExports.jsx(be.XAxesLabels,{value:`${i.label}`.length<Mt?`${i.label}`:`${`${i.label}`.substring(0,Mt)}...`,y:a+5,x:g(`${i.id}`),width:g.bandwidth(),height:l.bottom,style:s?.xAxis?.labels,className:o?.xAxis?.labels,alignment:"top",animate:r,isInView:L}):null]},i.label));let ee;t[116]!==r.duration?(ee={opacity:0,transition:{duration:r.duration}},t[116]=r.duration,t[117]=ee):ee=t[117];let ie;t[118]===Symbol.for("react.memo_cache_sentinel")?(ie={fill:"none",strokeWidth:2},t[118]=ie):ie=t[118],$=n.jsxRuntimeExports.jsx(Dt.motion.path,{exit:ee,variants:{initial:{d:qt(m.map(Se)),opacity:0,stroke:p},whileInView:{d:qt(m),opacity:1,stroke:p,transition:{duration:r.duration}}},initial:"initial",animate:L?"whileInView":"initial",style:ie}),B=m.map((i,Pt)=>n.jsxRuntimeExports.jsx("g",{children:ue.checkIfNullOrUndefined(i.line)?null:n.jsxRuntimeExports.jsxs("g",{onMouseEnter:V=>{lt(i),at(V.clientY),c(V.clientX),ot?.(i)},onClick:()=>{(C||y)&&(xe.isEqual(w,i)&&pt?(gt(void 0),C?.(void 0)):(gt(i),C?.(i)))},onMouseMove:V=>{lt(i),at(V.clientY),c(V.clientX)},onMouseLeave:()=>{lt(void 0),c(void 0),at(void 0),ot?.(void 0)},children:[n.jsxRuntimeExports.jsx(Dt.motion.circle,{exit:{cy:b(0),opacity:0,transition:{duration:r.duration}},variants:{initial:{cy:b(0),opacity:0,fill:p},whileInView:{cy:b(i.line),opacity:1,fill:p,transition:{duration:r.duration}}},initial:"initial",animate:L?"whileInView":"initial",cx:g(i.id)+g.bandwidth()/2,r:h/m.length<5?0:h/m.length<20?2:4}),Rt?n.jsxRuntimeExports.jsx(Dt.motion.text,{x:g(`${i.id}`)+g.bandwidth()/2,exit:{y:b(0),opacity:0,transition:{duration:r.duration}},style:{textAnchor:"middle",...s?.graphObjectValues||{}},variants:{initial:{y:b(0),opacity:0,fill:p},whileInView:{y:b(i.line),opacity:1,fill:p,transition:{duration:r.duration}}},initial:"initial",animate:L?"whileInView":"initial",className:n.mo("graph-value text-sm",o?.graphObjectValues),dy:"-5px",children:ne.numberFormattingFunction(i.line,rt,F,kt,ft)}):null]})},Pt)),t[8]=r,t[9]=u,t[10]=d,t[11]=Yt,t[12]=Lt,t[13]=Ct,t[14]=o?.graphObjectValues,t[15]=o?.xAxis?.axis,t[16]=o?.xAxis?.labels,t[17]=o?.yAxis?.gridLines,t[18]=o?.yAxis?.labels,t[19]=o?.yAxis?.title,t[20]=Xt,t[21]=k,t[22]=j,t[23]=y,t[24]=a,t[25]=h,t[26]=D,t[27]=L,t[28]=p,t[29]=kt,t[30]=ft,t[31]=l.bottom,t[32]=l.left,t[33]=l.right,t[34]=l.top,t[35]=w,t[36]=rt,t[37]=dt,t[38]=C,t[39]=ot,t[40]=F,t[41]=pt,t[42]=A,t[43]=R,t[44]=Gt,t[45]=Rt,t[46]=s?.graphObjectValues,t[47]=s?.xAxis?.axis,t[48]=s?.xAxis?.labels,t[49]=s?.yAxis?.gridLines,t[50]=s?.yAxis?.labels,t[51]=s?.yAxis?.title,t[52]=Mt,t[53]=P,t[54]=S,t[55]=H,t[56]=Y,t[57]=M,t[58]=G,t[59]=X,t[60]=W,t[61]=N,t[62]=O,t[63]=T,t[64]=$,t[65]=B,t[66]=U,t[67]=z,t[68]=J}else S=t[54],H=t[55],Y=t[56],M=t[57],G=t[58],X=t[59],W=t[60],N=t[61],O=t[62],T=t[63],$=t[64],B=t[65],U=t[66],z=t[67],J=t[68];let K;t[119]!==S||t[120]!==T||t[121]!==$||t[122]!==B?(K=n.jsxRuntimeExports.jsxs(S,{children:[T,$,B]}),t[119]=S,t[120]=T,t[121]=$,t[122]=B,t[123]=K):K=t[123];let v;t[124]!==k?(v=k.filter(Le).map(ke),t[124]=k,t[125]=v):v=t[125];let Q;t[126]!==Y||t[127]!==M||t[128]!==K||t[129]!==v||t[130]!==U||t[131]!==z||t[132]!==J?(Q=n.jsxRuntimeExports.jsxs("g",{transform:U,children:[z,J,Y,M,K,v]}),t[126]=Y,t[127]=M,t[128]=K,t[129]=v,t[130]=U,t[131]=z,t[132]=J,t[133]=Q):Q=t[133];let Z;t[134]!==H||t[135]!==G||t[136]!==X||t[137]!==W||t[138]!==N||t[139]!==O||t[140]!==Q?(Z=n.jsxRuntimeExports.jsx(H,{width:G,height:X,viewBox:W,direction:N,ref:O,children:Q}),t[134]=H,t[135]=G,t[136]=X,t[137]=W,t[138]=N,t[139]=O,t[140]=Q,t[141]=Z):Z=t[141];let _;t[142]!==o?.tooltip||t[143]!==Ot||t[144]!==x||t[145]!==Nt||t[146]!==s?.tooltip||t[147]!==Et?(_=Nt&&Et&&Ot&&x?n.jsxRuntimeExports.jsx(ge.Tooltip,{data:Nt,body:Et,xPos:Ot,yPos:x,backgroundStyle:s?.tooltip,className:o?.tooltip}):null,t[142]=o?.tooltip,t[143]=Ot,t[144]=x,t[145]=Nt,t[146]=s?.tooltip,t[147]=Et,t[148]=_):_=t[148];let tt;t[149]!==y||t[150]!==w?(tt=y&&w!==void 0?n.jsxRuntimeExports.jsx(he.le,{open:w!==void 0,onClose:()=>{gt(void 0)},children:n.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof y=="string"?{__html:ye.string2HTML(y,w)}:void 0,children:typeof y=="function"?y(w):null})}):null,t[149]=y,t[150]=w,t[151]=tt):tt=t[151];let bt;return t[152]!==Z||t[153]!==_||t[154]!==tt?(bt=n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[Z,_,tt]}),t[152]=Z,t[153]=_,t[154]=tt,t[155]=bt):bt=t[155],bt}function ke(e){return e.layer}function Le(e){return e.position==="after"}function Se(e){return{...e,line:0}}function Ne(e){return e.layer}function Oe(e){return e.position==="before"}function Te(e){return!ue.checkIfNullOrUndefined(e.line)}function $e(e){return e!=null}function qe(e){return e.line}function Ie(e){return e!=null}function Ve(e){return e.line}function Pe(e){return e!=null}function De(e){return e.bar}function Fe(e){return e!=null}function He(e){return e.bar}function Ye(e){return e!=null}function Ge(e){return e.line}function Xe(e){return e!=null}function We(e){return e.line}function Be(e){return e!=null}function Ue(e){return e.line}function ze(e){return e!=null}function Je(e){return e.bar}function Ke(e){return e!=null}function Qe(e){return e.bar}function Ze(e){return e!=null}function _e(e){return e.bar}function ti(e){return`${e.id}`}function ei(e,t){return{...e,id:`${t}`}}function ii(e){const t=n.compilerRuntimeExports.c(77),{data:j,graphTitle:P,sources:D,graphDescription:d,height:p,width:u,footNote:A,padding:zt,lineColor:Qt,barColor:Ft,sameAxes:Ht,backgroundColor:Et,leftMargin:Rt,rightMargin:ot,topMargin:Yt,bottomMargin:Mt,lineAxisTitle:Gt,barAxisTitle:C,tooltip:pt,relativeHeight:y,onSeriesMouseOver:dt,graphID:ft,graphDownload:Ct,dataDownload:kt,barPadding:Lt,truncateBy:St,showLabels:s,onSeriesMouseClick:o,language:r,colorLegendTitle:F,minHeight:k,theme:rt,ariaLabel:R,resetSelectionOnDoubleClick:Jt,detailsOnClick:ht,showValues:L,noOfTicks:Xt,lineSuffix:Nt,barSuffix:lt,linePrefix:w,barPrefix:gt,curveType:Ot,styles:c,classNames:x,animate:at,precision:Wt,customLayers:yt,naLabel:Tt,showColorScale:l,showAxisLabels:h}=e,a=Qt===void 0?oe.Colors.light.categoricalColors.colors[1]:Qt,S=Ft===void 0?oe.Colors.light.categoricalColors.colors[0]:Ft,H=Ht===void 0?!1:Ht,Y=Et===void 0?!1:Et,M=Rt===void 0?80:Rt,G=ot===void 0?80:ot,X=Yt===void 0?20:Yt,W=Mt===void 0?25:Mt,N=Gt===void 0?"Line chart":Gt,O=C===void 0?"Bar graph":C,T=Ct===void 0?!1:Ct,$=kt===void 0?!1:kt,B=Lt===void 0?.25:Lt,U=St===void 0?999:St,z=s===void 0?!0:s,J=r===void 0?"en":r,K=k===void 0?0:k,v=rt===void 0?"light":rt,Q=Jt===void 0?!0:Jt,Z=L===void 0?!0:L,_=Xt===void 0?5:Xt,tt=Nt===void 0?"":Nt,bt=lt===void 0?"":lt,m=w===void 0?"":w,g=gt===void 0?"":gt,$t=Ot===void 0?"curve":Ot,vt=at===void 0?!1:at,jt=Wt===void 0?2:Wt;let ct;t[0]!==yt?(ct=yt===void 0?[]:yt,t[0]=yt,t[1]=ct):ct=t[1];const Bt=ct,At=Tt===void 0?"NA":Tt,f=l===void 0?!0:l,b=h===void 0?!0:h,[qt,re]=st.useState(0),[Ut,Kt]=st.useState(0),et=st.useRef(null),ut=st.useRef(null);let q,xt;t[2]===Symbol.for("react.memo_cache_sentinel")?(q=()=>{const mt=new ResizeObserver(Vt=>{re(Vt[0].target.clientWidth||620),Kt(Vt[0].target.clientHeight||480)});return et.current&&mt.observe(et.current),()=>mt.disconnect()},xt=[],t[2]=q,t[3]=xt):(q=t[2],xt=t[3]),st.useEffect(q,xt);const wt=x?.graphContainer,It=c?.graphContainer;let it;t[4]!==x?.description||t[5]!==x?.title||t[6]!==j||t[7]!==$||t[8]!==d||t[9]!==T||t[10]!==P||t[11]!==c?.description||t[12]!==c?.title||t[13]!==u?(it=P||d||T||$?n.jsxRuntimeExports.jsx(Ee.GraphHeader,{styles:{title:c?.title,description:c?.description},classNames:{title:x?.title,description:x?.description},graphTitle:P,graphDescription:d,width:u,graphDownload:T?ut:void 0,dataDownload:$?j.map(li).filter(ri).length>0?j.map(oi).filter(si):j.filter(ni):null}):null,t[4]=x?.description,t[5]=x?.title,t[6]=j,t[7]=$,t[8]=d,t[9]=T,t[10]=P,t[11]=c?.description,t[12]=c?.title,t[13]=u,t[14]=it):it=t[14];let nt;t[15]!==vt||t[16]!==O||t[17]!==S||t[18]!==B||t[19]!==g||t[20]!==bt||t[21]!==W||t[22]!==x||t[23]!==F||t[24]!==$t||t[25]!==Bt||t[26]!==j||t[27]!==ht||t[28]!==M||t[29]!==N||t[30]!==a||t[31]!==m||t[32]!==tt||t[33]!==At||t[34]!==_||t[35]!==o||t[36]!==dt||t[37]!==jt||t[38]!==Q||t[39]!==G||t[40]!==H||t[41]!==b||t[42]!==f||t[43]!==z||t[44]!==Z||t[45]!==c||t[46]!==Ut||t[47]!==qt||t[48]!==v||t[49]!==pt||t[50]!==X||t[51]!==U?(nt=j.length===0?n.jsxRuntimeExports.jsx(Me.EmptyState,{}):n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[f?n.jsxRuntimeExports.jsx(Re.ColorLegend,{colorDomain:[O,N],colors:[S||oe.Colors[v].categoricalColors.colors[0],a||oe.Colors[v].categoricalColors.colors[1]],colorLegendTitle:F,showNAColor:!1,className:x?.colorLegend}):null,n.jsxRuntimeExports.jsx(fe.GraphArea,{ref:et,children:qt&&Ut?n.jsxRuntimeExports.jsx(Ce,{data:j,sameAxes:H,lineColor:a,barColor:S,width:qt,height:Ut,truncateBy:U,leftMargin:M,rightMargin:G,topMargin:X,bottomMargin:W,axisTitles:[O,N],tooltip:pt,onSeriesMouseOver:dt,barPadding:B,showLabels:z,onSeriesMouseClick:o,resetSelectionOnDoubleClick:Q,detailsOnClick:ht,noOfTicks:_,lineSuffix:tt,barSuffix:bt,linePrefix:m,barPrefix:g,curveType:$t,showValues:Z,styles:c,classNames:x,animate:vt===!0?{duration:.5,once:!0,amount:.5}:vt||{duration:0,once:!0,amount:0},precision:jt,customLayers:Bt,naLabel:At,showAxisLabels:b}):null})]}),t[15]=vt,t[16]=O,t[17]=S,t[18]=B,t[19]=g,t[20]=bt,t[21]=W,t[22]=x,t[23]=F,t[24]=$t,t[25]=Bt,t[26]=j,t[27]=ht,t[28]=M,t[29]=N,t[30]=a,t[31]=m,t[32]=tt,t[33]=At,t[34]=_,t[35]=o,t[36]=dt,t[37]=jt,t[38]=Q,t[39]=G,t[40]=H,t[41]=b,t[42]=f,t[43]=z,t[44]=Z,t[45]=c,t[46]=Ut,t[47]=qt,t[48]=v,t[49]=pt,t[50]=X,t[51]=U,t[52]=nt):nt=t[52];let E;t[53]!==x?.footnote||t[54]!==x?.source||t[55]!==A||t[56]!==D||t[57]!==c?.footnote||t[58]!==c?.source||t[59]!==u?(E=D||A?n.jsxRuntimeExports.jsx(we.GraphFooter,{styles:{footnote:c?.footnote,source:c?.source},classNames:{footnote:x?.footnote,source:x?.source},sources:D,footNote:A,width:u}):null,t[53]=x?.footnote,t[54]=x?.source,t[55]=A,t[56]=D,t[57]=c?.footnote,t[58]=c?.source,t[59]=u,t[60]=E):E=t[60];let I;return t[61]!==R||t[62]!==Y||t[63]!==ft||t[64]!==p||t[65]!==J||t[66]!==K||t[67]!==zt||t[68]!==y||t[69]!==wt||t[70]!==It||t[71]!==it||t[72]!==nt||t[73]!==E||t[74]!==v||t[75]!==u?(I=n.jsxRuntimeExports.jsxs(fe.GraphContainer,{className:wt,style:It,id:ft,ref:ut,"aria-label":R,backgroundColor:Y,theme:v,language:J,minHeight:K,width:u,height:p,relativeHeight:y,padding:zt,children:[it,nt,E]}),t[61]=R,t[62]=Y,t[63]=ft,t[64]=p,t[65]=J,t[66]=K,t[67]=zt,t[68]=y,t[69]=wt,t[70]=It,t[71]=it,t[72]=nt,t[73]=E,t[74]=v,t[75]=u,t[76]=I):I=t[76],I}function ni(e){return e!==void 0}function si(e){return e!==void 0}function oi(e){return e.data}function ri(e){return e!==void 0}function li(e){return e.data}exports.ParetoChart=ii;
|
|
2
2
|
//# sourceMappingURL=ParetoChart.cjs.map
|