@undp/data-viz 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +2 -0
- package/dist/AreaChart.cjs.map +1 -0
- package/dist/AreaChart.js +530 -1
- package/dist/AreaChart.js.map +1 -1
- package/dist/Axis-DE7dSn1_.cjs +2 -0
- package/dist/{Axis-BlyBRMNw.cjs.map → Axis-DE7dSn1_.cjs.map} +1 -1
- package/dist/{Axis-CvK-w3E2.js → Axis-Ddg-seDi.js} +10 -11
- package/dist/{Axis-CvK-w3E2.js.map → Axis-Ddg-seDi.js.map} +1 -1
- package/dist/AxisTitle-BmHLMRJZ.js +20 -0
- package/dist/{AxisTitle-BeMxcw5I.js.map → AxisTitle-BmHLMRJZ.js.map} +1 -1
- package/dist/AxisTitle-CK9YeovX.cjs +2 -0
- package/dist/{AxisTitle-BY8MI9jC.cjs.map → AxisTitle-CK9YeovX.cjs.map} +1 -1
- package/dist/BarGraph.cjs +2 -0
- package/dist/BarGraph.cjs.map +1 -0
- package/dist/BarGraph.js +4043 -1
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +2 -0
- package/dist/BasicStatCard.cjs.map +1 -0
- package/dist/BasicStatCard.js +190 -1
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +2 -0
- package/dist/BeeSwarmChart.cjs.map +1 -0
- package/dist/BeeSwarmChart.d.ts +0 -8
- package/dist/BeeSwarmChart.js +1042 -1
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +2 -0
- package/dist/BiVariateChoroplethMap.cjs.map +1 -0
- package/dist/BiVariateChoroplethMap.js +720 -1
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +2 -0
- package/dist/BulletChart.cjs.map +1 -0
- package/dist/BulletChart.js +1431 -1
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +2 -0
- package/dist/ButterflyChart.cjs.map +1 -0
- package/dist/ButterflyChart.js +692 -1
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +2 -0
- package/dist/ChoroplethMap.cjs.map +1 -0
- package/dist/ChoroplethMap.js +745 -1
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +2 -0
- package/dist/CirclePackingGraph.cjs.map +1 -0
- package/dist/CirclePackingGraph.d.ts +0 -8
- package/dist/CirclePackingGraph.js +14 -1
- package/dist/CirclePackingGraph.js.map +1 -1
- package/dist/ColorLegend.cjs +2 -0
- package/dist/ColorLegend.cjs.map +1 -0
- package/dist/ColorLegend.js +47 -1
- package/dist/ColorLegend.js.map +1 -1
- package/dist/ColorLegendWithMouseOver.cjs +2 -0
- package/dist/ColorLegendWithMouseOver.cjs.map +1 -0
- package/dist/ColorLegendWithMouseOver.js +70 -1
- package/dist/ColorLegendWithMouseOver.js.map +1 -1
- package/dist/Colors.cjs +2 -0
- package/dist/Colors.cjs.map +1 -0
- package/dist/Colors.js +561 -1
- package/dist/Colors.js.map +1 -1
- package/dist/CopyTextButton.cjs +17 -0
- package/dist/CopyTextButton.cjs.map +1 -0
- package/dist/CopyTextButton.js +698 -16
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +23 -0
- package/dist/CsvDownloadButton.cjs.map +1 -0
- package/dist/CsvDownloadButton.js +852 -7
- package/dist/CsvDownloadButton.js.map +1 -1
- package/dist/DataCards.cjs +2 -0
- package/dist/DataCards.cjs.map +1 -0
- package/dist/DataCards.js +14 -1
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +2 -0
- package/dist/DataTable.cjs.map +1 -0
- package/dist/DataTable.js +331 -1
- package/dist/DataTable.js.map +1 -1
- package/dist/DifferenceLineChart.cjs +2 -0
- package/dist/DifferenceLineChart.cjs.map +1 -0
- package/dist/DifferenceLineChart.js +805 -1
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +2 -0
- package/dist/DonutChart.cjs.map +1 -0
- package/dist/DonutChart.js +478 -1
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +2 -0
- package/dist/DotDensityMap.cjs.map +1 -0
- package/dist/DotDensityMap.js +600 -1
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DropdownSelect-0I2QxaVy.cjs +29 -0
- package/dist/DropdownSelect-0I2QxaVy.cjs.map +1 -0
- package/dist/DropdownSelect-CDC9lEqU.js +4193 -0
- package/dist/DropdownSelect-CDC9lEqU.js.map +1 -0
- package/dist/DualAxisLineChart.cjs +2 -0
- package/dist/DualAxisLineChart.cjs.map +1 -0
- package/dist/DualAxisLineChart.js +699 -1
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +2 -0
- package/dist/DumbbellChart.cjs.map +1 -0
- package/dist/DumbbellChart.js +1510 -1
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/{EmptyState-b2Ln487i.js → EmptyState-DdTp-Mdn.js} +8 -8
- package/dist/{EmptyState-b2Ln487i.js.map → EmptyState-DdTp-Mdn.js.map} +1 -1
- package/dist/EmptyState-d8_8SxeW.cjs +2 -0
- package/dist/{EmptyState-BQguKAp5.cjs.map → EmptyState-d8_8SxeW.cjs.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +2 -0
- package/dist/ExcelDownloadButton.cjs.map +1 -0
- package/dist/ExcelDownloadButton.js +29 -1
- package/dist/ExcelDownloadButton.js.map +1 -1
- package/dist/FootNote.cjs +2 -0
- package/dist/FootNote.cjs.map +1 -0
- package/dist/FootNote.js +20 -1
- package/dist/FootNote.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +2 -0
- package/dist/GeoHubCompareMaps.cjs.map +1 -0
- package/dist/GeoHubCompareMaps.js +370 -1
- package/dist/GeoHubCompareMaps.js.map +1 -1
- package/dist/GeoHubMap.cjs +2 -0
- package/dist/GeoHubMap.cjs.map +1 -0
- package/dist/GeoHubMap.js +429 -1
- package/dist/GeoHubMap.js.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +2 -0
- package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -0
- package/dist/GeoHubMapWithLayerSelection.js +307 -1
- package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
- package/dist/GraphDescription.cjs +2 -0
- package/dist/GraphDescription.cjs.map +1 -0
- package/dist/GraphDescription.js +20 -1
- package/dist/GraphDescription.js.map +1 -1
- package/dist/GraphFooter.cjs +2 -0
- package/dist/GraphFooter.cjs.map +1 -0
- package/dist/GraphFooter.js +21 -1
- package/dist/GraphFooter.js.map +1 -1
- package/dist/GraphHeader.cjs +2 -0
- package/dist/GraphHeader.cjs.map +1 -0
- package/dist/GraphHeader.js +63 -1
- package/dist/GraphHeader.js.map +1 -1
- package/dist/GraphTitle.cjs +2 -0
- package/dist/GraphTitle.cjs.map +1 -0
- package/dist/GraphTitle.js +28 -1
- package/dist/GraphTitle.js.map +1 -1
- package/dist/GriddedGraphs.cjs +2 -0
- package/dist/GriddedGraphs.cjs.map +1 -0
- package/dist/GriddedGraphs.js +482 -1
- package/dist/GriddedGraphs.js.map +1 -1
- package/dist/GriddedGraphsFromConfig.cjs +2 -0
- package/dist/GriddedGraphsFromConfig.cjs.map +1 -0
- package/dist/GriddedGraphsFromConfig.js +42 -1
- package/dist/GriddedGraphsFromConfig.js.map +1 -1
- package/dist/HeatMap.cjs +2 -0
- package/dist/HeatMap.cjs.map +1 -0
- package/dist/HeatMap.js +451 -1
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +2 -0
- package/dist/Histogram.cjs.map +1 -0
- package/dist/Histogram.js +287 -1
- package/dist/Histogram.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +2 -0
- package/dist/ImageDownloadButton.cjs.map +1 -0
- package/dist/ImageDownloadButton.js +28 -1
- package/dist/ImageDownloadButton.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +2 -0
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -0
- package/dist/LineChartWithConfidenceInterval.js +818 -1
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +2 -0
- package/dist/LinearColorLegend.cjs.map +1 -0
- package/dist/LinearColorLegend.js +33 -1
- package/dist/LinearColorLegend.js.map +1 -1
- package/dist/Modal-CUU6ZK3U.js +1019 -0
- package/dist/Modal-CUU6ZK3U.js.map +1 -0
- package/dist/Modal-C_dl0EtQ.cjs +46 -0
- package/dist/Modal-C_dl0EtQ.cjs.map +1 -0
- package/dist/MultiGraphDashboard.cjs +2 -0
- package/dist/MultiGraphDashboard.cjs.map +1 -0
- package/dist/MultiGraphDashboard.js +303 -1
- package/dist/MultiGraphDashboard.js.map +1 -1
- package/dist/MultiGraphDashboardFromConfig.cjs +2 -0
- package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -0
- package/dist/MultiGraphDashboardFromConfig.js +37 -1
- package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +2 -0
- package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -0
- package/dist/MultiGraphDashboardWideToLongFormat.js +243 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +2 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +30 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
- package/dist/MultiLineAltChart.cjs +2 -0
- package/dist/MultiLineAltChart.cjs.map +1 -0
- package/dist/MultiLineAltChart.js +689 -1
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +2 -0
- package/dist/MultiLineChart.cjs.map +1 -0
- package/dist/MultiLineChart.js +722 -1
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +2 -0
- package/dist/ParetoChart.cjs.map +1 -0
- package/dist/ParetoChart.js +636 -1
- package/dist/ParetoChart.js.map +1 -1
- package/dist/RadarChart.cjs +2 -0
- package/dist/RadarChart.cjs.map +1 -0
- package/dist/RadarChart.js +677 -1
- package/dist/RadarChart.js.map +1 -1
- package/dist/{ReferenceLine-BgDdQbDI.js → ReferenceLine-C1GpoG9d.js} +33 -34
- package/dist/ReferenceLine-C1GpoG9d.js.map +1 -0
- package/dist/ReferenceLine-CuFMk0cI.cjs +2 -0
- package/dist/ReferenceLine-CuFMk0cI.cjs.map +1 -0
- package/dist/RegressionLine-7_rKTHN_.cjs +2 -0
- package/dist/{RegressionLine-BfpCuD7B.cjs.map → RegressionLine-7_rKTHN_.cjs.map} +1 -1
- package/dist/{RegressionLine-cSljpHaE.js → RegressionLine-BFwDCTUU.js} +17 -18
- package/dist/{RegressionLine-cSljpHaE.js.map → RegressionLine-BFwDCTUU.js.map} +1 -1
- package/dist/SVGDownloadButton.cjs +2 -0
- package/dist/SVGDownloadButton.cjs.map +1 -0
- package/dist/SVGDownloadButton.js +28 -1
- package/dist/SVGDownloadButton.js.map +1 -1
- package/dist/SankeyChart.cjs +2 -0
- package/dist/SankeyChart.cjs.map +1 -0
- package/dist/SankeyChart.js +989 -1
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +2 -0
- package/dist/ScatterPlot.cjs.map +1 -0
- package/dist/ScatterPlot.js +828 -1
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +2 -0
- package/dist/ScrollStory.cjs.map +1 -0
- package/dist/ScrollStory.js +105 -1
- package/dist/ScrollStory.js.map +1 -1
- package/dist/SimpleLineChart.cjs +2 -0
- package/dist/SimpleLineChart.cjs.map +1 -0
- package/dist/SimpleLineChart.js +619 -1
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +2 -0
- package/dist/SingleGraphDashboard.cjs.map +1 -0
- package/dist/SingleGraphDashboard.js +522 -1
- package/dist/SingleGraphDashboard.js.map +1 -1
- package/dist/SingleGraphDashboardFromConfig.cjs +2 -0
- package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -0
- package/dist/SingleGraphDashboardFromConfig.js +34 -1
- package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
- package/dist/SlopeChart.cjs +2 -0
- package/dist/SlopeChart.cjs.map +1 -0
- package/dist/SlopeChart.js +582 -1
- package/dist/SlopeChart.js.map +1 -1
- package/dist/Source.cjs +2 -0
- package/dist/Source.cjs.map +1 -0
- package/dist/Source.js +40 -1
- package/dist/Source.js.map +1 -1
- package/dist/SparkLine.cjs +2 -0
- package/dist/SparkLine.cjs.map +1 -0
- package/dist/SparkLine.js +320 -1
- package/dist/SparkLine.js.map +1 -1
- package/dist/Spinner-C85UF28E.js +30 -0
- package/dist/Spinner-C85UF28E.js.map +1 -0
- package/dist/Spinner-DA6Z5E4n.cjs +2 -0
- package/dist/Spinner-DA6Z5E4n.cjs.map +1 -0
- package/dist/StatCardFromData.cjs +2 -0
- package/dist/StatCardFromData.cjs.map +1 -0
- package/dist/StatCardFromData.js +249 -1
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +2 -0
- package/dist/StripChart.cjs.map +1 -0
- package/dist/StripChart.js +988 -1
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +2 -0
- package/dist/ThreeDGlobe.cjs.map +1 -0
- package/dist/ThreeDGlobe.js +451 -1
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +2 -0
- package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -0
- package/dist/ThresholdColorLegendWithMouseOver.js +130 -1
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/{Tooltip-CzZ1wFyF.js → Tooltip-DyM5snqx.js} +15 -16
- package/dist/{Tooltip-CzZ1wFyF.js.map → Tooltip-DyM5snqx.js.map} +1 -1
- package/dist/Tooltip-n8z5bfav.cjs +2 -0
- package/dist/{Tooltip-BM18N_3l.cjs.map → Tooltip-n8z5bfav.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +2 -0
- package/dist/TreeMapGraph.cjs.map +1 -0
- package/dist/TreeMapGraph.js +760 -1
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.cjs +2 -0
- package/dist/Types.cjs.map +1 -0
- package/dist/Types.js +1 -1
- package/dist/Typography-Ctgfl1J5.js +140 -0
- package/dist/Typography-Ctgfl1J5.js.map +1 -0
- package/dist/Typography-k-kOjICQ.cjs +2 -0
- package/dist/Typography-k-kOjICQ.cjs.map +1 -0
- package/dist/UnitChart.cjs +2 -0
- package/dist/UnitChart.cjs.map +1 -0
- package/dist/UnitChart.js +216 -1
- package/dist/UnitChart.js.map +1 -1
- package/dist/XAxesLabels-CJMQbfVy.cjs +2 -0
- package/dist/{XAxesLabels-C9REbQQs.cjs.map → XAxesLabels-CJMQbfVy.cjs.map} +1 -1
- package/dist/{XAxesLabels-DVw7Lvuz.js → XAxesLabels-DQFo_z2R.js} +21 -22
- package/dist/{XAxesLabels-DVw7Lvuz.js.map → XAxesLabels-DQFo_z2R.js.map} +1 -1
- package/dist/{XTicksAndGridLines-CUefTINd.js → XTicksAndGridLines-Bn9u5gOM.js} +19 -20
- package/dist/{XTicksAndGridLines-CUefTINd.js.map → XTicksAndGridLines-Bn9u5gOM.js.map} +1 -1
- package/dist/XTicksAndGridLines-CCzXIV8d.cjs +2 -0
- package/dist/{XTicksAndGridLines-DuK35ROS.cjs.map → XTicksAndGridLines-CCzXIV8d.cjs.map} +1 -1
- package/dist/YAxesLabels-BXLTX7AI.cjs +2 -0
- package/dist/{YAxesLabels-DhBdLk3Z.cjs.map → YAxesLabels-BXLTX7AI.cjs.map} +1 -1
- package/dist/{YAxesLabels-CYVY053X.js → YAxesLabels-H5-002X5.js} +11 -12
- package/dist/{YAxesLabels-CYVY053X.js.map → YAxesLabels-H5-002X5.js.map} +1 -1
- package/dist/{YTicksAndGridLines-BJRXuBdC.js → YTicksAndGridLines-B6ah7CRf.js} +14 -15
- package/dist/{YTicksAndGridLines-BJRXuBdC.js.map → YTicksAndGridLines-B6ah7CRf.js.map} +1 -1
- package/dist/YTicksAndGridLines-DBDuz6vb.cjs +2 -0
- package/dist/{YTicksAndGridLines-CtLvzExe.cjs.map → YTicksAndGridLines-DBDuz6vb.cjs.map} +1 -1
- package/dist/{checkIfMultiple-CaefP4X2.js → checkIfMultiple-BB7PlCNh.js} +1013 -518
- package/dist/checkIfMultiple-BB7PlCNh.js.map +1 -0
- package/dist/checkIfMultiple-D5ysrI7G.cjs +12 -0
- package/dist/checkIfMultiple-D5ysrI7G.cjs.map +1 -0
- package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs +2 -0
- package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs.map +1 -0
- package/dist/checkIfNullOrUndefined-DmfiKkNw.js +7 -0
- package/dist/checkIfNullOrUndefined-DmfiKkNw.js.map +1 -0
- package/dist/customArea-BYNyxAkm.cjs +2 -0
- package/dist/{customArea-B47Ew5cT.cjs.map → customArea-BYNyxAkm.cjs.map} +1 -1
- package/dist/{customArea-I3MsoqIl.js → customArea-CaxScFmW.js} +29 -30
- package/dist/{customArea-I3MsoqIl.js.map → customArea-CaxScFmW.js.map} +1 -1
- package/dist/excelDownload-BOA-lskf.js +19 -0
- package/dist/excelDownload-BOA-lskf.js.map +1 -0
- package/dist/excelDownload-BQpsCa62.cjs +2 -0
- package/dist/excelDownload-BQpsCa62.cjs.map +1 -0
- package/dist/fetchAndParseData-Bcmr659B.js +1196 -0
- package/dist/fetchAndParseData-Bcmr659B.js.map +1 -0
- package/dist/fetchAndParseData-DmgQtB9n.cjs +16 -0
- package/dist/fetchAndParseData-DmgQtB9n.cjs.map +1 -0
- package/dist/fetchAndParseData.cjs +2 -0
- package/dist/fetchAndParseData.cjs.map +1 -0
- package/dist/fetchAndParseData.js +9 -15
- package/dist/fetchAndParseData.js.map +1 -1
- package/dist/getGraphList-DuColTJM.js +265 -0
- package/dist/getGraphList-DuColTJM.js.map +1 -0
- package/dist/getGraphList-gf02xgT2.cjs +2 -0
- package/dist/getGraphList-gf02xgT2.cjs.map +1 -0
- package/dist/getJenks-TWQvbuOz.cjs +2 -0
- package/dist/getJenks-TWQvbuOz.cjs.map +1 -0
- package/dist/getJenks-VhM3GIoC.js +23 -0
- package/dist/getJenks-VhM3GIoC.js.map +1 -0
- package/dist/getSchema.cjs +2 -0
- package/dist/getSchema.cjs.map +1 -0
- package/dist/getSchema.js +910 -1
- package/dist/getSchema.js.map +1 -1
- package/dist/getSliderMarks-C0jptXeP.js +1054 -0
- package/dist/getSliderMarks-C0jptXeP.js.map +1 -0
- package/dist/getSliderMarks-CtsEXiLV.cjs +6 -0
- package/dist/getSliderMarks-CtsEXiLV.cjs.map +1 -0
- package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js +28 -0
- package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js.map +1 -0
- package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs +2 -0
- package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -0
- package/dist/getUniqValue-BtUENB2H.js +20 -0
- package/dist/getUniqValue-BtUENB2H.js.map +1 -0
- package/dist/getUniqValue-CHqgSss5.cjs +2 -0
- package/dist/getUniqValue-CHqgSss5.cjs.map +1 -0
- package/dist/imageDownload-CgDcm1Sj.cjs +3 -0
- package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -0
- package/dist/imageDownload-Dcci2LEy.js +495 -0
- package/dist/imageDownload-Dcci2LEy.js.map +1 -0
- package/dist/index-BVnYktl4.js +435 -0
- package/dist/index-BVnYktl4.js.map +1 -0
- package/dist/index-BW_-wD2k.cjs +2 -0
- package/dist/index-BW_-wD2k.cjs.map +1 -0
- package/dist/{index-DXmF_0ez.js → index-BmCqpO1B.js} +74 -40
- package/dist/index-BmCqpO1B.js.map +1 -0
- package/dist/{index-Db-Yg_Ud.js → index-BxAUvrua.js} +19 -19
- package/dist/{index-Db-Yg_Ud.js.map → index-BxAUvrua.js.map} +1 -1
- package/dist/index-CHPV5EwG-BPSP-7Jg.js +3341 -0
- package/dist/index-CHPV5EwG-BPSP-7Jg.js.map +1 -0
- package/dist/index-CHPV5EwG-DDoeWRVt.cjs +44 -0
- package/dist/index-CHPV5EwG-DDoeWRVt.cjs.map +1 -0
- package/dist/index-CylX-pWB.cjs +2 -0
- package/dist/{index-BYroABPm.cjs.map → index-CylX-pWB.cjs.map} +1 -1
- package/dist/index-D9h2WYDS.cjs +22 -0
- package/dist/index-D9h2WYDS.cjs.map +1 -0
- package/dist/index-DG3YrCr5-D3FrrXj8.js +459 -0
- package/dist/index-DG3YrCr5-D3FrrXj8.js.map +1 -0
- package/dist/index-DG3YrCr5-v7rayV3N.cjs +2 -0
- package/dist/index-DG3YrCr5-v7rayV3N.cjs.map +1 -0
- package/dist/index-DVOJ7vxH.cjs +10 -0
- package/dist/{index-a2C2Bqn2.cjs.map → index-DVOJ7vxH.cjs.map} +1 -1
- package/dist/index-D_n8aamX.cjs +2 -0
- package/dist/index-D_n8aamX.cjs.map +1 -0
- package/dist/index-OCoyy1wG.js +635 -0
- package/dist/index-OCoyy1wG.js.map +1 -0
- package/dist/{index-DzdwZ2OA.js → index-n_RI8T0n.js} +3 -3
- package/dist/{index-DzdwZ2OA.js.map → index-n_RI8T0n.js.map} +1 -1
- package/dist/index-tvAyXPPW-DBlMKnNB.js +47 -0
- package/dist/index-tvAyXPPW-DBlMKnNB.js.map +1 -0
- package/dist/index-tvAyXPPW-DPOG-C2i.cjs +2 -0
- package/dist/index-tvAyXPPW-DPOG-C2i.cjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -5
- package/dist/index.js +180 -1
- package/dist/index.js.map +1 -1
- package/dist/numberFormattingFunction-02t-wJta.cjs +2 -0
- package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -0
- package/dist/numberFormattingFunction-14YCbkN2.js +13 -0
- package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -0
- package/dist/{use-in-view-CZPXmTZM.js → proxy-DJxJg1kD.js} +699 -732
- package/dist/proxy-DJxJg1kD.js.map +1 -0
- package/dist/{use-in-view-Dl1CsAIo.cjs → proxy-PQd2AItT.cjs} +2 -2
- package/dist/proxy-PQd2AItT.cjs.map +1 -0
- package/dist/removeOutliers-DR48e-18.js +57 -0
- package/dist/removeOutliers-DR48e-18.js.map +1 -0
- package/dist/removeOutliers-WELHHqiI.cjs +2 -0
- package/dist/removeOutliers-WELHHqiI.cjs.map +1 -0
- package/dist/{string2HTML-BX0oNw83.js → string2HTML-CWHGfz_d.js} +2 -2
- package/dist/{string2HTML-BX0oNw83.js.map → string2HTML-CWHGfz_d.js.map} +1 -1
- package/dist/{string2HTML-X4ZYX5jI.cjs → string2HTML-D2Avudmb.cjs} +2 -2
- package/dist/{string2HTML-X4ZYX5jI.cjs.map → string2HTML-D2Avudmb.cjs.map} +1 -1
- package/dist/svgDownload-C2-E3yf2.js +9 -0
- package/dist/svgDownload-C2-E3yf2.js.map +1 -0
- package/dist/svgDownload-D9zEGjTF.cjs +2 -0
- package/dist/svgDownload-D9zEGjTF.cjs.map +1 -0
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +4 -0
- package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +1 -0
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +145 -0
- package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +1 -0
- package/dist/transformData.cjs +2 -0
- package/dist/transformData.cjs.map +1 -0
- package/dist/transformData.d.ts +170 -0
- package/dist/transformData.js +10 -0
- package/dist/transformData.js.map +1 -0
- package/dist/transformDataForAggregation-BUGJnson.cjs +2 -0
- package/dist/transformDataForAggregation-BUGJnson.cjs.map +1 -0
- package/dist/transformDataForAggregation-DAQJWGNL.js +759 -0
- package/dist/transformDataForAggregation-DAQJWGNL.js.map +1 -0
- package/dist/transformDataForGraphFromFile-CrntpaMU.cjs +2 -0
- package/dist/transformDataForGraphFromFile-CrntpaMU.cjs.map +1 -0
- package/dist/transformDataForGraphFromFile-DdNiOWeC.js +24 -0
- package/dist/transformDataForGraphFromFile-DdNiOWeC.js.map +1 -0
- package/dist/use-in-view-BAHrBy6b.js +40 -0
- package/dist/use-in-view-BAHrBy6b.js.map +1 -0
- package/dist/use-in-view-BCmzDU2O.cjs +2 -0
- package/dist/use-in-view-BCmzDU2O.cjs.map +1 -0
- package/dist/utils.cjs +2 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +217 -0
- package/dist/utils.js +27 -0
- package/dist/utils.js.map +1 -0
- package/dist/validateSchema.cjs +2 -0
- package/dist/validateSchema.cjs.map +1 -0
- package/dist/validateSchema.js +104 -1
- package/dist/validateSchema.js.map +1 -1
- package/dist/x-CnsEH4Ox-CGGXQl4M.cjs +27 -0
- package/dist/x-CnsEH4Ox-CGGXQl4M.cjs.map +1 -0
- package/dist/x-CnsEH4Ox-DDvAJndW.js +101 -0
- package/dist/x-CnsEH4Ox-DDvAJndW.js.map +1 -0
- package/package.json +15 -90
- package/dist/Axis-BlyBRMNw.cjs +0 -2
- package/dist/AxisTitle-BY8MI9jC.cjs +0 -2
- package/dist/AxisTitle-BeMxcw5I.js +0 -21
- package/dist/DropdownSelect-CuzV7gdj.cjs +0 -29
- package/dist/DropdownSelect-CuzV7gdj.cjs.map +0 -1
- package/dist/DropdownSelect-DmZsXrhY.js +0 -2698
- package/dist/DropdownSelect-DmZsXrhY.js.map +0 -1
- package/dist/EmptyState-BQguKAp5.cjs +0 -2
- package/dist/Modal-C9txyGOk.js +0 -723
- package/dist/Modal-C9txyGOk.js.map +0 -1
- package/dist/Modal-cQF2UQIa.cjs +0 -46
- package/dist/Modal-cQF2UQIa.cjs.map +0 -1
- package/dist/ReferenceLine-BgDdQbDI.js.map +0 -1
- package/dist/ReferenceLine-Bsb5jeE4.cjs +0 -2
- package/dist/ReferenceLine-Bsb5jeE4.cjs.map +0 -1
- package/dist/RegressionLine-BfpCuD7B.cjs +0 -2
- package/dist/Spinner-DN3s4S0H.js +0 -17
- package/dist/Spinner-DN3s4S0H.js.map +0 -1
- package/dist/Spinner-UmN-KPe9.cjs +0 -2
- package/dist/Spinner-UmN-KPe9.cjs.map +0 -1
- package/dist/Tooltip-BM18N_3l.cjs +0 -2
- package/dist/Typography-CDR-DAHH.cjs +0 -2
- package/dist/Typography-CDR-DAHH.cjs.map +0 -1
- package/dist/Typography-XJoSE-By.js +0 -58
- package/dist/Typography-XJoSE-By.js.map +0 -1
- package/dist/XAxesLabels-C9REbQQs.cjs +0 -2
- package/dist/XTicksAndGridLines-DuK35ROS.cjs +0 -2
- package/dist/YAxesLabels-DhBdLk3Z.cjs +0 -2
- package/dist/YTicksAndGridLines-CtLvzExe.cjs +0 -2
- package/dist/checkIfMultiple-CaefP4X2.js.map +0 -1
- package/dist/checkIfMultiple-D3h8to1T.cjs +0 -12
- package/dist/checkIfMultiple-D3h8to1T.cjs.map +0 -1
- package/dist/checkIfNullOrUndefined.d.ts +0 -15
- package/dist/checkIfNullOrUndefined.js +0 -2
- package/dist/checkIfNullOrUndefined.js.map +0 -1
- package/dist/customArea-B47Ew5cT.cjs +0 -2
- package/dist/excelDownload.d.ts +0 -31
- package/dist/excelDownload.js +0 -2
- package/dist/excelDownload.js.map +0 -1
- package/dist/generateCodes.d.ts +0 -25
- package/dist/generateCodes.js +0 -2
- package/dist/generateCodes.js.map +0 -1
- package/dist/getJenks.d.ts +0 -17
- package/dist/getJenks.js +0 -2
- package/dist/getJenks.js.map +0 -1
- package/dist/getPercentileValue.d.ts +0 -13
- package/dist/getPercentileValue.js +0 -2
- package/dist/getPercentileValue.js.map +0 -1
- package/dist/getQueryParamsFromLink.d.ts +0 -18
- package/dist/getQueryParamsFromLink.js +0 -2
- package/dist/getQueryParamsFromLink.js.map +0 -1
- package/dist/getSliderMarks-CWajGCGq.js +0 -719
- package/dist/getSliderMarks-CWajGCGq.js.map +0 -1
- package/dist/getSliderMarks-DDJ1CdhL.cjs +0 -6
- package/dist/getSliderMarks-DDJ1CdhL.cjs.map +0 -1
- package/dist/getTextColorBasedOnBgColor.d.ts +0 -13
- package/dist/getTextColorBasedOnBgColor.js +0 -2
- package/dist/getTextColorBasedOnBgColor.js.map +0 -1
- package/dist/getUniqValue.d.ts +0 -18
- package/dist/getUniqValue.js +0 -2
- package/dist/getUniqValue.js.map +0 -1
- package/dist/graphList.d.ts +0 -9
- package/dist/graphList.js +0 -2
- package/dist/graphList.js.map +0 -1
- package/dist/imageDownload.d.ts +0 -16
- package/dist/imageDownload.js +0 -3
- package/dist/imageDownload.js.map +0 -1
- package/dist/index-01r5X3Gr-9jE0ObrK.cjs +0 -2
- package/dist/index-01r5X3Gr-9jE0ObrK.cjs.map +0 -1
- package/dist/index-01r5X3Gr-kH7FxQ7P.js +0 -451
- package/dist/index-01r5X3Gr-kH7FxQ7P.js.map +0 -1
- package/dist/index-BGMGC-HN.cjs +0 -22
- package/dist/index-BGMGC-HN.cjs.map +0 -1
- package/dist/index-BHm2KTjD-2e-Fu8L-.js +0 -702
- package/dist/index-BHm2KTjD-2e-Fu8L-.js.map +0 -1
- package/dist/index-BHm2KTjD-D8FylaKc.cjs +0 -44
- package/dist/index-BHm2KTjD-D8FylaKc.cjs.map +0 -1
- package/dist/index-BIPNFFja.js +0 -506
- package/dist/index-BIPNFFja.js.map +0 -1
- package/dist/index-BYroABPm.cjs +0 -2
- package/dist/index-CEc_9zWy.cjs +0 -2
- package/dist/index-CEc_9zWy.cjs.map +0 -1
- package/dist/index-CbVeVrla.cjs +0 -2
- package/dist/index-CbVeVrla.cjs.map +0 -1
- package/dist/index-CqzhBPuO-CfQywbdq.js +0 -41
- package/dist/index-CqzhBPuO-CfQywbdq.js.map +0 -1
- package/dist/index-CqzhBPuO-raKZqS7l.cjs +0 -2
- package/dist/index-CqzhBPuO-raKZqS7l.cjs.map +0 -1
- package/dist/index-DSnvdkHZ.js +0 -495
- package/dist/index-DSnvdkHZ.js.map +0 -1
- package/dist/index-DXmF_0ez.js.map +0 -1
- package/dist/index-a2C2Bqn2.cjs +0 -10
- package/dist/numberFormattingFunction.d.ts +0 -22
- package/dist/numberFormattingFunction.js +0 -2
- package/dist/numberFormattingFunction.js.map +0 -1
- package/dist/removeOutliers.d.ts +0 -16
- package/dist/removeOutliers.js +0 -2
- package/dist/removeOutliers.js.map +0 -1
- package/dist/svgDownload.d.ts +0 -16
- package/dist/svgDownload.js +0 -2
- package/dist/svgDownload.js.map +0 -1
- package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js +0 -139
- package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js.map +0 -1
- package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs +0 -4
- package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs.map +0 -1
- package/dist/transformColumnsToArray.d.ts +0 -38
- package/dist/transformColumnsToArray.js +0 -2
- package/dist/transformColumnsToArray.js.map +0 -1
- package/dist/transformDataForAggregation.d.ts +0 -38
- package/dist/transformDataForAggregation.js +0 -2
- package/dist/transformDataForAggregation.js.map +0 -1
- package/dist/transformDataForGraph.d.ts +0 -47
- package/dist/transformDataForGraph.js +0 -2
- package/dist/transformDataForGraph.js.map +0 -1
- package/dist/transformDataForGraphFromFile.d.ts +0 -66
- package/dist/transformDataForGraphFromFile.js +0 -2
- package/dist/transformDataForGraphFromFile.js.map +0 -1
- package/dist/use-in-view-CZPXmTZM.js.map +0 -1
- package/dist/use-in-view-Dl1CsAIo.cjs.map +0 -1
- package/dist/x-Dft9NVe_-DcB7wtv5.js +0 -61
- package/dist/x-Dft9NVe_-DcB7wtv5.js.map +0 -1
- package/dist/x-Dft9NVe_-LeyJu02C.cjs +0 -27
- package/dist/x-Dft9NVe_-LeyJu02C.cjs.map +0 -1
package/dist/GeoHubMap.js
CHANGED
|
@@ -1,2 +1,430 @@
|
|
|
1
|
-
|
|
1
|
+
import { j as e, m as I } from "./index-CHPV5EwG-BPSP-7Jg.js";
|
|
2
|
+
import R, { useState as N, useRef as M, useEffect as L, useMemo as A } from "react";
|
|
3
|
+
import { Z as E, H as Z } from "./DropdownSelect-CDC9lEqU.js";
|
|
4
|
+
import w from "maplibre-gl";
|
|
5
|
+
import * as W from "pmtiles";
|
|
6
|
+
/* empty css */
|
|
7
|
+
import { f as z } from "./fetchAndParseData-Bcmr659B.js";
|
|
8
|
+
import { f as V } from "./filterData-B8ocT57s.js";
|
|
9
|
+
import { X as _ } from "./index-BmCqpO1B.js";
|
|
10
|
+
import { s as $ } from "./string2HTML-CWHGfz_d.js";
|
|
11
|
+
import { s as P } from "./select-DKy99ogv.js";
|
|
12
|
+
import { GraphHeader as F } from "./GraphHeader.js";
|
|
13
|
+
import { GraphFooter as J } from "./GraphFooter.js";
|
|
14
|
+
function X(k) {
|
|
15
|
+
const {
|
|
16
|
+
mapStyle: t,
|
|
17
|
+
height: n,
|
|
18
|
+
width: r,
|
|
19
|
+
relativeHeight: a,
|
|
20
|
+
center: y,
|
|
21
|
+
zoomLevel: b,
|
|
22
|
+
minHeight: c,
|
|
23
|
+
includeLayers: u,
|
|
24
|
+
excludeLayers: p,
|
|
25
|
+
mapLegend: o
|
|
26
|
+
} = k, [l, v] = N(0), [j, h] = N(0), [H, C] = N(!0), d = M(null), g = M(null), i = M(null);
|
|
27
|
+
return L(() => {
|
|
28
|
+
const s = new ResizeObserver((m) => {
|
|
29
|
+
v(r || m[0].target.clientWidth || 620), h(n || m[0].target.clientHeight || 480);
|
|
30
|
+
});
|
|
31
|
+
return d.current && (h(d.current.clientHeight || 480), v(d.current.clientWidth || 620), r || s.observe(d.current)), () => s.disconnect();
|
|
32
|
+
}, [r, n]), L(() => {
|
|
33
|
+
g.current && l && !i.current && z(t).then((s) => {
|
|
34
|
+
P(g.current).selectAll("div").remove();
|
|
35
|
+
const f = new W.Protocol();
|
|
36
|
+
w.addProtocol("pmtiles", f.tile);
|
|
37
|
+
const x = {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
+
container: g.current,
|
|
40
|
+
style: u.length === 0 && p.length === 0 ? s : {
|
|
41
|
+
...s,
|
|
42
|
+
layers: V(s.layers, [
|
|
43
|
+
{
|
|
44
|
+
column: "id",
|
|
45
|
+
includeValues: u,
|
|
46
|
+
excludeValues: p
|
|
47
|
+
}
|
|
48
|
+
])
|
|
49
|
+
},
|
|
50
|
+
attributionControl: !0
|
|
51
|
+
};
|
|
52
|
+
y && (x.center = y), b && (x.zoom = b), i.current = new w.Map(x), i.current.addControl(
|
|
53
|
+
new w.NavigationControl({
|
|
54
|
+
visualizePitch: !0,
|
|
55
|
+
showZoom: !0,
|
|
56
|
+
showCompass: !0
|
|
57
|
+
}),
|
|
58
|
+
"bottom-right"
|
|
59
|
+
), i.current.addControl(new w.ScaleControl(), "bottom-left");
|
|
60
|
+
});
|
|
61
|
+
}, [l, y, b, u, p, t]), L(() => {
|
|
62
|
+
i.current && z(t).then((s) => {
|
|
63
|
+
const m = {
|
|
64
|
+
...s,
|
|
65
|
+
layers: V(s.layers, [
|
|
66
|
+
{
|
|
67
|
+
column: "id",
|
|
68
|
+
includeValues: u,
|
|
69
|
+
excludeValues: p
|
|
70
|
+
}
|
|
71
|
+
])
|
|
72
|
+
};
|
|
73
|
+
i.current.setStyle(m);
|
|
74
|
+
});
|
|
75
|
+
}, [p, u, t]), /* @__PURE__ */ e.jsx(
|
|
76
|
+
"div",
|
|
77
|
+
{
|
|
78
|
+
className: "flex flex-col grow justify-center leading-0",
|
|
79
|
+
ref: d,
|
|
80
|
+
"aria-label": "Map area",
|
|
81
|
+
children: (r || l) && (n || j) ? /* @__PURE__ */ e.jsxs(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
style: {
|
|
85
|
+
width: r || l,
|
|
86
|
+
height: Math.max(
|
|
87
|
+
c,
|
|
88
|
+
n || (a ? c ? (r || l) * a > c ? (r || l) * a : c : (r || l) * a : j)
|
|
89
|
+
)
|
|
90
|
+
},
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ e.jsx(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
ref: g,
|
|
96
|
+
className: "map maplibre-show-control",
|
|
97
|
+
style: { width: "100%", height: "100%" }
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
o ? /* @__PURE__ */ e.jsx("div", { className: "absolute left-[22px] bottom-13", children: H ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
101
|
+
/* @__PURE__ */ e.jsx(
|
|
102
|
+
"div",
|
|
103
|
+
{
|
|
104
|
+
style: {
|
|
105
|
+
backgroundColor: "rgba(240,240,240, 0.7)",
|
|
106
|
+
border: "1px solid var(--gray-400)",
|
|
107
|
+
borderRadius: "999px",
|
|
108
|
+
width: "24px",
|
|
109
|
+
height: "24px",
|
|
110
|
+
padding: "3px",
|
|
111
|
+
cursor: "pointer",
|
|
112
|
+
zIndex: 10,
|
|
113
|
+
position: "absolute",
|
|
114
|
+
right: "-0.75rem",
|
|
115
|
+
top: "-0.75rem"
|
|
116
|
+
},
|
|
117
|
+
onClick: () => {
|
|
118
|
+
C(!1);
|
|
119
|
+
},
|
|
120
|
+
children: /* @__PURE__ */ e.jsx(_, {})
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
/* @__PURE__ */ e.jsx(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
className: "p-2",
|
|
127
|
+
style: {
|
|
128
|
+
backgroundColor: "rgba(240,240,240, 0.7)"
|
|
129
|
+
},
|
|
130
|
+
dangerouslySetInnerHTML: typeof o == "string" ? { __html: $(o) } : void 0,
|
|
131
|
+
children: R.isValidElement(o) ? o : null
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
] }) : /* @__PURE__ */ e.jsx(
|
|
135
|
+
"button",
|
|
136
|
+
{
|
|
137
|
+
type: "button",
|
|
138
|
+
className: "mb-0 border-0 bg-transparent p-0 self-start",
|
|
139
|
+
onClick: () => {
|
|
140
|
+
C(!0);
|
|
141
|
+
},
|
|
142
|
+
children: /* @__PURE__ */ e.jsx("div", { className: "items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500", children: "Show Legend" })
|
|
143
|
+
}
|
|
144
|
+
) }) : null
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
) : null
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
function q(k) {
|
|
152
|
+
const {
|
|
153
|
+
mapStyle: t,
|
|
154
|
+
height: n,
|
|
155
|
+
width: r,
|
|
156
|
+
relativeHeight: a,
|
|
157
|
+
center: y,
|
|
158
|
+
zoomLevel: b,
|
|
159
|
+
minHeight: c,
|
|
160
|
+
includeLayers: u,
|
|
161
|
+
excludeLayers: p,
|
|
162
|
+
mapLegend: o
|
|
163
|
+
} = k, [l, v] = N(0), [j, h] = N(0), [H, C] = N(!0), d = M(null), g = M(null);
|
|
164
|
+
return L(() => {
|
|
165
|
+
const i = new ResizeObserver((s) => {
|
|
166
|
+
v(r || s[0].target.clientWidth || 620), h(n || s[0].target.clientHeight || 480);
|
|
167
|
+
});
|
|
168
|
+
return d.current && (h(d.current.clientHeight || 480), v(d.current.clientWidth || 620), r || i.observe(d.current)), () => i.disconnect();
|
|
169
|
+
}, [r, n]), L(() => {
|
|
170
|
+
g.current && l && z(t).then((i) => {
|
|
171
|
+
P(g.current).selectAll("div").remove();
|
|
172
|
+
const m = new W.Protocol();
|
|
173
|
+
w.addProtocol("pmtiles", m.tile);
|
|
174
|
+
const f = {
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
176
|
+
container: g.current,
|
|
177
|
+
style: u.length === 0 && p.length === 0 ? i : {
|
|
178
|
+
...i,
|
|
179
|
+
layers: V(i.layers, [
|
|
180
|
+
{
|
|
181
|
+
column: "id",
|
|
182
|
+
includeValues: u,
|
|
183
|
+
excludeValues: p
|
|
184
|
+
}
|
|
185
|
+
])
|
|
186
|
+
},
|
|
187
|
+
attributionControl: !0
|
|
188
|
+
};
|
|
189
|
+
y && (f.center = y), b && (f.zoom = b);
|
|
190
|
+
const x = new w.Map(f);
|
|
191
|
+
x.addControl(
|
|
192
|
+
new w.NavigationControl({
|
|
193
|
+
visualizePitch: !0,
|
|
194
|
+
showZoom: !0,
|
|
195
|
+
showCompass: !0
|
|
196
|
+
}),
|
|
197
|
+
"bottom-right"
|
|
198
|
+
), x.addControl(new w.ScaleControl(), "bottom-left");
|
|
199
|
+
});
|
|
200
|
+
}, [l, t, y, b, u, p]), /* @__PURE__ */ e.jsx(
|
|
201
|
+
"div",
|
|
202
|
+
{
|
|
203
|
+
className: "flex flex-col grow justify-center leading-0",
|
|
204
|
+
ref: d,
|
|
205
|
+
"aria-label": "Map area",
|
|
206
|
+
children: (r || l) && (n || j) ? /* @__PURE__ */ e.jsxs(
|
|
207
|
+
"div",
|
|
208
|
+
{
|
|
209
|
+
style: {
|
|
210
|
+
width: r || l,
|
|
211
|
+
height: Math.max(
|
|
212
|
+
c,
|
|
213
|
+
n || (a ? c ? (r || l) * a > c ? (r || l) * a : c : (r || l) * a : j)
|
|
214
|
+
)
|
|
215
|
+
},
|
|
216
|
+
children: [
|
|
217
|
+
/* @__PURE__ */ e.jsx(
|
|
218
|
+
"div",
|
|
219
|
+
{
|
|
220
|
+
ref: g,
|
|
221
|
+
className: "map maplibre-show-control",
|
|
222
|
+
style: { width: "100%", height: "100%" }
|
|
223
|
+
}
|
|
224
|
+
),
|
|
225
|
+
o ? /* @__PURE__ */ e.jsx("div", { className: "absolute left-[22px] bottom-13", children: H ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
226
|
+
/* @__PURE__ */ e.jsx(
|
|
227
|
+
"div",
|
|
228
|
+
{
|
|
229
|
+
style: {
|
|
230
|
+
backgroundColor: "rgba(240,240,240, 0.7)",
|
|
231
|
+
border: "1px solid var(--gray-400)",
|
|
232
|
+
borderRadius: "999px",
|
|
233
|
+
width: "24px",
|
|
234
|
+
height: "24px",
|
|
235
|
+
padding: "3px",
|
|
236
|
+
cursor: "pointer",
|
|
237
|
+
zIndex: 10,
|
|
238
|
+
position: "absolute",
|
|
239
|
+
right: "-0.75rem",
|
|
240
|
+
top: "-0.75rem"
|
|
241
|
+
},
|
|
242
|
+
onClick: () => {
|
|
243
|
+
C(!1);
|
|
244
|
+
},
|
|
245
|
+
children: /* @__PURE__ */ e.jsx(_, {})
|
|
246
|
+
}
|
|
247
|
+
),
|
|
248
|
+
/* @__PURE__ */ e.jsx(
|
|
249
|
+
"div",
|
|
250
|
+
{
|
|
251
|
+
className: "p-2",
|
|
252
|
+
style: {
|
|
253
|
+
backgroundColor: "rgba(240,240,240, 0.7)"
|
|
254
|
+
},
|
|
255
|
+
dangerouslySetInnerHTML: typeof o == "string" ? { __html: $(o) } : void 0,
|
|
256
|
+
children: R.isValidElement(o) ? o : null
|
|
257
|
+
}
|
|
258
|
+
)
|
|
259
|
+
] }) : /* @__PURE__ */ e.jsx(
|
|
260
|
+
"button",
|
|
261
|
+
{
|
|
262
|
+
type: "button",
|
|
263
|
+
className: "mb-0 border-0 bg-transparent p-0 self-start",
|
|
264
|
+
onClick: () => {
|
|
265
|
+
C(!0);
|
|
266
|
+
},
|
|
267
|
+
children: /* @__PURE__ */ e.jsx("div", { className: "items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500", children: "Show Legend" })
|
|
268
|
+
}
|
|
269
|
+
) }) : null
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
) : null
|
|
273
|
+
}
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
function se(k) {
|
|
277
|
+
const {
|
|
278
|
+
mapStyle: t,
|
|
279
|
+
graphTitle: n,
|
|
280
|
+
height: r,
|
|
281
|
+
width: a,
|
|
282
|
+
relativeHeight: y,
|
|
283
|
+
sources: b,
|
|
284
|
+
graphDescription: c,
|
|
285
|
+
footNote: u,
|
|
286
|
+
padding: p,
|
|
287
|
+
backgroundColor: o = !1,
|
|
288
|
+
center: l,
|
|
289
|
+
zoomLevel: v,
|
|
290
|
+
graphID: j,
|
|
291
|
+
language: h = "en",
|
|
292
|
+
minHeight: H = 0,
|
|
293
|
+
theme: C = "light",
|
|
294
|
+
includeLayers: d = [],
|
|
295
|
+
excludeLayers: g = [],
|
|
296
|
+
ariaLabel: i,
|
|
297
|
+
uiMode: s = "normal",
|
|
298
|
+
styles: m,
|
|
299
|
+
classNames: f,
|
|
300
|
+
mapLegend: x
|
|
301
|
+
} = k, [D, O] = N(
|
|
302
|
+
typeof t == "string" ? t : t[0].style
|
|
303
|
+
);
|
|
304
|
+
L(() => {
|
|
305
|
+
O(typeof t == "string" ? t : t[0].style);
|
|
306
|
+
}, [t]);
|
|
307
|
+
const G = A(
|
|
308
|
+
() => ({
|
|
309
|
+
ignoreCase: !0,
|
|
310
|
+
ignoreAccents: !0,
|
|
311
|
+
trim: !0
|
|
312
|
+
}),
|
|
313
|
+
[]
|
|
314
|
+
);
|
|
315
|
+
return /* @__PURE__ */ e.jsx(
|
|
316
|
+
"div",
|
|
317
|
+
{
|
|
318
|
+
className: `${C || "light"} flex ${a ? "w-fit grow-0" : "w-full grow"}`,
|
|
319
|
+
dir: h === "he" || h === "ar" ? "rtl" : void 0,
|
|
320
|
+
children: /* @__PURE__ */ e.jsx(
|
|
321
|
+
"div",
|
|
322
|
+
{
|
|
323
|
+
className: I(
|
|
324
|
+
`${o ? o === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${h || "en"}`,
|
|
325
|
+
f?.graphContainer
|
|
326
|
+
),
|
|
327
|
+
style: {
|
|
328
|
+
...m?.graphContainer || {},
|
|
329
|
+
...o && o !== !0 ? { backgroundColor: o } : {}
|
|
330
|
+
},
|
|
331
|
+
id: j,
|
|
332
|
+
"aria-label": i || `${n ? `The graph shows ${n}. ` : ""}This is a map.${c ? ` ${c}` : ""}`,
|
|
333
|
+
children: /* @__PURE__ */ e.jsx(
|
|
334
|
+
"div",
|
|
335
|
+
{
|
|
336
|
+
className: "flex grow",
|
|
337
|
+
style: { padding: o ? p || "1rem" : p || 0 },
|
|
338
|
+
children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col w-full gap-4 grow justify-between", children: [
|
|
339
|
+
n || c ? /* @__PURE__ */ e.jsx(
|
|
340
|
+
F,
|
|
341
|
+
{
|
|
342
|
+
styles: {
|
|
343
|
+
title: m?.title,
|
|
344
|
+
description: m?.description
|
|
345
|
+
},
|
|
346
|
+
classNames: {
|
|
347
|
+
title: f?.title,
|
|
348
|
+
description: f?.description
|
|
349
|
+
},
|
|
350
|
+
graphTitle: n,
|
|
351
|
+
graphDescription: c,
|
|
352
|
+
width: a
|
|
353
|
+
}
|
|
354
|
+
) : null,
|
|
355
|
+
typeof t == "string" ? null : /* @__PURE__ */ e.jsx(
|
|
356
|
+
E,
|
|
357
|
+
{
|
|
358
|
+
options: t.map((S) => ({ label: S.name, value: S.style })),
|
|
359
|
+
isClearable: !1,
|
|
360
|
+
size: "sm",
|
|
361
|
+
variant: s,
|
|
362
|
+
isRtl: h === "he" || h === "ar",
|
|
363
|
+
isSearchable: !0,
|
|
364
|
+
filterOption: Z(G),
|
|
365
|
+
defaultValue: {
|
|
366
|
+
label: t[0].name,
|
|
367
|
+
value: t[0].style
|
|
368
|
+
},
|
|
369
|
+
controlShouldRenderValue: !0,
|
|
370
|
+
onChange: (S) => {
|
|
371
|
+
S && O(S.value);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
),
|
|
375
|
+
typeof t == "string" ? /* @__PURE__ */ e.jsx(
|
|
376
|
+
q,
|
|
377
|
+
{
|
|
378
|
+
mapStyle: t,
|
|
379
|
+
center: l,
|
|
380
|
+
zoomLevel: v,
|
|
381
|
+
width: a,
|
|
382
|
+
height: r,
|
|
383
|
+
relativeHeight: y,
|
|
384
|
+
minHeight: H,
|
|
385
|
+
includeLayers: d,
|
|
386
|
+
excludeLayers: g,
|
|
387
|
+
mapLegend: x
|
|
388
|
+
}
|
|
389
|
+
) : /* @__PURE__ */ e.jsx(
|
|
390
|
+
X,
|
|
391
|
+
{
|
|
392
|
+
mapStyle: D,
|
|
393
|
+
center: l,
|
|
394
|
+
zoomLevel: v,
|
|
395
|
+
width: a,
|
|
396
|
+
height: r,
|
|
397
|
+
relativeHeight: y,
|
|
398
|
+
minHeight: H,
|
|
399
|
+
includeLayers: d,
|
|
400
|
+
excludeLayers: g,
|
|
401
|
+
mapLegend: (x || []).find(
|
|
402
|
+
(S) => S.mapStyleName === t.find((T) => T.style === D)?.name
|
|
403
|
+
)?.legend
|
|
404
|
+
}
|
|
405
|
+
),
|
|
406
|
+
b || u ? /* @__PURE__ */ e.jsx(
|
|
407
|
+
J,
|
|
408
|
+
{
|
|
409
|
+
styles: { footnote: m?.footnote, source: m?.source },
|
|
410
|
+
classNames: {
|
|
411
|
+
footnote: f?.footnote,
|
|
412
|
+
source: f?.source
|
|
413
|
+
},
|
|
414
|
+
sources: b,
|
|
415
|
+
footNote: u,
|
|
416
|
+
width: a
|
|
417
|
+
}
|
|
418
|
+
) : null
|
|
419
|
+
] })
|
|
420
|
+
}
|
|
421
|
+
)
|
|
422
|
+
}
|
|
423
|
+
)
|
|
424
|
+
}
|
|
425
|
+
);
|
|
426
|
+
}
|
|
427
|
+
export {
|
|
428
|
+
se as GeoHubMap
|
|
429
|
+
};
|
|
2
430
|
//# sourceMappingURL=GeoHubMap.js.map
|
package/dist/GeoHubMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoHubMap.js","sources":["../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.tsx","../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.tsx","../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from 'react';\r\nimport maplibreGl from 'maplibre-gl';\r\nimport * as pmtiles from 'pmtiles';\r\nimport 'maplibre-gl/dist/maplibre-gl.css';\r\nimport { select } from 'd3-selection';\r\nimport React from 'react';\r\n\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: number;\r\n width?: number;\r\n height?: number;\r\n relativeHeight?: number;\r\n minHeight: number;\r\n includeLayers: string[];\r\n excludeLayers: string[];\r\n mapLegend?: string | React.ReactNode;\r\n}\r\n\r\nexport function GeoHubMultipleMap(props: Props) {\r\n const {\r\n mapStyle,\r\n height,\r\n width,\r\n relativeHeight,\r\n center,\r\n zoomLevel,\r\n minHeight,\r\n includeLayers,\r\n excludeLayers,\r\n mapLegend,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapRef = useRef<any>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(width || entries[0].target.clientWidth || 620);\r\n setSvgHeight(height || entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 480);\r\n setSvgWidth(graphDiv.current.clientWidth || 620);\r\n if (!width) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height]);\r\n useEffect(() => {\r\n if (mapContainer.current && svgWidth && !mapRef.current) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapObj: any = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n container: mapContainer.current as any,\r\n style:\r\n includeLayers.length === 0 && excludeLayers.length === 0\r\n ? d\r\n : {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n },\r\n attributionControl: true,\r\n };\r\n if (center) {\r\n mapObj.center = center;\r\n }\r\n if (zoomLevel) {\r\n mapObj.zoom = zoomLevel;\r\n }\r\n mapRef.current = new maplibreGl.Map(mapObj);\r\n mapRef.current.addControl(\r\n new maplibreGl.NavigationControl({\r\n visualizePitch: true,\r\n showZoom: true,\r\n showCompass: true,\r\n }),\r\n 'bottom-right',\r\n );\r\n mapRef.current.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n });\r\n }\r\n }, [svgWidth, center, zoomLevel, includeLayers, excludeLayers, mapStyle]);\r\n useEffect(() => {\r\n if (mapRef.current) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapStyleObj: any = {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n };\r\n mapRef.current.setStyle(mapStyleObj);\r\n });\r\n }\r\n }, [excludeLayers, includeLayers, mapStyle]);\r\n return (\r\n <div\r\n className='flex flex-col grow justify-center leading-0'\r\n ref={graphDiv}\r\n aria-label='Map area'\r\n >\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <div\r\n style={{\r\n width: width || svgWidth,\r\n height: Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n ),\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control'\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n border: '1px solid var(--gray-400)',\r\n borderRadius: '999px',\r\n width: '24px',\r\n height: '24px',\r\n padding: '3px',\r\n cursor: 'pointer',\r\n zIndex: 10,\r\n position: 'absolute',\r\n right: '-0.75rem',\r\n top: '-0.75rem',\r\n }}\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='p-2'\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n }}\r\n dangerouslySetInnerHTML={\r\n typeof mapLegend === 'string' ? { __html: string2HTML(mapLegend) } : undefined\r\n }\r\n >\r\n {React.isValidElement(mapLegend) ? mapLegend : null}\r\n </div>\r\n </>\r\n ) : (\r\n <button\r\n type='button'\r\n className='mb-0 border-0 bg-transparent p-0 self-start'\r\n onClick={() => {\r\n setShowLegend(true);\r\n }}\r\n >\r\n <div className='items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import { useRef, useEffect, useState } from 'react';\r\nimport maplibreGl from 'maplibre-gl';\r\nimport * as pmtiles from 'pmtiles';\r\nimport 'maplibre-gl/dist/maplibre-gl.css';\r\nimport { select } from 'd3-selection';\r\nimport React from 'react';\r\n\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: number;\r\n width?: number;\r\n height?: number;\r\n relativeHeight?: number;\r\n minHeight: number;\r\n mapLegend?: string | React.ReactNode;\r\n includeLayers: string[];\r\n excludeLayers: string[];\r\n}\r\n\r\nexport function GeoHubSingleMap(props: Props) {\r\n const {\r\n mapStyle,\r\n height,\r\n width,\r\n relativeHeight,\r\n center,\r\n zoomLevel,\r\n minHeight,\r\n includeLayers,\r\n excludeLayers,\r\n mapLegend,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(width || entries[0].target.clientWidth || 620);\r\n setSvgHeight(height || entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 480);\r\n setSvgWidth(graphDiv.current.clientWidth || 620);\r\n if (!width) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height]);\r\n useEffect(() => {\r\n if (mapContainer.current && svgWidth) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapObj: any = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n container: mapContainer.current as any,\r\n style:\r\n includeLayers.length === 0 && excludeLayers.length === 0\r\n ? d\r\n : {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n },\r\n attributionControl: true,\r\n };\r\n if (center) {\r\n mapObj.center = center;\r\n }\r\n if (zoomLevel) {\r\n mapObj.zoom = zoomLevel;\r\n }\r\n const map = new maplibreGl.Map(mapObj);\r\n map.addControl(\r\n new maplibreGl.NavigationControl({\r\n visualizePitch: true,\r\n showZoom: true,\r\n showCompass: true,\r\n }),\r\n 'bottom-right',\r\n );\r\n map.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n });\r\n }\r\n }, [svgWidth, mapStyle, center, zoomLevel, includeLayers, excludeLayers]);\r\n return (\r\n <div\r\n className='flex flex-col grow justify-center leading-0'\r\n ref={graphDiv}\r\n aria-label='Map area'\r\n >\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <div\r\n style={{\r\n width: width || svgWidth,\r\n height: Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n ),\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control'\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n border: '1px solid var(--gray-400)',\r\n borderRadius: '999px',\r\n width: '24px',\r\n height: '24px',\r\n padding: '3px',\r\n cursor: 'pointer',\r\n zIndex: 10,\r\n position: 'absolute',\r\n right: '-0.75rem',\r\n top: '-0.75rem',\r\n }}\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='p-2'\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n }}\r\n dangerouslySetInnerHTML={\r\n typeof mapLegend === 'string' ? { __html: string2HTML(mapLegend) } : undefined\r\n }\r\n >\r\n {React.isValidElement(mapLegend) ? mapLegend : null}\r\n </div>\r\n </>\r\n ) : (\r\n <button\r\n type='button'\r\n className='mb-0 border-0 bg-transparent p-0 self-start'\r\n onClick={() => {\r\n setShowLegend(true);\r\n }}\r\n >\r\n <div className='items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { DropdownSelect, createFilter } from '@undp/design-system-react/DropdownSelect';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { GeoHubMultipleMap } from './GeoHubMultipleMap';\r\nimport { GeoHubSingleMap } from './GeoHubSingleMap';\r\n\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport {\r\n ClassNameObject,\r\n Languages,\r\n MapLegendDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** URL for mapStyle JSON. If the type is string, otherwise it creates and dropdown and provide end user to select the map style they would like to */\r\n mapStyle: string | { style: string; name: string }[];\r\n /** Defines the legend for the map. If the mapStyle is string, mapLegend can be string or ReactNode. mapLegend with type string is show as innerHTML. If the mapStyle is not string, mapLegend is of type { mapStyleName: string; legend: string | React.ReactNode }[] where mapStyleName corresponds to the each name in the mapStyle. */\r\n mapLegend?: string | React.ReactNode | MapLegendDataType[];\r\n /** Starting center point of the map */\r\n center?: [number, number];\r\n /** Starting zoom level of the map */\r\n zoomLevel?: number;\r\n /** List of layer IDs to be included in the visualization. If this is present only these layers are included. */\r\n includeLayers?: string[];\r\n /** List of layer IDs to be excluded from the visualization */\r\n excludeLayers?: string[];\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Theme for the UI elements */\r\n uiMode?: 'light' | 'normal';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\n/** For using these maps you will have to install [`maplibre`](https://maplibre.org/maplibre-gl-js/docs/#npm) and [pmtiles](https://www.npmjs.com/package/pmtiles) package to your project */\r\nexport function GeoHubMap(props: Props) {\r\n const {\r\n mapStyle,\r\n graphTitle,\r\n height,\r\n width,\r\n relativeHeight,\r\n sources,\r\n graphDescription,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n center,\r\n zoomLevel,\r\n graphID,\r\n language = 'en',\r\n minHeight = 0,\r\n theme = 'light',\r\n includeLayers = [],\r\n excludeLayers = [],\r\n ariaLabel,\r\n uiMode = 'normal',\r\n styles,\r\n classNames,\r\n mapLegend,\r\n } = props;\r\n\r\n const [selectedMapStyle, setSelectedMapStyle] = useState(\r\n typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style,\r\n );\r\n\r\n useEffect(() => {\r\n setSelectedMapStyle(typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style);\r\n }, [mapStyle]);\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 return (\r\n <div\r\n className={`${theme || 'light'} flex ${width ? 'w-fit grow-0' : 'w-full grow'}`}\r\n dir={language === 'he' || language === 'ar' ? 'rtl' : undefined}\r\n >\r\n <div\r\n className={cn(\r\n `${\r\n !backgroundColor\r\n ? 'bg-transparent '\r\n : backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto flex flex-col grow h-inherit ${language || 'en'}`,\r\n classNames?.graphContainer,\r\n )}\r\n style={{\r\n ...(styles?.graphContainer || {}),\r\n ...(backgroundColor && backgroundColor !== true ? { backgroundColor } : {}),\r\n }}\r\n id={graphID}\r\n aria-label={\r\n ariaLabel ||\r\n `${\r\n graphTitle ? `The graph shows ${graphTitle}. ` : ''\r\n }This is a map.${graphDescription ? ` ${graphDescription}` : ''}`\r\n }\r\n >\r\n <div\r\n className='flex grow'\r\n style={{ padding: backgroundColor ? padding || '1rem' : padding || 0 }}\r\n >\r\n <div className='flex flex-col w-full gap-4 grow justify-between'>\r\n {graphTitle || graphDescription ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n />\r\n ) : null}\r\n {typeof mapStyle === 'string' ? null : (\r\n <DropdownSelect\r\n options={mapStyle.map(d => ({ label: d.name, value: d.style }))}\r\n isClearable={false}\r\n size='sm'\r\n variant={uiMode}\r\n isRtl={language === 'he' || language === 'ar'}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n defaultValue={{\r\n label: mapStyle[0].name,\r\n value: mapStyle[0].style,\r\n }}\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n if (el) setSelectedMapStyle(el.value);\r\n }}\r\n />\r\n )}\r\n {typeof mapStyle === 'string' ? (\r\n <GeoHubSingleMap\r\n mapStyle={mapStyle}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n minHeight={minHeight}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={mapLegend as string | React.ReactNode | undefined}\r\n />\r\n ) : (\r\n <GeoHubMultipleMap\r\n mapStyle={selectedMapStyle}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n minHeight={minHeight}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={\r\n ((mapLegend || []) as MapLegendDataType[]).find(\r\n d =>\r\n d.mapStyleName === mapStyle.find(el => el.style === selectedMapStyle)?.name,\r\n )?.legend\r\n }\r\n />\r\n )}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["GeoHubMultipleMap","props","mapStyle","height","width","relativeHeight","center","zoomLevel","minHeight","includeLayers","excludeLayers","mapLegend","svgWidth","setSvgWidth","useState","svgHeight","setSvgHeight","showLegend","setShowLegend","graphDiv","useRef","mapContainer","mapRef","useEffect","resizeObserver","entries","fetchAndParseJSON","d","select","protocol","pmtiles","maplibreGl","mapObj","filterData","mapStyleObj","jsx","jsxs","Fragment","X","string2HTML","React","GeoHubSingleMap","map","GeoHubMap","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","theme","ariaLabel","uiMode","styles","classNames","selectedMapStyle","setSelectedMapStyle","filterConfig","useMemo","cn","GraphHeader","DropdownSelect","createFilter","el","GraphFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeoHubMap.js","sources":["../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.tsx","../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.tsx","../src/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from 'react';\r\nimport maplibreGl from 'maplibre-gl';\r\nimport * as pmtiles from 'pmtiles';\r\nimport 'maplibre-gl/dist/maplibre-gl.css';\r\nimport { select } from 'd3-selection';\r\nimport React from 'react';\r\n\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: number;\r\n width?: number;\r\n height?: number;\r\n relativeHeight?: number;\r\n minHeight: number;\r\n includeLayers: string[];\r\n excludeLayers: string[];\r\n mapLegend?: string | React.ReactNode;\r\n}\r\n\r\nexport function GeoHubMultipleMap(props: Props) {\r\n const {\r\n mapStyle,\r\n height,\r\n width,\r\n relativeHeight,\r\n center,\r\n zoomLevel,\r\n minHeight,\r\n includeLayers,\r\n excludeLayers,\r\n mapLegend,\r\n } = props;\r\n\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapRef = useRef<any>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(width || entries[0].target.clientWidth || 620);\r\n setSvgHeight(height || entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 480);\r\n setSvgWidth(graphDiv.current.clientWidth || 620);\r\n if (!width) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height]);\r\n useEffect(() => {\r\n if (mapContainer.current && svgWidth && !mapRef.current) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapObj: any = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n container: mapContainer.current as any,\r\n style:\r\n includeLayers.length === 0 && excludeLayers.length === 0\r\n ? d\r\n : {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n },\r\n attributionControl: true,\r\n };\r\n if (center) {\r\n mapObj.center = center;\r\n }\r\n if (zoomLevel) {\r\n mapObj.zoom = zoomLevel;\r\n }\r\n mapRef.current = new maplibreGl.Map(mapObj);\r\n mapRef.current.addControl(\r\n new maplibreGl.NavigationControl({\r\n visualizePitch: true,\r\n showZoom: true,\r\n showCompass: true,\r\n }),\r\n 'bottom-right',\r\n );\r\n mapRef.current.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n });\r\n }\r\n }, [svgWidth, center, zoomLevel, includeLayers, excludeLayers, mapStyle]);\r\n useEffect(() => {\r\n if (mapRef.current) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapStyleObj: any = {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n };\r\n mapRef.current.setStyle(mapStyleObj);\r\n });\r\n }\r\n }, [excludeLayers, includeLayers, mapStyle]);\r\n return (\r\n <div\r\n className='flex flex-col grow justify-center leading-0'\r\n ref={graphDiv}\r\n aria-label='Map area'\r\n >\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <div\r\n style={{\r\n width: width || svgWidth,\r\n height: Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n ),\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control'\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n border: '1px solid var(--gray-400)',\r\n borderRadius: '999px',\r\n width: '24px',\r\n height: '24px',\r\n padding: '3px',\r\n cursor: 'pointer',\r\n zIndex: 10,\r\n position: 'absolute',\r\n right: '-0.75rem',\r\n top: '-0.75rem',\r\n }}\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='p-2'\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n }}\r\n dangerouslySetInnerHTML={\r\n typeof mapLegend === 'string' ? { __html: string2HTML(mapLegend) } : undefined\r\n }\r\n >\r\n {React.isValidElement(mapLegend) ? mapLegend : null}\r\n </div>\r\n </>\r\n ) : (\r\n <button\r\n type='button'\r\n className='mb-0 border-0 bg-transparent p-0 self-start'\r\n onClick={() => {\r\n setShowLegend(true);\r\n }}\r\n >\r\n <div className='items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import { useRef, useEffect, useState } from 'react';\r\nimport maplibreGl from 'maplibre-gl';\r\nimport * as pmtiles from 'pmtiles';\r\nimport 'maplibre-gl/dist/maplibre-gl.css';\r\nimport { select } from 'd3-selection';\r\nimport React from 'react';\r\n\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: number;\r\n width?: number;\r\n height?: number;\r\n relativeHeight?: number;\r\n minHeight: number;\r\n mapLegend?: string | React.ReactNode;\r\n includeLayers: string[];\r\n excludeLayers: string[];\r\n}\r\n\r\nexport function GeoHubSingleMap(props: Props) {\r\n const {\r\n mapStyle,\r\n height,\r\n width,\r\n relativeHeight,\r\n center,\r\n zoomLevel,\r\n minHeight,\r\n includeLayers,\r\n excludeLayers,\r\n mapLegend,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(width || entries[0].target.clientWidth || 620);\r\n setSvgHeight(height || entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 480);\r\n setSvgWidth(graphDiv.current.clientWidth || 620);\r\n if (!width) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height]);\r\n useEffect(() => {\r\n if (mapContainer.current && svgWidth) {\r\n fetchAndParseJSON(mapStyle).then(d => {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const mapObj: any = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n container: mapContainer.current as any,\r\n style:\r\n includeLayers.length === 0 && excludeLayers.length === 0\r\n ? d\r\n : {\r\n ...d,\r\n layers: filterData(d.layers, [\r\n {\r\n column: 'id',\r\n includeValues: includeLayers,\r\n excludeValues: excludeLayers,\r\n },\r\n ]),\r\n },\r\n attributionControl: true,\r\n };\r\n if (center) {\r\n mapObj.center = center;\r\n }\r\n if (zoomLevel) {\r\n mapObj.zoom = zoomLevel;\r\n }\r\n const map = new maplibreGl.Map(mapObj);\r\n map.addControl(\r\n new maplibreGl.NavigationControl({\r\n visualizePitch: true,\r\n showZoom: true,\r\n showCompass: true,\r\n }),\r\n 'bottom-right',\r\n );\r\n map.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n });\r\n }\r\n }, [svgWidth, mapStyle, center, zoomLevel, includeLayers, excludeLayers]);\r\n return (\r\n <div\r\n className='flex flex-col grow justify-center leading-0'\r\n ref={graphDiv}\r\n aria-label='Map area'\r\n >\r\n {(width || svgWidth) && (height || svgHeight) ? (\r\n <div\r\n style={{\r\n width: width || svgWidth,\r\n height: Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n ),\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control'\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n border: '1px solid var(--gray-400)',\r\n borderRadius: '999px',\r\n width: '24px',\r\n height: '24px',\r\n padding: '3px',\r\n cursor: 'pointer',\r\n zIndex: 10,\r\n position: 'absolute',\r\n right: '-0.75rem',\r\n top: '-0.75rem',\r\n }}\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='p-2'\r\n style={{\r\n backgroundColor: 'rgba(240,240,240, 0.7)',\r\n }}\r\n dangerouslySetInnerHTML={\r\n typeof mapLegend === 'string' ? { __html: string2HTML(mapLegend) } : undefined\r\n }\r\n >\r\n {React.isValidElement(mapLegend) ? mapLegend : null}\r\n </div>\r\n </>\r\n ) : (\r\n <button\r\n type='button'\r\n className='mb-0 border-0 bg-transparent p-0 self-start'\r\n onClick={() => {\r\n setShowLegend(true);\r\n }}\r\n >\r\n <div className='items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { DropdownSelect, createFilter } from '@undp/design-system-react/DropdownSelect';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { GeoHubMultipleMap } from './GeoHubMultipleMap';\r\nimport { GeoHubSingleMap } from './GeoHubSingleMap';\r\n\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport {\r\n ClassNameObject,\r\n Languages,\r\n MapLegendDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** URL for mapStyle JSON. If the type is string, otherwise it creates and dropdown and provide end user to select the map style they would like to */\r\n mapStyle: string | { style: string; name: string }[];\r\n /** Defines the legend for the map. If the mapStyle is string, mapLegend can be string or ReactNode. mapLegend with type string is show as innerHTML. If the mapStyle is not string, mapLegend is of type { mapStyleName: string; legend: string | React.ReactNode }[] where mapStyleName corresponds to the each name in the mapStyle. */\r\n mapLegend?: string | React.ReactNode | MapLegendDataType[];\r\n /** Starting center point of the map */\r\n center?: [number, number];\r\n /** Starting zoom level of the map */\r\n zoomLevel?: number;\r\n /** List of layer IDs to be included in the visualization. If this is present only these layers are included. */\r\n includeLayers?: string[];\r\n /** List of layer IDs to be excluded from the visualization */\r\n excludeLayers?: string[];\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Theme for the UI elements */\r\n uiMode?: 'light' | 'normal';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\n/** For using these maps you will have to install [`maplibre`](https://maplibre.org/maplibre-gl-js/docs/#npm) and [pmtiles](https://www.npmjs.com/package/pmtiles) package to your project */\r\nexport function GeoHubMap(props: Props) {\r\n const {\r\n mapStyle,\r\n graphTitle,\r\n height,\r\n width,\r\n relativeHeight,\r\n sources,\r\n graphDescription,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n center,\r\n zoomLevel,\r\n graphID,\r\n language = 'en',\r\n minHeight = 0,\r\n theme = 'light',\r\n includeLayers = [],\r\n excludeLayers = [],\r\n ariaLabel,\r\n uiMode = 'normal',\r\n styles,\r\n classNames,\r\n mapLegend,\r\n } = props;\r\n\r\n const [selectedMapStyle, setSelectedMapStyle] = useState(\r\n typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style,\r\n );\r\n\r\n useEffect(() => {\r\n setSelectedMapStyle(typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style);\r\n }, [mapStyle]);\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 return (\r\n <div\r\n className={`${theme || 'light'} flex ${width ? 'w-fit grow-0' : 'w-full grow'}`}\r\n dir={language === 'he' || language === 'ar' ? 'rtl' : undefined}\r\n >\r\n <div\r\n className={cn(\r\n `${\r\n !backgroundColor\r\n ? 'bg-transparent '\r\n : backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto flex flex-col grow h-inherit ${language || 'en'}`,\r\n classNames?.graphContainer,\r\n )}\r\n style={{\r\n ...(styles?.graphContainer || {}),\r\n ...(backgroundColor && backgroundColor !== true ? { backgroundColor } : {}),\r\n }}\r\n id={graphID}\r\n aria-label={\r\n ariaLabel ||\r\n `${\r\n graphTitle ? `The graph shows ${graphTitle}. ` : ''\r\n }This is a map.${graphDescription ? ` ${graphDescription}` : ''}`\r\n }\r\n >\r\n <div\r\n className='flex grow'\r\n style={{ padding: backgroundColor ? padding || '1rem' : padding || 0 }}\r\n >\r\n <div className='flex flex-col w-full gap-4 grow justify-between'>\r\n {graphTitle || graphDescription ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n />\r\n ) : null}\r\n {typeof mapStyle === 'string' ? null : (\r\n <DropdownSelect\r\n options={mapStyle.map(d => ({ label: d.name, value: d.style }))}\r\n isClearable={false}\r\n size='sm'\r\n variant={uiMode}\r\n isRtl={language === 'he' || language === 'ar'}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n defaultValue={{\r\n label: mapStyle[0].name,\r\n value: mapStyle[0].style,\r\n }}\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n if (el) setSelectedMapStyle(el.value);\r\n }}\r\n />\r\n )}\r\n {typeof mapStyle === 'string' ? (\r\n <GeoHubSingleMap\r\n mapStyle={mapStyle}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n minHeight={minHeight}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={mapLegend as string | React.ReactNode | undefined}\r\n />\r\n ) : (\r\n <GeoHubMultipleMap\r\n mapStyle={selectedMapStyle}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n minHeight={minHeight}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={\r\n ((mapLegend || []) as MapLegendDataType[]).find(\r\n d =>\r\n d.mapStyleName === mapStyle.find(el => el.style === selectedMapStyle)?.name,\r\n )?.legend\r\n }\r\n />\r\n )}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["GeoHubMultipleMap","props","mapStyle","height","width","relativeHeight","center","zoomLevel","minHeight","includeLayers","excludeLayers","mapLegend","svgWidth","setSvgWidth","useState","svgHeight","setSvgHeight","showLegend","setShowLegend","graphDiv","useRef","mapContainer","mapRef","useEffect","resizeObserver","entries","fetchAndParseJSON","d","select","protocol","pmtiles","maplibreGl","mapObj","filterData","mapStyleObj","jsx","jsxs","Fragment","X","string2HTML","React","GeoHubSingleMap","map","GeoHubMap","graphTitle","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","theme","ariaLabel","uiMode","styles","classNames","selectedMapStyle","setSelectedMapStyle","filterConfig","useMemo","cn","GraphHeader","DropdownSelect","createFilter","el","GraphFooter"],"mappings":";;;;;;;;;;;;;AAyBO,SAASA,EAAkBC,GAAc;AAC9C,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,IACEV,GAEE,CAACW,GAAUC,CAAW,IAAIC,EAAS,CAAC,GACpC,CAACC,GAAWC,CAAY,IAAIF,EAAS,CAAC,GACtC,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAI,GAC3CK,IAAWC,EAAuB,IAAI,GACtCC,IAAeD,EAAuB,IAAI,GAE1CE,IAASF,EAAY,IAAI;AAC/B,SAAAG,EAAU,MAAM;AACd,UAAMC,IAAiB,IAAI,eAAe,CAAAC,MAAW;AACnD,MAAAZ,EAAYT,KAASqB,EAAQ,CAAC,EAAE,OAAO,eAAe,GAAG,GACzDT,EAAab,KAAUsB,EAAQ,CAAC,EAAE,OAAO,gBAAgB,GAAG;AAAA,IAC9D,CAAC;AACD,WAAIN,EAAS,YACXH,EAAaG,EAAS,QAAQ,gBAAgB,GAAG,GACjDN,EAAYM,EAAS,QAAQ,eAAe,GAAG,GAC1Cf,KAAOoB,EAAe,QAAQL,EAAS,OAAO,IAE9C,MAAMK,EAAe,WAAA;AAAA,EAC9B,GAAG,CAACpB,GAAOD,CAAM,CAAC,GAClBoB,EAAU,MAAM;AACd,IAAIF,EAAa,WAAWT,KAAY,CAACU,EAAO,WAC9CI,EAAkBxB,CAAQ,EAAE,KAAK,CAAAyB,MAAK;AAEpC,MADeC,EAAOP,EAAa,OAAO,EACnC,UAAU,KAAK,EAAE,OAAA;AACxB,YAAMQ,IAAW,IAAIC,EAAQ,SAAA;AAC7BC,MAAAA,EAAW,YAAY,WAAWF,EAAS,IAAI;AAE/C,YAAMG,IAAc;AAAA;AAAA,QAElB,WAAWX,EAAa;AAAA,QACxB,OACEZ,EAAc,WAAW,KAAKC,EAAc,WAAW,IACnDiB,IACA;AAAA,UACE,GAAGA;AAAA,UACH,QAAQM,EAAWN,EAAE,QAAQ;AAAA,YAC3B;AAAA,cACE,QAAQ;AAAA,cACR,eAAelB;AAAA,cACf,eAAeC;AAAA,YAAA;AAAA,UACjB,CACD;AAAA,QAAA;AAAA,QAET,oBAAoB;AAAA,MAAA;AAEtB,MAAIJ,MACF0B,EAAO,SAAS1B,IAEdC,MACFyB,EAAO,OAAOzB,IAEhBe,EAAO,UAAU,IAAIS,EAAW,IAAIC,CAAM,GAC1CV,EAAO,QAAQ;AAAA,QACb,IAAIS,EAAW,kBAAkB;AAAA,UAC/B,gBAAgB;AAAA,UAChB,UAAU;AAAA,UACV,aAAa;AAAA,QAAA,CACd;AAAA,QACD;AAAA,MAAA,GAEFT,EAAO,QAAQ,WAAW,IAAIS,EAAW,aAAA,GAAgB,aAAa;AAAA,IACxE,CAAC;AAAA,EAEL,GAAG,CAACnB,GAAUN,GAAQC,GAAWE,GAAeC,GAAeR,CAAQ,CAAC,GACxEqB,EAAU,MAAM;AACd,IAAID,EAAO,WACTI,EAAkBxB,CAAQ,EAAE,KAAK,CAAAyB,MAAK;AAEpC,YAAMO,IAAmB;AAAA,QACvB,GAAGP;AAAA,QACH,QAAQM,EAAWN,EAAE,QAAQ;AAAA,UAC3B;AAAA,YACE,QAAQ;AAAA,YACR,eAAelB;AAAA,YACf,eAAeC;AAAA,UAAA;AAAA,QACjB,CACD;AAAA,MAAA;AAEH,MAAAY,EAAO,QAAQ,SAASY,CAAW;AAAA,IACrC,CAAC;AAAA,EAEL,GAAG,CAACxB,GAAeD,GAAeP,CAAQ,CAAC,GAEzCiC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAKhB;AAAA,MACL,cAAW;AAAA,MAET,WAAAf,KAASQ,OAAcT,KAAUY,KACjCqB,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,YACL,OAAOhC,KAASQ;AAAA,YAChB,QAAQ,KAAK;AAAA,cACXJ;AAAA,cACAL,MACGE,IACGG,KACGJ,KAASQ,KAAYP,IAAiBG,KACpCJ,KAASQ,KAAYP,IACtBG,KACDJ,KAASQ,KAAYP,IACxBU;AAAA,YAAA;AAAA,UACR;AAAA,UAGF,UAAA;AAAA,YAAAoB,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKd;AAAA,gBACL,WAAU;AAAA,gBACV,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,cAAO;AAAA,YAAA;AAAA,YAExCV,IACCwB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,kCACZ,cACCC,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACE,UAAA;AAAA,cAAAF,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAO;AAAA,oBACL,iBAAiB;AAAA,oBACjB,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,QAAQ;AAAA,oBACR,QAAQ;AAAA,oBACR,UAAU;AAAA,oBACV,OAAO;AAAA,oBACP,KAAK;AAAA,kBAAA;AAAA,kBAEP,SAAS,MAAM;AACb,oBAAAjB,EAAc,EAAK;AAAA,kBACrB;AAAA,kBAEA,gCAACoB,GAAA,CAAA,CAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,cAELH,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO;AAAA,oBACL,iBAAiB;AAAA,kBAAA;AAAA,kBAEnB,yBACE,OAAOxB,KAAc,WAAW,EAAE,QAAQ4B,EAAY5B,CAAS,EAAA,IAAM;AAAA,kBAGtE,UAAA6B,EAAM,eAAe7B,CAAS,IAAIA,IAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjD,EAAA,CACF,IAEAwB,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kBAAAjB,EAAc,EAAI;AAAA,gBACpB;AAAA,gBAEA,UAAAiB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,gNAA+M,UAAA,cAAA,CAE9N;AAAA,cAAA;AAAA,YAAA,GAGN,IACE;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,IAEJ;AAAA,IAAA;AAAA,EAAA;AAGV;ACnLO,SAASM,EAAgBxC,GAAc;AAC5C,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,IACEV,GACE,CAACW,GAAUC,CAAW,IAAIC,EAAS,CAAC,GACpC,CAACC,GAAWC,CAAY,IAAIF,EAAS,CAAC,GACtC,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAI,GAC3CK,IAAWC,EAAuB,IAAI,GACtCC,IAAeD,EAAuB,IAAI;AAChD,SAAAG,EAAU,MAAM;AACd,UAAMC,IAAiB,IAAI,eAAe,CAAAC,MAAW;AACnD,MAAAZ,EAAYT,KAASqB,EAAQ,CAAC,EAAE,OAAO,eAAe,GAAG,GACzDT,EAAab,KAAUsB,EAAQ,CAAC,EAAE,OAAO,gBAAgB,GAAG;AAAA,IAC9D,CAAC;AACD,WAAIN,EAAS,YACXH,EAAaG,EAAS,QAAQ,gBAAgB,GAAG,GACjDN,EAAYM,EAAS,QAAQ,eAAe,GAAG,GAC1Cf,KAAOoB,EAAe,QAAQL,EAAS,OAAO,IAE9C,MAAMK,EAAe,WAAA;AAAA,EAC9B,GAAG,CAACpB,GAAOD,CAAM,CAAC,GAClBoB,EAAU,MAAM;AACd,IAAIF,EAAa,WAAWT,KAC1Bc,EAAkBxB,CAAQ,EAAE,KAAK,CAAAyB,MAAK;AAEpC,MADeC,EAAOP,EAAa,OAAO,EACnC,UAAU,KAAK,EAAE,OAAA;AACxB,YAAMQ,IAAW,IAAIC,EAAQ,SAAA;AAC7BC,MAAAA,EAAW,YAAY,WAAWF,EAAS,IAAI;AAE/C,YAAMG,IAAc;AAAA;AAAA,QAElB,WAAWX,EAAa;AAAA,QACxB,OACEZ,EAAc,WAAW,KAAKC,EAAc,WAAW,IACnDiB,IACA;AAAA,UACE,GAAGA;AAAA,UACH,QAAQM,EAAWN,EAAE,QAAQ;AAAA,YAC3B;AAAA,cACE,QAAQ;AAAA,cACR,eAAelB;AAAA,cACf,eAAeC;AAAA,YAAA;AAAA,UACjB,CACD;AAAA,QAAA;AAAA,QAET,oBAAoB;AAAA,MAAA;AAEtB,MAAIJ,MACF0B,EAAO,SAAS1B,IAEdC,MACFyB,EAAO,OAAOzB;AAEhB,YAAMmC,IAAM,IAAIX,EAAW,IAAIC,CAAM;AACrC,MAAAU,EAAI;AAAA,QACF,IAAIX,EAAW,kBAAkB;AAAA,UAC/B,gBAAgB;AAAA,UAChB,UAAU;AAAA,UACV,aAAa;AAAA,QAAA,CACd;AAAA,QACD;AAAA,MAAA,GAEFW,EAAI,WAAW,IAAIX,EAAW,aAAA,GAAgB,aAAa;AAAA,IAC7D,CAAC;AAAA,EAEL,GAAG,CAACnB,GAAUV,GAAUI,GAAQC,GAAWE,GAAeC,CAAa,CAAC,GAEtEyB,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAKhB;AAAA,MACL,cAAW;AAAA,MAET,WAAAf,KAASQ,OAAcT,KAAUY,KACjCqB,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,YACL,OAAOhC,KAASQ;AAAA,YAChB,QAAQ,KAAK;AAAA,cACXJ;AAAA,cACAL,MACGE,IACGG,KACGJ,KAASQ,KAAYP,IAAiBG,KACpCJ,KAASQ,KAAYP,IACtBG,KACDJ,KAASQ,KAAYP,IACxBU;AAAA,YAAA;AAAA,UACR;AAAA,UAGF,UAAA;AAAA,YAAAoB,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKd;AAAA,gBACL,WAAU;AAAA,gBACV,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,cAAO;AAAA,YAAA;AAAA,YAExCV,IACCwB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,kCACZ,cACCC,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACE,UAAA;AAAA,cAAAF,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAO;AAAA,oBACL,iBAAiB;AAAA,oBACjB,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,QAAQ;AAAA,oBACR,QAAQ;AAAA,oBACR,UAAU;AAAA,oBACV,OAAO;AAAA,oBACP,KAAK;AAAA,kBAAA;AAAA,kBAEP,SAAS,MAAM;AACb,oBAAAjB,EAAc,EAAK;AAAA,kBACrB;AAAA,kBAEA,gCAACoB,GAAA,CAAA,CAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,cAELH,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO;AAAA,oBACL,iBAAiB;AAAA,kBAAA;AAAA,kBAEnB,yBACE,OAAOxB,KAAc,WAAW,EAAE,QAAQ4B,EAAY5B,CAAS,EAAA,IAAM;AAAA,kBAGtE,UAAA6B,EAAM,eAAe7B,CAAS,IAAIA,IAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjD,EAAA,CACF,IAEAwB,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kBAAAjB,EAAc,EAAI;AAAA,gBACpB;AAAA,gBAEA,UAAAiB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,gNAA+M,UAAA,cAAA,CAE9N;AAAA,cAAA;AAAA,YAAA,GAGN,IACE;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,IAEJ;AAAA,IAAA;AAAA,EAAA;AAGV;AC3GO,SAASQ,GAAU1C,GAAc;AACtC,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,YAAA0C;AAAA,IACA,QAAAzC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAwC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,iBAAAC,IAAkB;AAAA,IAClB,QAAA3C;AAAA,IACA,WAAAC;AAAA,IACA,SAAA2C;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,WAAA3C,IAAY;AAAA,IACZ,OAAA4C,IAAQ;AAAA,IACR,eAAA3C,IAAgB,CAAA;AAAA,IAChB,eAAAC,IAAgB,CAAA;AAAA,IAChB,WAAA2C;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAA7C;AAAA,EAAA,IACEV,GAEE,CAACwD,GAAkBC,CAAmB,IAAI5C;AAAA,IAC9C,OAAOZ,KAAa,WAAWA,IAAWA,EAAS,CAAC,EAAE;AAAA,EAAA;AAGxD,EAAAqB,EAAU,MAAM;AACd,IAAAmC,EAAoB,OAAOxD,KAAa,WAAWA,IAAWA,EAAS,CAAC,EAAE,KAAK;AAAA,EACjF,GAAG,CAACA,CAAQ,CAAC;AAEb,QAAMyD,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,IAER,CAAA;AAAA,EAAC;AAEH,SACEzB,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAGiB,KAAS,OAAO,UAAUhD,IAAQ,iBAAiB,aAAa;AAAA,MAC9E,KAAK+C,MAAa,QAAQA,MAAa,OAAO,QAAQ;AAAA,MAEtD,UAAAhB,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW0B;AAAAA,YACT,GACGZ,IAEGA,MAAoB,KAClB,kDACA,KAHF,iBAIN,gDAAgDE,KAAY,IAAI;AAAA,YAChEK,GAAY;AAAA,UAAA;AAAA,UAEd,OAAO;AAAA,YACL,GAAID,GAAQ,kBAAkB,CAAA;AAAA,YAC9B,GAAIN,KAAmBA,MAAoB,KAAO,EAAE,iBAAAA,EAAA,IAAoB,CAAA;AAAA,UAAC;AAAA,UAE3E,IAAIC;AAAA,UACJ,cACEG,KACA,GACET,IAAa,mBAAmBA,CAAU,OAAO,EACnD,iBAAiBE,IAAmB,IAAIA,CAAgB,KAAK,EAAE;AAAA,UAGjE,UAAAX,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAO,EAAE,SAASc,IAAkBD,KAAW,SAASA,KAAW,EAAA;AAAA,cAEnE,UAAAZ,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,mDACZ,UAAA;AAAA,gBAAAQ,KAAcE,IACbX,gBAAAA,EAAAA;AAAAA,kBAAC2B;AAAA,kBAAA;AAAA,oBACC,QAAQ;AAAA,sBACN,OAAOP,GAAQ;AAAA,sBACf,aAAaA,GAAQ;AAAA,oBAAA;AAAA,oBAEvB,YAAY;AAAA,sBACV,OAAOC,GAAY;AAAA,sBACnB,aAAaA,GAAY;AAAA,oBAAA;AAAA,oBAE3B,YAAAZ;AAAA,oBACA,kBAAAE;AAAA,oBACA,OAAA1C;AAAA,kBAAA;AAAA,gBAAA,IAEA;AAAA,gBACH,OAAOF,KAAa,WAAW,OAC9BiC,gBAAAA,EAAAA;AAAAA,kBAAC4B;AAAAA,kBAAA;AAAA,oBACC,SAAS7D,EAAS,IAAI,CAAAyB,OAAM,EAAE,OAAOA,EAAE,MAAM,OAAOA,EAAE,MAAA,EAAQ;AAAA,oBAC9D,aAAa;AAAA,oBACb,MAAK;AAAA,oBACL,SAAS2B;AAAA,oBACT,OAAOH,MAAa,QAAQA,MAAa;AAAA,oBACzC,cAAY;AAAA,oBACZ,cAAca,EAAaL,CAAY;AAAA,oBACvC,cAAc;AAAA,sBACZ,OAAOzD,EAAS,CAAC,EAAE;AAAA,sBACnB,OAAOA,EAAS,CAAC,EAAE;AAAA,oBAAA;AAAA,oBAErB,0BAAwB;AAAA,oBAExB,UAAU,CAAC+D,MAAY;AACrB,sBAAIA,KAAIP,EAAoBO,EAAG,KAAK;AAAA,oBACtC;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGH,OAAO/D,KAAa,WACnBiC,gBAAAA,EAAAA;AAAAA,kBAACM;AAAA,kBAAA;AAAA,oBACC,UAAAvC;AAAA,oBACA,QAAAI;AAAA,oBACA,WAAAC;AAAA,oBACA,OAAAH;AAAA,oBACA,QAAAD;AAAA,oBACA,gBAAAE;AAAA,oBACA,WAAAG;AAAA,oBACA,eAAAC;AAAA,oBACA,eAAAC;AAAA,oBACA,WAAAC;AAAA,kBAAA;AAAA,gBAAA,IAGFwB,gBAAAA,EAAAA;AAAAA,kBAACnC;AAAA,kBAAA;AAAA,oBACC,UAAUyD;AAAA,oBACV,QAAAnD;AAAA,oBACA,WAAAC;AAAA,oBACA,OAAAH;AAAA,oBACA,QAAAD;AAAA,oBACA,gBAAAE;AAAA,oBACA,WAAAG;AAAA,oBACA,eAAAC;AAAA,oBACA,eAAAC;AAAA,oBACA,YACIC,KAAa,CAAA,GAA4B;AAAA,sBACzC,CAAAgB,MACEA,EAAE,iBAAiBzB,EAAS,KAAK,CAAA+D,MAAMA,EAAG,UAAUR,CAAgB,GAAG;AAAA,oBAAA,GACxE;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAIRZ,KAAWE,IACVZ,gBAAAA,EAAAA;AAAAA,kBAAC+B;AAAA,kBAAA;AAAA,oBACC,QAAQ,EAAE,UAAUX,GAAQ,UAAU,QAAQA,GAAQ,OAAA;AAAA,oBACtD,YAAY;AAAA,sBACV,UAAUC,GAAY;AAAA,sBACtB,QAAQA,GAAY;AAAA,oBAAA;AAAA,oBAEtB,SAAAX;AAAA,oBACA,UAAAE;AAAA,oBACA,OAAA3C;AAAA,kBAAA;AAAA,gBAAA,IAEA;AAAA,cAAA,EAAA,CACN;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CHPV5EwG-DDoeWRVt.cjs"),r=require("react"),I=require("./index-B0rbzOoC.cjs"),q=require("./DropdownSelect-0I2QxaVy.cjs"),C=require("maplibre-gl"),P=require("pmtiles");;/* empty css */const M=require("./fetchAndParseData-DmgQtB9n.cjs"),O=require("./filterData-DN6py7y_.cjs"),z=require("./string2HTML-D2Avudmb.cjs"),$=require("./index-BW_-wD2k.cjs"),G=require("./select-Bnfk0lJx.cjs"),T=require("./GraphHeader.cjs"),V=require("./GraphFooter.cjs");function W(m){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const t in m)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(m,t);Object.defineProperty(c,t,s.get?s:{enumerable:!0,get:()=>m[t]})}}return c.default=m,Object.freeze(c)}const A=W(P);function _(m){const{mapStyle:c,height:t,width:s,relativeHeight:p,center:R,zoomLevel:v,minHeight:x,selectedLayer:f,layerIdList:h,excludeLayers:n,mapLegend:b}=m,[g,D]=r.useState(0),[y,L]=r.useState(0),[N,l]=r.useState(!0),[S,H]=r.useState(void 0),j=r.useRef(null),u=r.useRef(null),a=r.useRef(null);return r.useEffect(()=>{const i=new ResizeObserver(d=>{D(s||d[0].target.clientWidth||620),L(t||d[0].target.clientHeight||480)});return j.current&&(L(j.current.clientHeight||480),D(j.current.clientWidth||620),s||i.observe(j.current)),()=>i.disconnect()},[s,t]),r.useEffect(()=>{u.current&&g&&!a.current&&M.fetchAndParseJSON(c).then(i=>{H(i),G.select(u.current).selectAll("div").remove();const w=new A.Protocol;C.addProtocol("pmtiles",w.tile);const E={container:u.current,style:{...i,layers:O.filterData(i.layers,[{column:"id",excludeValues:[...n,...h.filter(o=>f.indexOf(o)===-1)]}])},attributionControl:!0};R&&(E.center=R),v&&(E.zoom=v),a.current=new C.Map(E),a.current.addControl(new C.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),a.current.addControl(new C.ScaleControl,"bottom-left")})},[g,R,v,h,c,n,f]),r.useEffect(()=>{if(a.current)if(S){const i={...S,layers:O.filterData(S.layers,[{column:"id",excludeValues:[...n,...h.filter(d=>f.indexOf(d)===-1)]}])};a.current.setStyle(i)}else M.fetchAndParseJSON(c).then(i=>{const d={...i,layers:O.filterData(i.layers,[{column:"id",excludeValues:[...n,...h.filter(w=>f.indexOf(w)===-1)]}])};a.current.setStyle(d)})},[n,h,c,S,f]),e.jsxRuntimeExports.jsx("div",{className:"flex flex-col grow justify-center leading-0",ref:j,"aria-label":"Map area",children:(s||g)&&(t||y)?e.jsxRuntimeExports.jsxs("div",{style:{width:s||g,height:Math.max(x,t||(p?x?(s||g)*p>x?(s||g)*p:x:(s||g)*p:y))},children:[e.jsxRuntimeExports.jsx("div",{ref:u,className:"map maplibre-show-control w-full h-full"}),b?e.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:N?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{style:{backgroundColor:"rgba(240,240,240, 0.7)",border:"1px solid var(--gray-400)",borderRadius:"999px",width:"24px",height:"24px",padding:"3px",cursor:"pointer",zIndex:10,position:"absolute",right:"-0.75rem",top:"-0.75rem"},onClick:()=>{l(!1)},children:e.jsxRuntimeExports.jsx($.X,{})}),e.jsxRuntimeExports.jsx("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)"},dangerouslySetInnerHTML:typeof b=="string"?{__html:z.string2HTML(b)}:void 0,children:r.isValidElement(b)?b:null})]}):e.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{l(!0)},children:e.jsxRuntimeExports.jsx("div",{className:"items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null]}):null})}function F(m){const{mapStyle:c,graphTitle:t,height:s,width:p,relativeHeight:R,sources:v,graphDescription:x,footNote:f,padding:h,backgroundColor:n=!1,center:b,zoomLevel:g,graphID:D,language:y="en",minHeight:L=0,theme:N="light",layerSelection:l,excludeLayers:S=[],ariaLabel:H,uiMode:j="normal",styles:u,classNames:a,mapLegend:i=[]}=m,[d,w]=r.useState(l[0].layerID);r.useEffect(()=>{w(l[0].layerID)},[l]);const E=r.useMemo(()=>({ignoreCase:!0,ignoreAccents:!0,trim:!0}),[]);return e.jsxRuntimeExports.jsx("div",{className:`${N||"light"} flex ${p?"w-fit grow-0":"w-full grow"}`,dir:y==="he"||y==="ar"?"rtl":void 0,children:e.jsxRuntimeExports.jsx("div",{className:e.mo(`${n?n===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${y||"en"}`,a?.graphContainer),style:{...u?.graphContainer||{},...n&&n!==!0?{backgroundColor:n}:{}},id:D,"aria-label":H||`${t?`The graph shows ${t}. `:""}This is a map.${x?` ${x}`:""}`,children:e.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:n?h||"1rem":h||0},children:e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[t||x?e.jsxRuntimeExports.jsx(T.GraphHeader,{styles:{title:u?.title,description:u?.description},classNames:{title:a?.title,description:a?.description},graphTitle:t,graphDescription:x,width:p}):null,e.jsxRuntimeExports.jsx(q.Za,{options:l.map(o=>({label:o.name,value:o.layerID})),size:"sm",isClearable:!1,variant:j,isRtl:y==="he"||y==="ar",isSearchable:!0,filterOption:q.Hu(E),defaultValue:{label:l[0].name,value:l[0].layerID},controlShouldRenderValue:!0,onChange:o=>{o&&w(o.value)}}),e.jsxRuntimeExports.jsx(_,{mapStyle:c,center:b,zoomLevel:g,width:p,height:s,relativeHeight:R,minHeight:L,selectedLayer:d,layerIdList:I.flattenDeep(l.map(o=>o.layerID)),excludeLayers:S,mapLegend:i.find(o=>o.mapStyleName===l.find(k=>k.layerID===d)?.name)?.legend}),v||f?e.jsxRuntimeExports.jsx(V.GraphFooter,{styles:{footnote:u?.footnote,source:u?.source},classNames:{footnote:a?.footnote,source:a?.source},sources:v,footNote:f,width:p}):null]})})})})}exports.GeoHubMapWithLayerSelection=F;
|
|
2
|
+
//# sourceMappingURL=GeoHubMapWithLayerSelection.cjs.map
|