@undp/data-viz 2.5.4 → 2.6.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.js +17 -16
- package/dist/AreaChart.js.map +1 -1
- package/dist/Axis-DY7jsk1Y.cjs +2 -0
- package/dist/{Axis-BTaS9oPQ.cjs.map → Axis-DY7jsk1Y.cjs.map} +1 -1
- package/dist/{Axis-CNZYWzH0.js → Axis-RRx-0Rlw.js} +9 -8
- package/dist/{Axis-CNZYWzH0.js.map → Axis-RRx-0Rlw.js.map} +1 -1
- package/dist/AxisTitle-B9F80_Z0.js +30 -0
- package/dist/AxisTitle-B9F80_Z0.js.map +1 -0
- package/dist/AxisTitle-CyFFbdNU.cjs +2 -0
- package/dist/{AxisTitle-DP_evhbe.cjs.map → AxisTitle-CyFFbdNU.cjs.map} +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.js +203 -201
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.cjs.map +1 -1
- package/dist/BasicStatCard.js +15 -14
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.js +60 -59
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.js +88 -86
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.js +88 -86
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.js +100 -98
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.js +83 -81
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.js +4 -4
- package/dist/ColorLegend.cjs +1 -1
- package/dist/ColorLegend.cjs.map +1 -1
- package/dist/ColorLegend.js +17 -16
- package/dist/ColorLegend.js.map +1 -1
- package/dist/ColorLegendWithMouseOver.cjs +1 -1
- package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ColorLegendWithMouseOver.js +13 -12
- package/dist/ColorLegendWithMouseOver.js.map +1 -1
- package/dist/CopyTextButton.cjs +1 -1
- package/dist/CopyTextButton.cjs.map +1 -1
- package/dist/CopyTextButton.js +37 -754
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +4 -4
- package/dist/CsvDownloadButton.cjs.map +1 -1
- package/dist/CsvDownloadButton.js +47 -45
- package/dist/CsvDownloadButton.js.map +1 -1
- package/dist/DataCards.cjs +1 -1
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.js +213 -467
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.js +19 -19
- package/dist/DetailsModal-BmjtLqrZ.cjs +2 -0
- package/dist/{DetailsModal-Du8Fr1QD.cjs.map → DetailsModal-BmjtLqrZ.cjs.map} +1 -1
- package/dist/{DetailsModal-GqEbGHY2.js → DetailsModal-k-Me_U_T.js} +3 -3
- package/dist/{DetailsModal-GqEbGHY2.js.map → DetailsModal-k-Me_U_T.js.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.js +61 -60
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.js +47 -46
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.js +112 -110
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.js +13 -12
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.js +104 -102
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/EmptyState-BoaUUuo6.cjs +2 -0
- package/dist/{EmptyState-CFmiFPHz.cjs.map → EmptyState-BoaUUuo6.cjs.map} +1 -1
- package/dist/{EmptyState-CaxXCkiN.js → EmptyState-prZ8OnEs.js} +4 -4
- package/dist/{EmptyState-CaxXCkiN.js.map → EmptyState-prZ8OnEs.js.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +1 -1
- package/dist/ExcelDownloadButton.cjs.map +1 -1
- package/dist/ExcelDownloadButton.js +15 -13
- package/dist/ExcelDownloadButton.js.map +1 -1
- package/dist/FootNote.cjs +1 -1
- package/dist/FootNote.cjs.map +1 -1
- package/dist/FootNote.js +10 -9
- package/dist/FootNote.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.cjs.map +1 -1
- package/dist/GeoHubCompareMaps.js +14 -14
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.cjs.map +1 -1
- package/dist/GeoHubMap.js +59 -59
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +50 -50
- package/dist/{GraphContainer-B8ZqOzKI.js → GraphContainer-DcOM2CI6.js} +28 -27
- package/dist/GraphContainer-DcOM2CI6.js.map +1 -0
- package/dist/GraphContainer-gaG9TSy4.cjs +2 -0
- package/dist/{GraphContainer-Cul9b74X.cjs.map → GraphContainer-gaG9TSy4.cjs.map} +1 -1
- package/dist/GraphDescription.cjs +1 -1
- package/dist/GraphDescription.cjs.map +1 -1
- package/dist/GraphDescription.js +14 -13
- package/dist/GraphDescription.js.map +1 -1
- package/dist/{GraphEl-Ch0uAeZw.js → GraphEl-C7KBBHvB.js} +9 -9
- package/dist/{GraphEl-Ch0uAeZw.js.map → GraphEl-C7KBBHvB.js.map} +1 -1
- package/dist/GraphEl-CGALp07K.cjs +2 -0
- package/dist/{GraphEl-BgkDbq50.cjs.map → GraphEl-CGALp07K.cjs.map} +1 -1
- package/dist/GraphFooter.cjs +1 -1
- package/dist/GraphFooter.cjs.map +1 -1
- package/dist/GraphFooter.js +2 -2
- package/dist/GraphHeader.cjs +1 -1
- package/dist/GraphHeader.cjs.map +1 -1
- package/dist/GraphHeader.js +1 -1
- package/dist/GraphTitle.cjs +1 -1
- package/dist/GraphTitle.cjs.map +1 -1
- package/dist/GraphTitle.js +14 -13
- package/dist/GraphTitle.js.map +1 -1
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.cjs.map +1 -1
- package/dist/GriddedGraphs.js +58 -55
- package/dist/GriddedGraphs.js.map +1 -1
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
- package/dist/GriddedGraphsFromConfig.js +15 -15
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.js +17 -16
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.js +3 -3
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.js +392 -424
- package/dist/HybridMap.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.cjs.map +1 -1
- package/dist/ImageDownloadButton.js +16 -14
- package/dist/ImageDownloadButton.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.js +16 -15
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.cjs.map +1 -1
- package/dist/LinearColorLegend.js +5 -4
- package/dist/LinearColorLegend.js.map +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.cjs.map +1 -1
- package/dist/MultiGraphDashboard.js +62 -60
- package/dist/MultiGraphDashboard.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.js +7 -7
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +21 -21
- package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +3 -3
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.js +16 -15
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.js +16 -15
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.js +14 -13
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +67 -65
- package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +8 -8
- package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
- package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
- package/dist/PerformanceIntensiveScrollStory.js +3 -3
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +11 -10
- package/dist/RadarChart.js.map +1 -1
- package/dist/ReferenceLine-CxITVT1K.cjs +2 -0
- package/dist/{ReferenceLine-CpU4G01Y.cjs.map → ReferenceLine-CxITVT1K.cjs.map} +1 -1
- package/dist/{ReferenceLine-D41VuUhE.js → ReferenceLine-NF4g3Reh.js} +26 -25
- package/dist/ReferenceLine-NF4g3Reh.js.map +1 -0
- package/dist/RegressionLine-BQ6h-NZP.js +88 -0
- package/dist/RegressionLine-BQ6h-NZP.js.map +1 -0
- package/dist/RegressionLine-BpcVBjL0.cjs +2 -0
- package/dist/{RegressionLine-BFoBiVJk.cjs.map → RegressionLine-BpcVBjL0.cjs.map} +1 -1
- package/dist/SVGDownloadButton.cjs +1 -1
- package/dist/SVGDownloadButton.cjs.map +1 -1
- package/dist/SVGDownloadButton.js +11 -9
- package/dist/SVGDownloadButton.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.js +63 -62
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.js +109 -107
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +1 -1
- package/dist/ScrollStory.cjs.map +1 -1
- package/dist/ScrollStory.js +3 -3
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.js +17 -16
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.cjs.map +1 -1
- package/dist/SingleGraphDashboard.js +59 -56
- package/dist/SingleGraphDashboard.js.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.js +6 -6
- package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.js +12 -12
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +8 -8
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +59 -56
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +7 -7
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +60 -59
- package/dist/SlopeChart.js.map +1 -1
- package/dist/Source.cjs +1 -1
- package/dist/Source.cjs.map +1 -1
- package/dist/Source.js +38 -4
- package/dist/Source.js.map +1 -1
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.cjs.map +1 -1
- package/dist/SparkLine.js +11 -10
- package/dist/SparkLine.js.map +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.js +15 -14
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.js +11 -10
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.js +52 -51
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +17 -16
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/{Tooltip-3EYDVa3w.js → Tooltip-DO56mY4b.js} +11 -10
- package/dist/{Tooltip-3EYDVa3w.js.map → Tooltip-DO56mY4b.js.map} +1 -1
- package/dist/Tooltip-DwUFLDrj.cjs +2 -0
- package/dist/{Tooltip-C9F3uYG0.cjs.map → Tooltip-DwUFLDrj.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.js +34 -33
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.js +27 -27
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.js +21 -20
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/XAxesLabels-0ROJnigy.cjs +2 -0
- package/dist/{XAxesLabels-C03jHniq.cjs.map → XAxesLabels-0ROJnigy.cjs.map} +1 -1
- package/dist/{XAxesLabels-B9gkjUiC.js → XAxesLabels-CPZX3OJN.js} +12 -11
- package/dist/XAxesLabels-CPZX3OJN.js.map +1 -0
- package/dist/XTicksAndGridLines-BO6KJc8d.cjs +2 -0
- package/dist/{XTicksAndGridLines-B4UhDVyU.cjs.map → XTicksAndGridLines-BO6KJc8d.cjs.map} +1 -1
- package/dist/{XTicksAndGridLines-CkYwVshF.js → XTicksAndGridLines-obTK2e7G.js} +10 -9
- package/dist/{XTicksAndGridLines-CkYwVshF.js.map → XTicksAndGridLines-obTK2e7G.js.map} +1 -1
- package/dist/{YAxesLabels-hWEUCTvs.js → YAxesLabels-CwVnFG2a.js} +13 -12
- package/dist/YAxesLabels-CwVnFG2a.js.map +1 -0
- package/dist/YAxesLabels-DIa2cEXL.cjs +2 -0
- package/dist/{YAxesLabels-DeENFC2M.cjs.map → YAxesLabels-DIa2cEXL.cjs.map} +1 -1
- package/dist/YTicksAndGridLines-C7glLI5b.cjs +2 -0
- package/dist/{YTicksAndGridLines-sT3zdCs6.cjs.map → YTicksAndGridLines-C7glLI5b.cjs.map} +1 -1
- package/dist/{YTicksAndGridLines-BbujwxOB.js → YTicksAndGridLines-wtuAKNeT.js} +10 -9
- package/dist/{YTicksAndGridLines-BbujwxOB.js.map → YTicksAndGridLines-wtuAKNeT.js.map} +1 -1
- package/dist/checkIfMultiple-BIEQDuA3.cjs +2 -0
- package/dist/checkIfMultiple-BIEQDuA3.cjs.map +1 -0
- package/dist/checkIfMultiple-D2tgEnYM.js +11 -0
- package/dist/checkIfMultiple-D2tgEnYM.js.map +1 -0
- package/dist/compiler-runtime-oPPev21o.cjs +11 -0
- package/dist/compiler-runtime-oPPev21o.cjs.map +1 -0
- package/dist/compiler-runtime-qHgugrLy.js +297 -0
- package/dist/compiler-runtime-qHgugrLy.js.map +1 -0
- package/dist/customArea-BCGIYDQa.cjs +2 -0
- package/dist/{customArea-BAcQ3pBM.cjs.map → customArea-BCGIYDQa.cjs.map} +1 -1
- package/dist/{customArea-D89lETG0.js → customArea-Dixg0NtQ.js} +10 -9
- package/dist/{customArea-D89lETG0.js.map → customArea-Dixg0NtQ.js.map} +1 -1
- package/dist/{fetchAndParseData-BAXhgTDM.js → fetchAndParseData-CDjQZ1fL.js} +5 -5
- package/dist/{fetchAndParseData-BAXhgTDM.js.map → fetchAndParseData-CDjQZ1fL.js.map} +1 -1
- package/dist/fetchAndParseData.js +1 -1
- package/dist/getSliderMarks-Bj_JJTtX.cjs +2 -0
- package/dist/getSliderMarks-Bj_JJTtX.cjs.map +1 -0
- package/dist/getSliderMarks-DSxFGb1f.js +21 -0
- package/dist/getSliderMarks-DSxFGb1f.js.map +1 -0
- package/dist/index-5BQWR1Z8.cjs +10 -0
- package/dist/{index-FXfr51ZM.cjs.map → index-5BQWR1Z8.cjs.map} +1 -1
- package/dist/index-BaXzoD4r.cjs +2 -0
- package/dist/{index-BuhBhuCq.cjs.map → index-BaXzoD4r.cjs.map} +1 -1
- package/dist/{index-Cv_5q6Rb.js → index-CNUlPiEL.js} +3 -3
- package/dist/{index-Cv_5q6Rb.js.map → index-CNUlPiEL.js.map} +1 -1
- package/dist/{index-DHVGV8Df.js → index-CmkqqFRG.js} +3 -3
- package/dist/{index-DHVGV8Df.js.map → index-CmkqqFRG.js.map} +1 -1
- package/dist/index-D_ls5oK8.js +142 -0
- package/dist/index-D_ls5oK8.js.map +1 -0
- package/dist/index-DbSnila_.cjs +2 -0
- package/dist/index-DbSnila_.cjs.map +1 -0
- package/dist/{index-BPyj_6hG.js → index-_w-CQAbR.js} +113 -112
- package/dist/{index-BPyj_6hG.js.map → index-_w-CQAbR.js.map} +1 -1
- package/dist/index-dN3wiQgD.cjs +2 -0
- package/dist/{index-DuLvdHo2.cjs.map → index-dN3wiQgD.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +181 -180
- package/dist/index.js.map +1 -1
- package/dist/{proxy-BsxtcZKa.js → proxy-D31SA_aE.js} +2 -2
- package/dist/{proxy-BsxtcZKa.js.map → proxy-D31SA_aE.js.map} +1 -1
- package/dist/proxy-QMeVVqam.cjs +2 -0
- package/dist/{proxy-CqH8m8IQ.cjs.map → proxy-QMeVVqam.cjs.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/transformData.js +2 -2
- package/dist/{transformDataForGraphFromFile-dt9sHTVy.js → transformDataForGraphFromFile-COZC6A0_.js} +4 -4
- package/dist/{transformDataForGraphFromFile-dt9sHTVy.js.map → transformDataForGraphFromFile-COZC6A0_.js.map} +1 -1
- package/dist/{use-in-view-KOXq5Kmc.js → use-in-view-Co5SmzfT.js} +2 -2
- package/dist/{use-in-view-KOXq5Kmc.js.map → use-in-view-Co5SmzfT.js.map} +1 -1
- package/dist/use-in-view-DjR_gqJP.cjs +2 -0
- package/dist/{use-in-view-dnRv_qqF.cjs.map → use-in-view-DjR_gqJP.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/Axis-BTaS9oPQ.cjs +0 -2
- package/dist/AxisTitle-CyLCqpW6.js +0 -29
- package/dist/AxisTitle-CyLCqpW6.js.map +0 -1
- package/dist/AxisTitle-DP_evhbe.cjs +0 -2
- package/dist/DetailsModal-Du8Fr1QD.cjs +0 -2
- package/dist/DropdownSelect-CX1yMemd.cjs +0 -5
- package/dist/DropdownSelect-CX1yMemd.cjs.map +0 -1
- package/dist/DropdownSelect-Dz7imdTB.js +0 -4191
- package/dist/DropdownSelect-Dz7imdTB.js.map +0 -1
- package/dist/EmptyState-CFmiFPHz.cjs +0 -2
- package/dist/GraphContainer-B8ZqOzKI.js.map +0 -1
- package/dist/GraphContainer-Cul9b74X.cjs +0 -2
- package/dist/GraphEl-BgkDbq50.cjs +0 -2
- package/dist/Modal-BIErPPKT.cjs +0 -46
- package/dist/Modal-BIErPPKT.cjs.map +0 -1
- package/dist/Modal-CrUYln5V.js +0 -1047
- package/dist/Modal-CrUYln5V.js.map +0 -1
- package/dist/ReferenceLine-CpU4G01Y.cjs +0 -2
- package/dist/ReferenceLine-D41VuUhE.js.map +0 -1
- package/dist/RegressionLine-BFoBiVJk.cjs +0 -2
- package/dist/RegressionLine-CuwB42I6.js +0 -87
- package/dist/RegressionLine-CuwB42I6.js.map +0 -1
- package/dist/Source-PKuwZOn3.cjs +0 -2
- package/dist/Source-PKuwZOn3.cjs.map +0 -1
- package/dist/Source-QGk8vhkS.js +0 -78
- package/dist/Source-QGk8vhkS.js.map +0 -1
- package/dist/Spinner-B2IIKg9r.js +0 -47
- package/dist/Spinner-B2IIKg9r.js.map +0 -1
- package/dist/Spinner-WHzzloYQ.cjs +0 -2
- package/dist/Spinner-WHzzloYQ.cjs.map +0 -1
- package/dist/Tooltip-C9F3uYG0.cjs +0 -2
- package/dist/Typography-BO0gQDIT.js +0 -270
- package/dist/Typography-BO0gQDIT.js.map +0 -1
- package/dist/Typography-BqmyF1gP.cjs +0 -2
- package/dist/Typography-BqmyF1gP.cjs.map +0 -1
- package/dist/XAxesLabels-B9gkjUiC.js.map +0 -1
- package/dist/XAxesLabels-C03jHniq.cjs +0 -2
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs +0 -2
- package/dist/YAxesLabels-DeENFC2M.cjs +0 -2
- package/dist/YAxesLabels-hWEUCTvs.js.map +0 -1
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs +0 -2
- package/dist/checkIfMultiple-CH5tqj4q.cjs +0 -2
- package/dist/checkIfMultiple-CH5tqj4q.cjs.map +0 -1
- package/dist/checkIfMultiple-Dpyy6BUP.js +0 -938
- package/dist/checkIfMultiple-Dpyy6BUP.js.map +0 -1
- package/dist/customArea-BAcQ3pBM.cjs +0 -2
- package/dist/getSliderMarks-BzrpHrHS.cjs +0 -2
- package/dist/getSliderMarks-BzrpHrHS.cjs.map +0 -1
- package/dist/getSliderMarks-X-_goqH9.js +0 -1027
- package/dist/getSliderMarks-X-_goqH9.js.map +0 -1
- package/dist/index-ApTBN0kp.js +0 -196
- package/dist/index-ApTBN0kp.js.map +0 -1
- package/dist/index-BhI7mBJx.cjs +0 -2
- package/dist/index-BhI7mBJx.cjs.map +0 -1
- package/dist/index-BuhBhuCq.cjs +0 -2
- package/dist/index-CHPV5EwG-BzibaIRc.js +0 -3360
- package/dist/index-CHPV5EwG-BzibaIRc.js.map +0 -1
- package/dist/index-CHPV5EwG-D4pAp7u0.cjs +0 -20
- package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +0 -1
- package/dist/index-DuLvdHo2.cjs +0 -2
- package/dist/index-FXfr51ZM.cjs +0 -10
- package/dist/index-Scxs_wcm-BAjU0Cob.js +0 -49
- package/dist/index-Scxs_wcm-BAjU0Cob.js.map +0 -1
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs +0 -2
- package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +0 -1
- package/dist/index-w64Zl8io-DrMm5QSb.cjs +0 -2
- package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +0 -1
- package/dist/index-w64Zl8io-ihagHOdP.js +0 -459
- package/dist/index-w64Zl8io-ihagHOdP.js.map +0 -1
- package/dist/proxy-CqH8m8IQ.cjs +0 -2
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +0 -4
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +0 -1
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +0 -145
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +0 -1
- package/dist/use-in-view-dnRv_qqF.cjs +0 -2
- package/dist/x-BXShoIAM-BC2sxios.cjs +0 -2
- package/dist/x-BXShoIAM-BC2sxios.cjs.map +0 -1
- package/dist/x-BXShoIAM-D6VWO6z5.js +0 -74
- package/dist/x-BXShoIAM-D6VWO6z5.js.map +0 -1
package/dist/DonutChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonutChart.js","sources":["../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/pie.js","../src/Utils/getArc.ts","../src/Components/Graphs/DonutChart/Graph.tsx","../src/Components/Graphs/DonutChart/index.tsx"],"sourcesContent":["export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","const polarToCartesian = (\r\n centerX: number,\r\n centerY: number,\r\n radius: number,\r\n angleInRadians: number,\r\n) => {\r\n return {\r\n x: centerX + radius * Math.cos(angleInRadians),\r\n y: centerY + radius * Math.sin(angleInRadians),\r\n };\r\n};\r\n\r\nexport function getArc(\r\n x: number,\r\n y: number,\r\n radius: number,\r\n startAngleInRadians: number,\r\n endAngleInRadians: number,\r\n) {\r\n const start = polarToCartesian(x, y, radius, startAngleInRadians);\r\n const end = polarToCartesian(\r\n x,\r\n y,\r\n radius,\r\n Math.abs(endAngleInRadians - startAngleInRadians) === 2 * Math.PI\r\n ? 0.999999 * endAngleInRadians\r\n : endAngleInRadians,\r\n );\r\n const largeArcFlag = endAngleInRadians - startAngleInRadians <= Math.PI ? '0' : '1';\r\n const d = ['M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 1, end.x, end.y].join(\r\n ' ',\r\n );\r\n return d;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport isEqual from 'fast-deep-equal';\r\nimport { pie } from 'd3-shape';\r\nimport { isValidElement, ReactElement, useRef, useState } from 'react';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { AnimateDataType, ClassNameObject, DonutChartDataType, StyleObject } from '@/Types';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\nimport { getArc } from '@/Utils/getArc';\r\n\r\ninterface Props {\r\n mainText?:\r\n | string\r\n | {\r\n label: string;\r\n suffix?: string;\r\n prefix?: string;\r\n locale?: string;\r\n padZeros?: boolean;\r\n precision?: number;\r\n }\r\n | ReactElement;\r\n radius: number;\r\n colors: string[];\r\n subNote?: string;\r\n strokeWidth: number;\r\n data: DonutChartDataType[];\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n onSeriesMouseOver?: (_d: any) => void;\r\n onSeriesMouseClick?: (_d: any) => void;\r\n colorDomain: string[];\r\n resetSelectionOnDoubleClick: boolean;\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n animate: AnimateDataType;\r\n trackColor: string;\r\n naLabel: string;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n mainText,\r\n data,\r\n radius,\r\n colors,\r\n subNote,\r\n strokeWidth,\r\n tooltip,\r\n onSeriesMouseOver,\r\n onSeriesMouseClick,\r\n colorDomain,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate,\r\n trackColor,\r\n naLabel,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const pieData = pie()\r\n .sort(null)\r\n .startAngle(0)\r\n .value((d: any) => d.size);\r\n\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n return (\r\n <>\r\n <motion.svg\r\n ref={svgRef}\r\n width={`${radius * 2}px`}\r\n height={`${radius * 2}px`}\r\n viewBox={`0 0 ${radius * 2} ${radius * 2}`}\r\n direction='ltr'\r\n className='mx-auto'\r\n >\r\n <motion.g transform={`translate(${radius} ${radius})`}>\r\n {mainText || subNote ? (\r\n <foreignObject\r\n y={0 - (radius - strokeWidth)}\r\n x={0 - (radius - strokeWidth)}\r\n width={2 * (radius - strokeWidth)}\r\n height={2 * (radius - strokeWidth)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-4'>\r\n {mainText ? (\r\n isValidElement(mainText) ? (\r\n mainText\r\n ) : (\r\n <H2\r\n marginBottom='none'\r\n className='donut-main-text text-primary-gray-700 dark:text-primary-gray-100 leading-none text-center'\r\n >\r\n {typeof mainText === 'string'\r\n ? mainText\r\n : data.findIndex(d => d.label === mainText.label) !== -1\r\n ? numberFormattingFunction(\r\n data[data.findIndex(d => d.label === mainText.label)].size,\r\n naLabel,\r\n mainText.precision,\r\n mainText.prefix,\r\n mainText.suffix,\r\n mainText.locale,\r\n mainText.padZeros,\r\n )\r\n : naLabel}\r\n </H2>\r\n )\r\n ) : null}\r\n {subNote ? (\r\n <P\r\n marginBottom='none'\r\n size='base'\r\n leading='none'\r\n className='donut-sub-note text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {subNote}\r\n </P>\r\n ) : typeof mainText === 'string' || !mainText || isValidElement(mainText) ? null : (\r\n <P\r\n size='base'\r\n marginBottom='none'\r\n leading='none'\r\n className='donut-label text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {mainText.label}\r\n </P>\r\n )}\r\n </div>\r\n </foreignObject>\r\n ) : null}\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radius - strokeWidth / 2}\r\n fill='none'\r\n stroke={trackColor}\r\n strokeWidth={strokeWidth}\r\n />\r\n <AnimatePresence>\r\n {pieData(data as any).map((d, i) => (\r\n <motion.path\r\n key={i}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d: getArc(\r\n 0,\r\n 0,\r\n radius - strokeWidth / 2,\r\n d.startAngle - Math.PI / 2,\r\n d.endAngle - Math.PI / 2,\r\n ),\r\n opacity: mouseOverData\r\n ? mouseOverData.label === (d.data as any).label\r\n ? 1\r\n : 0.3\r\n : 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d: getArc(\r\n 0,\r\n 0,\r\n radius - strokeWidth / 2,\r\n d.startAngle - Math.PI / 2,\r\n d.endAngle - Math.PI / 2,\r\n ),\r\n opacity: mouseOverData\r\n ? mouseOverData.label === (d.data as any).label\r\n ? 1\r\n : 0.3\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n style={{\r\n stroke:\r\n colorDomain.indexOf((d.data as any).label) !== -1\r\n ? colors[colorDomain.indexOf((d.data as any).label) % colors.length]\r\n : Colors.gray,\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n onMouseEnter={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d.data) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d.data);\r\n if (onSeriesMouseClick) onSeriesMouseClick(d.data);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\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 ))}\r\n </AnimatePresence>\r\n </motion.g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {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 { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport orderBy from 'lodash.orderby';\r\nimport { Spacer } from '@undp/design-system-react/Spacer';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n DonutChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DonutChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for each segment */\r\n colors?: string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: 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 /** Radius of the donut chart */\r\n radius?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Max width of the color scale as a css property */\r\n colorScaleMaxWidth?: string;\r\n /** Stroke width of the arcs and circle of the donut */\r\n strokeWidth?: number;\r\n /** Sorting order for data. This is overwritten by labelOrder prop */\r\n sortData?: 'asc' | 'desc';\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Large text at the center of the donut chart. If the type is an object then the text is the value in the data for the label mentioned in the object */\r\n mainText?:\r\n | string\r\n | {\r\n label: string;\r\n suffix?: string;\r\n prefix?: string;\r\n locale?: string;\r\n padZeros?: boolean;\r\n precision?: number;\r\n }\r\n | ReactElement;\r\n /** Small text at the center of the donut chart */\r\n subNote?: string;\r\n /** Track color (i.e. the color of the donut chart's background) of the donut chart */\r\n trackColor?: string;\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 /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 DonutChart(props: Props) {\r\n const {\r\n mainText,\r\n graphTitle,\r\n colors = Colors.light.categoricalColors.colors,\r\n sources,\r\n strokeWidth = 50,\r\n graphDescription,\r\n subNote,\r\n footNote,\r\n radius,\r\n data,\r\n showColorScale = true,\r\n padding,\r\n backgroundColor = false,\r\n tooltip,\r\n onSeriesMouseOver,\r\n graphID,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n colorDomain,\r\n sortData,\r\n language = 'en',\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n resetSelectionOnDoubleClick = true,\r\n colorScaleMaxWidth,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate = false,\r\n trackColor = Colors.light.grays['gray-200'],\r\n naLabel = 'NA',\r\n numberDisplayOptions,\r\n } = props;\r\n\r\n const [graphRadius, setGraphRadius] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setGraphRadius(\r\n (Math.min(\r\n ...[entries[0].target.clientWidth || 620, entries[0].target.clientHeight || 480],\r\n ) || 420) / 2,\r\n );\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n const sortedData = sortData ? orderBy(data, ['size'], [sortData]) : data;\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 && data.length > 0 ? (\r\n <>\r\n <div\r\n className={cn(\r\n 'leading-0 flex mb-0 ml-auto mr-auto justify-center gap-x-3 gap-y-0 flex-wrap',\r\n classNames?.colorLegend,\r\n )}\r\n style={{ maxWidth: colorScaleMaxWidth }}\r\n aria-label='Color legend'\r\n >\r\n {sortedData.map((d, i) => (\r\n <div className='flex gap-2 items-center pb-3' key={i}>\r\n <div\r\n className='w-3 h-3 rounded-full'\r\n style={{\r\n backgroundColor:\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(d.label) !== -1\r\n ? (colors || Colors[theme].categoricalColors.colors)[\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(d.label) %\r\n (colors || Colors[theme].categoricalColors.colors).length\r\n ]\r\n : Colors.gray,\r\n }}\r\n />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold' style={{ fontSize: 'inherit' }}>\r\n {numberFormattingFunction(\r\n d.size,\r\n naLabel,\r\n numberDisplayOptions?.precision,\r\n numberDisplayOptions?.prefix,\r\n numberDisplayOptions?.suffix,\r\n numberDisplayOptions?.locale,\r\n numberDisplayOptions?.padZeros,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n <Spacer size='lg' />\r\n </>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {graphRadius && data.length > 0 ? (\r\n <Graph\r\n mainText={mainText}\r\n data={sortedData}\r\n colors={colors}\r\n radius={radius || graphRadius}\r\n subNote={subNote}\r\n strokeWidth={strokeWidth}\r\n tooltip={tooltip}\r\n colorDomain={colorDomain || sortedData.map(d => d.label)}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n styles={styles}\r\n detailsOnClick={detailsOnClick}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n trackColor={trackColor}\r\n naLabel={naLabel}\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":["pi","tau","descending","a","b","identity","d","pie","value","sortValues","sort","startAngle","constant","endAngle","padAngle","data","i","n","array","j","sum","index","arcs","a0","da","a1","p","pa","v","_","polarToCartesian","centerX","centerY","radius","angleInRadians","x","Math","cos","y","sin","getArc","startAngleInRadians","endAngleInRadians","start","end","abs","PI","largeArcFlag","join","Graph","props","$","_c","mainText","colors","subNote","strokeWidth","tooltip","onSeriesMouseOver","onSeriesMouseClick","colorDomain","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","animate","trackColor","naLabel","svgRef","useRef","t0","amount","once","isInView","useInView","pieData","_temp","mouseOverData","setMouseOverData","useState","undefined","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","t1","motion","t2","t3","t4","t5","t6","t7","t8","t9","jsx","jsxs","isValidElement","H2","findIndex","d_1","label","numberFormattingFunction","d_0","size","precision","prefix","suffix","locale","padZeros","P","t10","t11","T0","AnimatePresence","t12","duration","d_2","initial","pathLength","opacity","whileInView","transition","stroke","indexOf","length","Colors","gray","fill","event","clientY","clientX","isEqual","event_0","t13","map","t14","t15","g","t16","svg","t17","Tooltip","t18","modal","DetailsModal","t19","Fragment","DonutChart","graphTitle","light","categoricalColors","sources","graphDescription","footNote","showColorScale","padding","backgroundColor","graphID","graphDownload","dataDownload","sortData","language","theme","width","height","minHeight","relativeHeight","ariaLabel","colorScaleMaxWidth","grays","numberDisplayOptions","graphRadius","setGraphRadius","graphDiv","graphParentDiv","useEffect","resizeObserver","ResizeObserver","entries","min","target","clientWidth","clientHeight","current","observe","disconnect","sortedData","orderBy","GraphContainer","graphContainer","GraphHeader","title","description","filter","cn","colorLegend","maxWidth","el","fontSize","Spacer","GraphArea","EmptyState","GraphFooter","footnote","source"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"DonutChart.js","sources":["../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/pie.js","../src/Utils/getArc.ts","../src/Components/Graphs/DonutChart/Graph.tsx","../src/Components/Graphs/DonutChart/index.tsx"],"sourcesContent":["export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","const polarToCartesian = (\r\n centerX: number,\r\n centerY: number,\r\n radius: number,\r\n angleInRadians: number,\r\n) => {\r\n return {\r\n x: centerX + radius * Math.cos(angleInRadians),\r\n y: centerY + radius * Math.sin(angleInRadians),\r\n };\r\n};\r\n\r\nexport function getArc(\r\n x: number,\r\n y: number,\r\n radius: number,\r\n startAngleInRadians: number,\r\n endAngleInRadians: number,\r\n) {\r\n const start = polarToCartesian(x, y, radius, startAngleInRadians);\r\n const end = polarToCartesian(\r\n x,\r\n y,\r\n radius,\r\n Math.abs(endAngleInRadians - startAngleInRadians) === 2 * Math.PI\r\n ? 0.999999 * endAngleInRadians\r\n : endAngleInRadians,\r\n );\r\n const largeArcFlag = endAngleInRadians - startAngleInRadians <= Math.PI ? '0' : '1';\r\n const d = ['M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 1, end.x, end.y].join(\r\n ' ',\r\n );\r\n return d;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport isEqual from 'fast-deep-equal';\r\nimport { pie } from 'd3-shape';\r\nimport { isValidElement, ReactElement, useRef, useState } from 'react';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { AnimateDataType, ClassNameObject, DonutChartDataType, StyleObject } from '@/Types';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\nimport { getArc } from '@/Utils/getArc';\r\n\r\ninterface Props {\r\n mainText?:\r\n | string\r\n | {\r\n label: string;\r\n suffix?: string;\r\n prefix?: string;\r\n locale?: string;\r\n padZeros?: boolean;\r\n precision?: number;\r\n }\r\n | ReactElement;\r\n radius: number;\r\n colors: string[];\r\n subNote?: string;\r\n strokeWidth: number;\r\n data: DonutChartDataType[];\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n onSeriesMouseOver?: (_d: any) => void;\r\n onSeriesMouseClick?: (_d: any) => void;\r\n colorDomain: string[];\r\n resetSelectionOnDoubleClick: boolean;\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n animate: AnimateDataType;\r\n trackColor: string;\r\n naLabel: string;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n mainText,\r\n data,\r\n radius,\r\n colors,\r\n subNote,\r\n strokeWidth,\r\n tooltip,\r\n onSeriesMouseOver,\r\n onSeriesMouseClick,\r\n colorDomain,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate,\r\n trackColor,\r\n naLabel,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n const pieData = pie()\r\n .sort(null)\r\n .startAngle(0)\r\n .value((d: any) => d.size);\r\n\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n return (\r\n <>\r\n <motion.svg\r\n ref={svgRef}\r\n width={`${radius * 2}px`}\r\n height={`${radius * 2}px`}\r\n viewBox={`0 0 ${radius * 2} ${radius * 2}`}\r\n direction='ltr'\r\n className='mx-auto'\r\n >\r\n <motion.g transform={`translate(${radius} ${radius})`}>\r\n {mainText || subNote ? (\r\n <foreignObject\r\n y={0 - (radius - strokeWidth)}\r\n x={0 - (radius - strokeWidth)}\r\n width={2 * (radius - strokeWidth)}\r\n height={2 * (radius - strokeWidth)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-4'>\r\n {mainText ? (\r\n isValidElement(mainText) ? (\r\n mainText\r\n ) : (\r\n <H2\r\n marginBottom='none'\r\n className='donut-main-text text-primary-gray-700 dark:text-primary-gray-100 leading-none text-center'\r\n >\r\n {typeof mainText === 'string'\r\n ? mainText\r\n : data.findIndex(d => d.label === mainText.label) !== -1\r\n ? numberFormattingFunction(\r\n data[data.findIndex(d => d.label === mainText.label)].size,\r\n naLabel,\r\n mainText.precision,\r\n mainText.prefix,\r\n mainText.suffix,\r\n mainText.locale,\r\n mainText.padZeros,\r\n )\r\n : naLabel}\r\n </H2>\r\n )\r\n ) : null}\r\n {subNote ? (\r\n <P\r\n marginBottom='none'\r\n size='base'\r\n leading='none'\r\n className='donut-sub-note text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {subNote}\r\n </P>\r\n ) : typeof mainText === 'string' || !mainText || isValidElement(mainText) ? null : (\r\n <P\r\n size='base'\r\n marginBottom='none'\r\n leading='none'\r\n className='donut-label text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {mainText.label}\r\n </P>\r\n )}\r\n </div>\r\n </foreignObject>\r\n ) : null}\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radius - strokeWidth / 2}\r\n fill='none'\r\n stroke={trackColor}\r\n strokeWidth={strokeWidth}\r\n />\r\n <AnimatePresence>\r\n {pieData(data as any).map((d, i) => (\r\n <motion.path\r\n key={i}\r\n variants={{\r\n initial: {\r\n pathLength: 0,\r\n d: getArc(\r\n 0,\r\n 0,\r\n radius - strokeWidth / 2,\r\n d.startAngle - Math.PI / 2,\r\n d.endAngle - Math.PI / 2,\r\n ),\r\n opacity: mouseOverData\r\n ? mouseOverData.label === (d.data as any).label\r\n ? 1\r\n : 0.3\r\n : 1,\r\n },\r\n whileInView: {\r\n pathLength: 1,\r\n d: getArc(\r\n 0,\r\n 0,\r\n radius - strokeWidth / 2,\r\n d.startAngle - Math.PI / 2,\r\n d.endAngle - Math.PI / 2,\r\n ),\r\n opacity: mouseOverData\r\n ? mouseOverData.label === (d.data as any).label\r\n ? 1\r\n : 0.3\r\n : 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n style={{\r\n stroke:\r\n colorDomain.indexOf((d.data as any).label) !== -1\r\n ? colors[colorDomain.indexOf((d.data as any).label) % colors.length]\r\n : Colors.gray,\r\n strokeWidth,\r\n fill: 'none',\r\n }}\r\n onMouseEnter={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d.data) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d.data);\r\n if (onSeriesMouseClick) onSeriesMouseClick(d.data);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\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 ))}\r\n </AnimatePresence>\r\n </motion.g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {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 { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport orderBy from 'lodash.orderby';\r\nimport { Spacer } from '@undp/design-system-react/Spacer';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n DonutChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DonutChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Array of colors for each segment */\r\n colors?: string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: 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 /** Radius of the donut chart */\r\n radius?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Max width of the color scale as a css property */\r\n colorScaleMaxWidth?: string;\r\n /** Stroke width of the arcs and circle of the donut */\r\n strokeWidth?: number;\r\n /** Sorting order for data. This is overwritten by labelOrder prop */\r\n sortData?: 'asc' | 'desc';\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Large text at the center of the donut chart. If the type is an object then the text is the value in the data for the label mentioned in the object */\r\n mainText?:\r\n | string\r\n | {\r\n label: string;\r\n suffix?: string;\r\n prefix?: string;\r\n locale?: string;\r\n padZeros?: boolean;\r\n precision?: number;\r\n }\r\n | ReactElement;\r\n /** Small text at the center of the donut chart */\r\n subNote?: string;\r\n /** Track color (i.e. the color of the donut chart's background) of the donut chart */\r\n trackColor?: string;\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 /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\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 DonutChart(props: Props) {\r\n const {\r\n mainText,\r\n graphTitle,\r\n colors = Colors.light.categoricalColors.colors,\r\n sources,\r\n strokeWidth = 50,\r\n graphDescription,\r\n subNote,\r\n footNote,\r\n radius,\r\n data,\r\n showColorScale = true,\r\n padding,\r\n backgroundColor = false,\r\n tooltip,\r\n onSeriesMouseOver,\r\n graphID,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n colorDomain,\r\n sortData,\r\n language = 'en',\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n resetSelectionOnDoubleClick = true,\r\n colorScaleMaxWidth,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate = false,\r\n trackColor = Colors.light.grays['gray-200'],\r\n naLabel = 'NA',\r\n numberDisplayOptions,\r\n } = props;\r\n\r\n const [graphRadius, setGraphRadius] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setGraphRadius(\r\n (Math.min(\r\n ...[entries[0].target.clientWidth || 620, entries[0].target.clientHeight || 480],\r\n ) || 420) / 2,\r\n );\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n\r\n const sortedData = sortData ? orderBy(data, ['size'], [sortData]) : data;\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 && data.length > 0 ? (\r\n <>\r\n <div\r\n className={cn(\r\n 'leading-0 flex mb-0 ml-auto mr-auto justify-center gap-x-3 gap-y-0 flex-wrap',\r\n classNames?.colorLegend,\r\n )}\r\n style={{ maxWidth: colorScaleMaxWidth }}\r\n aria-label='Color legend'\r\n >\r\n {sortedData.map((d, i) => (\r\n <div className='flex gap-2 items-center pb-3' key={i}>\r\n <div\r\n className='w-3 h-3 rounded-full'\r\n style={{\r\n backgroundColor:\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(d.label) !== -1\r\n ? (colors || Colors[theme].categoricalColors.colors)[\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(d.label) %\r\n (colors || Colors[theme].categoricalColors.colors).length\r\n ]\r\n : Colors.gray,\r\n }}\r\n />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold' style={{ fontSize: 'inherit' }}>\r\n {numberFormattingFunction(\r\n d.size,\r\n naLabel,\r\n numberDisplayOptions?.precision,\r\n numberDisplayOptions?.prefix,\r\n numberDisplayOptions?.suffix,\r\n numberDisplayOptions?.locale,\r\n numberDisplayOptions?.padZeros,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n <Spacer size='lg' />\r\n </>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {graphRadius && data.length > 0 ? (\r\n <Graph\r\n mainText={mainText}\r\n data={sortedData}\r\n colors={colors}\r\n radius={radius || graphRadius}\r\n subNote={subNote}\r\n strokeWidth={strokeWidth}\r\n tooltip={tooltip}\r\n colorDomain={colorDomain || sortedData.map(d => d.label)}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n styles={styles}\r\n detailsOnClick={detailsOnClick}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n trackColor={trackColor}\r\n naLabel={naLabel}\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":["pi","tau","descending","a","b","identity","d","pie","value","sortValues","sort","startAngle","constant","endAngle","padAngle","data","i","n","array","j","sum","index","arcs","a0","da","a1","p","pa","v","_","polarToCartesian","centerX","centerY","radius","angleInRadians","x","Math","cos","y","sin","getArc","startAngleInRadians","endAngleInRadians","start","end","abs","PI","largeArcFlag","join","Graph","props","$","_c","mainText","colors","subNote","strokeWidth","tooltip","onSeriesMouseOver","onSeriesMouseClick","colorDomain","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","animate","trackColor","naLabel","svgRef","useRef","t0","amount","once","isInView","useInView","pieData","_temp","mouseOverData","setMouseOverData","useState","undefined","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","t1","motion","t2","t3","t4","t5","t6","t7","t8","t9","jsx","jsxs","isValidElement","H2","findIndex","d_1","label","numberFormattingFunction","d_0","size","precision","prefix","suffix","locale","padZeros","P","t10","t11","T0","AnimatePresence","t12","duration","d_2","initial","pathLength","opacity","whileInView","transition","stroke","indexOf","length","Colors","gray","fill","event","clientY","clientX","isEqual","event_0","t13","map","t14","t15","g","t16","svg","t17","Tooltip","t18","modal","DetailsModal","t19","Fragment","DonutChart","graphTitle","light","categoricalColors","sources","graphDescription","footNote","showColorScale","padding","backgroundColor","graphID","graphDownload","dataDownload","sortData","language","theme","width","height","minHeight","relativeHeight","ariaLabel","colorScaleMaxWidth","grays","numberDisplayOptions","graphRadius","setGraphRadius","graphDiv","graphParentDiv","useEffect","resizeObserver","ResizeObserver","entries","min","target","clientWidth","clientHeight","current","observe","disconnect","sortedData","orderBy","GraphContainer","graphContainer","GraphHeader","title","description","filter","cn","colorLegend","maxWidth","el","fontSize","Spacer","GraphArea","EmptyState","GraphFooter","footnote","source"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
package/dist/DotDensityMap.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-CHPV5EwG-D4pAp7u0.cjs"),s=require("react"),jt=require("./parse-xYI9yrvL.cjs"),bt=require("./getSliderMarks-BzrpHrHS.cjs"),Ot=require("./Spinner-WHzzloYQ.cjs"),Mt=require("./index-DQA8q5sC.cjs"),k=require("./index-DLFt97gy.cjs"),Nt=require("./Typography-BqmyF1gP.cjs"),qt=require("./index-C5K--w8d.cjs"),Bt=require("./Tooltip-C9F3uYG0.cjs"),D=require("./Colors.cjs"),st=require("./index-BhI7mBJx.cjs"),It=require("./DetailsModal-Du8Fr1QD.cjs"),$t=require("./ImageDownloadButton.cjs"),Pt=require("./CsvDownloadButton.cjs"),_t=require("./pow-BnyPO-NX.cjs"),yt=require("./select-Bnfk0lJx.cjs"),nt=require("./proxy-CqH8m8IQ.cjs"),zt=require("./use-in-view-dnRv_qqF.cjs"),Wt=require("./index-FXfr51ZM.cjs"),Vt=require("./GraphFooter.cjs"),Lt=require("./GraphHeader.cjs"),Et=require("./fetchAndParseData-QTF6tjij.cjs"),At=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Ft=require("./uniqBy-O05lp2S5.cjs"),Dt=require("./GraphContainer-Cul9b74X.cjs");function Tt(n){const{data:e,colors:a,mapData:Q,colorLegendTitle:I,colorDomain:g,radius:O,height:f,width:d,scale:m,centerPoint:$,tooltip:ee,showLabels:ye,mapBorderWidth:ve,mapBorderColor:je,mapNoDataColor:be,onSeriesMouseOver:te,showColorScale:Pe,zoomScaleExtend:_e,zoomTranslateExtend:ze,highlightedDataPoints:Ee,onSeriesMouseClick:oe,resetSelectionOnDoubleClick:De,detailsOnClick:v,styles:re,classNames:L,mapProjection:A,zoomInteraction:w,animate:j,dimmedOpacity:ae,customLayers:ne,maxRadiusValue:we,collapseColorScaleByDefault:Ce,projectionRotate:P,rewindCoordinatesInMapData:F,overlayMapData:T,overlayMapBorderColor:We,overlayMapBorderWidth:Ve,graphDownload:G,dataDownload:_}=n,H=s.useMemo(()=>F?k.index_default(Q,{reverse:!0}):Q,[Q,F]),p=s.useMemo(()=>!F||!T?T:k.index_default(T,{reverse:!0}),[T,F]),[u,Re]=s.useState(void 0),[Le,Se]=s.useState(Ce===void 0?!(d<680):!Ce),se=s.useRef(null),[z,W]=s.useState(void 0),[U,X]=s.useState(void 0),[Y,ie]=s.useState(void 0),[x,b]=s.useState(void 0),C=s.useRef(null),J=zt.useInView(C,{once:j.once,amount:j.amount}),le=s.useRef(null),R=e.filter(t=>t.radius===void 0||t.radius===null).length!==e.length?_t.sqrt().domain([0,we]).range([.25,O]).nice():void 0;s.useEffect(()=>{const t=yt.select(le.current),h=yt.select(C.current),r=y=>{if(w==="noZoom")return!1;if(w==="button")return!y.type.includes("wheel");const Ne=y.type==="wheel",qe=y.type.startsWith("touch"),pe=y.type==="mousedown"||y.type==="mousemove";return qe?!0:Ne?w==="scroll"?!0:y.ctrlKey:pe&&!y.button&&!y.ctrlKey},N=k.zoom().scaleExtent(_e).translateExtent(ze||[[-20,-20],[d+20,f+20]]).filter(r).on("zoom",({transform:y})=>{t.attr("transform",y)});h.call(N),se.current=N},[f,d,w]);const V=k.index_default$1(H),M=qt.index_default(H),ke=(V[2]-V[0])*1.15,Oe=(V[3]-V[1])*1.15,ce=d*190/960*360/ke,Me=f*190/678*180/Oe,S=m*Math.min(ce,Me),K=A==="mercator"?k.geoMercator().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="equalEarth"?k.geoEqualEarth().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="naturalEarth"?k.geoNaturalEarth1().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="orthographic"?k.geoOrthographic().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):k.geoAlbersUsa().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S),ue=k.geoPath().projection(K),de=t=>{if(!C.current||!se.current)return;yt.select(C.current).call(se.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(nt.motion.svg,{width:`${d}px`,height:`${f}px`,viewBox:`0 0 ${d} ${f}`,ref:C,direction:"ltr",children:o.jsxRuntimeExports.jsxs("g",{ref:le,children:[ne.filter(t=>t.position==="before").map(t=>t.layer),H.features.map((t,h)=>{const r=ue(t);return r?o.jsxRuntimeExports.jsx("path",{d:r,style:{stroke:je,strokeWidth:ve,fill:be,vectorEffect:"non-scaling-stroke"}},h):null}),p?.features.map((t,h)=>{const r=ue(t);return r?o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx("path",{d:r,style:{stroke:We||je,strokeWidth:Ve||ve+1,fill:"none",pointerEvents:"none",vectorEffect:"non-scaling-stroke"}})},h):null}),o.jsxRuntimeExports.jsx(Wt.AnimatePresence,{children:e.map(t=>{const h=e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray;return o.jsxRuntimeExports.jsxs(nt.motion.g,{className:"undp-map-dots",variants:{initial:{opacity:0},whileInView:{opacity:u?u===h?1:ae:Ee?Ee.indexOf(t.label||"")!==-1?1:ae:1,transition:{duration:j.duration}}},initial:"initial",animate:J?"whileInView":"initial",exit:{opacity:0,transition:{duration:j.duration}},onMouseEnter:r=>{X(t),b(r.clientY),ie(r.clientX),te?.(t)},onMouseMove:r=>{X(t),b(r.clientY),ie(r.clientX)},onMouseLeave:()=>{X(void 0),ie(void 0),b(void 0),te?.(void 0)},onClick:()=>{(oe||v)&&(Mt.isEqual(z,t)&&De?(W(void 0),oe?.(void 0)):(W(t),oe?.(t)))},transform:`translate(${K([t.long,t.lat])[0]},${K([t.long,t.lat])[1]})`,children:[o.jsxRuntimeExports.jsx(nt.motion.circle,{cx:0,cy:0,variants:{initial:{r:0,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,stroke:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray},whileInView:{r:R?R(t.radius||0):O,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,stroke:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,transition:{duration:j.duration}}},initial:"initial",animate:J?"whileInView":"initial",exit:{r:0,transition:{duration:j.duration}},style:{fillOpacity:.8,vectorEffect:"non-scaling-stroke"}}),ye&&t.label?o.jsxRuntimeExports.jsx(nt.motion.text,{variants:{initial:{opacity:0,x:R?R(t.radius||0):O,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray},whileInView:{opacity:1,x:R?R(t.radius||0):O,transition:{duration:j.duration},fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray}},initial:"initial",animate:J?"whileInView":"initial",exit:{opacity:0,transition:{duration:j.duration}},y:0,className:o.mo("graph-value text-sm",L?.graphObjectValues),style:{textAnchor:"start",vectorEffect:"non-scaling-stroke",...re?.graphObjectValues||{}},dx:4,dy:5,children:t.label}):null]},t.label||`${t.lat}-${t.long}`)})}),ne.filter(t=>t.position==="after").map(t=>t.layer)]})}),e.filter(t=>t.color).length===0||Pe===!1?null:o.jsxRuntimeExports.jsx("div",{className:o.mo("absolute left-4 bottom-4 map-color-legend",L?.colorLegend),children:Le?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:()=>{Se(!1)},children:o.jsxRuntimeExports.jsx(st.X,{})}),o.jsxRuntimeExports.jsxs("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)"},children:[I&&I!==""?o.jsxRuntimeExports.jsx("p",{className:"p-0 leading-normal overflow-hidden text-primary-gray-700 dark:text-primary-gray-300",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical"},children:I}):null,o.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:g.map((t,h)=>o.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",onMouseOver:()=>{Re(a[h%a.length])},onMouseLeave:()=>{Re(void 0)},children:[o.jsxRuntimeExports.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:a[h%a.length]}}),o.jsxRuntimeExports.jsx(Nt._,{size:"sm",marginBottom:"none",leading:"none",children:t})]},h))})]})]}):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:()=>{Se(!0)},children:o.jsxRuntimeExports.jsx(st.ExpandIcon,{})})}),w==="button"&&o.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col undp-viz-zoom-buttons",children:[o.jsxRuntimeExports.jsx("button",{onClick:()=>de("in"),className:"leading-0 px-2 py-3.5 text-primary-gray-700 border 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 text-primary-gray-700 border 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:"–"})]}),(G||_)&&o.jsxRuntimeExports.jsxs("div",{className:"absolute right-4 top-4 flex flex-col image-download-button gap-2",children:[G&&o.jsxRuntimeExports.jsx($t.ImageDownloadButton,{nodeID:G,buttonSmall:!0,className:"p-1"}),_&&_.length>0&&o.jsxRuntimeExports.jsx(Pt.CsvDownloadButton,{csvData:_,buttonSmall:!0,headers:Object.keys(_[0]).map(t=>({label:t,key:t})),className:"p-1"})]})]}),v&&z!==void 0?o.jsxRuntimeExports.jsx(It.DetailsModal,{body:v,data:z,setData:W,className:L?.modal}):null,U&&ee&&Y&&x?o.jsxRuntimeExports.jsx(Bt.Tooltip,{data:U,body:ee,xPos:Y,yPos:x,backgroundStyle:re?.tooltip,className:L?.tooltip}):null]})}function Gt(n){const e=o.compilerRuntimeExports.c(127),{data:a,mapData:Q,graphTitle:I,colors:g,sources:O,graphDescription:f,height:d,width:m,footNote:$,colorLegendTitle:ee,colorDomain:ye,radius:ve,scale:je,centerPoint:be,padding:te,mapBorderWidth:Pe,mapNoDataColor:_e,backgroundColor:ze,showLabels:Ee,mapBorderColor:oe,tooltip:De,relativeHeight:v,onSeriesMouseOver:re,isWorldMap:L,showColorScale:A,zoomScaleExtend:w,zoomTranslateExtend:j,graphID:ae,highlightedDataPoints:ne,onSeriesMouseClick:we,graphDownload:Ce,dataDownload:P,showAntarctica:F,language:T,minHeight:We,theme:Ve,ariaLabel:G,resetSelectionOnDoubleClick:_,detailsOnClick:H,styles:p,classNames:u,mapProjection:Re,zoomInteraction:Le,animate:Se,dimmedOpacity:se,customLayers:z,maxRadiusValue:W,timeline:U,collapseColorScaleByDefault:X,projectionRotate:Y,rewindCoordinatesInMapData:ie,mapOverlay:x}=n,b=Q===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-v2.json":Q,C=$===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.":$,J=ve===void 0?5:ve,le=je===void 0?.95:je,R=Pe===void 0?.5:Pe,V=_e===void 0?D.Colors.light.graphNoData:_e,M=ze===void 0?!1:ze,ke=Ee===void 0?!1:Ee,Oe=oe===void 0?D.Colors.light.grays["gray-500"]:oe,ce=L===void 0?!0:L,Me=A===void 0?!0:A;let S;e[0]!==w?(S=w===void 0?[.8,6]:w,e[0]=w,e[1]=S):S=e[1];const K=S,ue=Ce===void 0?!1:Ce,de=P===void 0?!1:P,t=F===void 0?!1:F,h=T===void 0?"en":T,r=We===void 0?0:We,N=Ve===void 0?"light":Ve,y=_===void 0?!0:_,Ne=Re===void 0?"naturalEarth":Re,qe=Le===void 0?"button":Le,pe=Se===void 0?!1:Se,it=se===void 0?.3:se;let Ae;e[2]!==z?(Ae=z===void 0?[]:z,e[2]=z,e[3]=Ae):Ae=e[3];const lt=Ae;let Fe;e[4]!==U?(Fe=U===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:U,e[4]=U,e[5]=Fe):Fe=e[5];const i=Fe;let Te;e[6]!==Y?(Te=Y===void 0?[0,0]:Y,e[6]=Y,e[7]=Te):Te=e[7];const ct=Te,ut=ie===void 0?!0:ie,[Z,wt]=s.useState(0),[Be,Ct]=s.useState(0),[q,Rt]=s.useState(i.autoplay);let Ie;if(e[8]!==a||e[9]!==i.dateFormat){let l;e[11]!==i.dateFormat?(l=E=>jt.parse(`${E.date}`,i.dateFormat||"yyyy",new Date).getTime(),e[11]=i.dateFormat,e[12]=l):l=e[12],Ie=[...new Set(a.filter(ro).map(l))],Ie.sort(oo),e[8]=a,e[9]=i.dateFormat,e[10]=Ie}else Ie=e[10];const c=Ie,[B,dt]=s.useState(i.autoplay?0:c.length-1),[me,St]=s.useState(void 0),[pt,kt]=s.useState(void 0),mt=s.useRef(null),vt=s.useRef(null);let Ge,He;e[13]===Symbol.for("react.memo_cache_sentinel")?(Ge=()=>{const l=new ResizeObserver(E=>{wt(E[0].target.clientWidth||620),Ct(E[0].target.clientHeight||480)});return mt.current&&l.observe(mt.current),()=>l.disconnect()},He=[],e[13]=Ge,e[14]=He):(Ge=e[13],He=e[14]),s.useEffect(Ge,He);let Ue;e[15]===Symbol.for("react.memo_cache_sentinel")?(Ue=l=>{St(l)},e[15]=Ue):Ue=e[15];const Xe=s.useEffectEvent(Ue);let Ye;e[16]===Symbol.for("react.memo_cache_sentinel")?(Ye=l=>{kt(l)},e[16]=Ye):Ye=e[16];const $e=s.useEffectEvent(Ye);let Je;e[17]!==b||e[18]!==Xe?(Je=()=>{typeof b=="string"?Et.fetchAndParseJSON(b).then(E=>{Xe(E)}):Xe(b)},e[17]=b,e[18]=Xe,e[19]=Je):Je=e[19];let Ke;e[20]!==b?(Ke=[b],e[20]=b,e[21]=Ke):Ke=e[21],s.useEffect(Je,Ke);let Ze;e[22]!==x?.mapData||e[23]!==$e?(Ze=()=>{x?.mapData||$e(void 0),typeof x?.mapData=="string"?Et.fetchAndParseJSON(x?.mapData).then(E=>{$e(E)}):$e(x?.mapData)},e[22]=x?.mapData,e[23]=$e,e[24]=Ze):Ze=e[24];const xt=x?.mapData;let Qe;e[25]!==xt?(Qe=[xt],e[25]=xt,e[26]=Qe):Qe=e[26],s.useEffect(Ze,Qe);let et,tt;e[27]!==q||e[28]!==i.speed||e[29]!==c?(et=()=>{const l=setInterval(()=>{dt(E=>E<c.length-1?E+1:0)},(i.speed||2)*1e3);return q||clearInterval(l),()=>clearInterval(l)},tt=[c,q,i.speed],e[27]=q,e[28]=i.speed,e[29]=c,e[30]=et,e[31]=tt):(et=e[30],tt=e[31]),s.useEffect(et,tt);const ht=i.dateFormat||"yyyy";let ot;e[32]!==B||e[33]!==ht||e[34]!==i.showOnlyActiveDate||e[35]!==c?(ot=bt.getSliderMarks(c,B,i.showOnlyActiveDate,ht),e[32]=B,e[33]=ht,e[34]=i.showOnlyActiveDate,e[35]=c,e[36]=ot):ot=e[36];const rt=ot,ft=u?.graphContainer,gt=p?.graphContainer;let xe;e[37]!==u?.description||e[38]!==u?.title||e[39]!==f||e[40]!==I||e[41]!==p?.description||e[42]!==p?.title||e[43]!==m?(xe=I||f?o.jsxRuntimeExports.jsx(Lt.GraphHeader,{styles:{title:p?.title,description:p?.description},classNames:{title:u?.title,description:u?.description},graphTitle:I,graphDescription:f,width:m}):null,e[37]=u?.description,e[38]=u?.title,e[39]=f,e[40]=I,e[41]=p?.description,e[42]=p?.title,e[43]=m,e[44]=xe):xe=e[44];let he;e[45]!==B||e[46]!==rt||e[47]!==q||e[48]!==i.enabled||e[49]!==c?(he=i.enabled&&c.length>0&&rt?o.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[o.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Rt(!q)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":q?"Click to pause animation":"Click to play animation",children:q?o.jsxRuntimeExports.jsx(st.Pause,{}):o.jsxRuntimeExports.jsx(st.Play,{})}),o.jsxRuntimeExports.jsx(bt.Nr,{min:c[0],max:c[c.length-1],marks:rt,step:null,defaultValue:c[c.length-1],value:c[B],onChangeComplete:l=>{dt(c.indexOf(l))},onChange:l=>{dt(c.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e[45]=B,e[46]=rt,e[47]=q,e[48]=i.enabled,e[49]=c,e[50]=he):he=e[50];let fe;e[51]!==pe||e[52]!==be||e[53]!==u||e[54]!==X||e[55]!==ye||e[56]!==ee||e[57]!==g||e[58]!==lt||e[59]!==a||e[60]!==de||e[61]!==H||e[62]!==it||e[63]!==ue||e[64]!==d||e[65]!==ne||e[66]!==B||e[67]!==ce||e[68]!==Oe||e[69]!==R||e[70]!==V||e[71]!==x?.mapBorderColor||e[72]!==x?.mapBorderWidth||e[73]!==Ne||e[74]!==me||e[75]!==W||e[76]!==r||e[77]!==we||e[78]!==re||e[79]!==pt||e[80]!==ct||e[81]!==J||e[82]!==v||e[83]!==y||e[84]!==ut||e[85]!==le||e[86]!==t||e[87]!==Me||e[88]!==ke||e[89]!==p||e[90]!==Be||e[91]!==Z||e[92]!==N||e[93]!==i.dateFormat||e[94]!==i.enabled||e[95]!==De||e[96]!==c||e[97]!==m||e[98]!==qe||e[99]!==K||e[100]!==j?(fe=o.jsxRuntimeExports.jsx(Dt.GraphArea,{ref:mt,children:Z&&Be&&me?o.jsxRuntimeExports.jsx(Tt,{data:a.filter(l=>i.enabled?`${l.date}`===jt.format(new Date(c[B]),i.dateFormat||"yyyy"):l),mapData:t?me:{...me,features:me.features.filter(to)},colorDomain:a.filter(eo).length===0?[]:ye||Ft.uniqBy(a,"color",!0),width:Z,height:Be,scale:le,centerPoint:be,colors:a.filter(Qt).length===0?g?[g]:[D.Colors.primaryColors["blue-600"]]:g||D.Colors[N].categoricalColors.colors,colorLegendTitle:ee,radius:J,overlayMapData:pt,overlayMapBorderColor:x?.mapBorderColor,overlayMapBorderWidth:x?.mapBorderWidth,mapBorderWidth:R,mapNoDataColor:V,mapBorderColor:Oe,tooltip:De,onSeriesMouseOver:re,showLabels:ke,isWorldMap:ce,showColorScale:Me,zoomScaleExtend:K,zoomTranslateExtend:j,onSeriesMouseClick:we,highlightedDataPoints:ne,resetSelectionOnDoubleClick:y,styles:p,classNames:u,zoomInteraction:qe,detailsOnClick:H,mapProjection:Ne||(ce?"naturalEarth":"mercator"),animate:pe===!0?{duration:.5,once:!0,amount:.5}:pe||{duration:0,once:!0,amount:0},dimmedOpacity:it,customLayers:lt,maxRadiusValue:At.checkIfNullOrUndefined(W)?Math.max(...a.map(Zt).filter(Kt)):W,collapseColorScaleByDefault:X,projectionRotate:ct,rewindCoordinatesInMapData:ut,graphDownload:ue?vt:void 0,dataDownload:de?a.map(Jt).filter(Yt).length>0?a.map(Xt).filter(Ut):a.filter(Ht):null}):o.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(r,d||(v?r?(m||Z)*v>r?(m||Z)*v:r:(m||Z)*v:Be))}px`},className:"flex items-center justify-center",children:o.jsxRuntimeExports.jsx(Ot.w,{"aria-label":"Loading graph"})})}),e[51]=pe,e[52]=be,e[53]=u,e[54]=X,e[55]=ye,e[56]=ee,e[57]=g,e[58]=lt,e[59]=a,e[60]=de,e[61]=H,e[62]=it,e[63]=ue,e[64]=d,e[65]=ne,e[66]=B,e[67]=ce,e[68]=Oe,e[69]=R,e[70]=V,e[71]=x?.mapBorderColor,e[72]=x?.mapBorderWidth,e[73]=Ne,e[74]=me,e[75]=W,e[76]=r,e[77]=we,e[78]=re,e[79]=pt,e[80]=ct,e[81]=J,e[82]=v,e[83]=y,e[84]=ut,e[85]=le,e[86]=t,e[87]=Me,e[88]=ke,e[89]=p,e[90]=Be,e[91]=Z,e[92]=N,e[93]=i.dateFormat,e[94]=i.enabled,e[95]=De,e[96]=c,e[97]=m,e[98]=qe,e[99]=K,e[100]=j,e[101]=fe):fe=e[101];let ge;e[102]!==u?.footnote||e[103]!==u?.source||e[104]!==C||e[105]!==O||e[106]!==p?.footnote||e[107]!==p?.source||e[108]!==m?(ge=O||C?o.jsxRuntimeExports.jsx(Vt.GraphFooter,{styles:{footnote:p?.footnote,source:p?.source},classNames:{footnote:u?.footnote,source:u?.source},sources:O,footNote:C,width:m}):null,e[102]=u?.footnote,e[103]=u?.source,e[104]=C,e[105]=O,e[106]=p?.footnote,e[107]=p?.source,e[108]=m,e[109]=ge):ge=e[109];let at;return e[110]!==G||e[111]!==M||e[112]!==ae||e[113]!==d||e[114]!==h||e[115]!==r||e[116]!==te||e[117]!==v||e[118]!==ft||e[119]!==gt||e[120]!==xe||e[121]!==he||e[122]!==fe||e[123]!==ge||e[124]!==N||e[125]!==m?(at=o.jsxRuntimeExports.jsxs(Dt.GraphContainer,{className:ft,style:gt,id:ae,ref:vt,"aria-label":G,backgroundColor:M,theme:N,language:h,minHeight:r,width:m,height:d,relativeHeight:v,padding:te,children:[xe,he,fe,ge]}),e[110]=G,e[111]=M,e[112]=ae,e[113]=d,e[114]=h,e[115]=r,e[116]=te,e[117]=v,e[118]=ft,e[119]=gt,e[120]=xe,e[121]=he,e[122]=fe,e[123]=ge,e[124]=N,e[125]=m,e[126]=at):at=e[126],at}function Ht(n){return n!==void 0}function Ut(n){return n!==void 0}function Xt(n){return n.data}function Yt(n){return n!==void 0}function Jt(n){return n.data}function Kt(n){return n!=null}function Zt(n){return n.radius}function Qt(n){return n.color}function eo(n){return n.color}function to(n){return n.properties?.NAME!=="Antarctica"}function oo(n,e){return n-e}function ro(n){return n.date}exports.DotDensityMap=Gt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./compiler-runtime-oPPev21o.cjs"),s=require("react"),jt=require("./parse-xYI9yrvL.cjs"),Ot=require("@undp/design-system-react/SliderUI"),Mt=require("@undp/design-system-react/Spinner"),Nt=require("./index-DQA8q5sC.cjs"),k=require("./index-DLFt97gy.cjs"),qt=require("@undp/design-system-react/Typography"),Bt=require("./index-C5K--w8d.cjs"),bt=require("@undp/design-system-react/cn"),It=require("./Tooltip-DwUFLDrj.cjs"),D=require("./Colors.cjs"),st=require("./index-DbSnila_.cjs"),$t=require("./DetailsModal-BmjtLqrZ.cjs"),Pt=require("./ImageDownloadButton.cjs"),_t=require("./CsvDownloadButton.cjs"),zt=require("./pow-BnyPO-NX.cjs"),yt=require("./select-Bnfk0lJx.cjs"),nt=require("./proxy-QMeVVqam.cjs"),Wt=require("./use-in-view-DjR_gqJP.cjs"),Lt=require("./index-5BQWR1Z8.cjs"),Vt=require("./GraphFooter.cjs"),At=require("./GraphHeader.cjs"),Et=require("./fetchAndParseData-QTF6tjij.cjs"),Ft=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Tt=require("./getSliderMarks-Bj_JJTtX.cjs"),Gt=require("./uniqBy-O05lp2S5.cjs"),Dt=require("./GraphContainer-gaG9TSy4.cjs");function Ut(n){const{data:e,colors:a,mapData:Q,colorLegendTitle:I,colorDomain:g,radius:O,height:f,width:d,scale:m,centerPoint:$,tooltip:ee,showLabels:ye,mapBorderWidth:ve,mapBorderColor:je,mapNoDataColor:be,onSeriesMouseOver:te,showColorScale:Pe,zoomScaleExtend:_e,zoomTranslateExtend:ze,highlightedDataPoints:Ee,onSeriesMouseClick:oe,resetSelectionOnDoubleClick:De,detailsOnClick:v,styles:re,classNames:V,mapProjection:A,zoomInteraction:w,animate:j,dimmedOpacity:ae,customLayers:ne,maxRadiusValue:we,collapseColorScaleByDefault:Ce,projectionRotate:P,rewindCoordinatesInMapData:F,overlayMapData:T,overlayMapBorderColor:We,overlayMapBorderWidth:Le,graphDownload:G,dataDownload:_}=n,U=s.useMemo(()=>F?k.index_default(Q,{reverse:!0}):Q,[Q,F]),p=s.useMemo(()=>!F||!T?T:k.index_default(T,{reverse:!0}),[T,F]),[u,Re]=s.useState(void 0),[Ve,Se]=s.useState(Ce===void 0?!(d<680):!Ce),se=s.useRef(null),[z,W]=s.useState(void 0),[H,X]=s.useState(void 0),[Y,ie]=s.useState(void 0),[x,b]=s.useState(void 0),C=s.useRef(null),J=Wt.useInView(C,{once:j.once,amount:j.amount}),le=s.useRef(null),R=e.filter(t=>t.radius===void 0||t.radius===null).length!==e.length?zt.sqrt().domain([0,we]).range([.25,O]).nice():void 0;s.useEffect(()=>{const t=yt.select(le.current),h=yt.select(C.current),r=y=>{if(w==="noZoom")return!1;if(w==="button")return!y.type.includes("wheel");const Ne=y.type==="wheel",qe=y.type.startsWith("touch"),pe=y.type==="mousedown"||y.type==="mousemove";return qe?!0:Ne?w==="scroll"?!0:y.ctrlKey:pe&&!y.button&&!y.ctrlKey},N=k.zoom().scaleExtent(_e).translateExtent(ze||[[-20,-20],[d+20,f+20]]).filter(r).on("zoom",({transform:y})=>{t.attr("transform",y)});h.call(N),se.current=N},[f,d,w]);const L=k.index_default$1(U),M=Bt.index_default(U),ke=(L[2]-L[0])*1.15,Oe=(L[3]-L[1])*1.15,ce=d*190/960*360/ke,Me=f*190/678*180/Oe,S=m*Math.min(ce,Me),K=A==="mercator"?k.geoMercator().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="equalEarth"?k.geoEqualEarth().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="naturalEarth"?k.geoNaturalEarth1().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):A==="orthographic"?k.geoOrthographic().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S):k.geoAlbersUsa().rotate(P).center($||M.geometry.coordinates).translate([d/2,f/2]).scale(S),ue=k.geoPath().projection(K),de=t=>{if(!C.current||!se.current)return;yt.select(C.current).call(se.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(nt.motion.svg,{width:`${d}px`,height:`${f}px`,viewBox:`0 0 ${d} ${f}`,ref:C,direction:"ltr",children:o.jsxRuntimeExports.jsxs("g",{ref:le,children:[ne.filter(t=>t.position==="before").map(t=>t.layer),U.features.map((t,h)=>{const r=ue(t);return r?o.jsxRuntimeExports.jsx("path",{d:r,style:{stroke:je,strokeWidth:ve,fill:be,vectorEffect:"non-scaling-stroke"}},h):null}),p?.features.map((t,h)=>{const r=ue(t);return r?o.jsxRuntimeExports.jsx("g",{children:o.jsxRuntimeExports.jsx("path",{d:r,style:{stroke:We||je,strokeWidth:Le||ve+1,fill:"none",pointerEvents:"none",vectorEffect:"non-scaling-stroke"}})},h):null}),o.jsxRuntimeExports.jsx(Lt.AnimatePresence,{children:e.map(t=>{const h=e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray;return o.jsxRuntimeExports.jsxs(nt.motion.g,{className:"undp-map-dots",variants:{initial:{opacity:0},whileInView:{opacity:u?u===h?1:ae:Ee?Ee.indexOf(t.label||"")!==-1?1:ae:1,transition:{duration:j.duration}}},initial:"initial",animate:J?"whileInView":"initial",exit:{opacity:0,transition:{duration:j.duration}},onMouseEnter:r=>{X(t),b(r.clientY),ie(r.clientX),te?.(t)},onMouseMove:r=>{X(t),b(r.clientY),ie(r.clientX)},onMouseLeave:()=>{X(void 0),ie(void 0),b(void 0),te?.(void 0)},onClick:()=>{(oe||v)&&(Nt.isEqual(z,t)&&De?(W(void 0),oe?.(void 0)):(W(t),oe?.(t)))},transform:`translate(${K([t.long,t.lat])[0]},${K([t.long,t.lat])[1]})`,children:[o.jsxRuntimeExports.jsx(nt.motion.circle,{cx:0,cy:0,variants:{initial:{r:0,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,stroke:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray},whileInView:{r:R?R(t.radius||0):O,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,stroke:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray,transition:{duration:j.duration}}},initial:"initial",animate:J?"whileInView":"initial",exit:{r:0,transition:{duration:j.duration}},style:{fillOpacity:.8,vectorEffect:"non-scaling-stroke"}}),ye&&t.label?o.jsxRuntimeExports.jsx(nt.motion.text,{variants:{initial:{opacity:0,x:R?R(t.radius||0):O,fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray},whileInView:{opacity:1,x:R?R(t.radius||0):O,transition:{duration:j.duration},fill:e.filter(r=>r.color).length===0?a[0]:t.color?a[g.indexOf(`${t.color}`)]:D.Colors.gray}},initial:"initial",animate:J?"whileInView":"initial",exit:{opacity:0,transition:{duration:j.duration}},y:0,className:bt.cn("graph-value text-sm",V?.graphObjectValues),style:{textAnchor:"start",vectorEffect:"non-scaling-stroke",...re?.graphObjectValues||{}},dx:4,dy:5,children:t.label}):null]},t.label||`${t.lat}-${t.long}`)})}),ne.filter(t=>t.position==="after").map(t=>t.layer)]})}),e.filter(t=>t.color).length===0||Pe===!1?null:o.jsxRuntimeExports.jsx("div",{className:bt.cn("absolute left-4 bottom-4 map-color-legend",V?.colorLegend),children:Ve?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:()=>{Se(!1)},children:o.jsxRuntimeExports.jsx(st.X,{})}),o.jsxRuntimeExports.jsxs("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)"},children:[I&&I!==""?o.jsxRuntimeExports.jsx("p",{className:"p-0 leading-normal overflow-hidden text-primary-gray-700 dark:text-primary-gray-300",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical"},children:I}):null,o.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:g.map((t,h)=>o.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",onMouseOver:()=>{Re(a[h%a.length])},onMouseLeave:()=>{Re(void 0)},children:[o.jsxRuntimeExports.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:a[h%a.length]}}),o.jsxRuntimeExports.jsx(qt.P,{size:"sm",marginBottom:"none",leading:"none",children:t})]},h))})]})]}):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:()=>{Se(!0)},children:o.jsxRuntimeExports.jsx(st.ExpandIcon,{})})}),w==="button"&&o.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col undp-viz-zoom-buttons",children:[o.jsxRuntimeExports.jsx("button",{onClick:()=>de("in"),className:"leading-0 px-2 py-3.5 text-primary-gray-700 border 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 text-primary-gray-700 border 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:"–"})]}),(G||_)&&o.jsxRuntimeExports.jsxs("div",{className:"absolute right-4 top-4 flex flex-col image-download-button gap-2",children:[G&&o.jsxRuntimeExports.jsx(Pt.ImageDownloadButton,{nodeID:G,buttonSmall:!0,className:"p-1"}),_&&_.length>0&&o.jsxRuntimeExports.jsx(_t.CsvDownloadButton,{csvData:_,buttonSmall:!0,headers:Object.keys(_[0]).map(t=>({label:t,key:t})),className:"p-1"})]})]}),v&&z!==void 0?o.jsxRuntimeExports.jsx($t.DetailsModal,{body:v,data:z,setData:W,className:V?.modal}):null,H&&ee&&Y&&x?o.jsxRuntimeExports.jsx(It.Tooltip,{data:H,body:ee,xPos:Y,yPos:x,backgroundStyle:re?.tooltip,className:V?.tooltip}):null]})}function Ht(n){const e=o.compilerRuntimeExports.c(127),{data:a,mapData:Q,graphTitle:I,colors:g,sources:O,graphDescription:f,height:d,width:m,footNote:$,colorLegendTitle:ee,colorDomain:ye,radius:ve,scale:je,centerPoint:be,padding:te,mapBorderWidth:Pe,mapNoDataColor:_e,backgroundColor:ze,showLabels:Ee,mapBorderColor:oe,tooltip:De,relativeHeight:v,onSeriesMouseOver:re,isWorldMap:V,showColorScale:A,zoomScaleExtend:w,zoomTranslateExtend:j,graphID:ae,highlightedDataPoints:ne,onSeriesMouseClick:we,graphDownload:Ce,dataDownload:P,showAntarctica:F,language:T,minHeight:We,theme:Le,ariaLabel:G,resetSelectionOnDoubleClick:_,detailsOnClick:U,styles:p,classNames:u,mapProjection:Re,zoomInteraction:Ve,animate:Se,dimmedOpacity:se,customLayers:z,maxRadiusValue:W,timeline:H,collapseColorScaleByDefault:X,projectionRotate:Y,rewindCoordinatesInMapData:ie,mapOverlay:x}=n,b=Q===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-v2.json":Q,C=$===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.":$,J=ve===void 0?5:ve,le=je===void 0?.95:je,R=Pe===void 0?.5:Pe,L=_e===void 0?D.Colors.light.graphNoData:_e,M=ze===void 0?!1:ze,ke=Ee===void 0?!1:Ee,Oe=oe===void 0?D.Colors.light.grays["gray-500"]:oe,ce=V===void 0?!0:V,Me=A===void 0?!0:A;let S;e[0]!==w?(S=w===void 0?[.8,6]:w,e[0]=w,e[1]=S):S=e[1];const K=S,ue=Ce===void 0?!1:Ce,de=P===void 0?!1:P,t=F===void 0?!1:F,h=T===void 0?"en":T,r=We===void 0?0:We,N=Le===void 0?"light":Le,y=_===void 0?!0:_,Ne=Re===void 0?"naturalEarth":Re,qe=Ve===void 0?"button":Ve,pe=Se===void 0?!1:Se,it=se===void 0?.3:se;let Ae;e[2]!==z?(Ae=z===void 0?[]:z,e[2]=z,e[3]=Ae):Ae=e[3];const lt=Ae;let Fe;e[4]!==H?(Fe=H===void 0?{enabled:!1,autoplay:!1,showOnlyActiveDate:!0}:H,e[4]=H,e[5]=Fe):Fe=e[5];const i=Fe;let Te;e[6]!==Y?(Te=Y===void 0?[0,0]:Y,e[6]=Y,e[7]=Te):Te=e[7];const ct=Te,ut=ie===void 0?!0:ie,[Z,wt]=s.useState(0),[Be,Ct]=s.useState(0),[q,Rt]=s.useState(i.autoplay);let Ie;if(e[8]!==a||e[9]!==i.dateFormat){let l;e[11]!==i.dateFormat?(l=E=>jt.parse(`${E.date}`,i.dateFormat||"yyyy",new Date).getTime(),e[11]=i.dateFormat,e[12]=l):l=e[12],Ie=[...new Set(a.filter(no).map(l))],Ie.sort(ao),e[8]=a,e[9]=i.dateFormat,e[10]=Ie}else Ie=e[10];const c=Ie,[B,dt]=s.useState(i.autoplay?0:c.length-1),[me,St]=s.useState(void 0),[pt,kt]=s.useState(void 0),mt=s.useRef(null),vt=s.useRef(null);let Ge,Ue;e[13]===Symbol.for("react.memo_cache_sentinel")?(Ge=()=>{const l=new ResizeObserver(E=>{wt(E[0].target.clientWidth||620),Ct(E[0].target.clientHeight||480)});return mt.current&&l.observe(mt.current),()=>l.disconnect()},Ue=[],e[13]=Ge,e[14]=Ue):(Ge=e[13],Ue=e[14]),s.useEffect(Ge,Ue);let He;e[15]===Symbol.for("react.memo_cache_sentinel")?(He=l=>{St(l)},e[15]=He):He=e[15];const Xe=s.useEffectEvent(He);let Ye;e[16]===Symbol.for("react.memo_cache_sentinel")?(Ye=l=>{kt(l)},e[16]=Ye):Ye=e[16];const $e=s.useEffectEvent(Ye);let Je;e[17]!==b||e[18]!==Xe?(Je=()=>{typeof b=="string"?Et.fetchAndParseJSON(b).then(E=>{Xe(E)}):Xe(b)},e[17]=b,e[18]=Xe,e[19]=Je):Je=e[19];let Ke;e[20]!==b?(Ke=[b],e[20]=b,e[21]=Ke):Ke=e[21],s.useEffect(Je,Ke);let Ze;e[22]!==x?.mapData||e[23]!==$e?(Ze=()=>{x?.mapData||$e(void 0),typeof x?.mapData=="string"?Et.fetchAndParseJSON(x?.mapData).then(E=>{$e(E)}):$e(x?.mapData)},e[22]=x?.mapData,e[23]=$e,e[24]=Ze):Ze=e[24];const xt=x?.mapData;let Qe;e[25]!==xt?(Qe=[xt],e[25]=xt,e[26]=Qe):Qe=e[26],s.useEffect(Ze,Qe);let et,tt;e[27]!==q||e[28]!==i.speed||e[29]!==c?(et=()=>{const l=setInterval(()=>{dt(E=>E<c.length-1?E+1:0)},(i.speed||2)*1e3);return q||clearInterval(l),()=>clearInterval(l)},tt=[c,q,i.speed],e[27]=q,e[28]=i.speed,e[29]=c,e[30]=et,e[31]=tt):(et=e[30],tt=e[31]),s.useEffect(et,tt);const ht=i.dateFormat||"yyyy";let ot;e[32]!==B||e[33]!==ht||e[34]!==i.showOnlyActiveDate||e[35]!==c?(ot=Tt.getSliderMarks(c,B,i.showOnlyActiveDate,ht),e[32]=B,e[33]=ht,e[34]=i.showOnlyActiveDate,e[35]=c,e[36]=ot):ot=e[36];const rt=ot,ft=u?.graphContainer,gt=p?.graphContainer;let xe;e[37]!==u?.description||e[38]!==u?.title||e[39]!==f||e[40]!==I||e[41]!==p?.description||e[42]!==p?.title||e[43]!==m?(xe=I||f?o.jsxRuntimeExports.jsx(At.GraphHeader,{styles:{title:p?.title,description:p?.description},classNames:{title:u?.title,description:u?.description},graphTitle:I,graphDescription:f,width:m}):null,e[37]=u?.description,e[38]=u?.title,e[39]=f,e[40]=I,e[41]=p?.description,e[42]=p?.title,e[43]=m,e[44]=xe):xe=e[44];let he;e[45]!==B||e[46]!==rt||e[47]!==q||e[48]!==i.enabled||e[49]!==c?(he=i.enabled&&c.length>0&&rt?o.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[o.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Rt(!q)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":q?"Click to pause animation":"Click to play animation",children:q?o.jsxRuntimeExports.jsx(st.Pause,{}):o.jsxRuntimeExports.jsx(st.Play,{})}),o.jsxRuntimeExports.jsx(Ot.SliderUI,{min:c[0],max:c[c.length-1],marks:rt,step:null,defaultValue:c[c.length-1],value:c[B],onChangeComplete:l=>{dt(c.indexOf(l))},onChange:l=>{dt(c.indexOf(l))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,e[45]=B,e[46]=rt,e[47]=q,e[48]=i.enabled,e[49]=c,e[50]=he):he=e[50];let fe;e[51]!==pe||e[52]!==be||e[53]!==u||e[54]!==X||e[55]!==ye||e[56]!==ee||e[57]!==g||e[58]!==lt||e[59]!==a||e[60]!==de||e[61]!==U||e[62]!==it||e[63]!==ue||e[64]!==d||e[65]!==ne||e[66]!==B||e[67]!==ce||e[68]!==Oe||e[69]!==R||e[70]!==L||e[71]!==x?.mapBorderColor||e[72]!==x?.mapBorderWidth||e[73]!==Ne||e[74]!==me||e[75]!==W||e[76]!==r||e[77]!==we||e[78]!==re||e[79]!==pt||e[80]!==ct||e[81]!==J||e[82]!==v||e[83]!==y||e[84]!==ut||e[85]!==le||e[86]!==t||e[87]!==Me||e[88]!==ke||e[89]!==p||e[90]!==Be||e[91]!==Z||e[92]!==N||e[93]!==i.dateFormat||e[94]!==i.enabled||e[95]!==De||e[96]!==c||e[97]!==m||e[98]!==qe||e[99]!==K||e[100]!==j?(fe=o.jsxRuntimeExports.jsx(Dt.GraphArea,{ref:mt,children:Z&&Be&&me?o.jsxRuntimeExports.jsx(Ut,{data:a.filter(l=>i.enabled?`${l.date}`===jt.format(new Date(c[B]),i.dateFormat||"yyyy"):l),mapData:t?me:{...me,features:me.features.filter(ro)},colorDomain:a.filter(oo).length===0?[]:ye||Gt.uniqBy(a,"color",!0),width:Z,height:Be,scale:le,centerPoint:be,colors:a.filter(to).length===0?g?[g]:[D.Colors.primaryColors["blue-600"]]:g||D.Colors[N].categoricalColors.colors,colorLegendTitle:ee,radius:J,overlayMapData:pt,overlayMapBorderColor:x?.mapBorderColor,overlayMapBorderWidth:x?.mapBorderWidth,mapBorderWidth:R,mapNoDataColor:L,mapBorderColor:Oe,tooltip:De,onSeriesMouseOver:re,showLabels:ke,isWorldMap:ce,showColorScale:Me,zoomScaleExtend:K,zoomTranslateExtend:j,onSeriesMouseClick:we,highlightedDataPoints:ne,resetSelectionOnDoubleClick:y,styles:p,classNames:u,zoomInteraction:qe,detailsOnClick:U,mapProjection:Ne||(ce?"naturalEarth":"mercator"),animate:pe===!0?{duration:.5,once:!0,amount:.5}:pe||{duration:0,once:!0,amount:0},dimmedOpacity:it,customLayers:lt,maxRadiusValue:Ft.checkIfNullOrUndefined(W)?Math.max(...a.map(eo).filter(Qt)):W,collapseColorScaleByDefault:X,projectionRotate:ct,rewindCoordinatesInMapData:ut,graphDownload:ue?vt:void 0,dataDownload:de?a.map(Zt).filter(Kt).length>0?a.map(Jt).filter(Yt):a.filter(Xt):null}):o.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(r,d||(v?r?(m||Z)*v>r?(m||Z)*v:r:(m||Z)*v:Be))}px`},className:"flex items-center justify-center",children:o.jsxRuntimeExports.jsx(Mt.Spinner,{"aria-label":"Loading graph"})})}),e[51]=pe,e[52]=be,e[53]=u,e[54]=X,e[55]=ye,e[56]=ee,e[57]=g,e[58]=lt,e[59]=a,e[60]=de,e[61]=U,e[62]=it,e[63]=ue,e[64]=d,e[65]=ne,e[66]=B,e[67]=ce,e[68]=Oe,e[69]=R,e[70]=L,e[71]=x?.mapBorderColor,e[72]=x?.mapBorderWidth,e[73]=Ne,e[74]=me,e[75]=W,e[76]=r,e[77]=we,e[78]=re,e[79]=pt,e[80]=ct,e[81]=J,e[82]=v,e[83]=y,e[84]=ut,e[85]=le,e[86]=t,e[87]=Me,e[88]=ke,e[89]=p,e[90]=Be,e[91]=Z,e[92]=N,e[93]=i.dateFormat,e[94]=i.enabled,e[95]=De,e[96]=c,e[97]=m,e[98]=qe,e[99]=K,e[100]=j,e[101]=fe):fe=e[101];let ge;e[102]!==u?.footnote||e[103]!==u?.source||e[104]!==C||e[105]!==O||e[106]!==p?.footnote||e[107]!==p?.source||e[108]!==m?(ge=O||C?o.jsxRuntimeExports.jsx(Vt.GraphFooter,{styles:{footnote:p?.footnote,source:p?.source},classNames:{footnote:u?.footnote,source:u?.source},sources:O,footNote:C,width:m}):null,e[102]=u?.footnote,e[103]=u?.source,e[104]=C,e[105]=O,e[106]=p?.footnote,e[107]=p?.source,e[108]=m,e[109]=ge):ge=e[109];let at;return e[110]!==G||e[111]!==M||e[112]!==ae||e[113]!==d||e[114]!==h||e[115]!==r||e[116]!==te||e[117]!==v||e[118]!==ft||e[119]!==gt||e[120]!==xe||e[121]!==he||e[122]!==fe||e[123]!==ge||e[124]!==N||e[125]!==m?(at=o.jsxRuntimeExports.jsxs(Dt.GraphContainer,{className:ft,style:gt,id:ae,ref:vt,"aria-label":G,backgroundColor:M,theme:N,language:h,minHeight:r,width:m,height:d,relativeHeight:v,padding:te,children:[xe,he,fe,ge]}),e[110]=G,e[111]=M,e[112]=ae,e[113]=d,e[114]=h,e[115]=r,e[116]=te,e[117]=v,e[118]=ft,e[119]=gt,e[120]=xe,e[121]=he,e[122]=fe,e[123]=ge,e[124]=N,e[125]=m,e[126]=at):at=e[126],at}function Xt(n){return n!==void 0}function Yt(n){return n!==void 0}function Jt(n){return n.data}function Kt(n){return n!==void 0}function Zt(n){return n.data}function Qt(n){return n!=null}function eo(n){return n.radius}function to(n){return n.color}function oo(n){return n.color}function ro(n){return n.properties?.NAME!=="Antarctica"}function ao(n,e){return n-e}function no(n){return n.date}exports.DotDensityMap=Ht;
|
|
2
2
|
//# sourceMappingURL=DotDensityMap.cjs.map
|