@undp/data-viz 2.5.3 → 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 +266 -243
- 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/Colors.cjs +1 -1
- package/dist/Colors.cjs.map +1 -1
- package/dist/Colors.d.ts +16 -0
- package/dist/Colors.js +16 -0
- package/dist/Colors.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 +409 -420
- 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.d.ts +16 -0
- 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/GraphFooter.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./compiler-runtime-oPPev21o.cjs"),m=require("./FootNote.cjs"),p=require("./Source.cjs");function d(x){const e=u.compilerRuntimeExports.c(14),{sources:t,footNote:c,width:f,styles:o,classNames:s}=x;if((t===void 0||(t||[]).length===0)&&c===void 0)return null;const a=f?`${f}px`:"none";let r;e[0]!==a?(r={maxWidth:a},e[0]=a,e[1]=r):r=e[1];let l;e[2]!==s?.source||e[3]!==t||e[4]!==o?.source?(l=t?u.jsxRuntimeExports.jsx(p.Source,{sources:t,style:o?.source,className:s?.source}):null,e[2]=s?.source,e[3]=t,e[4]=o?.source,e[5]=l):l=e[5];let n;e[6]!==s?.footnote||e[7]!==c||e[8]!==o?.footnote?(n=c?u.jsxRuntimeExports.jsx(m.FootNote,{text:c,style:o?.footnote,className:s?.footnote}):null,e[6]=s?.footnote,e[7]=c,e[8]=o?.footnote,e[9]=n):n=e[9];let i;return e[10]!==r||e[11]!==l||e[12]!==n?(i=u.jsxRuntimeExports.jsxs("div",{className:"flex flex-col pt-4",style:r,"aria-label":"Graph footer",children:[l,n]}),e[10]=r,e[11]=l,e[12]=n,e[13]=i):i=e[13],i}exports.GraphFooter=d;
|
|
2
2
|
//# sourceMappingURL=GraphFooter.cjs.map
|
package/dist/GraphFooter.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphFooter.cjs","sources":["../src/Components/Elements/GraphFooter.tsx"],"sourcesContent":["import { SourcesDataType } from '@/Types';\r\nimport { FootNote } from '@/Components/Typography/FootNote';\r\nimport { Source } from '@/Components/Typography/Source';\r\n\r\ninterface Props {\r\n footNote?: string | React.ReactNode;\r\n sources?: SourcesDataType[];\r\n width?: number;\r\n styles?: { footnote?: React.CSSProperties; source?: React.CSSProperties };\r\n classNames?: { footnote?: string; source?: string };\r\n}\r\n\r\nexport function GraphFooter(props: Props) {\r\n const { sources, footNote, width, styles, classNames } = props;\r\n if ((sources === undefined || (sources || []).length === 0) && footNote === undefined)\r\n return null;\r\n return (\r\n <div\r\n className='flex flex-col pt-4'\r\n style={{ maxWidth: width ? `${width}px` : 'none' }}\r\n aria-label='Graph footer'\r\n >\r\n {sources ? (\r\n <Source sources={sources} style={styles?.source} className={classNames?.source} />\r\n ) : null}\r\n {footNote ? (\r\n <FootNote text={footNote} style={styles?.footnote} className={classNames?.footnote} />\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n"],"names":["GraphFooter","props","$","_c","sources","footNote","width","styles","classNames","undefined","length","t0","t1","maxWidth","t2","source","jsx","Source","t3","footnote","FootNote","t4"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphFooter.cjs","sources":["../src/Components/Elements/GraphFooter.tsx"],"sourcesContent":["import { SourcesDataType } from '@/Types';\r\nimport { FootNote } from '@/Components/Typography/FootNote';\r\nimport { Source } from '@/Components/Typography/Source';\r\n\r\ninterface Props {\r\n footNote?: string | React.ReactNode;\r\n sources?: SourcesDataType[];\r\n width?: number;\r\n styles?: { footnote?: React.CSSProperties; source?: React.CSSProperties };\r\n classNames?: { footnote?: string; source?: string };\r\n}\r\n\r\nexport function GraphFooter(props: Props) {\r\n const { sources, footNote, width, styles, classNames } = props;\r\n if ((sources === undefined || (sources || []).length === 0) && footNote === undefined)\r\n return null;\r\n return (\r\n <div\r\n className='flex flex-col pt-4'\r\n style={{ maxWidth: width ? `${width}px` : 'none' }}\r\n aria-label='Graph footer'\r\n >\r\n {sources ? (\r\n <Source sources={sources} style={styles?.source} className={classNames?.source} />\r\n ) : null}\r\n {footNote ? (\r\n <FootNote text={footNote} style={styles?.footnote} className={classNames?.footnote} />\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n"],"names":["GraphFooter","props","$","_c","sources","footNote","width","styles","classNames","undefined","length","t0","t1","maxWidth","t2","source","jsx","Source","t3","footnote","FootNote","t4"],"mappings":"yLAYO,SAAAA,EAAAC,EAAA,CAAA,MAAAC,EAAAC,EAAAA,uBAAAA,EAAA,EAAA,EACL,CAAAC,QAAAA,EAAAC,SAAAA,EAAAC,MAAAA,EAAAC,OAAAA,EAAAC,WAAAA,CAAAA,EAAyDP,EACzD,IAAKG,IAAYK,SAAcL,GAAA,CAAA,GAAaM,SAAa,IAAML,IAAaI,OAAS,OAC5E,KAIc,MAAAE,EAAAL,EAAA,GAAWA,CAAK,KAAhB,OAA6B,IAAAM,EAAAV,OAAAS,GAAzCC,EAAA,CAAAC,SAAYF,CAAAA,EAA+BT,KAAAS,EAAAT,KAAAU,GAAAA,EAAAV,EAAA,CAAA,EAAA,IAAAY,EAAAZ,EAAA,CAAA,IAAAM,GAAAO,QAAAb,EAAA,CAAA,IAAAE,GAAAF,EAAA,CAAA,IAAAK,GAAAQ,QAGjDD,EAAAV,EACCY,EAAAA,kBAAAA,IAACC,EAAAA,OAAA,CAAgBb,QAAAA,EAAgB,MAAAG,GAAMQ,OAAqB,UAAAP,GAAUO,MAAAA,CAAQ,EAD/E,KAEOb,EAAA,CAAA,EAAAM,GAAAO,OAAAb,KAAAE,EAAAF,EAAA,CAAA,EAAAK,GAAAQ,OAAAb,KAAAY,GAAAA,EAAAZ,EAAA,CAAA,EAAA,IAAAgB,EAAAhB,EAAA,CAAA,IAAAM,GAAAW,UAAAjB,EAAA,CAAA,IAAAG,GAAAH,EAAA,CAAA,IAAAK,GAAAY,UACPD,EAAAb,EACCW,EAAAA,kBAAAA,IAACI,EAAAA,SAAA,CAAef,KAAAA,EAAiB,MAAAE,GAAMY,SAAuB,UAAAX,GAAUW,QAAAA,CAAU,EADnF,KAEOjB,EAAA,CAAA,EAAAM,GAAAW,SAAAjB,KAAAG,EAAAH,EAAA,CAAA,EAAAK,GAAAY,SAAAjB,KAAAgB,GAAAA,EAAAhB,EAAA,CAAA,EAAA,IAAAmB,EAAA,OAAAnB,EAAA,EAAA,IAAAU,GAAAV,QAAAY,GAAAZ,EAAA,EAAA,IAAAgB,GAVVG,2BAAA,MAAA,CACY,UAAA,qBACH,MAAAT,EACI,aAAA,eAEVE,SAAAA,CAAAA,EAGAI,CAAAA,EAGH,EAAMhB,MAAAU,EAAAV,MAAAY,EAAAZ,MAAAgB,EAAAhB,MAAAmB,GAAAA,EAAAnB,EAAA,EAAA,EAXNmB,CAWM"}
|
package/dist/GraphFooter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as x, j as a } from "./
|
|
1
|
+
import { c as x, j as a } from "./compiler-runtime-qHgugrLy.js";
|
|
2
2
|
import { FootNote as p } from "./FootNote.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Source as d } from "./Source.js";
|
|
4
4
|
function y(m) {
|
|
5
5
|
const o = x.c(14), {
|
|
6
6
|
sources: e,
|
package/dist/GraphHeader.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./compiler-runtime-oPPev21o.cjs"),g=require("./CsvDownloadButton.cjs"),b=require("./ImageDownloadButton.cjs"),y=require("./GraphDescription.cjs"),R=require("./GraphTitle.cjs");function w(d){const e=t.compilerRuntimeExports.c(22),{graphTitle:p,graphDescription:u,width:D,graphDownload:x,dataDownload:s,isDashboard:h,styles:l,classNames:i}=d,j=`flex gap-2 justify-between pb-4 ${u&&p?"items-start":"items-center"}`,f=D?`${D}px`:"none";let n;e[0]!==f?(n={maxWidth:f},e[0]=f,e[1]=n):n=e[1];let r;e[2]!==i?.title||e[3]!==p||e[4]!==h||e[5]!==l?.title?(r=p?t.jsxRuntimeExports.jsx(R.GraphTitle,{text:p,isDashboard:h,style:l?.title,className:i?.title}):null,e[2]=i?.title,e[3]=p,e[4]=h,e[5]=l?.title,e[6]=r):r=e[6];let o;e[7]!==i?.description||e[8]!==u||e[9]!==l?.description?(o=u?t.jsxRuntimeExports.jsx(y.GraphDescription,{text:u,style:l?.description,className:i?.description}):null,e[7]=i?.description,e[8]=u,e[9]=l?.description,e[10]=o):o=e[10];let a;e[11]!==r||e[12]!==o?(a=t.jsxRuntimeExports.jsxs("div",{className:"flex-col flex gap-1",children:[r,o]}),e[11]=r,e[12]=o,e[13]=a):a=e[13];let c;e[14]!==s||e[15]!==x?(c=x||s?t.jsxRuntimeExports.jsxs("div",{className:"flex gap-3",children:[x?t.jsxRuntimeExports.jsx(b.ImageDownloadButton,{nodeID:x,buttonSmall:!0}):null,s&&s.length>0?t.jsxRuntimeExports.jsx(g.CsvDownloadButton,{csvData:s,buttonSmall:!0,headers:Object.keys(s[0]).map(E)}):null]}):null,e[14]=s,e[15]=x,e[16]=c):c=e[16];let m;return e[17]!==j||e[18]!==n||e[19]!==a||e[20]!==c?(m=t.jsxRuntimeExports.jsxs("div",{className:j,style:n,"aria-label":"Graph header",children:[a,c]}),e[17]=j,e[18]=n,e[19]=a,e[20]=c,e[21]=m):m=e[21],m}function E(d){return{label:d,key:d}}exports.GraphHeader=w;
|
|
2
2
|
//# sourceMappingURL=GraphHeader.cjs.map
|
package/dist/GraphHeader.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphHeader.cjs","sources":["../src/Components/Elements/GraphHeader.tsx"],"sourcesContent":["import { RefObject } from 'react';\r\n\r\nimport { CsvDownloadButton } from '@/Components/Actions/CsvDownloadButton';\r\nimport { ImageDownloadButton } from '@/Components/Actions/ImageDownloadButton';\r\nimport { GraphDescription } from '@/Components/Typography/GraphDescription';\r\nimport { GraphTitle } from '@/Components/Typography/GraphTitle';\r\n\r\ninterface Props {\r\n graphTitle?: string | React.ReactNode;\r\n graphDescription?: string | React.ReactNode;\r\n width?: number;\r\n graphDownload?: RefObject<HTMLDivElement | null>;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dataDownload?: any;\r\n isDashboard?: boolean;\r\n styles?: { title?: React.CSSProperties; description?: React.CSSProperties };\r\n classNames?: { title?: string; description?: string };\r\n}\r\n\r\nexport function GraphHeader(props: Props) {\r\n const {\r\n graphTitle,\r\n graphDescription,\r\n width,\r\n graphDownload,\r\n dataDownload,\r\n isDashboard,\r\n styles,\r\n classNames,\r\n } = props;\r\n return (\r\n <div\r\n className={`flex gap-2 justify-between pb-4 ${\r\n graphDescription && graphTitle ? 'items-start' : 'items-center'\r\n }`}\r\n style={{ maxWidth: width ? `${width}px` : 'none' }}\r\n aria-label='Graph header'\r\n >\r\n <div className='flex-col flex gap-1'>\r\n {graphTitle ? (\r\n <GraphTitle\r\n text={graphTitle}\r\n isDashboard={isDashboard}\r\n style={styles?.title}\r\n className={classNames?.title}\r\n />\r\n ) : null}\r\n {graphDescription ? (\r\n <GraphDescription\r\n text={graphDescription}\r\n style={styles?.description}\r\n className={classNames?.description}\r\n />\r\n ) : null}\r\n </div>\r\n {graphDownload || dataDownload ? (\r\n <div className='flex gap-3'>\r\n {graphDownload ? <ImageDownloadButton nodeID={graphDownload} buttonSmall /> : null}\r\n {dataDownload && dataDownload.length > 0 ? (\r\n <CsvDownloadButton\r\n csvData={dataDownload}\r\n buttonSmall\r\n headers={Object.keys(dataDownload[0]).map(d => ({\r\n label: d,\r\n key: d,\r\n }))}\r\n />\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n"],"names":["GraphHeader","props","$","_c","graphTitle","graphDescription","width","graphDownload","dataDownload","isDashboard","styles","classNames","t0","t1","t2","maxWidth","t3","title","jsx","GraphTitle","t4","description","GraphDescription","t5","jsxs","t6","ImageDownloadButton","length","CsvDownloadButton","Object","keys","map","_temp","t7","d","label","key"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphHeader.cjs","sources":["../src/Components/Elements/GraphHeader.tsx"],"sourcesContent":["import { RefObject } from 'react';\r\n\r\nimport { CsvDownloadButton } from '@/Components/Actions/CsvDownloadButton';\r\nimport { ImageDownloadButton } from '@/Components/Actions/ImageDownloadButton';\r\nimport { GraphDescription } from '@/Components/Typography/GraphDescription';\r\nimport { GraphTitle } from '@/Components/Typography/GraphTitle';\r\n\r\ninterface Props {\r\n graphTitle?: string | React.ReactNode;\r\n graphDescription?: string | React.ReactNode;\r\n width?: number;\r\n graphDownload?: RefObject<HTMLDivElement | null>;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n dataDownload?: any;\r\n isDashboard?: boolean;\r\n styles?: { title?: React.CSSProperties; description?: React.CSSProperties };\r\n classNames?: { title?: string; description?: string };\r\n}\r\n\r\nexport function GraphHeader(props: Props) {\r\n const {\r\n graphTitle,\r\n graphDescription,\r\n width,\r\n graphDownload,\r\n dataDownload,\r\n isDashboard,\r\n styles,\r\n classNames,\r\n } = props;\r\n return (\r\n <div\r\n className={`flex gap-2 justify-between pb-4 ${\r\n graphDescription && graphTitle ? 'items-start' : 'items-center'\r\n }`}\r\n style={{ maxWidth: width ? `${width}px` : 'none' }}\r\n aria-label='Graph header'\r\n >\r\n <div className='flex-col flex gap-1'>\r\n {graphTitle ? (\r\n <GraphTitle\r\n text={graphTitle}\r\n isDashboard={isDashboard}\r\n style={styles?.title}\r\n className={classNames?.title}\r\n />\r\n ) : null}\r\n {graphDescription ? (\r\n <GraphDescription\r\n text={graphDescription}\r\n style={styles?.description}\r\n className={classNames?.description}\r\n />\r\n ) : null}\r\n </div>\r\n {graphDownload || dataDownload ? (\r\n <div className='flex gap-3'>\r\n {graphDownload ? <ImageDownloadButton nodeID={graphDownload} buttonSmall /> : null}\r\n {dataDownload && dataDownload.length > 0 ? (\r\n <CsvDownloadButton\r\n csvData={dataDownload}\r\n buttonSmall\r\n headers={Object.keys(dataDownload[0]).map(d => ({\r\n label: d,\r\n key: d,\r\n }))}\r\n />\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n"],"names":["GraphHeader","props","$","_c","graphTitle","graphDescription","width","graphDownload","dataDownload","isDashboard","styles","classNames","t0","t1","t2","maxWidth","t3","title","jsx","GraphTitle","t4","description","GraphDescription","t5","jsxs","t6","ImageDownloadButton","length","CsvDownloadButton","Object","keys","map","_temp","t7","d","label","key"],"mappings":"iRAmBO,SAAAA,EAAAC,EAAA,CAAA,MAAAC,EAAAC,EAAAA,uBAAAA,EAAA,EAAA,EACL,CAAAC,WAAAA,EAAAC,iBAAAA,EAAAC,MAAAA,EAAAC,cAAAA,EAAAC,aAAAA,EAAAC,YAAAA,EAAAC,OAAAA,EAAAC,WAAAA,CAAAA,EASIV,EAGWW,qCACTP,GAAAD,EAAA,cAAA,cAA+D,GAE9CS,EAAAP,EAAA,GAAWA,CAAK,KAAhB,OAA6B,IAAAQ,EAAAZ,OAAAW,GAAzCC,EAAA,CAAAC,SAAYF,CAAAA,EAA+BX,KAAAW,EAAAX,KAAAY,GAAAA,EAAAZ,EAAA,CAAA,EAAA,IAAAc,EAAAd,EAAA,CAAA,IAAAS,GAAAM,OAAAf,EAAA,CAAA,IAAAE,GAAAF,OAAAO,GAAAP,EAAA,CAAA,IAAAQ,GAAAO,OAI/CD,EAAAZ,EACCc,EAAAA,kBAAAA,IAACC,EAAAA,WAAA,CACOf,KAAAA,EACOK,YAAAA,EACN,MAAAC,GAAMO,MACF,UAAAN,GAAUM,KAAAA,CAAO,EAL/B,KAOOf,EAAA,CAAA,EAAAS,GAAAM,MAAAf,KAAAE,EAAAF,KAAAO,EAAAP,EAAA,CAAA,EAAAQ,GAAAO,MAAAf,KAAAc,GAAAA,EAAAd,EAAA,CAAA,EAAA,IAAAkB,EAAAlB,EAAA,CAAA,IAAAS,GAAAU,aAAAnB,EAAA,CAAA,IAAAG,GAAAH,EAAA,CAAA,IAAAQ,GAAAW,aACPD,EAAAf,EACCa,EAAAA,kBAAAA,IAACI,EAAAA,iBAAA,CACOjB,KAAAA,EACC,MAAAK,GAAMW,YACF,UAAAV,GAAUU,WAAAA,CAAa,EAJrC,KAMOnB,EAAA,CAAA,EAAAS,GAAAU,YAAAnB,KAAAG,EAAAH,EAAA,CAAA,EAAAQ,GAAAW,YAAAnB,MAAAkB,GAAAA,EAAAlB,EAAA,EAAA,EAAA,IAAAqB,EAAArB,EAAA,EAAA,IAAAc,GAAAd,QAAAkB,GAfVG,EAAAC,EAAAA,kBAAAA,KAAA,MAAA,CAAe,UAAA,sBACZR,SAAAA,CAAAA,EAQAI,CAAAA,EAOH,EAAMlB,MAAAc,EAAAd,MAAAkB,EAAAlB,MAAAqB,GAAAA,EAAArB,EAAA,EAAA,EAAA,IAAAuB,EAAAvB,EAAA,EAAA,IAAAM,GAAAN,QAAAK,GACLkB,EAAAlB,GAAAC,EACCgB,EAAAA,kBAAAA,KAAA,MAAA,CAAe,UAAA,aACZjB,SAAAA,CAAAA,0BAAiBmB,EAAAA,oBAAA,CAA4BnB,SAAe,eAAW,EAAvE,KACAC,GAAgBA,EAAYmB,OAAU,0BACpCC,oBAAA,CACUpB,UACT,eACS,QAAAqB,OAAMC,KAAMtB,EAAY,CAAA,CAAG,EAACuB,IAAKC,CAGxC,EAAC,EAPN,IAAA,CAAA,CAUH,EAbD,KAcO9B,MAAAM,EAAAN,MAAAK,EAAAL,MAAAuB,GAAAA,EAAAvB,EAAA,EAAA,EAAA,IAAA+B,EAAA,OAAA/B,EAAA,EAAA,IAAAU,GAAAV,EAAA,EAAA,IAAAY,GAAAZ,EAAA,EAAA,IAAAqB,GAAArB,QAAAuB,GAtCVQ,2BAAA,MAAA,CACa,UAAArB,EAGJ,MAAAE,EACI,aAAA,eAEXS,SAAAA,CAAAA,EAiBCE,CAAAA,EAeH,EAAMvB,MAAAU,EAAAV,MAAAY,EAAAZ,MAAAqB,EAAArB,MAAAuB,EAAAvB,MAAA+B,GAAAA,EAAA/B,EAAA,EAAA,EAvCN+B,CAuCM,CAnDH,SAAAD,EAAAE,EAAA,CAAA,MA2CuD,CAAAC,MACvCD,EAACE,IACHF,CAAAA,CACN"}
|
package/dist/GraphHeader.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as b, j as l } from "./
|
|
1
|
+
import { c as b, j as l } from "./compiler-runtime-qHgugrLy.js";
|
|
2
2
|
import { CsvDownloadButton as g } from "./CsvDownloadButton.js";
|
|
3
3
|
import { ImageDownloadButton as y } from "./ImageDownloadButton.js";
|
|
4
4
|
import { GraphDescription as w } from "./GraphDescription.js";
|
package/dist/GraphTitle.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./compiler-runtime-oPPev21o.cjs"),c=require("@undp/design-system-react/cn"),m=require("@undp/design-system-react/Typography"),x=require("react");function d(p){const e=o.compilerRuntimeExports.c(16),{text:t,isDashboard:u,style:i,className:l}=p;if(typeof t=="string"){if(t.trim()==="")return null;if(u){let a;e[0]!==l?(a=c.cn("font-bold pb-3 text-primary-black dark:text-primary-gray-100",l),e[0]=l,e[1]=a):a=e[1];let s;return e[2]!==i||e[3]!==a||e[4]!==t?(s=o.jsxRuntimeExports.jsx(m.H5,{marginBottom:"base",className:a,"aria-label":"Dashboard title",style:i,children:t}),e[2]=i,e[3]=a,e[4]=t,e[5]=s):s=e[5],s}let r;e[6]!==l?(r=c.cn("text-primary-black dark:text-primary-gray-100",l),e[6]=l,e[7]=r):r=e[7];let n;return e[8]!==i||e[9]!==r||e[10]!==t?(n=o.jsxRuntimeExports.jsx(m.P,{marginBottom:"none",className:r,"aria-label":"Graph title",style:i,children:t}),e[8]=i,e[9]=r,e[10]=t,e[11]=n):n=e[11],n}if(x.isValidElement(t)){let r;return e[12]!==l||e[13]!==i||e[14]!==t?(r=o.jsxRuntimeExports.jsx("div",{className:l,style:i,children:t}),e[12]=l,e[13]=i,e[14]=t,e[15]=r):r=e[15],r}return console.error("GraphTitle: Invalid text type. Expected string or React element."),null}exports.GraphTitle=d;
|
|
2
2
|
//# sourceMappingURL=GraphTitle.cjs.map
|
package/dist/GraphTitle.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphTitle.cjs","sources":["../src/Components/Typography/GraphTitle.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\r\nimport { H5, P } from '@undp/design-system-react/Typography';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n text: string | React.ReactNode;\r\n isDashboard?: boolean;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n}\r\n\r\nexport function GraphTitle(props: Props) {\r\n const { text, isDashboard, style, className } = props;\r\n if (typeof text === 'string') {\r\n if (text.trim() === '') return null;\r\n if (isDashboard)\r\n return (\r\n <H5\r\n marginBottom='base'\r\n className={cn('font-bold pb-3 text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Dashboard title'\r\n style={style}\r\n >\r\n {text}\r\n </H5>\r\n );\r\n return (\r\n <P\r\n marginBottom='none'\r\n className={cn('text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Graph title'\r\n style={style}\r\n >\r\n {text}\r\n </P>\r\n );\r\n }\r\n if (React.isValidElement(text))\r\n return (\r\n <div className={className} style={style}>\r\n {text}\r\n </div>\r\n );\r\n console.error('GraphTitle: Invalid text type. Expected string or React element.');\r\n return null;\r\n}\r\n"],"names":["GraphTitle","props","$","_c","text","isDashboard","style","className","trim","t0","cn","t1","jsx","H5","P","React","isValidElement","console","error"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphTitle.cjs","sources":["../src/Components/Typography/GraphTitle.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\r\nimport { H5, P } from '@undp/design-system-react/Typography';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n text: string | React.ReactNode;\r\n isDashboard?: boolean;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n}\r\n\r\nexport function GraphTitle(props: Props) {\r\n const { text, isDashboard, style, className } = props;\r\n if (typeof text === 'string') {\r\n if (text.trim() === '') return null;\r\n if (isDashboard)\r\n return (\r\n <H5\r\n marginBottom='base'\r\n className={cn('font-bold pb-3 text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Dashboard title'\r\n style={style}\r\n >\r\n {text}\r\n </H5>\r\n );\r\n return (\r\n <P\r\n marginBottom='none'\r\n className={cn('text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Graph title'\r\n style={style}\r\n >\r\n {text}\r\n </P>\r\n );\r\n }\r\n if (React.isValidElement(text))\r\n return (\r\n <div className={className} style={style}>\r\n {text}\r\n </div>\r\n );\r\n console.error('GraphTitle: Invalid text type. Expected string or React element.');\r\n return null;\r\n}\r\n"],"names":["GraphTitle","props","$","_c","text","isDashboard","style","className","trim","t0","cn","t1","jsx","H5","P","React","isValidElement","console","error"],"mappings":"kPAWO,SAAAA,EAAAC,EAAA,CAAA,MAAAC,EAAAC,EAAAA,uBAAAA,EAAA,EAAA,EACL,CAAAC,KAAAA,EAAAC,YAAAA,EAAAC,MAAAA,EAAAC,UAAAA,CAAAA,EAAgDN,EAChD,GAAI,OAAOG,GAAS,SAAQ,CAC1B,GAAIA,EAAII,KAAAA,IAAY,GAAE,OAAS,KAC/B,GAAIH,EAAW,CAAA,IAAAI,EAAAP,OAAAK,GAIEE,EAAAC,EAAAA,GAAG,+DAAgEH,CAAS,EAACL,KAAAK,EAAAL,KAAAO,GAAAA,EAAAP,EAAA,CAAA,EAAA,IAAAS,EAAA,OAAAT,EAAA,CAAA,IAAAI,GAAAJ,OAAAO,GAAAP,EAAA,CAAA,IAAAE,GAF1FO,EAAAC,EAAAA,kBAAAA,IAACC,EAAAA,GAAA,CACc,aAAA,OACF,UAAAJ,EACA,aAAA,kBACJH,MAAAA,EAENF,SAAAA,CAAAA,CACH,EAAKF,KAAAI,EAAAJ,KAAAO,EAAAP,KAAAE,EAAAF,KAAAS,GAAAA,EAAAT,EAAA,CAAA,EAPLS,CAOK,CACL,IAAAF,EAAAP,OAAAK,GAIWE,EAAAC,EAAAA,GAAG,gDAAiDH,CAAS,EAACL,KAAAK,EAAAL,KAAAO,GAAAA,EAAAP,EAAA,CAAA,EAAA,IAAAS,EAAA,OAAAT,EAAA,CAAA,IAAAI,GAAAJ,OAAAO,GAAAP,EAAA,EAAA,IAAAE,GAF3EO,EAAAC,EAAAA,kBAAAA,IAACE,EAAAA,GACc,aAAA,OACF,UAAAL,EACA,aAAA,cACJH,MAAAA,EAENF,SAAAA,CAAAA,CACH,EAAIF,KAAAI,EAAAJ,KAAAO,EAAAP,MAAAE,EAAAF,MAAAS,GAAAA,EAAAT,EAAA,EAAA,EAPJS,CAOI,CAGR,GAAII,EAAKC,eAAgBZ,CAAI,EAAC,CAAA,IAAAK,EAAA,OAAAP,EAAA,EAAA,IAAAK,GAAAL,QAAAI,GAAAJ,EAAA,EAAA,IAAAE,GAE1BK,EAAAG,EAAAA,kBAAAA,IAAA,MAAA,CAAgBL,UAAAA,EAAkBD,MAAAA,EAC/BF,SAAAA,EACH,EAAMF,MAAAK,EAAAL,MAAAI,EAAAJ,MAAAE,EAAAF,MAAAO,GAAAA,EAAAP,EAAA,EAAA,EAFNO,CAEM,CAEVQ,eAAOC,MAAO,kEAAkE,EACzE,IAAI"}
|
package/dist/GraphTitle.js
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import { c as f,
|
|
2
|
-
import {
|
|
1
|
+
import { c as f, j as n } from "./compiler-runtime-qHgugrLy.js";
|
|
2
|
+
import { cn as m } from "@undp/design-system-react/cn";
|
|
3
|
+
import { H5 as x, P as d } from "@undp/design-system-react/Typography";
|
|
3
4
|
import u from "react";
|
|
4
|
-
function
|
|
5
|
+
function j(c) {
|
|
5
6
|
const t = f.c(16), {
|
|
6
7
|
text: e,
|
|
7
|
-
isDashboard:
|
|
8
|
-
style:
|
|
8
|
+
isDashboard: p,
|
|
9
|
+
style: i,
|
|
9
10
|
className: a
|
|
10
|
-
} =
|
|
11
|
+
} = c;
|
|
11
12
|
if (typeof e == "string") {
|
|
12
13
|
if (e.trim() === "")
|
|
13
14
|
return null;
|
|
14
|
-
if (
|
|
15
|
-
let
|
|
16
|
-
t[0] !== a ? (
|
|
15
|
+
if (p) {
|
|
16
|
+
let l;
|
|
17
|
+
t[0] !== a ? (l = m("font-bold pb-3 text-primary-black dark:text-primary-gray-100", a), t[0] = a, t[1] = l) : l = t[1];
|
|
17
18
|
let o;
|
|
18
|
-
return t[2] !==
|
|
19
|
+
return t[2] !== i || t[3] !== l || t[4] !== e ? (o = /* @__PURE__ */ n.jsx(x, { marginBottom: "base", className: l, "aria-label": "Dashboard title", style: i, children: e }), t[2] = i, t[3] = l, t[4] = e, t[5] = o) : o = t[5], o;
|
|
19
20
|
}
|
|
20
21
|
let r;
|
|
21
22
|
t[6] !== a ? (r = m("text-primary-black dark:text-primary-gray-100", a), t[6] = a, t[7] = r) : r = t[7];
|
|
22
23
|
let s;
|
|
23
|
-
return t[8] !==
|
|
24
|
+
return t[8] !== i || t[9] !== r || t[10] !== e ? (s = /* @__PURE__ */ n.jsx(d, { marginBottom: "none", className: r, "aria-label": "Graph title", style: i, children: e }), t[8] = i, t[9] = r, t[10] = e, t[11] = s) : s = t[11], s;
|
|
24
25
|
}
|
|
25
26
|
if (u.isValidElement(e)) {
|
|
26
27
|
let r;
|
|
27
|
-
return t[12] !== a || t[13] !==
|
|
28
|
+
return t[12] !== a || t[13] !== i || t[14] !== e ? (r = /* @__PURE__ */ n.jsx("div", { className: a, style: i, children: e }), t[12] = a, t[13] = i, t[14] = e, t[15] = r) : r = t[15], r;
|
|
28
29
|
}
|
|
29
30
|
return console.error("GraphTitle: Invalid text type. Expected string or React element."), null;
|
|
30
31
|
}
|
|
31
32
|
export {
|
|
32
|
-
|
|
33
|
+
j as GraphTitle
|
|
33
34
|
};
|
|
34
35
|
//# sourceMappingURL=GraphTitle.js.map
|
package/dist/GraphTitle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphTitle.js","sources":["../src/Components/Typography/GraphTitle.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\r\nimport { H5, P } from '@undp/design-system-react/Typography';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n text: string | React.ReactNode;\r\n isDashboard?: boolean;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n}\r\n\r\nexport function GraphTitle(props: Props) {\r\n const { text, isDashboard, style, className } = props;\r\n if (typeof text === 'string') {\r\n if (text.trim() === '') return null;\r\n if (isDashboard)\r\n return (\r\n <H5\r\n marginBottom='base'\r\n className={cn('font-bold pb-3 text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Dashboard title'\r\n style={style}\r\n >\r\n {text}\r\n </H5>\r\n );\r\n return (\r\n <P\r\n marginBottom='none'\r\n className={cn('text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Graph title'\r\n style={style}\r\n >\r\n {text}\r\n </P>\r\n );\r\n }\r\n if (React.isValidElement(text))\r\n return (\r\n <div className={className} style={style}>\r\n {text}\r\n </div>\r\n );\r\n console.error('GraphTitle: Invalid text type. Expected string or React element.');\r\n return null;\r\n}\r\n"],"names":["GraphTitle","props","$","_c","text","isDashboard","style","className","trim","t0","cn","t1","jsx","H5","P","React","isValidElement","console","error"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphTitle.js","sources":["../src/Components/Typography/GraphTitle.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\r\nimport { H5, P } from '@undp/design-system-react/Typography';\r\nimport React from 'react';\r\n\r\ninterface Props {\r\n text: string | React.ReactNode;\r\n isDashboard?: boolean;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n}\r\n\r\nexport function GraphTitle(props: Props) {\r\n const { text, isDashboard, style, className } = props;\r\n if (typeof text === 'string') {\r\n if (text.trim() === '') return null;\r\n if (isDashboard)\r\n return (\r\n <H5\r\n marginBottom='base'\r\n className={cn('font-bold pb-3 text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Dashboard title'\r\n style={style}\r\n >\r\n {text}\r\n </H5>\r\n );\r\n return (\r\n <P\r\n marginBottom='none'\r\n className={cn('text-primary-black dark:text-primary-gray-100', className)}\r\n aria-label='Graph title'\r\n style={style}\r\n >\r\n {text}\r\n </P>\r\n );\r\n }\r\n if (React.isValidElement(text))\r\n return (\r\n <div className={className} style={style}>\r\n {text}\r\n </div>\r\n );\r\n console.error('GraphTitle: Invalid text type. Expected string or React element.');\r\n return null;\r\n}\r\n"],"names":["GraphTitle","props","$","_c","text","isDashboard","style","className","trim","t0","cn","t1","jsx","H5","P","React","isValidElement","console","error"],"mappings":";;;;AAWO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GACL;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAgDN;AAChD,MAAI,OAAOG,KAAS,UAAQ;AAC1B,QAAIA,EAAII,KAAAA,MAAY;AAAE,aAAS;AAC/B,QAAIH,GAAW;AAAA,UAAAI;AAAA,MAAAP,SAAAK,KAIEE,IAAAC,EAAG,gEAAgEH,CAAS,GAACL,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,UAAAS;AAAA,aAAAT,EAAA,CAAA,MAAAI,KAAAJ,SAAAO,KAAAP,EAAA,CAAA,MAAAE,KAF1FO,IAAAC,gBAAAA,EAAAA,IAACC,GAAA,EACc,cAAA,QACF,WAAAJ,GACA,cAAA,mBACJH,OAAAA,GAENF,UAAAA,EAAAA,CACH,GAAKF,OAAAI,GAAAJ,OAAAO,GAAAP,OAAAE,GAAAF,OAAAS,KAAAA,IAAAT,EAAA,CAAA,GAPLS;AAAAA,IAOK;AACL,QAAAF;AAAA,IAAAP,SAAAK,KAIWE,IAAAC,EAAG,iDAAiDH,CAAS,GAACL,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,QAAAS;AAAA,WAAAT,EAAA,CAAA,MAAAI,KAAAJ,SAAAO,KAAAP,EAAA,EAAA,MAAAE,KAF3EO,IAAAC,gBAAAA,EAAAA,IAACE,KACc,cAAA,QACF,WAAAL,GACA,cAAA,eACJH,OAAAA,GAENF,UAAAA,EAAAA,CACH,GAAIF,OAAAI,GAAAJ,OAAAO,GAAAP,QAAAE,GAAAF,QAAAS,KAAAA,IAAAT,EAAA,EAAA,GAPJS;AAAAA,EAOI;AAGR,MAAII,EAAKC,eAAgBZ,CAAI,GAAC;AAAA,QAAAK;AAAA,WAAAP,EAAA,EAAA,MAAAK,KAAAL,UAAAI,KAAAJ,EAAA,EAAA,MAAAE,KAE1BK,IAAAG,gBAAAA,EAAAA,IAAA,OAAA,EAAgBL,WAAAA,GAAkBD,OAAAA,GAC/BF,UAAAA,GACH,GAAMF,QAAAK,GAAAL,QAAAI,GAAAJ,QAAAE,GAAAF,QAAAO,KAAAA,IAAAP,EAAA,EAAA,GAFNO;AAAAA,EAEM;AAEVQ,iBAAOC,MAAO,kEAAkE,GACzE;AAAI;"}
|
package/dist/GriddedGraphs.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-CHPV5EwG-D4pAp7u0.cjs"),i=require("react"),ae=require("./index-CyZ1lmi_.cjs"),G=require("./index-BS2TADPj.cjs"),u=require("./checkIfMultiple-CH5tqj4q.cjs"),te=require("./Spinner-WHzzloYQ.cjs"),m=require("./DropdownSelect-CX1yMemd.cjs"),le=require("./GraphContainer-Cul9b74X.cjs"),oe=require("./GraphEl-BgkDbq50.cjs"),S=require("./fetchAndParseData-QTF6tjij.cjs"),re=require("./Colors.cjs"),H=require("./transformDataForAggregation-BFdha9Dx.cjs"),W=require("./getUniqValue-NX8DgwND.cjs"),ne=require("./GraphHeader.cjs"),ie=require("./GraphFooter.cjs"),z=require("./filterData-T5DQBE9b.cjs"),se=require("./ColorLegend.cjs"),ue=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),B=require("./transformDataForSelect-YmStusCI.cjs");function ce(J){const{graphSettings:t,dataSettings:n,filters:T,graphType:$,dataTransform:D,graphDataConfiguration:s,noOfColumns:y,columnGridBy:E,dataFilters:q,showCommonColorScale:A,minGraphHeight:K,minGraphWidth:F,debugMode:w,dataSelectionOptions:O,advancedDataSelectionOptions:k,readableHeader:Q,noOfFiltersPerRow:f=4,uiMode:d="normal",theme:X="light"}=J,[v,Y]=i.useState(void 0),[g,Z]=i.useState(void 0),[b,_]=i.useState([]),M=i.useRef(null),[x,C]=i.useState(s),[j,L]=i.useState([]),[h,R]=i.useState({}),N=i.useMemo(()=>({ignoreCase:!0,ignoreAccents:!0,trim:!0}),[]),P=i.useMemo(()=>!g||j.length===0?g:g.filter(r=>j.every(a=>a.value&&G.flattenDeep([a.value]).length>0?ae.intersection(G.flattenDeep([r[a.filter]]),G.flattenDeep([a.value]).map(l=>l.value)).length>0:!0)),[j,g]);i.useEffect(()=>{Y(P)},[P]);const U=i.useEffectEvent(()=>{const e=(T||[]).map(r=>({filter:r.column,label:r.label||`Filter by ${r.column}`,singleSelect:r.singleSelect,clearable:r.clearable,ui:r.ui,defaultValue:B.transformDefaultValue(r.defaultValue),value:B.transformDefaultValue(r.defaultValue),availableValues:W.getUniqValue(g,r.column).filter(a=>!r.excludeValues?.includes(`${a}`)).map(a=>({value:a,label:a})),allowSelectAll:r.allowSelectAll,width:r.width}));L(e)});i.useEffect(()=>{(async()=>{try{const r=n.dataURL?typeof n.dataURL=="string"?n.fileType==="json"?await S.fetchAndParseJSON(n.dataURL,n.columnsToArray,n.dataTransformation,w):n.fileType==="api"?await S.fetchAndTransformDataFromAPI(n.dataURL,n.apiHeaders,n.columnsToArray,n.dataTransformation,w):await S.fetchAndParseCSV(n.dataURL,n.dataTransformation,n.columnsToArray,w,n.delimiter,!0):await S.fetchAndParseMultipleDataSources(n.dataURL,n.idColumnTitle):await S.transformColumnsToArray(n.data,n.columnsToArray);Z(r)}catch(r){console.error("Data fetching error:",r)}})(),U()},[n,w]),i.useEffect(()=>{U()},[T,g]);const ee=i.useEffectEvent(()=>{const e=W.getUniqValue(g,E);_(e)});i.useEffect(()=>{ee()},[E,g]),i.useEffect(()=>{C(s)},[s]);const I=i.useCallback((e,r)=>{L(a=>a.map(l=>l.filter===e?{...l,value:r}:l))},[]);return o.jsxRuntimeExports.jsxs(le.GraphContainer,{className:t?.classNames?.graphContainer,style:t?.styles?.graphContainer,id:t?.graphID,ref:M,"aria-label":t?.ariaLabel||"This is a gridded graph",backgroundColor:t?.backgroundColor??!1,theme:t?.theme||"light",language:t?.language||"en",width:t?.width,height:t?.height,padding:t?.padding,children:[h?.graphTitle||h?.graphDescription||t?.graphTitle||t?.graphDescription||t?.graphDownload||t?.dataDownload?o.jsxRuntimeExports.jsx(ne.GraphHeader,{styles:{title:h?.styles?.title||t?.styles?.title,description:h?.styles?.description||t?.styles?.description},classNames:{title:h?.classNames?.title||t?.classNames?.title,description:h?.classNames?.description||t?.classNames?.description},graphTitle:h?.graphTitle||t?.graphTitle,graphDescription:h?.graphDescription||t?.graphDescription,width:h?.width||t?.width,graphDownload:t?.graphDownload?M:void 0,dataDownload:t?.dataDownload&&v&&v.length>0?v:null}):null,v&&b.length>0?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[j.length!==0||(O||[]).length!==0||(k||[]).length!==0?o.jsxRuntimeExports.jsxs("div",{className:"flex flex-wrap items-start gap-x-4 gap-y-0 w-full",children:[k?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/f}% - ${(f-1)/f}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(u.b,{className:"mb-2",children:e.label||"Graph by"}),e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.ja,{options:e.options.map(a=>({...a,value:a.label})),isClearable:!1,isSearchable:!0,variant:d,controlShouldRenderValue:!0,defaultValue:e.defaultValue?{...e.defaultValue,value:e.defaultValue?.label}:{...e.options[0],value:e.options[0].label},onChange:a=>{R(a?.graphSettings||{}),C(a?.dataConfiguration)}}):o.jsxRuntimeExports.jsx(u.ye,{defaultValue:e.defaultValue?.label||e.options[0].label,variant:d,onValueChange:a=>{const l=e.options[e.options.findIndex(p=>p.label===a)];R(l.graphSettings||{}),C(l.dataConfiguration)},children:e.options.map((a,l)=>o.jsxRuntimeExports.jsx(u.he,{label:a.label,value:a.label},l))})]},r)),O?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/f}% - ${(f-1)/f}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(u.b,{className:"mb-2",children:e.label||`Visualize ${e.chartConfigId} by`}),u.checkIfMultiple(e.chartConfigId,x||[])?e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.ja,{options:e.allowedColumnIds,isMulti:!0,variant:d,isSearchable:!0,controlShouldRenderValue:!0,defaultValue:s?s[s.findIndex(a=>a.chartConfigId===e.chartConfigId)].columnId.map(a=>e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===a)]):void 0,filterOption:m.Du(N),onChange:a=>{const l={columnId:a.map(c=>c.value),chartConfigId:e.chartConfigId},p=x?.map(c=>c.chartConfigId===l.chartConfigId?l:c);C(p)},isRtl:t?.language==="ar"||t?.language==="he"}):o.jsxRuntimeExports.jsx(u.$,{variant:d,defaultValue:s?s[s.findIndex(a=>a.chartConfigId===e.chartConfigId)].columnId.map(a=>e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===a)]).map(a=>a.value):[],onValueChange:a=>{const l={columnId:a||[],chartConfigId:e.chartConfigId},p=x?.map(c=>c.chartConfigId===l.chartConfigId?l:c);C(p)},children:e.allowedColumnIds.map((a,l)=>o.jsxRuntimeExports.jsx(u.P,{label:a.label,value:a.label},l))}):e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.ja,{options:e.allowedColumnIds,isClearable:!1,isSearchable:!0,variant:d,defaultValue:s?e.allowedColumnIds[e.allowedColumnIds.findIndex(a=>a.value===s[s.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId)]:void 0,controlShouldRenderValue:!0,onChange:a=>{const l={columnId:a?.value,chartConfigId:e.chartConfigId},p=x?.map(c=>c.chartConfigId===l.chartConfigId?l:c);R(a?.graphSettings||{}),C(p)}}):o.jsxRuntimeExports.jsx(u.ye,{variant:d,defaultValue:s?e.allowedColumnIds[e.allowedColumnIds.findIndex(a=>a.value===s[s.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId)].label:"",onValueChange:a=>{const l=e.allowedColumnIds[e.allowedColumnIds.findIndex(V=>V.label===a)],p={columnId:l.value,chartConfigId:e.chartConfigId},c=x?.map(V=>V.chartConfigId===p.chartConfigId?p:V);R(l.graphSettings||{}),C(c)},children:e.allowedColumnIds.map((a,l)=>o.jsxRuntimeExports.jsx(u.he,{label:a.label,value:a.label},l))})]},r)),j?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/f}% - ${(f-1)/f}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,flexWrap:"wrap"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(u.b,{className:"mb-2",children:e.label}),e.singleSelect?e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.ja,{options:e.availableValues,variant:d,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:m.Du(N),onChange:a=>{I(e.filter,a)},value:e.value,defaultValue:e.defaultValue}):o.jsxRuntimeExports.jsx(u.ye,{variant:d,defaultValue:e.defaultValue.value,onValueChange:a=>{I(e.filter,e.availableValues.filter(l=>l.value===a))},children:e.availableValues.map((a,l)=>o.jsxRuntimeExports.jsx(u.he,{label:`${a.label}`,value:`${a.value}`},l))}):o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.ja,{options:e.availableValues,variant:d,size:"sm",isMulti:!0,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:m.Du(N),onChange:a=>{I(e.filter,a)},value:e.value,defaultValue:e.defaultValue}):o.jsxRuntimeExports.jsx(u.$,{variant:d,defaultValue:e.defaultValue?e.defaultValue.map(a=>`${a.value}`):[],value:e.value?e.value.map(a=>`${a.value}`):void 0,onValueChange:a=>{I(e.filter,e.availableValues.filter(l=>a.indexOf(`${l.value}`)!==-1))},children:e.availableValues.map((a,l)=>o.jsxRuntimeExports.jsx(u.P,{label:`${a.label}`,value:`${a.value}`},l))}),e.allowSelectAll?o.jsxRuntimeExports.jsx("button",{type:"button",className:"bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400",onClick:()=>{I(e.filter,e.availableValues)},children:"Select all options"}):null]})]},r))]}):null,A!==!1&&t?.showColorScale!==!1?o.jsxRuntimeExports.jsx(se.ColorLegend,{width:t?.width,colorLegendTitle:t?.colorLegendTitle,colors:t?.colors||t?.lineColors||re.Colors[t?.theme||"light"].categoricalColors.colors,colorDomain:t?.colorDomain||t?.labels||[],showNAColor:t?.showNAColor===void 0||t?.showNAColor===null?!0:t?.showNAColor}):null,o.jsxRuntimeExports.jsx("div",{className:`flex flex-wrap gap-4 justify-center ${t?.language==="ar"||t?.language==="he"?"flex-row-reverse":"flex-row"}`,children:b.map((e,r)=>o.jsxRuntimeExports.jsx("div",{style:{width:`calc(${100/(y||Math.min(4,b.length||0))}% - ${((y||Math.min(4,b.length||0))-1)/(y||Math.min(4,b.length||0))}rem)`,minWidth:ue.checkIfNullOrUndefined(F)?"280px":`${F}px`},children:o.jsxRuntimeExports.jsx(oe.GraphEl,{graph:$,graphDataConfiguration:x,graphData:H.transformDataForGraph(D?H.transformDataForAggregation(z.filterData(v,q||[]).filter(a=>a[E]===e),D.keyColumn,D.aggregationColumnsSetting):z.filterData(v,q||[]).filter(a=>a[E]===e),$,x)||[],debugMode:w,settings:{...t||{},...h,theme:t?.theme||X,width:void 0,height:void 0,relativeHeight:t?.relativeHeight||.67,minHeight:K,graphTitle:`${e}`,graphDescription:void 0,graphDownload:!1,dataDownload:!1,backgroundColor:void 0,padding:"0",footNote:void 0,sources:void 0,showColorScale:t?.showColorScale===!1?!1:A===!1},readableHeader:Q||[]})},r))})]}):o.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:o.jsxRuntimeExports.jsx(te.w,{})}),t?.sources||t?.footNote?o.jsxRuntimeExports.jsx(ie.GraphFooter,{styles:{footnote:t?.styles?.footnote,source:t?.styles?.source},classNames:{footnote:t?.classNames?.footnote,source:t?.classNames?.source},sources:t?.sources,footNote:t?.footNote,width:t?.width}):null]})}exports.GriddedGraphs=ce;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./compiler-runtime-oPPev21o.cjs"),i=require("react"),le=require("./index-CyZ1lmi_.cjs"),q=require("./index-BS2TADPj.cjs"),V=require("@undp/design-system-react/CheckboxGroup"),oe=require("@undp/design-system-react/Spinner"),v=require("@undp/design-system-react/RadioGroup"),m=require("@undp/design-system-react/DropdownSelect"),T=require("@undp/design-system-react/Label"),re=require("./GraphContainer-gaG9TSy4.cjs"),ne=require("./GraphEl-CGALp07K.cjs"),R=require("./fetchAndParseData-QTF6tjij.cjs"),ie=require("./Colors.cjs"),z=require("./transformDataForAggregation-BFdha9Dx.cjs"),B=require("./getUniqValue-NX8DgwND.cjs"),se=require("./GraphHeader.cjs"),ue=require("./GraphFooter.cjs"),J=require("./filterData-T5DQBE9b.cjs"),ce=require("./ColorLegend.cjs"),de=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),he=require("./checkIfMultiple-BIEQDuA3.cjs"),K=require("./transformDataForSelect-YmStusCI.cjs");function pe(Q){const{graphSettings:t,dataSettings:n,filters:F,graphType:A,dataTransform:G,graphDataConfiguration:s,noOfColumns:y,columnGridBy:S,dataFilters:$,showCommonColorScale:k,minGraphHeight:X,minGraphWidth:O,debugMode:b,dataSelectionOptions:L,advancedDataSelectionOptions:M,readableHeader:Y,noOfFiltersPerRow:p=4,uiMode:c="normal",theme:Z="light"}=Q,[C,_]=i.useState(void 0),[f,ee]=i.useState(void 0),[w,ae]=i.useState([]),U=i.useRef(null),[g,x]=i.useState(s),[j,H]=i.useState([]),[d,D]=i.useState({}),N=i.useMemo(()=>({ignoreCase:!0,ignoreAccents:!0,trim:!0}),[]),P=i.useMemo(()=>!f||j.length===0?f:f.filter(r=>j.every(a=>a.value&&q.flattenDeep([a.value]).length>0?le.intersection(q.flattenDeep([r[a.filter]]),q.flattenDeep([a.value]).map(l=>l.value)).length>0:!0)),[j,f]);i.useEffect(()=>{_(P)},[P]);const W=i.useEffectEvent(()=>{const e=(F||[]).map(r=>({filter:r.column,label:r.label||`Filter by ${r.column}`,singleSelect:r.singleSelect,clearable:r.clearable,ui:r.ui,defaultValue:K.transformDefaultValue(r.defaultValue),value:K.transformDefaultValue(r.defaultValue),availableValues:B.getUniqValue(f,r.column).filter(a=>!r.excludeValues?.includes(`${a}`)).map(a=>({value:a,label:a})),allowSelectAll:r.allowSelectAll,width:r.width}));H(e)});i.useEffect(()=>{(async()=>{try{const r=n.dataURL?typeof n.dataURL=="string"?n.fileType==="json"?await R.fetchAndParseJSON(n.dataURL,n.columnsToArray,n.dataTransformation,b):n.fileType==="api"?await R.fetchAndTransformDataFromAPI(n.dataURL,n.apiHeaders,n.columnsToArray,n.dataTransformation,b):await R.fetchAndParseCSV(n.dataURL,n.dataTransformation,n.columnsToArray,b,n.delimiter,!0):await R.fetchAndParseMultipleDataSources(n.dataURL,n.idColumnTitle):await R.transformColumnsToArray(n.data,n.columnsToArray);ee(r)}catch(r){console.error("Data fetching error:",r)}})(),W()},[n,b]),i.useEffect(()=>{W()},[F,f]);const te=i.useEffectEvent(()=>{const e=B.getUniqValue(f,S);ae(e)});i.useEffect(()=>{te()},[S,f]),i.useEffect(()=>{x(s)},[s]);const I=i.useCallback((e,r)=>{H(a=>a.map(l=>l.filter===e?{...l,value:r}:l))},[]);return o.jsxRuntimeExports.jsxs(re.GraphContainer,{className:t?.classNames?.graphContainer,style:t?.styles?.graphContainer,id:t?.graphID,ref:U,"aria-label":t?.ariaLabel||"This is a gridded graph",backgroundColor:t?.backgroundColor??!1,theme:t?.theme||"light",language:t?.language||"en",width:t?.width,height:t?.height,padding:t?.padding,children:[d?.graphTitle||d?.graphDescription||t?.graphTitle||t?.graphDescription||t?.graphDownload||t?.dataDownload?o.jsxRuntimeExports.jsx(se.GraphHeader,{styles:{title:d?.styles?.title||t?.styles?.title,description:d?.styles?.description||t?.styles?.description},classNames:{title:d?.classNames?.title||t?.classNames?.title,description:d?.classNames?.description||t?.classNames?.description},graphTitle:d?.graphTitle||t?.graphTitle,graphDescription:d?.graphDescription||t?.graphDescription,width:d?.width||t?.width,graphDownload:t?.graphDownload?U:void 0,dataDownload:t?.dataDownload&&C&&C.length>0?C:null}):null,C&&w.length>0?o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[j.length!==0||(L||[]).length!==0||(M||[]).length!==0?o.jsxRuntimeExports.jsxs("div",{className:"flex flex-wrap items-start gap-x-4 gap-y-0 w-full",children:[M?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/p}% - ${(p-1)/p}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(T.Label,{className:"mb-2",children:e.label||"Graph by"}),e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.DropdownSelect,{options:e.options.map(a=>({...a,value:a.label})),isClearable:!1,isSearchable:!0,variant:c,controlShouldRenderValue:!0,defaultValue:e.defaultValue?{...e.defaultValue,value:e.defaultValue?.label}:{...e.options[0],value:e.options[0].label},onChange:a=>{D(a?.graphSettings||{}),x(a?.dataConfiguration)}}):o.jsxRuntimeExports.jsx(v.RadioGroup,{defaultValue:e.defaultValue?.label||e.options[0].label,variant:c,onValueChange:a=>{const l=e.options[e.options.findIndex(h=>h.label===a)];D(l.graphSettings||{}),x(l.dataConfiguration)},children:e.options.map((a,l)=>o.jsxRuntimeExports.jsx(v.RadioGroupItem,{label:a.label,value:a.label},l))})]},r)),L?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/p}% - ${(p-1)/p}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,minWidth:"240px"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(T.Label,{className:"mb-2",children:e.label||`Visualize ${e.chartConfigId} by`}),he.checkIfMultiple(e.chartConfigId,g||[])?e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.DropdownSelect,{options:e.allowedColumnIds,isMulti:!0,variant:c,isSearchable:!0,controlShouldRenderValue:!0,defaultValue:s?s[s.findIndex(a=>a.chartConfigId===e.chartConfigId)].columnId.map(a=>e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===a)]):void 0,filterOption:m.createFilter(N),onChange:a=>{const l={columnId:a.map(u=>u.value),chartConfigId:e.chartConfigId},h=g?.map(u=>u.chartConfigId===l.chartConfigId?l:u);x(h)},isRtl:t?.language==="ar"||t?.language==="he"}):o.jsxRuntimeExports.jsx(V.CheckboxGroup,{variant:c,defaultValue:s?s[s.findIndex(a=>a.chartConfigId===e.chartConfigId)].columnId.map(a=>e.allowedColumnIds[e.allowedColumnIds.findIndex(l=>l.value===a)]).map(a=>a.value):[],onValueChange:a=>{const l={columnId:a||[],chartConfigId:e.chartConfigId},h=g?.map(u=>u.chartConfigId===l.chartConfigId?l:u);x(h)},children:e.allowedColumnIds.map((a,l)=>o.jsxRuntimeExports.jsx(V.CheckboxGroupItem,{label:a.label,value:a.label},l))}):e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.DropdownSelect,{options:e.allowedColumnIds,isClearable:!1,isSearchable:!0,variant:c,defaultValue:s?e.allowedColumnIds[e.allowedColumnIds.findIndex(a=>a.value===s[s.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId)]:void 0,controlShouldRenderValue:!0,onChange:a=>{const l={columnId:a?.value,chartConfigId:e.chartConfigId},h=g?.map(u=>u.chartConfigId===l.chartConfigId?l:u);D(a?.graphSettings||{}),x(h)}}):o.jsxRuntimeExports.jsx(v.RadioGroup,{variant:c,defaultValue:s?e.allowedColumnIds[e.allowedColumnIds.findIndex(a=>a.value===s[s.findIndex(l=>l.chartConfigId===e.chartConfigId)].columnId)].label:"",onValueChange:a=>{const l=e.allowedColumnIds[e.allowedColumnIds.findIndex(E=>E.label===a)],h={columnId:l.value,chartConfigId:e.chartConfigId},u=g?.map(E=>E.chartConfigId===h.chartConfigId?h:E);D(l.graphSettings||{}),x(u)},children:e.allowedColumnIds.map((a,l)=>o.jsxRuntimeExports.jsx(v.RadioGroupItem,{label:a.label,value:a.label},l))})]},r)),j?.map((e,r)=>o.jsxRuntimeExports.jsxs("div",{style:{width:e.width||`calc(${100/p}% - ${(p-1)/p}rem)`,flexGrow:e.width?0:1,flexShrink:e.ui!=="radio"||e.width?0:1,flexWrap:"wrap"},className:"pb-4",children:[o.jsxRuntimeExports.jsx(T.Label,{className:"mb-2",children:e.label}),e.singleSelect?e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.DropdownSelect,{options:e.availableValues,variant:c,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:m.createFilter(N),onChange:a=>{I(e.filter,a)},value:e.value,defaultValue:e.defaultValue}):o.jsxRuntimeExports.jsx(v.RadioGroup,{variant:c,defaultValue:e.defaultValue.value,onValueChange:a=>{I(e.filter,e.availableValues.filter(l=>l.value===a))},children:e.availableValues.map((a,l)=>o.jsxRuntimeExports.jsx(v.RadioGroupItem,{label:`${a.label}`,value:`${a.value}`},l))}):o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[e.ui!=="radio"?o.jsxRuntimeExports.jsx(m.DropdownSelect,{options:e.availableValues,variant:c,size:"sm",isMulti:!0,isClearable:e.clearable===void 0?!0:e.clearable,isSearchable:!0,controlShouldRenderValue:!0,filterOption:m.createFilter(N),onChange:a=>{I(e.filter,a)},value:e.value,defaultValue:e.defaultValue}):o.jsxRuntimeExports.jsx(V.CheckboxGroup,{variant:c,defaultValue:e.defaultValue?e.defaultValue.map(a=>`${a.value}`):[],value:e.value?e.value.map(a=>`${a.value}`):void 0,onValueChange:a=>{I(e.filter,e.availableValues.filter(l=>a.indexOf(`${l.value}`)!==-1))},children:e.availableValues.map((a,l)=>o.jsxRuntimeExports.jsx(V.CheckboxGroupItem,{label:`${a.label}`,value:`${a.value}`},l))}),e.allowSelectAll?o.jsxRuntimeExports.jsx("button",{type:"button",className:"bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400",onClick:()=>{I(e.filter,e.availableValues)},children:"Select all options"}):null]})]},r))]}):null,k!==!1&&t?.showColorScale!==!1?o.jsxRuntimeExports.jsx(ce.ColorLegend,{width:t?.width,colorLegendTitle:t?.colorLegendTitle,colors:t?.colors||t?.lineColors||ie.Colors[t?.theme||"light"].categoricalColors.colors,colorDomain:t?.colorDomain||t?.labels||[],showNAColor:t?.showNAColor===void 0||t?.showNAColor===null?!0:t?.showNAColor}):null,o.jsxRuntimeExports.jsx("div",{className:`flex flex-wrap gap-4 justify-center ${t?.language==="ar"||t?.language==="he"?"flex-row-reverse":"flex-row"}`,children:w.map((e,r)=>o.jsxRuntimeExports.jsx("div",{style:{width:`calc(${100/(y||Math.min(4,w.length||0))}% - ${((y||Math.min(4,w.length||0))-1)/(y||Math.min(4,w.length||0))}rem)`,minWidth:de.checkIfNullOrUndefined(O)?"280px":`${O}px`},children:o.jsxRuntimeExports.jsx(ne.GraphEl,{graph:A,graphDataConfiguration:g,graphData:z.transformDataForGraph(G?z.transformDataForAggregation(J.filterData(C,$||[]).filter(a=>a[S]===e),G.keyColumn,G.aggregationColumnsSetting):J.filterData(C,$||[]).filter(a=>a[S]===e),A,g)||[],debugMode:b,settings:{...t||{},...d,theme:t?.theme||Z,width:void 0,height:void 0,relativeHeight:t?.relativeHeight||.67,minHeight:X,graphTitle:`${e}`,graphDescription:void 0,graphDownload:!1,dataDownload:!1,backgroundColor:void 0,padding:"0",footNote:void 0,sources:void 0,showColorScale:t?.showColorScale===!1?!1:k===!1},readableHeader:Y||[]})},r))})]}):o.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:o.jsxRuntimeExports.jsx(oe.Spinner,{})}),t?.sources||t?.footNote?o.jsxRuntimeExports.jsx(ue.GraphFooter,{styles:{footnote:t?.styles?.footnote,source:t?.styles?.source},classNames:{footnote:t?.classNames?.footnote,source:t?.classNames?.source},sources:t?.sources,footNote:t?.footNote,width:t?.width}):null]})}exports.GriddedGraphs=pe;
|
|
2
2
|
//# sourceMappingURL=GriddedGraphs.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GriddedGraphs.cjs","sources":["../src/Components/Dashboard/GriddedGraphs.tsx"],"sourcesContent":["import { useCallback, useEffect, useEffectEvent, useMemo, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\ninterface Props {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n showCommonColorScale?: boolean;\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n minGraphHeight?: number;\r\n minGraphWidth?: number;\r\n debugMode?: boolean;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\nexport function GriddedGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n noOfColumns,\r\n columnGridBy,\r\n dataFilters,\r\n showCommonColorScale,\r\n minGraphHeight,\r\n minGraphWidth,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n uiMode = 'normal',\r\n theme = 'light',\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [dataFromFile, setDataFromFile] = useState<any>(undefined);\r\n const [gridOption, setGridOption] = useState<(string | number)[]>([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n\r\n const filterConfig = useMemo(\r\n () => ({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n }),\r\n [],\r\n );\r\n\r\n const filteredData = useMemo(() => {\r\n if (!dataFromFile || filterSettings.length === 0) return dataFromFile;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = dataFromFile.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n return result;\r\n }, [filterSettings, dataFromFile]);\r\n useEffect(() => {\r\n setData(filteredData);\r\n }, [filteredData]);\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n ui: el.ui,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(dataFromFile, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const fetchDataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setDataFromFile(fetchDataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, dataFromFile]);\r\n\r\n const updateGridOptionEvent = useEffectEvent(() => {\r\n const gridValue = getUniqValue(dataFromFile, columnGridBy) as (string | number)[];\r\n setGridOption(gridValue);\r\n });\r\n useEffect(() => {\r\n updateGridOptionEvent();\r\n }, [columnGridBy, dataFromFile]);\r\n useEffect(() => {\r\n setGraphConfig(graphDataConfiguration);\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = useCallback((filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel || 'This is a gridded graph'}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n >\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {data && gridOption.length > 0 ? (\r\n <>\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isMulti\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el.map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n isRtl={graphSettings?.language === 'ar' || graphSettings?.language === 'he'}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n flexWrap: 'wrap',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ) : null}\r\n {showCommonColorScale !== false && graphSettings?.showColorScale !== false ? (\r\n <ColorLegend\r\n width={graphSettings?.width}\r\n colorLegendTitle={graphSettings?.colorLegendTitle}\r\n colors={\r\n (graphSettings?.colors as string[] | undefined) ||\r\n (graphSettings?.lineColors as string[] | undefined) ||\r\n Colors[(graphSettings?.theme as 'light' | 'dark' | undefined) || 'light']\r\n .categoricalColors.colors\r\n }\r\n colorDomain={graphSettings?.colorDomain || graphSettings?.labels || []}\r\n showNAColor={\r\n graphSettings?.showNAColor === undefined || graphSettings?.showNAColor === null\r\n ? true\r\n : graphSettings?.showNAColor\r\n }\r\n />\r\n ) : null}\r\n <div\r\n className={`flex flex-wrap gap-4 justify-center ${graphSettings?.language === 'ar' || graphSettings?.language === 'he' ? 'flex-row-reverse' : 'flex-row'}`}\r\n >\r\n {gridOption.map((el, i) => (\r\n <div\r\n key={i}\r\n style={{\r\n width: `calc(${\r\n 100 / (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }% - ${\r\n ((noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number)) - 1) /\r\n (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }rem)`,\r\n minWidth: checkIfNullOrUndefined(minGraphWidth) ? '280px' : `${minGraphWidth}px`,\r\n }}\r\n >\r\n <GraphEl\r\n graph={graphType}\r\n graphDataConfiguration={graphConfig}\r\n graphData={\r\n transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n graphType,\r\n graphConfig,\r\n ) || []\r\n }\r\n debugMode={debugMode}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n theme: graphSettings?.theme || theme,\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: graphSettings?.relativeHeight || 0.67,\r\n minHeight: minGraphHeight,\r\n graphTitle: `${el}`,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n footNote: undefined,\r\n sources: undefined,\r\n showColorScale:\r\n graphSettings?.showColorScale === false\r\n ? false\r\n : showCommonColorScale === false,\r\n }}\r\n readableHeader={readableHeader || []}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n {graphSettings?.sources || graphSettings?.footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: graphSettings?.styles?.footnote,\r\n source: graphSettings?.styles?.source,\r\n }}\r\n classNames={{\r\n footnote: graphSettings?.classNames?.footnote,\r\n source: graphSettings?.classNames?.source,\r\n }}\r\n sources={graphSettings?.sources}\r\n footNote={graphSettings?.footNote}\r\n width={graphSettings?.width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["GriddedGraphs","props","graphSettings","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","noOfColumns","columnGridBy","dataFilters","showCommonColorScale","minGraphHeight","minGraphWidth","debugMode","dataSelectionOptions","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","uiMode","theme","data","setData","useState","undefined","dataFromFile","setDataFromFile","gridOption","setGridOption","graphParentDiv","useRef","graphConfig","setGraphConfig","filterSettings","setFilterSettings","advancedGraphSettings","setAdvancedGraphSettings","filterConfig","useMemo","ignoreCase","ignoreAccents","trim","filteredData","length","filter","item","every","value","flattenDeep","intersection","map","el","useEffect","updateFiltersEvent","useEffectEvent","filterSettingsTemp","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","fetchDataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","fetchData","updateGridOptionEvent","gridValue","handleFilterChange","useCallback","values","prev","f","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","language","height","padding","graphTitle","graphDescription","graphDownload","dataDownload","jsx","GraphHeader","title","description","jsxs","Fragment","d","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","opt","dataConfiguration","RadioGroup","selectedOption","findIndex","j","RadioGroupItem","chartConfigId","checkIfMultiple","allowedColumnIds","columnId","createFilter","newGraphConfig","updatedConfig","CheckboxGroup","CheckboxGroupItem","flexWrap","indexOf","showColorScale","ColorLegend","colorLegendTitle","colors","lineColors","Colors","categoricalColors","colorDomain","labels","showNAColor","Math","min","checkIfNullOrUndefined","GraphEl","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","relativeHeight","minHeight","footNote","sources","Spinner","GraphFooter","footnote","source"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GriddedGraphs.cjs","sources":["../src/Components/Dashboard/GriddedGraphs.tsx"],"sourcesContent":["import { useCallback, useEffect, useEffectEvent, useMemo, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\ninterface Props {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n showCommonColorScale?: boolean;\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n minGraphHeight?: number;\r\n minGraphWidth?: number;\r\n debugMode?: boolean;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\nexport function GriddedGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n noOfColumns,\r\n columnGridBy,\r\n dataFilters,\r\n showCommonColorScale,\r\n minGraphHeight,\r\n minGraphWidth,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n uiMode = 'normal',\r\n theme = 'light',\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [dataFromFile, setDataFromFile] = useState<any>(undefined);\r\n const [gridOption, setGridOption] = useState<(string | number)[]>([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n\r\n const filterConfig = useMemo(\r\n () => ({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n }),\r\n [],\r\n );\r\n\r\n const filteredData = useMemo(() => {\r\n if (!dataFromFile || filterSettings.length === 0) return dataFromFile;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = dataFromFile.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n return result;\r\n }, [filterSettings, dataFromFile]);\r\n useEffect(() => {\r\n setData(filteredData);\r\n }, [filteredData]);\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n ui: el.ui,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(dataFromFile, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const fetchDataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setDataFromFile(fetchDataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, dataFromFile]);\r\n\r\n const updateGridOptionEvent = useEffectEvent(() => {\r\n const gridValue = getUniqValue(dataFromFile, columnGridBy) as (string | number)[];\r\n setGridOption(gridValue);\r\n });\r\n useEffect(() => {\r\n updateGridOptionEvent();\r\n }, [columnGridBy, dataFromFile]);\r\n useEffect(() => {\r\n setGraphConfig(graphDataConfiguration);\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = useCallback((filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel || 'This is a gridded graph'}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n >\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {data && gridOption.length > 0 ? (\r\n <>\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isMulti\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el.map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n isRtl={graphSettings?.language === 'ar' || graphSettings?.language === 'he'}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n flexWrap: 'wrap',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ) : null}\r\n {showCommonColorScale !== false && graphSettings?.showColorScale !== false ? (\r\n <ColorLegend\r\n width={graphSettings?.width}\r\n colorLegendTitle={graphSettings?.colorLegendTitle}\r\n colors={\r\n (graphSettings?.colors as string[] | undefined) ||\r\n (graphSettings?.lineColors as string[] | undefined) ||\r\n Colors[(graphSettings?.theme as 'light' | 'dark' | undefined) || 'light']\r\n .categoricalColors.colors\r\n }\r\n colorDomain={graphSettings?.colorDomain || graphSettings?.labels || []}\r\n showNAColor={\r\n graphSettings?.showNAColor === undefined || graphSettings?.showNAColor === null\r\n ? true\r\n : graphSettings?.showNAColor\r\n }\r\n />\r\n ) : null}\r\n <div\r\n className={`flex flex-wrap gap-4 justify-center ${graphSettings?.language === 'ar' || graphSettings?.language === 'he' ? 'flex-row-reverse' : 'flex-row'}`}\r\n >\r\n {gridOption.map((el, i) => (\r\n <div\r\n key={i}\r\n style={{\r\n width: `calc(${\r\n 100 / (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }% - ${\r\n ((noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number)) - 1) /\r\n (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }rem)`,\r\n minWidth: checkIfNullOrUndefined(minGraphWidth) ? '280px' : `${minGraphWidth}px`,\r\n }}\r\n >\r\n <GraphEl\r\n graph={graphType}\r\n graphDataConfiguration={graphConfig}\r\n graphData={\r\n transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n graphType,\r\n graphConfig,\r\n ) || []\r\n }\r\n debugMode={debugMode}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n theme: graphSettings?.theme || theme,\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: graphSettings?.relativeHeight || 0.67,\r\n minHeight: minGraphHeight,\r\n graphTitle: `${el}`,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n footNote: undefined,\r\n sources: undefined,\r\n showColorScale:\r\n graphSettings?.showColorScale === false\r\n ? false\r\n : showCommonColorScale === false,\r\n }}\r\n readableHeader={readableHeader || []}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n {graphSettings?.sources || graphSettings?.footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: graphSettings?.styles?.footnote,\r\n source: graphSettings?.styles?.source,\r\n }}\r\n classNames={{\r\n footnote: graphSettings?.classNames?.footnote,\r\n source: graphSettings?.classNames?.source,\r\n }}\r\n sources={graphSettings?.sources}\r\n footNote={graphSettings?.footNote}\r\n width={graphSettings?.width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["GriddedGraphs","props","graphSettings","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","noOfColumns","columnGridBy","dataFilters","showCommonColorScale","minGraphHeight","minGraphWidth","debugMode","dataSelectionOptions","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","uiMode","theme","data","setData","useState","undefined","dataFromFile","setDataFromFile","gridOption","setGridOption","graphParentDiv","useRef","graphConfig","setGraphConfig","filterSettings","setFilterSettings","advancedGraphSettings","setAdvancedGraphSettings","filterConfig","useMemo","ignoreCase","ignoreAccents","trim","filteredData","length","filter","item","every","value","flattenDeep","intersection","map","el","useEffect","updateFiltersEvent","useEffectEvent","filterSettingsTemp","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","fetchDataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","fetchData","updateGridOptionEvent","gridValue","handleFilterChange","useCallback","values","prev","f","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","language","height","padding","graphTitle","graphDescription","graphDownload","dataDownload","jsx","GraphHeader","title","description","jsxs","Fragment","d","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","opt","dataConfiguration","RadioGroup","selectedOption","findIndex","j","RadioGroupItem","chartConfigId","checkIfMultiple","allowedColumnIds","columnId","createFilter","newGraphConfig","updatedConfig","CheckboxGroup","CheckboxGroupItem","flexWrap","indexOf","showColorScale","ColorLegend","colorLegendTitle","colors","lineColors","Colors","categoricalColors","colorDomain","labels","showNAColor","Math","min","checkIfNullOrUndefined","GraphEl","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","relativeHeight","minHeight","footNote","sources","Spinner","GraphFooter","footnote","source"],"mappings":"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"}
|