@undp/data-viz 2.3.17 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.d.ts +2 -0
- package/dist/AreaChart.js +356 -354
- package/dist/AreaChart.js.map +1 -1
- package/dist/{Axis-Jt_tmhxS.cjs → Axis-BTaS9oPQ.cjs} +2 -2
- package/dist/{Axis-Jt_tmhxS.cjs.map → Axis-BTaS9oPQ.cjs.map} +1 -1
- package/dist/{Axis-RyGdzLrG.js → Axis-CNZYWzH0.js} +2 -2
- package/dist/{Axis-RyGdzLrG.js.map → Axis-CNZYWzH0.js.map} +1 -1
- package/dist/{AxisTitle-DGjX1_2v.js → AxisTitle-CyLCqpW6.js} +2 -2
- package/dist/{AxisTitle-DGjX1_2v.js.map → AxisTitle-CyLCqpW6.js.map} +1 -1
- package/dist/{AxisTitle-DV4n0RxE.cjs → AxisTitle-DP_evhbe.cjs} +2 -2
- package/dist/{AxisTitle-DV4n0RxE.cjs.map → AxisTitle-DP_evhbe.cjs.map} +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +6 -0
- package/dist/BarGraph.js +1735 -1726
- 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 +2 -0
- package/dist/BasicStatCard.js +46 -45
- 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 +2 -0
- package/dist/BeeSwarmChart.js +266 -266
- 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 +2 -0
- package/dist/BiVariateChoroplethMap.js +300 -298
- 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 +2 -0
- package/dist/BulletChart.js +469 -469
- 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 +2 -0
- package/dist/ButterflyChart.js +330 -328
- 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 +2 -0
- package/dist/ChoroplethMap.js +303 -301
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.d.ts +2 -0
- package/dist/CirclePackingGraph.js +4 -4
- package/dist/ColorLegend.cjs +1 -1
- package/dist/ColorLegend.js +2 -2
- package/dist/ColorLegendWithMouseOver.cjs +1 -1
- package/dist/ColorLegendWithMouseOver.js +2 -2
- package/dist/CopyTextButton.cjs +1 -1
- package/dist/CopyTextButton.cjs.map +1 -1
- package/dist/CopyTextButton.js +7 -9
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +1 -1
- package/dist/CsvDownloadButton.js +2 -2
- package/dist/DataCards.cjs +1 -1
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.js +10 -12
- 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 +2 -0
- package/dist/DataTable.js +103 -102
- package/dist/DataTable.js.map +1 -1
- package/dist/{DetailsModal-C3qlUyFK.js → DetailsModal-B2XBWR7w.js} +4 -4
- package/dist/{DetailsModal-C3qlUyFK.js.map → DetailsModal-B2XBWR7w.js.map} +1 -1
- package/dist/{DetailsModal-DIRTulvr.cjs → DetailsModal-jmmKRMRM.cjs} +2 -2
- package/dist/{DetailsModal-DIRTulvr.cjs.map → DetailsModal-jmmKRMRM.cjs.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.d.ts +4 -0
- package/dist/DifferenceLineChart.js +441 -437
- 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 +4 -0
- package/dist/DonutChart.js +146 -142
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.js +265 -268
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/{DropdownSelect-NNpOs7DX.cjs → DropdownSelect-CX1yMemd.cjs} +2 -2
- package/dist/DropdownSelect-CX1yMemd.cjs.map +1 -0
- package/dist/{DropdownSelect-B2WTeedJ.js → DropdownSelect-Dz7imdTB.js} +6 -9
- package/dist/DropdownSelect-Dz7imdTB.js.map +1 -0
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.d.ts +4 -0
- package/dist/DualAxisLineChart.js +336 -332
- 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 +2 -0
- package/dist/DumbbellChart.js +484 -484
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/{EmptyState-B4c-CrXs.cjs → EmptyState-CFmiFPHz.cjs} +2 -2
- package/dist/{EmptyState-B4c-CrXs.cjs.map → EmptyState-CFmiFPHz.cjs.map} +1 -1
- package/dist/{EmptyState-B3fPoH6L.js → EmptyState-CaxXCkiN.js} +4 -4
- package/dist/{EmptyState-B3fPoH6L.js.map → EmptyState-CaxXCkiN.js.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +1 -1
- package/dist/ExcelDownloadButton.js +2 -2
- package/dist/FootNote.cjs +1 -1
- package/dist/FootNote.js +2 -2
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.cjs.map +1 -1
- package/dist/GeoHubCompareMaps.js +111 -111
- package/dist/GeoHubCompareMaps.js.map +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.cjs.map +1 -1
- package/dist/GeoHubMap.js +71 -71
- package/dist/GeoHubMap.js.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +83 -83
- package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
- package/dist/{GraphContainer-DwMxWRCi.js → GraphContainer-B8ZqOzKI.js} +2 -2
- package/dist/{GraphContainer-DwMxWRCi.js.map → GraphContainer-B8ZqOzKI.js.map} +1 -1
- package/dist/{GraphContainer-B1EDxJ0S.cjs → GraphContainer-Cul9b74X.cjs} +2 -2
- package/dist/{GraphContainer-B1EDxJ0S.cjs.map → GraphContainer-Cul9b74X.cjs.map} +1 -1
- package/dist/GraphDescription.cjs +1 -1
- package/dist/GraphDescription.js +2 -2
- package/dist/{GraphEl-CnJf8b50.js → GraphEl-B73N4RIA.js} +48 -10
- package/dist/GraphEl-B73N4RIA.js.map +1 -0
- package/dist/GraphEl-Lt1og0C-.cjs +2 -0
- package/dist/GraphEl-Lt1og0C-.cjs.map +1 -0
- package/dist/GraphFooter.cjs +1 -1
- package/dist/GraphFooter.js +2 -2
- package/dist/GraphHeader.cjs +1 -1
- package/dist/GraphHeader.js +1 -1
- package/dist/GraphTitle.cjs +1 -1
- package/dist/GraphTitle.js +2 -2
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +1 -0
- package/dist/GriddedGraphs.js +6 -6
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +1 -0
- package/dist/GriddedGraphsFromConfig.js +2 -2
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.d.ts +4 -0
- package/dist/HeatMap.js +158 -155
- 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 +2 -0
- package/dist/Histogram.js +81 -80
- package/dist/Histogram.js.map +1 -1
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +2 -0
- package/dist/HybridMap.js +314 -315
- package/dist/HybridMap.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.js +2 -2
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
- package/dist/LineChartWithConfidenceInterval.js +367 -365
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.cjs.map +1 -1
- package/dist/LinearColorLegend.d.ts +1 -0
- package/dist/LinearColorLegend.js +38 -37
- package/dist/LinearColorLegend.js.map +1 -1
- package/dist/{Modal-ZX55hLH-.cjs → Modal-BIErPPKT.cjs} +5 -5
- package/dist/{Modal-ZX55hLH-.cjs.map → Modal-BIErPPKT.cjs.map} +1 -1
- package/dist/{Modal-BV4rkoLM.js → Modal-CrUYln5V.js} +4 -4
- package/dist/{Modal-BV4rkoLM.js.map → Modal-CrUYln5V.js.map} +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.d.ts +1 -0
- package/dist/MultiGraphDashboard.js +4 -4
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/MultiGraphDashboardFromConfig.js +2 -2
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +4 -4
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +2 -2
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +2 -0
- package/dist/MultiLineAltChart.js +419 -420
- 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 +4 -0
- package/dist/MultiLineChart.js +410 -409
- 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 +2 -0
- package/dist/ParetoChart.js +273 -271
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +4 -4
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +2 -2
- package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
- package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
- package/dist/PerformanceIntensiveScrollStory.js +3 -3
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.d.ts +2 -0
- package/dist/RadarChart.js +221 -219
- package/dist/RadarChart.js.map +1 -1
- package/dist/{ReferenceLine-M9aP3dj-.cjs → ReferenceLine-CpU4G01Y.cjs} +2 -2
- package/dist/{ReferenceLine-M9aP3dj-.cjs.map → ReferenceLine-CpU4G01Y.cjs.map} +1 -1
- package/dist/{ReferenceLine-CNEjAYvv.js → ReferenceLine-D41VuUhE.js} +3 -3
- package/dist/{ReferenceLine-CNEjAYvv.js.map → ReferenceLine-D41VuUhE.js.map} +1 -1
- package/dist/{RegressionLine-Ci-Dh0w0.cjs → RegressionLine-BFoBiVJk.cjs} +2 -2
- package/dist/{RegressionLine-Ci-Dh0w0.cjs.map → RegressionLine-BFoBiVJk.cjs.map} +1 -1
- package/dist/{RegressionLine-BDrndQxo.js → RegressionLine-CuwB42I6.js} +4 -4
- package/dist/{RegressionLine-BDrndQxo.js.map → RegressionLine-CuwB42I6.js.map} +1 -1
- package/dist/SVGDownloadButton.cjs +1 -1
- package/dist/SVGDownloadButton.js +2 -2
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.d.ts +2 -0
- package/dist/SankeyChart.js +404 -408
- 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 +2 -0
- package/dist/ScatterPlot.js +444 -445
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +1 -1
- package/dist/ScrollStory.d.ts +1 -0
- package/dist/ScrollStory.js +3 -3
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.d.ts +2 -0
- package/dist/SimpleLineChart.js +360 -358
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +1 -0
- package/dist/SingleGraphDashboard.js +6 -6
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardFromConfig.js +2 -2
- package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMaps.js +3 -3
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +2 -2
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphs.js +6 -6
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +2 -2
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +259 -262
- package/dist/SlopeChart.js.map +1 -1
- package/dist/{Source-BOSAl3UX.cjs → Source-PKuwZOn3.cjs} +2 -2
- package/dist/{Source-BOSAl3UX.cjs.map → Source-PKuwZOn3.cjs.map} +1 -1
- package/dist/{Source-Djkz-7jX.js → Source-QGk8vhkS.js} +3 -3
- package/dist/{Source-Djkz-7jX.js.map → Source-QGk8vhkS.js.map} +1 -1
- package/dist/Source.cjs +1 -1
- package/dist/Source.js +3 -3
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.js +3 -3
- package/dist/{Spinner-CtJETd5V.js → Spinner-B2IIKg9r.js} +2 -2
- package/dist/{Spinner-CtJETd5V.js.map → Spinner-B2IIKg9r.js.map} +1 -1
- package/dist/{Spinner-jTMOLuw_.cjs → Spinner-WHzzloYQ.cjs} +2 -2
- package/dist/{Spinner-jTMOLuw_.cjs.map → Spinner-WHzzloYQ.cjs.map} +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.d.ts +4 -0
- package/dist/StatCardFromData.js +97 -95
- 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 +2 -0
- package/dist/StripChart.js +343 -343
- 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 +2 -0
- package/dist/ThreeDGlobe.js +198 -196
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.d.ts +2 -0
- package/dist/ThresholdColorLegendWithMouseOver.js +50 -48
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/{Tooltip-CohiIbLZ.js → Tooltip-Bj-s__cI.js} +3 -3
- package/dist/{Tooltip-CohiIbLZ.js.map → Tooltip-Bj-s__cI.js.map} +1 -1
- package/dist/{Tooltip-BLa2EfMs.cjs → Tooltip-Hr46paWP.cjs} +2 -2
- package/dist/{Tooltip-BLa2EfMs.cjs.map → Tooltip-Hr46paWP.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.d.ts +2 -0
- package/dist/TreeMapGraph.js +139 -140
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +1 -0
- package/dist/{Typography-DMVW6JnV.js → Typography-BO0gQDIT.js} +2 -2
- package/dist/{Typography-DMVW6JnV.js.map → Typography-BO0gQDIT.js.map} +1 -1
- package/dist/{Typography-CZZxlj1W.cjs → Typography-BqmyF1gP.cjs} +2 -2
- package/dist/{Typography-CZZxlj1W.cjs.map → Typography-BqmyF1gP.cjs.map} +1 -1
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.d.ts +4 -0
- package/dist/UnitChart.js +88 -86
- package/dist/UnitChart.js.map +1 -1
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +2 -0
- package/dist/WaterfallChart.js +257 -258
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/{XAxesLabels-IwjMJkYS.js → XAxesLabels-B9gkjUiC.js} +3 -3
- package/dist/{XAxesLabels-IwjMJkYS.js.map → XAxesLabels-B9gkjUiC.js.map} +1 -1
- package/dist/{XAxesLabels-C6o9jJal.cjs → XAxesLabels-C03jHniq.cjs} +2 -2
- package/dist/{XAxesLabels-C6o9jJal.cjs.map → XAxesLabels-C03jHniq.cjs.map} +1 -1
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs +2 -0
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +1 -0
- package/dist/XTicksAndGridLines-gdbGX2rm.js +39 -0
- package/dist/XTicksAndGridLines-gdbGX2rm.js.map +1 -0
- package/dist/{YAxesLabels-BQ2aCazV.cjs → YAxesLabels-DeENFC2M.cjs} +2 -2
- package/dist/{YAxesLabels-BQ2aCazV.cjs.map → YAxesLabels-DeENFC2M.cjs.map} +1 -1
- package/dist/{YAxesLabels-DoGvgHdw.js → YAxesLabels-hWEUCTvs.js} +3 -3
- package/dist/{YAxesLabels-DoGvgHdw.js.map → YAxesLabels-hWEUCTvs.js.map} +1 -1
- package/dist/YTicksAndGridLines-CsNSq9W9.js +39 -0
- package/dist/YTicksAndGridLines-CsNSq9W9.js.map +1 -0
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs +2 -0
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +1 -0
- package/dist/{checkIfMultiple-TOaaUwS7.cjs → checkIfMultiple-CH5tqj4q.cjs} +2 -2
- package/dist/checkIfMultiple-CH5tqj4q.cjs.map +1 -0
- package/dist/{checkIfMultiple-B97uOUVq.js → checkIfMultiple-Dpyy6BUP.js} +6 -6
- package/dist/checkIfMultiple-Dpyy6BUP.js.map +1 -0
- package/dist/{customArea-B1LWQBmM.cjs → customArea-BAcQ3pBM.cjs} +2 -2
- package/dist/{customArea-B1LWQBmM.cjs.map → customArea-BAcQ3pBM.cjs.map} +1 -1
- package/dist/{customArea-Cc2whe6P.js → customArea-D89lETG0.js} +3 -3
- package/dist/{customArea-Cc2whe6P.js.map → customArea-D89lETG0.js.map} +1 -1
- package/dist/getSliderMarks-BzrpHrHS.cjs +2 -0
- package/dist/getSliderMarks-BzrpHrHS.cjs.map +1 -0
- package/dist/{getSliderMarks-vXsR8RrR.js → getSliderMarks-X-_goqH9.js} +3 -4
- package/dist/getSliderMarks-X-_goqH9.js.map +1 -0
- package/dist/{index-CZ0elhKR.js → index-ApTBN0kp.js} +20 -10
- package/dist/{index-CZ0elhKR.js.map → index-ApTBN0kp.js.map} +1 -1
- package/dist/index-B0Awa_de.js +377 -0
- package/dist/index-B0Awa_de.js.map +1 -0
- package/dist/{index-sbKVyHS2.cjs → index-BhI7mBJx.cjs} +2 -2
- package/dist/{index-sbKVyHS2.cjs.map → index-BhI7mBJx.cjs.map} +1 -1
- package/dist/{index-D69M6klB.cjs → index-BuhBhuCq.cjs} +2 -2
- package/dist/{index-D69M6klB.cjs.map → index-BuhBhuCq.cjs.map} +1 -1
- package/dist/{index-CHPV5EwG-BCLAYDCV.js → index-CHPV5EwG-BzibaIRc.js} +5 -9
- package/dist/index-CHPV5EwG-BzibaIRc.js.map +1 -0
- package/dist/{index-CHPV5EwG-6v2a2njQ.cjs → index-CHPV5EwG-D4pAp7u0.cjs} +3 -3
- package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +1 -0
- package/dist/index-CP8cmNzt.cjs +2 -0
- package/dist/index-CP8cmNzt.cjs.map +1 -0
- package/dist/{index-Co3YGYe1.js → index-Cv_5q6Rb.js} +3 -3
- package/dist/{index-Co3YGYe1.js.map → index-Cv_5q6Rb.js.map} +1 -1
- package/dist/{index-D_dtv_T9.js → index-DHVGV8Df.js} +3 -3
- package/dist/{index-D_dtv_T9.js.map → index-DHVGV8Df.js.map} +1 -1
- package/dist/{index-CoobIWNj.cjs → index-FXfr51ZM.cjs} +2 -2
- package/dist/{index-CoobIWNj.cjs.map → index-FXfr51ZM.cjs.map} +1 -1
- package/dist/{index-D6CYcVc7-BOa7Dpvf.js → index-Scxs_wcm-BAjU0Cob.js} +16 -16
- package/dist/index-Scxs_wcm-BAjU0Cob.js.map +1 -0
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs +2 -0
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +1 -0
- package/dist/{index-DoS4bGNa-C3DbPpy3.cjs → index-w64Zl8io-DrMm5QSb.cjs} +2 -2
- package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +1 -0
- package/dist/{index-DoS4bGNa-Bgab95kx.js → index-w64Zl8io-ihagHOdP.js} +2 -2
- package/dist/index-w64Zl8io-ihagHOdP.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +92 -17
- package/dist/index.js +3 -3
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs +2 -0
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +1 -0
- package/dist/numberFormattingFunction-DqMf_v1m.js +28 -0
- package/dist/numberFormattingFunction-DqMf_v1m.js.map +1 -0
- package/dist/{proxy--_f6k3NR.js → proxy-BsxtcZKa.js} +2 -2
- package/dist/{proxy--_f6k3NR.js.map → proxy-BsxtcZKa.js.map} +1 -1
- package/dist/{proxy-C4-uo6nS.cjs → proxy-CqH8m8IQ.cjs} +2 -2
- package/dist/{proxy-C4-uo6nS.cjs.map → proxy-CqH8m8IQ.cjs.map} +1 -1
- package/dist/{string2HTML-DUYZT1L9.js → string2HTML-BrFperRM.js} +2 -2
- package/dist/{string2HTML-DUYZT1L9.js.map → string2HTML-BrFperRM.js.map} +1 -1
- package/dist/{string2HTML-xx9MzTtY.cjs → string2HTML-ZoGd08P_.cjs} +2 -2
- package/dist/{string2HTML-xx9MzTtY.cjs.map → string2HTML-ZoGd08P_.cjs.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{use-in-view-DqvKAveg.js → use-in-view-KOXq5Kmc.js} +2 -2
- package/dist/{use-in-view-DqvKAveg.js.map → use-in-view-KOXq5Kmc.js.map} +1 -1
- package/dist/{use-in-view-C3o_ntMv.cjs → use-in-view-dnRv_qqF.cjs} +2 -2
- package/dist/{use-in-view-C3o_ntMv.cjs.map → use-in-view-dnRv_qqF.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +9 -18
- package/dist/utils.js +1 -1
- package/dist/x-BXShoIAM-BC2sxios.cjs +2 -0
- package/dist/x-BXShoIAM-BC2sxios.cjs.map +1 -0
- package/dist/{x-BBpi7a_7-BsvWCzYM.js → x-BXShoIAM-D6VWO6z5.js} +3 -5
- package/dist/x-BXShoIAM-D6VWO6z5.js.map +1 -0
- package/package.json +2 -2
- package/dist/DropdownSelect-B2WTeedJ.js.map +0 -1
- package/dist/DropdownSelect-NNpOs7DX.cjs.map +0 -1
- package/dist/GraphEl-CnJf8b50.js.map +0 -1
- package/dist/GraphEl-D_w0Qak4.cjs +0 -2
- package/dist/GraphEl-D_w0Qak4.cjs.map +0 -1
- package/dist/XTicksAndGridLines-BDmF9etl.js +0 -38
- package/dist/XTicksAndGridLines-BDmF9etl.js.map +0 -1
- package/dist/XTicksAndGridLines-CekrPykD.cjs +0 -2
- package/dist/XTicksAndGridLines-CekrPykD.cjs.map +0 -1
- package/dist/YTicksAndGridLines-C3GW1xFG.js +0 -38
- package/dist/YTicksAndGridLines-C3GW1xFG.js.map +0 -1
- package/dist/YTicksAndGridLines-UzVC5eBM.cjs +0 -2
- package/dist/YTicksAndGridLines-UzVC5eBM.cjs.map +0 -1
- package/dist/checkIfMultiple-B97uOUVq.js.map +0 -1
- package/dist/checkIfMultiple-TOaaUwS7.cjs.map +0 -1
- package/dist/getSliderMarks-CIuSoedo.cjs +0 -2
- package/dist/getSliderMarks-CIuSoedo.cjs.map +0 -1
- package/dist/getSliderMarks-vXsR8RrR.js.map +0 -1
- package/dist/index-C6VwVS8W.js +0 -378
- package/dist/index-C6VwVS8W.js.map +0 -1
- package/dist/index-CHPV5EwG-6v2a2njQ.cjs.map +0 -1
- package/dist/index-CHPV5EwG-BCLAYDCV.js.map +0 -1
- package/dist/index-D6CYcVc7-BOa7Dpvf.js.map +0 -1
- package/dist/index-D6CYcVc7-CTEcAtiQ.cjs +0 -2
- package/dist/index-D6CYcVc7-CTEcAtiQ.cjs.map +0 -1
- package/dist/index-DoS4bGNa-Bgab95kx.js.map +0 -1
- package/dist/index-DoS4bGNa-C3DbPpy3.cjs.map +0 -1
- package/dist/index-_TlgeI_i.cjs +0 -2
- package/dist/index-_TlgeI_i.cjs.map +0 -1
- package/dist/numberFormattingFunction-02t-wJta.cjs +0 -2
- package/dist/numberFormattingFunction-02t-wJta.cjs.map +0 -1
- package/dist/numberFormattingFunction-14YCbkN2.js +0 -13
- package/dist/numberFormattingFunction-14YCbkN2.js.map +0 -1
- package/dist/x-BBpi7a_7-BsvWCzYM.js.map +0 -1
- package/dist/x-BBpi7a_7-DXYIEFwN.cjs +0 -2
- package/dist/x-BBpi7a_7-DXYIEFwN.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeeSwarmChart.js","sources":["../src/Components/Graphs/BeeSwarmChart/Graph.tsx","../src/Components/Graphs/BeeSwarmChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleSqrt } from 'd3-scale';\r\nimport { forceCollide, forceManyBody, forceSimulation, forceX, forceY } from 'd3-force';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport orderBy from 'lodash.orderby';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { P } from '@undp/design-system-react/Typography';\r\n\r\nimport {\r\n BeeSwarmChartDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\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 { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface BeeSwarmChartDataTypeForBubbleChart extends BeeSwarmChartDataType {\r\n x: number;\r\n y: number;\r\n vx: number;\r\n vy: number;\r\n}\r\n\r\ninterface Props {\r\n data: BeeSwarmChartDataType[];\r\n circleColors: string[];\r\n colorDomain: string[];\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n startFromZero: boolean;\r\n radius: number;\r\n maxRadiusValue?: number;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n noOfTicks: number;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n rtl?: boolean;\r\n hideAxisLine: boolean;\r\n}\r\n\r\nexport function VerticalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 100,\r\n rightMargin = 40,\r\n suffix,\r\n prefix,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const yMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const yMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const y = scaleLinear().domain([yMinValue, yMaxValue]).range([graphHeight, 0]).nice();\r\n const yTicks = y.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('y', forceY((d: any) => y(d.position as number)).strength(5))\r\n .force('x', forceX(_d => graphWidth / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, yMinValue, yMaxValue, dataOrdered, y, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <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 {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n y1={y(yMinValue < 0 ? 0 : yMinValue)}\r\n y2={y(yMinValue < 0 ? 0 : yMinValue)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n yMinValue < 0 ? 0 : yMinValue,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: 0 - margin.left,\r\n y: y(yMinValue < 0 ? 0 : yMinValue),\r\n dx: 0,\r\n dy: yMaxValue < 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 <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 - margin.left}\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 </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <p\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n hyphens: 'auto',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </p>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\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 {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n\r\nexport function HorizontalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 10,\r\n rightMargin = 10,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n rtl,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n suffix,\r\n prefix,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const xMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const xMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const x = scaleLinear().domain([xMinValue, xMaxValue]).range([0, graphWidth]).nice();\r\n const xTicks = x.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('x', forceX((d: any) => x(d.position as number)).strength(5))\r\n .force('y', forceY(_d => graphHeight / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, xMinValue, xMaxValue, dataOrdered, x, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <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 {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n x1={x(xMinValue < 0 ? 0 : xMinValue)}\r\n x2={x(xMinValue < 0 ? 0 : xMinValue)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n xMinValue < 0 ? 0 : xMinValue,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: x(xMinValue < 0 ? 0 : xMinValue),\r\n y: 0 - topMargin,\r\n dy: '0.75em',\r\n dx: 3,\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 <XTicksAndGridLines\r\n values={xTicks.filter(d => d !== 0)}\r\n x={xTicks.filter(d => d !== 0).map(d => x(d))}\r\n y1={0 - topMargin}\r\n y2={graphHeight + margin.bottom}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.xAxis?.gridLines,\r\n labels: classNames?.xAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n precision={precision}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n radius={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <P\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n marginBottom='none'\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n hyphens: 'auto',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineX\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n x={x(el.value as number)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\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 {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nimport { HorizontalGraph, VerticalGraph } from './Graph';\r\n\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport {\r\n ReferenceDataType,\r\n SourcesDataType,\r\n Languages,\r\n BeeSwarmChartDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: BeeSwarmChartDataType[];\r\n\r\n /** Orientation of the graph */\r\n orientation?: 'vertical' | 'horizontal';\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the radius of the circle */\r\n maxRadiusValue?: number;\r\n /** Minimum value for position of the circle */\r\n minValue?: number;\r\n /** Maximum value for position of the circle */\r\n maxValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Toggle visibility of axis line for the main axis */\r\n hideAxisLine?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Maximum radius of the circles */\r\n radius?: number;\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 /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: 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 /** Details displayed on the modal when user clicks of a data point. 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 detailsOnClick?: 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 /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_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 BeeSwarmChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n colors,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale,\r\n graphID,\r\n radius = 5,\r\n showLabels = true,\r\n showTicks = true,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints = [],\r\n onSeriesMouseClick,\r\n ariaLabel,\r\n backgroundColor = false,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n orientation = 'vertical',\r\n suffix = '',\r\n prefix = '',\r\n styles,\r\n classNames,\r\n noOfTicks = 5,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n hideAxisLine = false,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\r\n\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 return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale !== false && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Comp\r\n hideAxisLine={hideAxisLine}\r\n data={data}\r\n circleColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n selectedColor={selectedColor}\r\n height={svgHeight}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n startFromZero={false}\r\n radius={radius}\r\n maxRadiusValue={maxRadiusValue}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n suffix={suffix}\r\n prefix={prefix}\r\n noOfTicks={noOfTicks || 5}\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["VerticalGraph","props","$","_c","data","circleColors","showTicks","width","height","colorDomain","topMargin","t0","bottomMargin","t1","leftMargin","t2","rightMargin","t3","suffix","prefix","showLabels","tooltip","onSeriesMouseOver","refValues","selectedColor","startFromZero","radius","maxRadiusValue","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","noOfTicks","dimmedOpacity","precision","customLayers","hideAxisLine","undefined","svgRef","useRef","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","finalData","setFinalData","eventX","setEventX","eventY","setEventY","t4","top","bottom","left","right","margin","graphWidth","graphHeight","dataOrdered","filter","_temp","length","orderBy","_temp2","t5","checkIfNullOrUndefined","Math","max","_temp3","map","_temp4","_temp5","_temp6","yMaxValue","t6","min","_temp7","_temp8","_temp9","_temp0","yMinValue","radiusScale","_temp1","scaleSqrt","domain","_temp10","_temp11","range","nice","y","scaleLinear","yTicks","ticks","useEffect","dataTemp","_temp12","_temp13","forceSimulation","force","forceY","d_14","d","position","strength","forceX","_d","forceCollide","d_15","forceManyBody","alphaDecay","tick","on","t7","jsx","jsxs","Fragment","Axis","numberFormattingFunction","x","dx","dy","axis","xAxis","label","yAxis","labels","YTicksAndGridLines","_temp14","_temp15","d_18","gridLines","_temp16","_temp17","d_21","color","indexOf","event","clientY","clientX","event_0","isEqual","_temp18","Colors","gray","cn","graphObjectValues","fontSize","round","hyphens","getTextColorBasedOnBgColor","_temp19","el_1","i","RefLineY","el","text","value","_temp20","_temp21","Spinner","t8","Tooltip","t9","modal","DetailsModal","t10","d_23","layer","d_22","el_0","d_20","d_19","d_17","d_16","d_13","d_12","d_10","d_9","d_11","d_6","d_5","d_8","d_7","d_2","d_1","d_4","d_3","d_0","HorizontalGraph","rtl","_temp22","_temp23","_temp24","_temp25","_temp26","_temp27","xMaxValue","_temp28","_temp29","_temp30","_temp31","xMinValue","_temp32","_temp33","_temp34","xTicks","_temp35","_temp36","XTicksAndGridLines","_temp37","_temp38","_temp39","_temp40","_temp41","P","_temp42","RefLineX","_temp43","_temp44","BeeSwarmChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","relativeHeight","showColorScale","graphID","ariaLabel","backgroundColor","graphDownload","dataDownload","language","showNAColor","minHeight","theme","t11","orientation","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Comp","t22","t23","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","t24","graphContainer","t25","t26","description","title","GraphHeader","t27","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t28","EmptyState","t29","primaryColors","t30","GraphArea","t31","footnote","source","GraphFooter","t32","GraphContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BeeSwarmChart.js","sources":["../src/Components/Graphs/BeeSwarmChart/Graph.tsx","../src/Components/Graphs/BeeSwarmChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleSqrt } from 'd3-scale';\r\nimport { forceCollide, forceManyBody, forceSimulation, forceX, forceY } from 'd3-force';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport orderBy from 'lodash.orderby';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { P } from '@undp/design-system-react/Typography';\r\n\r\nimport {\r\n BeeSwarmChartDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\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 { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface BeeSwarmChartDataTypeForBubbleChart extends BeeSwarmChartDataType {\r\n x: number;\r\n y: number;\r\n vx: number;\r\n vy: number;\r\n}\r\n\r\ninterface Props {\r\n data: BeeSwarmChartDataType[];\r\n circleColors: string[];\r\n colorDomain: string[];\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n startFromZero: boolean;\r\n radius: number;\r\n maxRadiusValue?: number;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints?: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n noOfTicks: number;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n rtl?: boolean;\r\n hideAxisLine: boolean;\r\n locale: string;\r\n}\r\n\r\nexport function VerticalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 100,\r\n rightMargin = 40,\r\n suffix,\r\n prefix,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const yMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const yMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const y = scaleLinear().domain([yMinValue, yMaxValue]).range([graphHeight, 0]).nice();\r\n const yTicks = y.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('y', forceY((d: any) => y(d.position as number)).strength(5))\r\n .force('x', forceX(_d => graphWidth / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, yMinValue, yMaxValue, dataOrdered, y, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <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 {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n y1={y(yMinValue < 0 ? 0 : yMinValue)}\r\n y2={y(yMinValue < 0 ? 0 : yMinValue)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n yMinValue < 0 ? 0 : yMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: 0 - margin.left,\r\n y: y(yMinValue < 0 ? 0 : yMinValue),\r\n dx: 0,\r\n dy: yMaxValue < 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 <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 - margin.left}\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 locale={locale}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <p\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n hyphens: 'auto',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </p>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\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 {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n\r\nexport function HorizontalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 10,\r\n rightMargin = 10,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n rtl,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n suffix,\r\n prefix,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const xMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const xMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const x = scaleLinear().domain([xMinValue, xMaxValue]).range([0, graphWidth]).nice();\r\n const xTicks = x.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('x', forceX((d: any) => x(d.position as number)).strength(5))\r\n .force('y', forceY(_d => graphHeight / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, xMinValue, xMaxValue, dataOrdered, x, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <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 {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n x1={x(xMinValue < 0 ? 0 : xMinValue)}\r\n x2={x(xMinValue < 0 ? 0 : xMinValue)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n xMinValue < 0 ? 0 : xMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: x(xMinValue < 0 ? 0 : xMinValue),\r\n y: 0 - topMargin,\r\n dy: '0.75em',\r\n dx: 3,\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 <XTicksAndGridLines\r\n values={xTicks.filter(d => d !== 0)}\r\n x={xTicks.filter(d => d !== 0).map(d => x(d))}\r\n y1={0 - topMargin}\r\n y2={graphHeight + margin.bottom}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.xAxis?.gridLines,\r\n labels: classNames?.xAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n radius={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <P\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n marginBottom='none'\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n hyphens: 'auto',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineX\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n x={x(el.value as number)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\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 {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nimport { HorizontalGraph, VerticalGraph } from './Graph';\r\n\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport {\r\n ReferenceDataType,\r\n SourcesDataType,\r\n Languages,\r\n BeeSwarmChartDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: BeeSwarmChartDataType[];\r\n\r\n /** Orientation of the graph */\r\n orientation?: 'vertical' | 'horizontal';\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n /** Maximum value for the radius of the circle */\r\n maxRadiusValue?: number;\r\n /** Minimum value for position of the circle */\r\n minValue?: number;\r\n /** Maximum value for position of the circle */\r\n maxValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Toggle visibility of axis line for the main axis */\r\n hideAxisLine?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Maximum radius of the circles */\r\n radius?: number;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\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 /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: 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 /** Details displayed on the modal when user clicks of a data point. 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 detailsOnClick?: 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 /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_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 BeeSwarmChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n colors,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale,\r\n graphID,\r\n radius = 5,\r\n showLabels = true,\r\n showTicks = true,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n ariaLabel,\r\n backgroundColor = false,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n orientation = 'vertical',\r\n suffix = '',\r\n prefix = '',\r\n styles,\r\n classNames,\r\n noOfTicks = 5,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n customLayers = [],\r\n hideAxisLine = false,\r\n locale = 'en',\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\r\n\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 return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale !== false && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Comp\r\n hideAxisLine={hideAxisLine}\r\n data={data}\r\n circleColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n selectedColor={selectedColor}\r\n height={svgHeight}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n startFromZero={false}\r\n radius={radius}\r\n maxRadiusValue={maxRadiusValue}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n suffix={suffix}\r\n prefix={prefix}\r\n noOfTicks={noOfTicks || 5}\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n customLayers={customLayers}\r\n locale={locale}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["VerticalGraph","props","$","_c","data","circleColors","showTicks","width","height","colorDomain","topMargin","t0","bottomMargin","t1","leftMargin","t2","rightMargin","t3","suffix","prefix","showLabels","tooltip","onSeriesMouseOver","refValues","selectedColor","startFromZero","radius","maxRadiusValue","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","noOfTicks","dimmedOpacity","precision","customLayers","hideAxisLine","locale","undefined","svgRef","useRef","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","finalData","setFinalData","eventX","setEventX","eventY","setEventY","t4","top","bottom","left","right","margin","graphWidth","graphHeight","dataOrdered","filter","_temp","length","orderBy","_temp2","t5","checkIfNullOrUndefined","Math","max","_temp3","map","_temp4","_temp5","_temp6","yMaxValue","t6","min","_temp7","_temp8","_temp9","_temp0","yMinValue","radiusScale","_temp1","scaleSqrt","domain","_temp10","_temp11","range","nice","y","scaleLinear","yTicks","ticks","useEffect","dataTemp","_temp12","_temp13","forceSimulation","force","forceY","d_14","d","position","strength","forceX","_d","forceCollide","d_15","forceManyBody","alphaDecay","tick","on","t7","jsx","jsxs","Fragment","Axis","numberFormattingFunction","x","dx","dy","axis","xAxis","label","yAxis","labels","YTicksAndGridLines","_temp14","_temp15","d_18","gridLines","_temp16","_temp17","d_21","color","indexOf","event","clientY","clientX","event_0","isEqual","_temp18","Colors","gray","cn","graphObjectValues","fontSize","round","hyphens","getTextColorBasedOnBgColor","_temp19","el_1","i","RefLineY","el","text","value","_temp20","_temp21","Spinner","t8","Tooltip","t9","modal","DetailsModal","t10","d_23","layer","d_22","el_0","d_20","d_19","d_17","d_16","d_13","d_12","d_10","d_9","d_11","d_6","d_5","d_8","d_7","d_2","d_1","d_4","d_3","d_0","HorizontalGraph","rtl","_temp22","_temp23","_temp24","_temp25","_temp26","_temp27","xMaxValue","_temp28","_temp29","_temp30","_temp31","xMinValue","_temp32","_temp33","_temp34","xTicks","_temp35","_temp36","XTicksAndGridLines","_temp37","_temp38","_temp39","_temp40","_temp41","P","_temp42","RefLineX","_temp43","_temp44","BeeSwarmChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","relativeHeight","showColorScale","graphID","ariaLabel","backgroundColor","graphDownload","dataDownload","language","showNAColor","minHeight","theme","orientation","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Comp","t21","t22","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","t23","graphContainer","t24","t25","description","title","GraphHeader","t26","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t27","EmptyState","t28","primaryColors","t29","GraphArea","t30","footnote","source","GraphFooter","t31","GraphContainer"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-CHPV5EwG-6v2a2njQ.cjs"),a=require("react"),wt=require("./getSliderMarks-CIuSoedo.cjs"),Ft=require("./Spinner-jTMOLuw_.cjs"),Rt=require("./parse-xYI9yrvL.cjs"),Lt=require("./index-DQA8q5sC.cjs"),S=require("./index-DLFt97gy.cjs"),$t=require("./index-C5K--w8d.cjs"),St=require("./Typography-CZZxlj1W.cjs"),Mt=require("./numberFormattingFunction-02t-wJta.cjs"),Tt=require("./Tooltip-BLa2EfMs.cjs"),Nt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ct=require("./index-sbKVyHS2.cjs"),Gt=require("./DetailsModal-DIRTulvr.cjs"),Et=require("./select-Bnfk0lJx.cjs"),Ot=require("./threshold-DNsSUf8Q.cjs"),it=require("./proxy-C4-uo6nS.cjs"),Ht=require("./use-in-view-C3o_ntMv.cjs"),Vt=require("./index-CoobIWNj.cjs"),Ut=require("./GraphHeader.cjs"),Xt=require("./GraphFooter.cjs"),kt=require("./Colors.cjs"),Bt=require("./fetchAndParseData-QTF6tjij.cjs"),qt=require("./getJenks-BzJvhy_H.cjs"),It=require("./GraphContainer-B1EDxJ0S.cjs");function Yt(s){const{data:e,xDomain:p,mapData:F,xColorLegendTitle:ze,yDomain:Q,yColorLegendTitle:ee,width:f,height:u,colors:h,scale:Pe,centerPoint:k,mapBorderWidth:M,mapNoDataColor:te,mapBorderColor:oe,tooltip:re,onSeriesMouseOver:fe,zoomScaleExtend:ge,zoomTranslateExtend:ye,highlightedIds:C,onSeriesMouseClick:ae,mapProperty:N,resetSelectionOnDoubleClick:We,detailsOnClick:j,showColorScale:ve,styles:Ae,classNames:L,mapProjection:$,zoomInteraction:O,animate:B,dimmedOpacity:q,customLayers:ne,collapseColorScaleByDefault:je,zoomAndCenterByHighlightedIds:be,projectionRotate:T,rewindCoordinatesInMapData:U,overlayMapData:X,overlayMapBorderColor:Fe,overlayMapBorderWidth:Le}=s,v=a.useMemo(()=>U?S.index_default(F,{reverse:!0}):F,[F,U]),$e=a.useMemo(()=>!U||!X?X:S.index_default(X,{reverse:!0}),[X,U]),[Ee,d]=a.useState(je===void 0?!(f<680):!je),[c,ke]=a.useState(void 0),[se,ie]=a.useState(void 0),[Y,G]=a.useState(void 0),[J,K]=a.useState(void 0),[Ce,H]=a.useState(void 0),V=a.useRef(null),g=Ht.useInView(V,{once:B.once,amount:B.amount}),D=a.useRef(null),w=a.useRef(null);a.useEffect(()=>{const t=Et.select(D.current),r=Et.select(V.current),m=x=>{if(O==="noZoom")return!1;if(O==="button")return!x.type.includes("wheel");const y=x.type==="wheel",b=x.type.startsWith("touch"),Be=x.type==="mousedown"||x.type==="mousemove";return b?!0:y?O==="scroll"?!0:x.ctrlKey:Be&&!x.button&&!x.ctrlKey},E=S.zoom().scaleExtent(ge).translateExtent(ye||[[-20,-20],[f+20,u+20]]).filter(m).on("zoom",({transform:x})=>{t.attr("transform",x)});r.call(E),w.current=E},[u,f,O]);const I=S.index_default$1({...v,features:be?v.features.filter(t=>(C||[]).length===0||C.indexOf(t.properties[N])!==-1):v.features}),_=$t.index_default({...v,features:be?v.features.filter(t=>(C||[]).length===0||C.indexOf(t.properties[N])!==-1):v.features}),De=(I[2]-I[0])*1.15,we=(I[3]-I[1])*1.15,Re=f*190/960*360/De,Se=u*190/678*180/we,z=Pe*Math.min(Re,Se),Me=$==="mercator"?S.geoMercator().rotate(T).center(k||_.geometry.coordinates).translate([f/2,u/2]).scale(z):$==="equalEarth"?S.geoEqualEarth().rotate(T).center(k||_.geometry.coordinates).translate([f/2,u/2]).scale(z):$==="naturalEarth"?S.geoNaturalEarth1().rotate(T).center(k||_.geometry.coordinates).translate([f/2,u/2]).scale(z):$==="orthographic"?S.geoOrthographic().rotate(T).center(k||_.geometry.coordinates).translate([f/2,u/2]).scale(z):S.geoAlbersUsa().rotate(T).center(k||_.geometry.coordinates).translate([f/2,u/2]).scale(z),P=S.geoPath().projection(Me),le=Array.from({length:p.length},(t,r)=>r),Ne=Array.from({length:Q.length},(t,r)=>r),Oe=Ot.threshold().domain(p).range(le),ce=Ot.threshold().domain(Q).range(Ne),de=t=>{if(!V.current||!w.current)return;Et.select(V.current).call(w.current.scaleBy,t==="in"?1.2:1/1.2)};return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsxs("div",{className:"relative",children:[o.jsxRuntimeExports.jsx(it.motion.svg,{viewBox:`0 0 ${f} ${u}`,width:`${f}px`,height:`${u}px`,ref:V,direction:"ltr",children:o.jsxRuntimeExports.jsxs("g",{ref:D,children:[ne.filter(t=>t.position==="before").map(t=>t.layer),v.features.map((t,r)=>{if(!t.properties?.[N])return null;const m=P(t);return m?o.jsxRuntimeExports.jsx(it.motion.g,{opacity:c?q:C.length!==0?C.indexOf(t.properties[N])!==-1?1:q:1,children:o.jsxRuntimeExports.jsx("path",{d:m,style:{stroke:oe,strokeWidth:M,fill:te,vectorEffect:"non-scaling-stroke"}})},r):null}),o.jsxRuntimeExports.jsx(Vt.AnimatePresence,{children:e.map(t=>{const r=v.features.findIndex(b=>t.id===b.properties[N]);if(r===-1)return null;const m=P(v.features[r]);if(!m)return null;const E=Nt.checkIfNullOrUndefined(t.x)?void 0:Oe(t.x),x=Nt.checkIfNullOrUndefined(t.y)?void 0:ce(t.y),y=E!==void 0&&x!==void 0?h[x][E]:te;return o.jsxRuntimeExports.jsx(it.motion.g,{className:"undp-map-shapes",variants:{initial:{opacity:0},whileInView:{opacity:c?c===y?1:q:C.length!==0?C.indexOf(t.id)!==-1?1:q:1,transition:{duration:B.duration}}},initial:"initial",animate:g?"whileInView":"initial",exit:{opacity:0,transition:{duration:B.duration}},onMouseEnter:b=>{G(t),H(b.clientY),K(b.clientX),fe?.(t)},onClick:()=>{(ae||j)&&(Lt.isEqual(se,t)&&We?(ie(void 0),ae?.(void 0)):(ie(t),ae?.(t)))},onMouseMove:b=>{G(t),H(b.clientY),K(b.clientX)},onMouseLeave:()=>{G(void 0),K(void 0),H(void 0),fe?.(void 0)},children:o.jsxRuntimeExports.jsx(it.motion.path,{d:m,variants:{initial:{fill:y,opacity:0},whileInView:{fill:y,opacity:1,transition:{duration:B.duration}}},initial:"initial",animate:g?"whileInView":"initial",exit:{opacity:0,transition:{duration:B.duration}},className:`${y===te?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{stroke:oe,strokeWidth:M,vectorEffect:"non-scaling-stroke"}},`${t.id}`)},t.id)})}),Y?v.features.filter(t=>t.properties[N]===Y.id).map((t,r)=>o.jsxRuntimeExports.jsx("path",{d:P(t)||"",className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}},r)):null,$e?.features.map((t,r)=>{const m=P(t);return m?o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx("path",{d:m,style:{stroke:Fe||oe,strokeWidth:Le||M+1,fill:"none",pointerEvents:"none",vectorEffect:"non-scaling-stroke"}})},r):null}),ne.filter(t=>t.position==="after").map(t=>t.layer)]})}),ve===!1?null:o.jsxRuntimeExports.jsx("div",{className:o.mo("absolute left-4 bottom-4 map-color-legend",L?.colorLegend),children:Ee?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{d(!1)},children:o.jsxRuntimeExports.jsx(Ct.X,{})}),o.jsxRuntimeExports.jsxs("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",style:{width:"175px"},children:[o.jsxRuntimeExports.jsxs("div",{className:"flex gap-1 items-center",children:[o.jsxRuntimeExports.jsx("svg",{width:"136px",viewBox:"0 0 136 136",className:"shrink-0",children:o.jsxRuntimeExports.jsxs("g",{children:[h.map((t,r)=>o.jsxRuntimeExports.jsx("g",{transform:`translate(0,${100-r*25})`,children:t.map((m,E)=>o.jsxRuntimeExports.jsx("rect",{y:1,x:E*25+1,fill:m,width:23,height:23,strokeWidth:c===m?2:.25,style:{cursor:"pointer"},onMouseOver:()=>{ke(m)},onMouseLeave:()=>{ke(void 0)}},E))},r)),o.jsxRuntimeExports.jsx("g",{transform:"translate(0,125)",children:p.map((t,r)=>o.jsxRuntimeExports.jsx("text",{y:10,x:(r+1)*25,fontSize:10,textAnchor:"middle",children:typeof t=="string"||t<1?t:Mt.numberFormattingFunction(t,"NA")},r))}),Q.map((t,r)=>o.jsxRuntimeExports.jsx("g",{transform:`translate(${Math.max(Math.min(p.length+1,5),4)*25+10},${100-r*25})`,children:o.jsxRuntimeExports.jsx("text",{x:0,transform:"rotate(-90)",y:0,fontSize:10,textAnchor:"middle",children:typeof t=="string"||t<1?t:Mt.numberFormattingFunction(t,"NA")})},r))]})}),o.jsxRuntimeExports.jsx(St._,{marginBottom:"none",size:"xs",className:"leading-normal text-center shrink-0",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical",overflow:"hidden",writingMode:"vertical-rl",height:"8.5rem",transform:"rotate(180deg)"},children:ee})]}),o.jsxRuntimeExports.jsx(St._,{marginBottom:"none",size:"xs",className:"mt-1 leading-normal text-center",style:{display:"-webkit-box",WebkitLineClamp:"1",width:"8.5rem",WebkitBoxOrient:"vertical",overflow:"hidden"},children:ze})]})]}):o.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{d(!0)},children:o.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),O==="button"&&o.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col zoom-buttons",children:[o.jsxRuntimeExports.jsx("button",{onClick:()=>de("in"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-550 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"+"}),o.jsxRuntimeExports.jsx("button",{onClick:()=>de("out"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-t-0 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-550 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"–"})]})]}),Y&&re&&J&&Ce?o.jsxRuntimeExports.jsx(Tt.Tooltip,{data:Y,body:re,xPos:J,yPos:Ce,backgroundStyle:Ae?.tooltip,className:L?.tooltip}):null,j&&se!==void 0?o.jsxRuntimeExports.jsx(Gt.DetailsModal,{body:j,data:se,setData:ie,className:L?.modal}):null]})}function Jt(s){const e=o.compilerRuntimeExports.c(130),{data:p,graphTitle:F,mapData:ze,colors:Q,sources:ee,graphDescription:f,height:u,width:h,footNote:Pe,xDomain:k,yDomain:M,xColorLegendTitle:te,yColorLegendTitle:oe,tooltip:re,scale:fe,centerPoint:ge,padding:ye,mapBorderWidth:C,mapNoDataColor:ae,backgroundColor:N,mapBorderColor:We,relativeHeight:j,onSeriesMouseOver:ve,isWorldMap:Ae,zoomScaleExtend:L,zoomTranslateExtend:$,graphID:O,showColorScale:B,highlightedIds:q,onSeriesMouseClick:ne,mapProperty:je,graphDownload:be,dataDownload:T,showAntarctica:U,language:X,minHeight:Fe,theme:Le,ariaLabel:v,resetSelectionOnDoubleClick:$e,detailsOnClick:Ee,styles:d,classNames:c,mapProjection:ke,zoomInteraction:se,animate:ie,dimmedOpacity:Y,customLayers:G,timeline:J,collapseColorScaleByDefault:K,zoomAndCenterByHighlightedIds:Ce,projectionRotate:H,rewindCoordinatesInMapData:V,mapOverlay:g}=s,D=ze===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-v2.json":ze,w=Q===void 0?kt.Colors.light.bivariateColors.colors05x05:Q,I=Pe===void 0?"The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.":Pe,_=te===void 0?"X Color key":te,De=oe===void 0?"Y Color key":oe,we=fe===void 0?.95:fe,Re=C===void 0?.5:C,Se=ae===void 0?kt.Colors.light.graphNoData:ae,z=N===void 0?!1:N,Me=We===void 0?kt.Colors.light.grays["gray-500"]:We,P=Ae===void 0?!0:Ae;let le;e[0]!==L?(le=L===void 0?[.8,6]:L,e[0]=L,e[1]=le):le=e[1];const Ne=le,Oe=B===void 0?!0:B;let ce;e[2]!==q?(ce=q===void 0?[]:q,e[2]=q,e[3]=ce):ce=e[3];const de=ce,t=je===void 0?"ISO3":je,r=be===void 0?!1:be,m=T===void 0?!1:T,E=U===void 0?!1:U,x=X===void 0?"en":X,y=Fe===void 0?0:Fe,b=Le===void 0?"light":Le,Be=$e===void 0?!0:$e,lt=ke===void 0?"naturalEarth":ke,ct=se===void 0?"button":se,Te=ie===void 0?!1:ie,dt=Y===void 0?.3:Y;let Ge;e[4]!==G?(Ge=G===void 0?[]:G,e[4]=G,e[5]=Ge):Ge=e[5];const mt=Ge;let He;e[6]!==J?(He=J===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:J,e[6]=J,e[7]=He):He=e[7];const n=He,pt=Ce===void 0?!1:Ce;let Ve;e[8]!==H?(Ve=H===void 0?[0,0]:H,e[8]=H,e[9]=Ve):Ve=e[9];const ut=Ve,ht=V===void 0?!0:V,[Z,_t]=a.useState(0),[qe,zt]=a.useState(0),[W,Pt]=a.useState(n.autoplay);let Ie;if(e[10]!==p||e[11]!==n.dateFormat){let i;e[13]!==n.dateFormat?(i=R=>Rt.parse(`${R.date}`,n.dateFormat||"yyyy",new Date).getTime(),e[13]=n.dateFormat,e[14]=i):i=e[14],Ie=[...new Set(p.filter(so).map(i))],Ie.sort(no),e[10]=p,e[11]=n.dateFormat,e[12]=Ie}else Ie=e[12];const l=Ie,[A,xt]=a.useState(n.autoplay?0:l.length-1),[me,Wt]=a.useState(void 0),[ft,At]=a.useState(void 0),gt=a.useRef(null),Dt=a.useRef(null);let Ue,Xe;e[15]===Symbol.for("react.memo_cache_sentinel")?(Ue=()=>{const i=new ResizeObserver(R=>{_t(R[0].target.clientWidth||620),zt(R[0].target.clientHeight||480)});return gt.current&&i.observe(gt.current),()=>i.disconnect()},Xe=[],e[15]=Ue,e[16]=Xe):(Ue=e[15],Xe=e[16]),a.useEffect(Ue,Xe);let Ye;e[17]===Symbol.for("react.memo_cache_sentinel")?(Ye=i=>{Wt(i)},e[17]=Ye):Ye=e[17];const Je=a.useEffectEvent(Ye);let Ke;e[18]===Symbol.for("react.memo_cache_sentinel")?(Ke=i=>{At(i)},e[18]=Ke):Ke=e[18];const _e=a.useEffectEvent(Ke);let Ze;e[19]!==D||e[20]!==Je?(Ze=()=>{typeof D=="string"?Bt.fetchAndParseJSON(D).then(R=>{Je(R)}):Je(D)},e[19]=D,e[20]=Je,e[21]=Ze):Ze=e[21];let Qe;e[22]!==D?(Qe=[D],e[22]=D,e[23]=Qe):Qe=e[23],a.useEffect(Ze,Qe);let et;e[24]!==g?.mapData||e[25]!==_e?(et=()=>{g?.mapData||_e(void 0),typeof g?.mapData=="string"?Bt.fetchAndParseJSON(g?.mapData).then(R=>{_e(R)}):_e(g?.mapData)},e[24]=g?.mapData,e[25]=_e,e[26]=et):et=e[26];const yt=g?.mapData;let tt;e[27]!==yt?(tt=[yt],e[27]=yt,e[28]=tt):tt=e[28],a.useEffect(et,tt);let ot,rt;e[29]!==W||e[30]!==n.speed||e[31]!==l?(ot=()=>{const i=setInterval(()=>{xt(R=>R<l.length-1?R+1:0)},(n.speed||2)*1e3);return W||clearInterval(i),()=>clearInterval(i)},rt=[l,W,n.speed],e[29]=W,e[30]=n.speed,e[31]=l,e[32]=ot,e[33]=rt):(ot=e[32],rt=e[33]),a.useEffect(ot,rt);const vt=n.dateFormat||"yyyy";let at;e[34]!==A||e[35]!==vt||e[36]!==n.showOnlyActiveDate||e[37]!==l?(at=wt.getSliderMarks(l,A,n.showOnlyActiveDate,vt),e[34]=A,e[35]=vt,e[36]=n.showOnlyActiveDate,e[37]=l,e[38]=at):at=e[38];const nt=at;if(k&&M&&(k.length!==w[0].length-1||M.length!==w.length-1))return console.error("the xDomain and yDomain array length don't match to the color array length"),null;const jt=c?.graphContainer,bt=d?.graphContainer;let pe;e[39]!==c?.description||e[40]!==c?.title||e[41]!==p||e[42]!==m||e[43]!==f||e[44]!==r||e[45]!==F||e[46]!==d?.description||e[47]!==d?.title||e[48]!==h?(pe=F||f||r||m?o.jsxRuntimeExports.jsx(Ut.GraphHeader,{styles:{title:d?.title,description:d?.description},classNames:{title:c?.title,description:c?.description},graphTitle:F,graphDescription:f,width:h,graphDownload:r?Dt:void 0,dataDownload:m?p.map(ao).filter(ro).length>0?p.map(oo).filter(to):p.filter(eo):null}):null,e[39]=c?.description,e[40]=c?.title,e[41]=p,e[42]=m,e[43]=f,e[44]=r,e[45]=F,e[46]=d?.description,e[47]=d?.title,e[48]=h,e[49]=pe):pe=e[49];let ue;e[50]!==A||e[51]!==nt||e[52]!==W||e[53]!==n.enabled||e[54]!==l?(ue=n.enabled&&l.length>0&&nt?o.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[o.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Pt(!W)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":W?"Click to pause animation":"Click to play animation",children:W?o.jsxRuntimeExports.jsx(Ct.Pause,{}):o.jsxRuntimeExports.jsx(Ct.Play,{})}),o.jsxRuntimeExports.jsx(wt.Nr,{min:l[0],max:l[l.length-1],marks:nt,step:null,defaultValue:l[l.length-1],value:l[A],onChangeComplete:i=>{xt(l.indexOf(i))},onChange:i=>{xt(l.indexOf(i))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e[50]=A,e[51]=nt,e[52]=W,e[53]=n.enabled,e[54]=l,e[55]=ue):ue=e[55];let he;e[56]!==Te||e[57]!==ge||e[58]!==c||e[59]!==K||e[60]!==w||e[61]!==mt||e[62]!==p||e[63]!==Ee||e[64]!==dt||e[65]!==u||e[66]!==de||e[67]!==A||e[68]!==P||e[69]!==Me||e[70]!==Re||e[71]!==Se||e[72]!==g?.mapBorderColor||e[73]!==g?.mapBorderWidth||e[74]!==lt||e[75]!==t||e[76]!==me||e[77]!==y||e[78]!==ne||e[79]!==ve||e[80]!==ft||e[81]!==ut||e[82]!==j||e[83]!==Be||e[84]!==ht||e[85]!==we||e[86]!==E||e[87]!==Oe||e[88]!==d||e[89]!==qe||e[90]!==Z||e[91]!==n.dateFormat||e[92]!==n.enabled||e[93]!==re||e[94]!==l||e[95]!==h||e[96]!==_||e[97]!==k||e[98]!==De||e[99]!==M||e[100]!==pt||e[101]!==ct||e[102]!==Ne||e[103]!==$?(he=o.jsxRuntimeExports.jsx(It.GraphArea,{ref:gt,children:Z&&qe&&me?o.jsxRuntimeExports.jsx(Yt,{data:p.filter(i=>n.enabled?`${i.date}`===Rt.format(new Date(l[A]),n.dateFormat||"yyyy"):i),mapData:E?me:{...me,features:me.features.filter(Qt)},xDomain:k||qt.getJenks(p.map(Zt),w[0].length),yDomain:M||qt.getJenks(p.map(Kt),w.length),width:Z,height:qe,scale:we,centerPoint:ge,colors:w,xColorLegendTitle:_,yColorLegendTitle:De,mapBorderWidth:Re,mapNoDataColor:Se,mapBorderColor:Me,tooltip:re,onSeriesMouseOver:ve,isWorldMap:P,zoomScaleExtend:Ne,zoomTranslateExtend:$,onSeriesMouseClick:ne,mapProperty:t,highlightedIds:de,resetSelectionOnDoubleClick:Be,styles:d,showColorScale:Oe,classNames:c,mapProjection:lt||(P?"naturalEarth":"mercator"),detailsOnClick:Ee,zoomInteraction:ct,overlayMapData:ft,overlayMapBorderColor:g?.mapBorderColor,overlayMapBorderWidth:g?.mapBorderWidth,animate:Te===!0?{duration:.5,once:!0,amount:.5}:Te||{duration:0,once:!0,amount:0},dimmedOpacity:dt,customLayers:mt,collapseColorScaleByDefault:K,zoomAndCenterByHighlightedIds:pt,projectionRotate:ut,rewindCoordinatesInMapData:ht}):o.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(y,u||(j?y?(h||Z)*j>y?(h||Z)*j:y:(h||Z)*j:qe))}px`},className:"flex items-center justify-center",children:o.jsxRuntimeExports.jsx(Ft.w,{"aria-label":"Loading graph"})})}),e[56]=Te,e[57]=ge,e[58]=c,e[59]=K,e[60]=w,e[61]=mt,e[62]=p,e[63]=Ee,e[64]=dt,e[65]=u,e[66]=de,e[67]=A,e[68]=P,e[69]=Me,e[70]=Re,e[71]=Se,e[72]=g?.mapBorderColor,e[73]=g?.mapBorderWidth,e[74]=lt,e[75]=t,e[76]=me,e[77]=y,e[78]=ne,e[79]=ve,e[80]=ft,e[81]=ut,e[82]=j,e[83]=Be,e[84]=ht,e[85]=we,e[86]=E,e[87]=Oe,e[88]=d,e[89]=qe,e[90]=Z,e[91]=n.dateFormat,e[92]=n.enabled,e[93]=re,e[94]=l,e[95]=h,e[96]=_,e[97]=k,e[98]=De,e[99]=M,e[100]=pt,e[101]=ct,e[102]=Ne,e[103]=$,e[104]=he):he=e[104];let xe;e[105]!==c?.footnote||e[106]!==c?.source||e[107]!==I||e[108]!==ee||e[109]!==d?.footnote||e[110]!==d?.source||e[111]!==h?(xe=ee||I?o.jsxRuntimeExports.jsx(Xt.GraphFooter,{styles:{footnote:d?.footnote,source:d?.source},classNames:{footnote:c?.footnote,source:c?.source},sources:ee,footNote:I,width:h}):null,e[105]=c?.footnote,e[106]=c?.source,e[107]=I,e[108]=ee,e[109]=d?.footnote,e[110]=d?.source,e[111]=h,e[112]=xe):xe=e[112];let st;return e[113]!==v||e[114]!==z||e[115]!==O||e[116]!==u||e[117]!==x||e[118]!==y||e[119]!==ye||e[120]!==j||e[121]!==jt||e[122]!==bt||e[123]!==pe||e[124]!==ue||e[125]!==he||e[126]!==xe||e[127]!==b||e[128]!==h?(st=o.jsxRuntimeExports.jsxs(It.GraphContainer,{className:jt,style:bt,id:O,ref:Dt,"aria-label":v,backgroundColor:z,theme:b,language:x,minHeight:y,width:h,height:u,relativeHeight:j,padding:ye,children:[pe,ue,he,xe]}),e[113]=v,e[114]=z,e[115]=O,e[116]=u,e[117]=x,e[118]=y,e[119]=ye,e[120]=j,e[121]=jt,e[122]=bt,e[123]=pe,e[124]=ue,e[125]=he,e[126]=xe,e[127]=b,e[128]=h,e[129]=st):st=e[129],st}function Kt(s){return s.y}function Zt(s){return s.x}function Qt(s){return s.properties?.NAME!=="Antarctica"}function eo(s){return s!==void 0}function to(s){return s!==void 0}function oo(s){return s.data}function ro(s){return s!==void 0}function ao(s){return s.data}function no(s,e){return s-e}function so(s){return s.date}exports.BiVariateChoroplethMap=Jt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-CHPV5EwG-D4pAp7u0.cjs"),a=require("react"),St=require("./getSliderMarks-BzrpHrHS.cjs"),$t=require("./Spinner-WHzzloYQ.cjs"),Mt=require("./parse-xYI9yrvL.cjs"),Tt=require("./index-DQA8q5sC.cjs"),S=require("./index-DLFt97gy.cjs"),Gt=require("./index-C5K--w8d.cjs"),Nt=require("./Typography-BqmyF1gP.cjs"),Ot=require("./numberFormattingFunction-Cn9R7CM9.cjs"),Ht=require("./Tooltip-Hr46paWP.cjs"),Bt=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ct=require("./index-BhI7mBJx.cjs"),Vt=require("./DetailsModal-jmmKRMRM.cjs"),Dt=require("./select-Bnfk0lJx.cjs"),It=require("./threshold-DNsSUf8Q.cjs"),lt=require("./proxy-CqH8m8IQ.cjs"),Ut=require("./use-in-view-dnRv_qqF.cjs"),Xt=require("./index-FXfr51ZM.cjs"),Yt=require("./GraphHeader.cjs"),Jt=require("./GraphFooter.cjs"),Rt=require("./Colors.cjs"),qt=require("./fetchAndParseData-QTF6tjij.cjs"),_t=require("./getJenks-BzJvhy_H.cjs"),zt=require("./GraphContainer-Cul9b74X.cjs");function Kt(i){const{data:e,xDomain:p,mapData:L,xColorLegendTitle:We,yDomain:K,yColorLegendTitle:Z,width:g,height:h,colors:x,scale:Ae,centerPoint:C,mapBorderWidth:M,mapNoDataColor:Q,mapBorderColor:ee,tooltip:te,onSeriesMouseOver:ye,zoomScaleExtend:ve,zoomTranslateExtend:je,highlightedIds:k,onSeriesMouseClick:oe,mapProperty:N,resetSelectionOnDoubleClick:Fe,detailsOnClick:v,showColorScale:be,styles:Le,classNames:$,mapProjection:T,zoomInteraction:O,animate:B,dimmedOpacity:I,customLayers:re,collapseColorScaleByDefault:Ee,zoomAndCenterByHighlightedIds:Ce,projectionRotate:G,rewindCoordinatesInMapData:V,overlayMapData:U,overlayMapBorderColor:$e,overlayMapBorderWidth:Te,locale:ae}=i,j=a.useMemo(()=>V?S.index_default(L,{reverse:!0}):L,[L,V]),ke=a.useMemo(()=>!V||!U?U:S.index_default(U,{reverse:!0}),[U,V]),[m,c]=a.useState(Ee===void 0?!(g<680):!Ee),[X,De]=a.useState(void 0),[ne,ie]=a.useState(void 0),[q,H]=a.useState(void 0),[se,le]=a.useState(void 0),[Y,ce]=a.useState(void 0),d=a.useRef(null),Re=Ut.useInView(d,{once:B.once,amount:B.amount}),D=a.useRef(null),R=a.useRef(null);a.useEffect(()=>{const t=Dt.select(D.current),r=Dt.select(d.current),u=f=>{if(O==="noZoom")return!1;if(O==="button")return!f.type.includes("wheel");const y=f.type==="wheel",b=f.type.startsWith("touch"),qe=f.type==="mousedown"||f.type==="mousemove";return b?!0:y?O==="scroll"?!0:f.ctrlKey:qe&&!f.button&&!f.ctrlKey},E=S.zoom().scaleExtent(ve).translateExtent(je||[[-20,-20],[g+20,h+20]]).filter(u).on("zoom",({transform:f})=>{t.attr("transform",f)});r.call(E),R.current=E},[h,g,O]);const _=S.index_default$1({...j,features:Ce?j.features.filter(t=>(k||[]).length===0||k?.indexOf(t.properties[N])!==-1):j.features}),z=Gt.index_default({...j,features:Ce?j.features.filter(t=>(k||[]).length===0||k?.indexOf(t.properties[N])!==-1):j.features}),we=(_[2]-_[0])*1.15,Se=(_[3]-_[1])*1.15,Me=g*190/960*360/we,Ne=h*190/678*180/Se,P=Ae*Math.min(Me,Ne),Oe=T==="mercator"?S.geoMercator().rotate(G).center(C||z.geometry.coordinates).translate([g/2,h/2]).scale(P):T==="equalEarth"?S.geoEqualEarth().rotate(G).center(C||z.geometry.coordinates).translate([g/2,h/2]).scale(P):T==="naturalEarth"?S.geoNaturalEarth1().rotate(G).center(C||z.geometry.coordinates).translate([g/2,h/2]).scale(P):T==="orthographic"?S.geoOrthographic().rotate(G).center(C||z.geometry.coordinates).translate([g/2,h/2]).scale(P):S.geoAlbersUsa().rotate(G).center(C||z.geometry.coordinates).translate([g/2,h/2]).scale(P),W=S.geoPath().projection(Oe),de=Array.from({length:p.length},(t,r)=>r),Be=Array.from({length:K.length},(t,r)=>r),Ie=It.threshold().domain(p).range(de),ue=It.threshold().domain(K).range(Be),pe=t=>{if(!d.current||!R.current)return;Dt.select(d.current).call(R.current.scaleBy,t==="in"?1.2:1/1.2)};return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsxs("div",{className:"relative",children:[o.jsxRuntimeExports.jsx(lt.motion.svg,{viewBox:`0 0 ${g} ${h}`,width:`${g}px`,height:`${h}px`,ref:d,direction:"ltr",children:o.jsxRuntimeExports.jsxs("g",{ref:D,children:[re.filter(t=>t.position==="before").map(t=>t.layer),j.features.map((t,r)=>{if(!t.properties?.[N])return null;const u=W(t);return u?o.jsxRuntimeExports.jsx(lt.motion.g,{opacity:X?I:k?k.indexOf(t.properties[N])!==-1?1:I:1,children:o.jsxRuntimeExports.jsx("path",{d:u,style:{stroke:ee,strokeWidth:M,fill:Q,vectorEffect:"non-scaling-stroke"}})},r):null}),o.jsxRuntimeExports.jsx(Xt.AnimatePresence,{children:e.map(t=>{const r=j.features.findIndex(b=>t.id===b.properties[N]);if(r===-1)return null;const u=W(j.features[r]);if(!u)return null;const E=Bt.checkIfNullOrUndefined(t.x)?void 0:Ie(t.x),f=Bt.checkIfNullOrUndefined(t.y)?void 0:ue(t.y),y=E!==void 0&&f!==void 0?x[f][E]:Q;return o.jsxRuntimeExports.jsx(lt.motion.g,{className:"undp-map-shapes",variants:{initial:{opacity:0},whileInView:{opacity:X?X===y?1:I:k?k.indexOf(t.id)!==-1?1:I:1,transition:{duration:B.duration}}},initial:"initial",animate:Re?"whileInView":"initial",exit:{opacity:0,transition:{duration:B.duration}},onMouseEnter:b=>{H(t),ce(b.clientY),le(b.clientX),ye?.(t)},onClick:()=>{(oe||v)&&(Tt.isEqual(ne,t)&&Fe?(ie(void 0),oe?.(void 0)):(ie(t),oe?.(t)))},onMouseMove:b=>{H(t),ce(b.clientY),le(b.clientX)},onMouseLeave:()=>{H(void 0),le(void 0),ce(void 0),ye?.(void 0)},children:o.jsxRuntimeExports.jsx(lt.motion.path,{d:u,variants:{initial:{fill:y,opacity:0},whileInView:{fill:y,opacity:1,transition:{duration:B.duration}}},initial:"initial",animate:Re?"whileInView":"initial",exit:{opacity:0,transition:{duration:B.duration}},className:`${y===Q?"stroke-primary-gray-400 dark:stroke-primary-gray-500":"stroke-primary-white dark:stroke-primary-gray-650"}`,style:{stroke:ee,strokeWidth:M,vectorEffect:"non-scaling-stroke"}},`${t.id}`)},t.id)})}),q?j.features.filter(t=>t.properties[N]===q.id).map((t,r)=>o.jsxRuntimeExports.jsx("path",{d:W(t)||"",className:"stroke-primary-gray-700 dark:stroke-primary-gray-300",style:{fill:"none",fillOpacity:0,strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}},r)):null,ke?.features.map((t,r)=>{const u=W(t);return u?o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx("path",{d:u,style:{stroke:$e||ee,strokeWidth:Te||M+1,fill:"none",pointerEvents:"none",vectorEffect:"non-scaling-stroke"}})},r):null}),re.filter(t=>t.position==="after").map(t=>t.layer)]})}),be===!1?null:o.jsxRuntimeExports.jsx("div",{className:o.mo("absolute left-4 bottom-4 map-color-legend",$?.colorLegend),children:m?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{c(!1)},children:o.jsxRuntimeExports.jsx(ct.X,{})}),o.jsxRuntimeExports.jsxs("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",style:{width:"175px"},children:[o.jsxRuntimeExports.jsxs("div",{className:"flex gap-1 items-center",children:[o.jsxRuntimeExports.jsx("svg",{width:"136px",viewBox:"0 0 136 136",className:"shrink-0",children:o.jsxRuntimeExports.jsxs("g",{children:[x.map((t,r)=>o.jsxRuntimeExports.jsx("g",{transform:`translate(0,${100-r*25})`,children:t.map((u,E)=>o.jsxRuntimeExports.jsx("rect",{y:1,x:E*25+1,fill:u,width:23,height:23,strokeWidth:X===u?2:.25,style:{cursor:"pointer"},onMouseOver:()=>{De(u)},onMouseLeave:()=>{De(void 0)}},E))},r)),o.jsxRuntimeExports.jsx("g",{transform:"translate(0,125)",children:p.map((t,r)=>o.jsxRuntimeExports.jsx("text",{y:10,x:(r+1)*25,fontSize:10,textAnchor:"middle",children:typeof t=="string"||t<1?t:Ot.numberFormattingFunction(t,void 0,void 0,void 0,void 0,ae)},r))}),K.map((t,r)=>o.jsxRuntimeExports.jsx("g",{transform:`translate(${Math.max(Math.min(p.length+1,5),4)*25+10},${100-r*25})`,children:o.jsxRuntimeExports.jsx("text",{x:0,transform:"rotate(-90)",y:0,fontSize:10,textAnchor:"middle",children:typeof t=="string"||t<1?t:Ot.numberFormattingFunction(t,void 0,void 0,void 0,void 0,ae)})},r))]})}),o.jsxRuntimeExports.jsx(Nt._,{marginBottom:"none",size:"xs",className:"leading-normal text-center shrink-0",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical",overflow:"hidden",writingMode:"vertical-rl",height:"8.5rem",transform:"rotate(180deg)"},children:Z})]}),o.jsxRuntimeExports.jsx(Nt._,{marginBottom:"none",size:"xs",className:"mt-1 leading-normal text-center",style:{display:"-webkit-box",WebkitLineClamp:"1",width:"8.5rem",WebkitBoxOrient:"vertical",overflow:"hidden"},children:We})]})]}):o.jsxRuntimeExports.jsx("button",{type:"button",className:"p-1 border-0 rounded-[2px] text-primary-gray-700 bg-primary-gray-300 dark:bg-primary-gray-500 map-legend-button",onClick:()=>{c(!0)},children:o.jsxRuntimeExports.jsx(ct.ExpandIcon,{})})}),O==="button"&&o.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col zoom-buttons",children:[o.jsxRuntimeExports.jsx("button",{onClick:()=>pe("in"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-550 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"+"}),o.jsxRuntimeExports.jsx("button",{onClick:()=>pe("out"),className:"leading-0 px-2 py-3.5 border text-primary-gray-700 border-t-0 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-550 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"–"})]})]}),q&&te&&se&&Y?o.jsxRuntimeExports.jsx(Ht.Tooltip,{data:q,body:te,xPos:se,yPos:Y,backgroundStyle:Le?.tooltip,className:$?.tooltip}):null,v&&ne!==void 0?o.jsxRuntimeExports.jsx(Vt.DetailsModal,{body:v,data:ne,setData:ie,className:$?.modal}):null]})}function Zt(i){const e=o.compilerRuntimeExports.c(131),{data:p,graphTitle:L,mapData:We,colors:K,sources:Z,graphDescription:g,height:h,width:x,footNote:Ae,xDomain:C,yDomain:M,xColorLegendTitle:Q,yColorLegendTitle:ee,tooltip:te,scale:ye,centerPoint:ve,padding:je,mapBorderWidth:k,mapNoDataColor:oe,backgroundColor:N,mapBorderColor:Fe,relativeHeight:v,onSeriesMouseOver:be,isWorldMap:Le,zoomScaleExtend:$,zoomTranslateExtend:T,graphID:O,showColorScale:B,highlightedIds:I,onSeriesMouseClick:re,mapProperty:Ee,graphDownload:Ce,dataDownload:G,showAntarctica:V,language:U,minHeight:$e,theme:Te,ariaLabel:ae,resetSelectionOnDoubleClick:j,detailsOnClick:ke,styles:m,classNames:c,mapProjection:X,zoomInteraction:De,animate:ne,dimmedOpacity:ie,customLayers:q,timeline:H,collapseColorScaleByDefault:se,zoomAndCenterByHighlightedIds:le,projectionRotate:Y,rewindCoordinatesInMapData:ce,mapOverlay:d,locale:Re}=i,D=We===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-v2.json":We,R=K===void 0?Rt.Colors.light.bivariateColors.colors05x05:K,_=Ae===void 0?"The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.":Ae,z=Q===void 0?"X Color key":Q,we=ee===void 0?"Y Color key":ee,Se=ye===void 0?.95:ye,Me=k===void 0?.5:k,Ne=oe===void 0?Rt.Colors.light.graphNoData:oe,P=N===void 0?!1:N,Oe=Fe===void 0?Rt.Colors.light.grays["gray-500"]:Fe,W=Le===void 0?!0:Le;let de;e[0]!==$?(de=$===void 0?[.8,6]:$,e[0]=$,e[1]=de):de=e[1];const Be=de,Ie=B===void 0?!0:B;let ue;e[2]!==I?(ue=I===void 0?[]:I,e[2]=I,e[3]=ue):ue=e[3];const pe=ue,t=Ee===void 0?"ISO3":Ee,r=Ce===void 0?!1:Ce,u=G===void 0?!1:G,E=V===void 0?!1:V,f=U===void 0?"en":U,y=$e===void 0?0:$e,b=Te===void 0?"light":Te,qe=j===void 0?!0:j,dt=X===void 0?"naturalEarth":X,ut=De===void 0?"button":De,Ge=ne===void 0?!1:ne,pt=ie===void 0?.3:ie;let He;e[4]!==q?(He=q===void 0?[]:q,e[4]=q,e[5]=He):He=e[5];const mt=He;let Ve;e[6]!==H?(Ve=H===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:H,e[6]=H,e[7]=Ve):Ve=e[7];const n=Ve,ht=le===void 0?!1:le;let Ue;e[8]!==Y?(Ue=Y===void 0?[0,0]:Y,e[8]=Y,e[9]=Ue):Ue=e[9];const xt=Ue,ft=ce===void 0?!0:ce,gt=Re===void 0?"en":Re,[J,Pt]=a.useState(0),[_e,Wt]=a.useState(0),[A,At]=a.useState(n.autoplay);let ze;if(e[10]!==p||e[11]!==n.dateFormat){let s;e[13]!==n.dateFormat?(s=w=>Mt.parse(`${w.date}`,n.dateFormat||"yyyy",new Date).getTime(),e[13]=n.dateFormat,e[14]=s):s=e[14],ze=[...new Set(p.filter(lo).map(s))],ze.sort(so),e[10]=p,e[11]=n.dateFormat,e[12]=ze}else ze=e[12];const l=ze,[F,yt]=a.useState(n.autoplay?0:l.length-1),[me,Ft]=a.useState(void 0),[vt,Lt]=a.useState(void 0),jt=a.useRef(null),wt=a.useRef(null);let Xe,Ye;e[15]===Symbol.for("react.memo_cache_sentinel")?(Xe=()=>{const s=new ResizeObserver(w=>{Pt(w[0].target.clientWidth||620),Wt(w[0].target.clientHeight||480)});return jt.current&&s.observe(jt.current),()=>s.disconnect()},Ye=[],e[15]=Xe,e[16]=Ye):(Xe=e[15],Ye=e[16]),a.useEffect(Xe,Ye);let Je;e[17]===Symbol.for("react.memo_cache_sentinel")?(Je=s=>{Ft(s)},e[17]=Je):Je=e[17];const Ke=a.useEffectEvent(Je);let Ze;e[18]===Symbol.for("react.memo_cache_sentinel")?(Ze=s=>{Lt(s)},e[18]=Ze):Ze=e[18];const Pe=a.useEffectEvent(Ze);let Qe;e[19]!==D||e[20]!==Ke?(Qe=()=>{typeof D=="string"?qt.fetchAndParseJSON(D).then(w=>{Ke(w)}):Ke(D)},e[19]=D,e[20]=Ke,e[21]=Qe):Qe=e[21];let et;e[22]!==D?(et=[D],e[22]=D,e[23]=et):et=e[23],a.useEffect(Qe,et);let tt;e[24]!==d?.mapData||e[25]!==Pe?(tt=()=>{d?.mapData||Pe(void 0),typeof d?.mapData=="string"?qt.fetchAndParseJSON(d?.mapData).then(w=>{Pe(w)}):Pe(d?.mapData)},e[24]=d?.mapData,e[25]=Pe,e[26]=tt):tt=e[26];const bt=d?.mapData;let ot;e[27]!==bt?(ot=[bt],e[27]=bt,e[28]=ot):ot=e[28],a.useEffect(tt,ot);let rt,at;e[29]!==A||e[30]!==n.speed||e[31]!==l?(rt=()=>{const s=setInterval(()=>{yt(w=>w<l.length-1?w+1:0)},(n.speed||2)*1e3);return A||clearInterval(s),()=>clearInterval(s)},at=[l,A,n.speed],e[29]=A,e[30]=n.speed,e[31]=l,e[32]=rt,e[33]=at):(rt=e[32],at=e[33]),a.useEffect(rt,at);const Et=n.dateFormat||"yyyy";let nt;e[34]!==F||e[35]!==Et||e[36]!==n.showOnlyActiveDate||e[37]!==l?(nt=St.getSliderMarks(l,F,n.showOnlyActiveDate,Et),e[34]=F,e[35]=Et,e[36]=n.showOnlyActiveDate,e[37]=l,e[38]=nt):nt=e[38];const it=nt;if(C&&M&&(C.length!==R[0].length-1||M.length!==R.length-1))return console.error("the xDomain and yDomain array length don't match to the color array length"),null;const Ct=c?.graphContainer,kt=m?.graphContainer;let he;e[39]!==c?.description||e[40]!==c?.title||e[41]!==p||e[42]!==u||e[43]!==g||e[44]!==r||e[45]!==L||e[46]!==m?.description||e[47]!==m?.title||e[48]!==x?(he=L||g||r||u?o.jsxRuntimeExports.jsx(Yt.GraphHeader,{styles:{title:m?.title,description:m?.description},classNames:{title:c?.title,description:c?.description},graphTitle:L,graphDescription:g,width:x,graphDownload:r?wt:void 0,dataDownload:u?p.map(io).filter(no).length>0?p.map(ao).filter(ro):p.filter(oo):null}):null,e[39]=c?.description,e[40]=c?.title,e[41]=p,e[42]=u,e[43]=g,e[44]=r,e[45]=L,e[46]=m?.description,e[47]=m?.title,e[48]=x,e[49]=he):he=e[49];let xe;e[50]!==F||e[51]!==it||e[52]!==A||e[53]!==n.enabled||e[54]!==l?(xe=n.enabled&&l.length>0&&it?o.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[o.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{At(!A)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":A?"Click to pause animation":"Click to play animation",children:A?o.jsxRuntimeExports.jsx(ct.Pause,{}):o.jsxRuntimeExports.jsx(ct.Play,{})}),o.jsxRuntimeExports.jsx(St.Nr,{min:l[0],max:l[l.length-1],marks:it,step:null,defaultValue:l[l.length-1],value:l[F],onChangeComplete:s=>{yt(l.indexOf(s))},onChange:s=>{yt(l.indexOf(s))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e[50]=F,e[51]=it,e[52]=A,e[53]=n.enabled,e[54]=l,e[55]=xe):xe=e[55];let fe;e[56]!==Ge||e[57]!==ve||e[58]!==c||e[59]!==se||e[60]!==R||e[61]!==mt||e[62]!==p||e[63]!==ke||e[64]!==pt||e[65]!==h||e[66]!==pe||e[67]!==F||e[68]!==W||e[69]!==gt||e[70]!==Oe||e[71]!==Me||e[72]!==Ne||e[73]!==d?.mapBorderColor||e[74]!==d?.mapBorderWidth||e[75]!==dt||e[76]!==t||e[77]!==me||e[78]!==y||e[79]!==re||e[80]!==be||e[81]!==vt||e[82]!==xt||e[83]!==v||e[84]!==qe||e[85]!==ft||e[86]!==Se||e[87]!==E||e[88]!==Ie||e[89]!==m||e[90]!==_e||e[91]!==J||e[92]!==n.dateFormat||e[93]!==n.enabled||e[94]!==te||e[95]!==l||e[96]!==x||e[97]!==z||e[98]!==C||e[99]!==we||e[100]!==M||e[101]!==ht||e[102]!==ut||e[103]!==Be||e[104]!==T?(fe=o.jsxRuntimeExports.jsx(zt.GraphArea,{ref:jt,children:J&&_e&&me?o.jsxRuntimeExports.jsx(Kt,{data:p.filter(s=>n.enabled?`${s.date}`===Mt.format(new Date(l[F]),n.dateFormat||"yyyy"):s),mapData:E?me:{...me,features:me.features.filter(to)},xDomain:C||_t.getJenks(p.map(eo),R[0].length),yDomain:M||_t.getJenks(p.map(Qt),R.length),width:J,height:_e,scale:Se,centerPoint:ve,colors:R,xColorLegendTitle:z,yColorLegendTitle:we,mapBorderWidth:Me,mapNoDataColor:Ne,mapBorderColor:Oe,tooltip:te,onSeriesMouseOver:be,isWorldMap:W,zoomScaleExtend:Be,zoomTranslateExtend:T,onSeriesMouseClick:re,mapProperty:t,highlightedIds:pe,resetSelectionOnDoubleClick:qe,styles:m,showColorScale:Ie,classNames:c,mapProjection:dt||(W?"naturalEarth":"mercator"),detailsOnClick:ke,zoomInteraction:ut,overlayMapData:vt,overlayMapBorderColor:d?.mapBorderColor,overlayMapBorderWidth:d?.mapBorderWidth,animate:Ge===!0?{duration:.5,once:!0,amount:.5}:Ge||{duration:0,once:!0,amount:0},dimmedOpacity:pt,customLayers:mt,collapseColorScaleByDefault:se,zoomAndCenterByHighlightedIds:ht,projectionRotate:xt,rewindCoordinatesInMapData:ft,locale:gt}):o.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(y,h||(v?y?(x||J)*v>y?(x||J)*v:y:(x||J)*v:_e))}px`},className:"flex items-center justify-center",children:o.jsxRuntimeExports.jsx($t.w,{"aria-label":"Loading graph"})})}),e[56]=Ge,e[57]=ve,e[58]=c,e[59]=se,e[60]=R,e[61]=mt,e[62]=p,e[63]=ke,e[64]=pt,e[65]=h,e[66]=pe,e[67]=F,e[68]=W,e[69]=gt,e[70]=Oe,e[71]=Me,e[72]=Ne,e[73]=d?.mapBorderColor,e[74]=d?.mapBorderWidth,e[75]=dt,e[76]=t,e[77]=me,e[78]=y,e[79]=re,e[80]=be,e[81]=vt,e[82]=xt,e[83]=v,e[84]=qe,e[85]=ft,e[86]=Se,e[87]=E,e[88]=Ie,e[89]=m,e[90]=_e,e[91]=J,e[92]=n.dateFormat,e[93]=n.enabled,e[94]=te,e[95]=l,e[96]=x,e[97]=z,e[98]=C,e[99]=we,e[100]=M,e[101]=ht,e[102]=ut,e[103]=Be,e[104]=T,e[105]=fe):fe=e[105];let ge;e[106]!==c?.footnote||e[107]!==c?.source||e[108]!==_||e[109]!==Z||e[110]!==m?.footnote||e[111]!==m?.source||e[112]!==x?(ge=Z||_?o.jsxRuntimeExports.jsx(Jt.GraphFooter,{styles:{footnote:m?.footnote,source:m?.source},classNames:{footnote:c?.footnote,source:c?.source},sources:Z,footNote:_,width:x}):null,e[106]=c?.footnote,e[107]=c?.source,e[108]=_,e[109]=Z,e[110]=m?.footnote,e[111]=m?.source,e[112]=x,e[113]=ge):ge=e[113];let st;return e[114]!==ae||e[115]!==P||e[116]!==O||e[117]!==h||e[118]!==f||e[119]!==y||e[120]!==je||e[121]!==v||e[122]!==Ct||e[123]!==kt||e[124]!==he||e[125]!==xe||e[126]!==fe||e[127]!==ge||e[128]!==b||e[129]!==x?(st=o.jsxRuntimeExports.jsxs(zt.GraphContainer,{className:Ct,style:kt,id:O,ref:wt,"aria-label":ae,backgroundColor:P,theme:b,language:f,minHeight:y,width:x,height:h,relativeHeight:v,padding:je,children:[he,xe,fe,ge]}),e[114]=ae,e[115]=P,e[116]=O,e[117]=h,e[118]=f,e[119]=y,e[120]=je,e[121]=v,e[122]=Ct,e[123]=kt,e[124]=he,e[125]=xe,e[126]=fe,e[127]=ge,e[128]=b,e[129]=x,e[130]=st):st=e[130],st}function Qt(i){return i.y}function eo(i){return i.x}function to(i){return i.properties?.NAME!=="Antarctica"}function oo(i){return i!==void 0}function ro(i){return i!==void 0}function ao(i){return i.data}function no(i){return i!==void 0}function io(i){return i.data}function so(i,e){return i-e}function lo(i){return i.date}exports.BiVariateChoroplethMap=Zt;
|
|
2
2
|
//# sourceMappingURL=BiVariateChoroplethMap.cjs.map
|