@undp/data-viz 2.1.8 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.js +19 -19
- package/dist/AreaChart.js.map +1 -1
- package/dist/{Axis-CRyfcLjc.js → Axis-DoOqnt6g.js} +2 -2
- package/dist/{Axis-CRyfcLjc.js.map → Axis-DoOqnt6g.js.map} +1 -1
- package/dist/{Axis-DxRV2yMi.cjs → Axis-Dtjn-EgM.cjs} +2 -2
- package/dist/{Axis-DxRV2yMi.cjs.map → Axis-Dtjn-EgM.cjs.map} +1 -1
- package/dist/{AxisTitle-sS5bLLR7.cjs → AxisTitle-DV4n0RxE.cjs} +2 -2
- package/dist/{AxisTitle-sS5bLLR7.cjs.map → AxisTitle-DV4n0RxE.cjs.map} +1 -1
- package/dist/{AxisTitle-jeI7am8o.js → AxisTitle-VFq89Olw.js} +2 -2
- package/dist/{AxisTitle-jeI7am8o.js.map → AxisTitle-VFq89Olw.js.map} +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.js +24 -24
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.js +2 -2
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.js +14 -14
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.js +48 -48
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.js +22 -22
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.js +19 -19
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.js +51 -51
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.js +4 -4
- package/dist/ColorLegend.cjs +1 -1
- package/dist/ColorLegend.js +2 -2
- package/dist/ColorLegendWithMouseOver.cjs +1 -1
- package/dist/ColorLegendWithMouseOver.js +2 -2
- package/dist/CopyTextButton.cjs +1 -16
- package/dist/CopyTextButton.cjs.map +1 -1
- package/dist/CopyTextButton.js +13 -31
- package/dist/CopyTextButton.js.map +1 -1
- package/dist/CsvDownloadButton.cjs +2 -20
- package/dist/CsvDownloadButton.cjs.map +1 -1
- package/dist/CsvDownloadButton.js +5 -26
- package/dist/CsvDownloadButton.js.map +1 -1
- package/dist/DataCards.cjs +1 -21
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.js +18 -42
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.js +6 -6
- package/dist/DataTable.js.map +1 -1
- package/dist/{DetailsModal-0Ry5nXiC.js → DetailsModal-BMCTgVsk.js} +4 -4
- package/dist/{DetailsModal-0Ry5nXiC.js.map → DetailsModal-BMCTgVsk.js.map} +1 -1
- package/dist/{DetailsModal-BN0HDFlV.cjs → DetailsModal-DHttOA80.cjs} +2 -2
- package/dist/{DetailsModal-BN0HDFlV.cjs.map → DetailsModal-DHttOA80.cjs.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.js +22 -22
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.js +10 -10
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +1 -1
- package/dist/DotDensityMap.js +78 -78
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/{DropdownSelect-BbdPQa2k.js → DropdownSelect-D8rFbygC.js} +5 -33
- package/dist/{DropdownSelect-BbdPQa2k.js.map → DropdownSelect-D8rFbygC.js.map} +1 -1
- package/dist/{DropdownSelect-Doz3mCrM.cjs → DropdownSelect-NNpOs7DX.cjs} +2 -26
- package/dist/{DropdownSelect-Doz3mCrM.cjs.map → DropdownSelect-NNpOs7DX.cjs.map} +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.js +15 -15
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.js +22 -22
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/{EmptyState-gLDRXBHm.cjs → EmptyState-CGeBqbmR.cjs} +2 -2
- package/dist/{EmptyState-gLDRXBHm.cjs.map → EmptyState-CGeBqbmR.cjs.map} +1 -1
- package/dist/EmptyState-tZBErBKF.js +15 -0
- package/dist/{EmptyState-C7ZXkZWd.js.map → EmptyState-tZBErBKF.js.map} +1 -1
- package/dist/ExcelDownloadButton.cjs +1 -1
- package/dist/ExcelDownloadButton.js +2 -2
- package/dist/FootNote.cjs +1 -1
- package/dist/FootNote.js +2 -2
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.js +13 -13
- package/dist/GeoHubCompareMaps.js.map +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.js +8 -8
- package/dist/GeoHubMap.js.map +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +12 -12
- package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
- package/dist/{GraphContainer-d8A46BK2.cjs → GraphContainer-B1EDxJ0S.cjs} +2 -2
- package/dist/{GraphContainer-d8A46BK2.cjs.map → GraphContainer-B1EDxJ0S.cjs.map} +1 -1
- package/dist/{GraphContainer-CRqzdKu2.js → GraphContainer-CF6ws3pd.js} +2 -2
- package/dist/{GraphContainer-CRqzdKu2.js.map → GraphContainer-CF6ws3pd.js.map} +1 -1
- package/dist/GraphDescription.cjs +1 -1
- package/dist/GraphDescription.js +2 -2
- package/dist/GraphEl-CBZdcvb7.cjs +2 -0
- package/dist/GraphEl-CBZdcvb7.cjs.map +1 -0
- package/dist/{GraphEl-Dyu_EIQb.js → GraphEl-DKrjuQNB.js} +79 -18
- package/dist/GraphEl-DKrjuQNB.js.map +1 -0
- package/dist/GraphFooter.cjs +1 -1
- package/dist/GraphFooter.js +2 -2
- package/dist/GraphHeader.cjs +1 -1
- package/dist/GraphHeader.js +1 -1
- package/dist/GraphTitle.cjs +1 -1
- package/dist/GraphTitle.js +2 -2
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +1 -1
- package/dist/GriddedGraphs.js +8 -8
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +1 -1
- package/dist/GriddedGraphsFromConfig.js +4 -4
- package/dist/GriddedGraphsFromConfig.js.map +1 -1
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.js +14 -14
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.js +5 -5
- package/dist/Histogram.js.map +1 -1
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.js +134 -133
- package/dist/HybridMap.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.js +3 -3
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.js +18 -18
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.js +2 -2
- package/dist/{Modal-JW_IExO3.cjs → Modal-CaYa_TLE.cjs} +2 -2
- package/dist/{Modal-JW_IExO3.cjs.map → Modal-CaYa_TLE.cjs.map} +1 -1
- package/dist/{Modal-bMQA6bL_.js → Modal-Ch9wvKxF.js} +4 -4
- package/dist/{Modal-bMQA6bL_.js.map → Modal-Ch9wvKxF.js.map} +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.d.ts +1 -1
- package/dist/MultiGraphDashboard.js +5 -5
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.d.ts +1 -1
- package/dist/MultiGraphDashboardFromConfig.js +4 -4
- package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +5 -5
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +4 -4
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.js +17 -17
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.js +19 -19
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.js +15 -15
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +5 -5
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +4 -4
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
- package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
- package/dist/PerformanceIntensiveScrollStory.d.ts +1 -1
- package/dist/PerformanceIntensiveScrollStory.js +6 -6
- package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +9 -9
- package/dist/{ReferenceLine-2XCwHXQ4.js → ReferenceLine-DgtoRgw0.js} +5 -5
- package/dist/ReferenceLine-DgtoRgw0.js.map +1 -0
- package/dist/{ReferenceLine-BH0qdf4R.cjs → ReferenceLine-M9aP3dj-.cjs} +2 -2
- package/dist/{ReferenceLine-BH0qdf4R.cjs.map → ReferenceLine-M9aP3dj-.cjs.map} +1 -1
- package/dist/{RegressionLine-BOTTNSrr.cjs → RegressionLine-Ci-Dh0w0.cjs} +2 -2
- package/dist/{RegressionLine-BOTTNSrr.cjs.map → RegressionLine-Ci-Dh0w0.cjs.map} +1 -1
- package/dist/{RegressionLine-DAcY2DjT.js → RegressionLine-D2aqeBKp.js} +6 -6
- package/dist/RegressionLine-D2aqeBKp.js.map +1 -0
- package/dist/SVGDownloadButton.cjs +1 -1
- package/dist/SVGDownloadButton.js +2 -2
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.js +61 -67
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.js +23 -23
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.cjs +1 -1
- package/dist/ScrollStory.d.ts +1 -1
- package/dist/ScrollStory.js +4 -4
- package/dist/ScrollStory.js.map +1 -1
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.js +19 -19
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +1 -1
- package/dist/SingleGraphDashboard.js +9 -9
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +1 -1
- package/dist/SingleGraphDashboardFromConfig.js +4 -4
- package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMaps.js +5 -5
- package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +4 -4
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +63 -70
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +4 -4
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.js +12 -12
- package/dist/SlopeChart.js.map +1 -1
- package/dist/{Source-DYMJRrsq.cjs → Source-B5AoSlsi.cjs} +2 -2
- package/dist/{Source-DYMJRrsq.cjs.map → Source-B5AoSlsi.cjs.map} +1 -1
- package/dist/{Source-DwTHB8fn.js → Source-F8EYCYkV.js} +4 -4
- package/dist/{Source-DwTHB8fn.js.map → Source-F8EYCYkV.js.map} +1 -1
- package/dist/Source.cjs +1 -1
- package/dist/Source.js +3 -3
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.js +8 -8
- package/dist/SparkLine.js.map +1 -1
- package/dist/{Spinner-DVBnY6Vg.js → Spinner--r2RrJV8.js} +2 -2
- package/dist/{Spinner-DVBnY6Vg.js.map → Spinner--r2RrJV8.js.map} +1 -1
- package/dist/{Spinner-CQZcjzwd.cjs → Spinner-jTMOLuw_.cjs} +2 -2
- package/dist/{Spinner-CQZcjzwd.cjs.map → Spinner-jTMOLuw_.cjs.map} +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.js +2 -2
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.js +10 -10
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.js +13 -13
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +3 -3
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
- package/dist/{Tooltip-uUdw6wJL.cjs → Tooltip-BLa2EfMs.cjs} +2 -2
- package/dist/{Tooltip-uUdw6wJL.cjs.map → Tooltip-BLa2EfMs.cjs.map} +1 -1
- package/dist/{Tooltip-Dj5eVppQ.js → Tooltip-BRnAz2Gv.js} +3 -3
- package/dist/{Tooltip-Dj5eVppQ.js.map → Tooltip-BRnAz2Gv.js.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.js +10 -10
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +8 -1
- package/dist/{Typography-PxtFcnJb.js → Typography-hWfh3H0J.js} +2 -2
- package/dist/{Typography-PxtFcnJb.js.map → Typography-hWfh3H0J.js.map} +1 -1
- package/dist/{Typography-DX7PlgQU.cjs → Typography-sa1UE0oF.cjs} +2 -2
- package/dist/{Typography-DX7PlgQU.cjs.map → Typography-sa1UE0oF.cjs.map} +1 -1
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.js +8 -8
- package/dist/WaterfallChart.cjs +2 -0
- package/dist/WaterfallChart.cjs.map +1 -0
- package/dist/WaterfallChart.d.ts +208 -0
- package/dist/WaterfallChart.js +427 -0
- package/dist/WaterfallChart.js.map +1 -0
- package/dist/{XAxesLabels-Bt5NZBmX.cjs → XAxesLabels-C6o9jJal.cjs} +2 -2
- package/dist/{XAxesLabels-Bt5NZBmX.cjs.map → XAxesLabels-C6o9jJal.cjs.map} +1 -1
- package/dist/{XAxesLabels-Dy8E1SEo.js → XAxesLabels-rhK7lRjO.js} +3 -3
- package/dist/{XAxesLabels-Dy8E1SEo.js.map → XAxesLabels-rhK7lRjO.js.map} +1 -1
- package/dist/{XTicksAndGridLines-CObVFSm4.js → XTicksAndGridLines-CVZkZkpS.js} +2 -2
- package/dist/{XTicksAndGridLines-CObVFSm4.js.map → XTicksAndGridLines-CVZkZkpS.js.map} +1 -1
- package/dist/{XTicksAndGridLines-B6CELS7q.cjs → XTicksAndGridLines-CekrPykD.cjs} +2 -2
- package/dist/{XTicksAndGridLines-B6CELS7q.cjs.map → XTicksAndGridLines-CekrPykD.cjs.map} +1 -1
- package/dist/{YAxesLabels-DesLesUP.cjs → YAxesLabels-BQ2aCazV.cjs} +2 -2
- package/dist/{YAxesLabels-DesLesUP.cjs.map → YAxesLabels-BQ2aCazV.cjs.map} +1 -1
- package/dist/{YAxesLabels-a57ZRv-0.js → YAxesLabels-QICWVsHf.js} +3 -3
- package/dist/{YAxesLabels-a57ZRv-0.js.map → YAxesLabels-QICWVsHf.js.map} +1 -1
- package/dist/{YTicksAndGridLines-Blepl7XF.js → YTicksAndGridLines-GnXnSRF2.js} +2 -2
- package/dist/{YTicksAndGridLines-Blepl7XF.js.map → YTicksAndGridLines-GnXnSRF2.js.map} +1 -1
- package/dist/{YTicksAndGridLines-4pxTRlRK.cjs → YTicksAndGridLines-UzVC5eBM.cjs} +2 -2
- package/dist/{YTicksAndGridLines-4pxTRlRK.cjs.map → YTicksAndGridLines-UzVC5eBM.cjs.map} +1 -1
- package/dist/{band-DHUZ2X7J.js → band-DYty33LD.js} +2 -2
- package/dist/{band-DHUZ2X7J.js.map → band-DYty33LD.js.map} +1 -1
- package/dist/{checkIfMultiple-CIRtG0KE.js → checkIfMultiple-D9fVkeOq.js} +7 -19
- package/dist/{checkIfMultiple-CIRtG0KE.js.map → checkIfMultiple-D9fVkeOq.js.map} +1 -1
- package/dist/checkIfMultiple-DxnGtm3t.cjs +2 -0
- package/dist/{checkIfMultiple-wg6hJLXy.cjs.map → checkIfMultiple-DxnGtm3t.cjs.map} +1 -1
- package/dist/{customArea-BUhPiPT6.js → customArea-ASDaSE4u.js} +5 -5
- package/dist/{customArea-BUhPiPT6.js.map → customArea-ASDaSE4u.js.map} +1 -1
- package/dist/{customArea-CMF5g-C3.cjs → customArea-B1LWQBmM.cjs} +2 -2
- package/dist/{customArea-CMF5g-C3.cjs.map → customArea-B1LWQBmM.cjs.map} +1 -1
- package/dist/defaultLocale-C4wbwF1n.cjs +2 -0
- package/dist/defaultLocale-C4wbwF1n.cjs.map +1 -0
- package/dist/defaultLocale-CPy_WVtp.js +172 -0
- package/dist/defaultLocale-CPy_WVtp.js.map +1 -0
- package/dist/{ensureCompleteData-DH5c52Ub.js → ensureCompleteData-CDIukSG6.js} +2 -2
- package/dist/{ensureCompleteData-DH5c52Ub.js.map → ensureCompleteData-CDIukSG6.js.map} +1 -1
- package/dist/{ensureCompleteData-pZ9QO6kB.cjs → ensureCompleteData-D9bQTiVS.cjs} +2 -2
- package/dist/{ensureCompleteData-pZ9QO6kB.cjs.map → ensureCompleteData-D9bQTiVS.cjs.map} +1 -1
- package/dist/{fetchAndParseData-BpqkBPQL.js → fetchAndParseData-BAXhgTDM.js} +12 -18
- package/dist/{fetchAndParseData-BpqkBPQL.js.map → fetchAndParseData-BAXhgTDM.js.map} +1 -1
- package/dist/{fetchAndParseData-l5HGMAEs.cjs → fetchAndParseData-QTF6tjij.cjs} +3 -8
- package/dist/{fetchAndParseData-l5HGMAEs.cjs.map → fetchAndParseData-QTF6tjij.cjs.map} +1 -1
- package/dist/fetchAndParseData.cjs +1 -1
- package/dist/fetchAndParseData.js +1 -1
- package/dist/getCentroidCoordinates-CtBGrNC8.cjs +2 -0
- package/dist/getCentroidCoordinates-CtBGrNC8.cjs.map +1 -0
- package/dist/{getCentroidCoordinates-D7r34N4w.js → getCentroidCoordinates-s0OOUjLF.js} +15 -15
- package/dist/getCentroidCoordinates-s0OOUjLF.js.map +1 -0
- package/dist/{getGraphList-Dxwo9TDb.js → getGraphList-Bpd3PVmF.js} +7 -1
- package/dist/getGraphList-Bpd3PVmF.js.map +1 -0
- package/dist/getGraphList-DQ24IzAn.cjs +2 -0
- package/dist/getGraphList-DQ24IzAn.cjs.map +1 -0
- package/dist/{getJenks-GYmdwBqm.cjs → getJenks-BzJvhy_H.cjs} +2 -2
- package/dist/{getJenks-GYmdwBqm.cjs.map → getJenks-BzJvhy_H.cjs.map} +1 -1
- package/dist/{getJenks-BbngDoBQ.js → getJenks-DTCcQSDi.js} +2 -2
- package/dist/{getJenks-BbngDoBQ.js.map → getJenks-DTCcQSDi.js.map} +1 -1
- package/dist/getSchema.cjs +1 -1
- package/dist/getSchema.cjs.map +1 -1
- package/dist/getSchema.d.ts +3 -3
- package/dist/getSchema.js +24 -16
- package/dist/getSchema.js.map +1 -1
- package/dist/getSliderMarks-CIuSoedo.cjs +2 -0
- package/dist/{getSliderMarks-BmADcPQt.cjs.map → getSliderMarks-CIuSoedo.cjs.map} +1 -1
- package/dist/{getSliderMarks-HIDJ0_Cd.js → getSliderMarks-Cvg8zHBU.js} +4 -9
- package/dist/getSliderMarks-Cvg8zHBU.js.map +1 -0
- package/dist/{imageDownload-NYXbvKob.cjs → imageDownload-61q6jyJW.cjs} +3 -3
- package/dist/imageDownload-61q6jyJW.cjs.map +1 -0
- package/dist/{imageDownload-BU4qnxJP.js → imageDownload-Diofs_vY.js} +14 -15
- package/dist/imageDownload-Diofs_vY.js.map +1 -0
- package/dist/{index-D491FEn1.js → index-BQYOuXdl.js} +15 -15
- package/dist/{index-D491FEn1.js.map → index-BQYOuXdl.js.map} +1 -1
- package/dist/{index-DxXnJ8Ti.cjs → index-C5K--w8d.cjs} +2 -2
- package/dist/index-C5K--w8d.cjs.map +1 -0
- package/dist/{index-DRXx7m-C.cjs → index-C6er0ety.cjs} +2 -2
- package/dist/{index-DRXx7m-C.cjs.map → index-C6er0ety.cjs.map} +1 -1
- package/dist/{index-CHPV5EwG-CTPQjnHt.cjs → index-CHPV5EwG-6v2a2njQ.cjs} +5 -69
- package/dist/{index-CHPV5EwG-CTPQjnHt.cjs.map → index-CHPV5EwG-6v2a2njQ.cjs.map} +1 -1
- package/dist/{index-CHPV5EwG-Curnpaqc.js → index-CHPV5EwG-DecW7_qr.js} +5 -77
- package/dist/{index-CHPV5EwG-Curnpaqc.js.map → index-CHPV5EwG-DecW7_qr.js.map} +1 -1
- package/dist/{index-SKgJALZg.js → index-CSiFiXPj.js} +3 -3
- package/dist/{index-SKgJALZg.js.map → index-CSiFiXPj.js.map} +1 -1
- package/dist/index-CoobIWNj.cjs +10 -0
- package/dist/index-CoobIWNj.cjs.map +1 -0
- package/dist/index-CtMBjvtq.js +148 -0
- package/dist/index-CtMBjvtq.js.map +1 -0
- package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs → index-Cw8sCyo_-CEcCMKUi.cjs} +2 -2
- package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs.map → index-Cw8sCyo_-CEcCMKUi.cjs.map} +1 -1
- package/dist/{index-Cw8sCyo_-B2hEKjzG.js → index-Cw8sCyo_-n4AacHGk.js} +6 -4
- package/dist/{index-Cw8sCyo_-B2hEKjzG.js.map → index-Cw8sCyo_-n4AacHGk.js.map} +1 -1
- package/dist/{index-R1gTfap5.js → index-D5ihtaJJ.js} +12 -12
- package/dist/{index-R1gTfap5.js.map → index-D5ihtaJJ.js.map} +1 -1
- package/dist/{index-B_sAFsEV.cjs → index-D69M6klB.cjs} +2 -2
- package/dist/{index-B_sAFsEV.cjs.map → index-D69M6klB.cjs.map} +1 -1
- package/dist/{index-GEsywGxz.js → index-DCsFBfJ_.js} +160 -104
- package/dist/index-DCsFBfJ_.js.map +1 -0
- package/dist/{index-WML2dCZ0.cjs → index-Dgjq6aZ2.cjs} +2 -2
- package/dist/{index-WML2dCZ0.cjs.map → index-Dgjq6aZ2.cjs.map} +1 -1
- package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs → index-Dzc_aaI9-C3DbPpy3.cjs} +2 -2
- package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs.map → index-Dzc_aaI9-C3DbPpy3.cjs.map} +1 -1
- package/dist/{index-Dzc_aaI9-Bb7gobH_.js → index-Dzc_aaI9-CG2Ar7l1.js} +4 -4
- package/dist/{index-Dzc_aaI9-Bb7gobH_.js.map → index-Dzc_aaI9-CG2Ar7l1.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +209 -94
- package/dist/index.js +129 -127
- package/dist/index.js.map +1 -1
- package/dist/{linear-BqltdMeF.js → linear-CalFSAaO.js} +2 -2
- package/dist/{linear-BqltdMeF.js.map → linear-CalFSAaO.js.map} +1 -1
- package/dist/{linear-BwPAspcq.cjs → linear-CgUCbw9F.cjs} +2 -2
- package/dist/{linear-BwPAspcq.cjs.map → linear-CgUCbw9F.cjs.map} +1 -1
- package/dist/{ordinal-BJ6O_LC5.js → ordinal-CHaxGJ_l.js} +2 -2
- package/dist/{ordinal-BJ6O_LC5.js.map → ordinal-CHaxGJ_l.js.map} +1 -1
- package/dist/{parse-DlCRUFh_.js → parse-Dv4of-PN.js} +2 -67
- package/dist/{parse-DlCRUFh_.js.map → parse-Dv4of-PN.js.map} +1 -1
- package/dist/parse-xYI9yrvL.cjs +2 -0
- package/dist/{parse-hMnG_lRV.cjs.map → parse-xYI9yrvL.cjs.map} +1 -1
- package/dist/{pow-DgrUorRi.cjs → pow-BnyPO-NX.cjs} +2 -2
- package/dist/{pow-DgrUorRi.cjs.map → pow-BnyPO-NX.cjs.map} +1 -1
- package/dist/{pow-CM2aze4M.js → pow-CaIrlM4J.js} +2 -2
- package/dist/{pow-CM2aze4M.js.map → pow-CaIrlM4J.js.map} +1 -1
- package/dist/proxy-C4-uo6nS.cjs +2 -0
- package/dist/proxy-C4-uo6nS.cjs.map +1 -0
- package/dist/{proxy-BxkFHwUw.js → proxy-DRuSUlPL.js} +2828 -2717
- package/dist/proxy-DRuSUlPL.js.map +1 -0
- package/dist/{string2HTML-DhG75NqA.js → string2HTML-DUYZT1L9.js} +17 -17
- package/dist/{string2HTML-DhG75NqA.js.map → string2HTML-DUYZT1L9.js.map} +1 -1
- package/dist/{string2HTML-CPGr_I5E.cjs → string2HTML-xx9MzTtY.cjs} +3 -3
- package/dist/{string2HTML-CPGr_I5E.cjs.map → string2HTML-xx9MzTtY.cjs.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{time-BUL-dwnK.js → time-CAtex-RV.js} +2 -2
- package/dist/{time-BUL-dwnK.js.map → time-CAtex-RV.js.map} +1 -1
- package/dist/{time-CZd5YLSP.cjs → time-CkcKbhwe.cjs} +2 -2
- package/dist/{time-CZd5YLSP.cjs.map → time-CkcKbhwe.cjs.map} +1 -1
- package/dist/transformData.cjs +1 -1
- package/dist/transformData.d.ts +1 -1
- package/dist/transformData.js +3 -3
- package/dist/transformDataForAggregation-BFdha9Dx.cjs +2 -0
- package/dist/transformDataForAggregation-BFdha9Dx.cjs.map +1 -0
- package/dist/{transformDataForAggregation-j34UL73s.js → transformDataForAggregation-wdPf8bNt.js} +26 -11
- package/dist/transformDataForAggregation-wdPf8bNt.js.map +1 -0
- package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs → transformDataForGraphFromFile-DOhp1qrp.cjs} +2 -2
- package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs.map → transformDataForGraphFromFile-DOhp1qrp.cjs.map} +1 -1
- package/dist/{transformDataForGraphFromFile-DyP-83Nh.js → transformDataForGraphFromFile-dt9sHTVy.js} +3 -3
- package/dist/{transformDataForGraphFromFile-DyP-83Nh.js.map → transformDataForGraphFromFile-dt9sHTVy.js.map} +1 -1
- package/dist/{use-in-view-QcfiW0w3.cjs → use-in-view-C3o_ntMv.cjs} +2 -2
- package/dist/use-in-view-C3o_ntMv.cjs.map +1 -0
- package/dist/{use-in-view-Cxa7y1TH.js → use-in-view-Dl5L8LtP.js} +2 -2
- package/dist/use-in-view-Dl5L8LtP.js.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +4 -4
- package/dist/validateSchema.cjs +1 -1
- package/dist/validateSchema.d.ts +1 -1
- package/dist/validateSchema.js +1 -1
- package/dist/{x-BBpi7a_7-WVdj1j6r.js → x-BBpi7a_7-BsvWCzYM.js} +1 -31
- package/dist/{x-BBpi7a_7-WVdj1j6r.js.map → x-BBpi7a_7-BsvWCzYM.js.map} +1 -1
- package/dist/x-BBpi7a_7-DXYIEFwN.cjs +2 -0
- package/dist/{x-BBpi7a_7-mTo40uId.cjs.map → x-BBpi7a_7-DXYIEFwN.cjs.map} +1 -1
- package/dist/{zoom-C9MFjAaV.js → zoom-5AkJSuWO.js} +3 -3
- package/dist/zoom-5AkJSuWO.js.map +1 -0
- package/dist/{zoom-DPw8bba-.cjs → zoom-ChcvXFIz.cjs} +2 -2
- package/dist/zoom-ChcvXFIz.cjs.map +1 -0
- package/package.json +21 -1
- package/readme.md +33 -22
- package/dist/EmptyState-C7ZXkZWd.js +0 -15
- package/dist/GraphEl-BixTEyKW.cjs +0 -2
- package/dist/GraphEl-BixTEyKW.cjs.map +0 -1
- package/dist/GraphEl-Dyu_EIQb.js.map +0 -1
- package/dist/ReferenceLine-2XCwHXQ4.js.map +0 -1
- package/dist/RegressionLine-DAcY2DjT.js.map +0 -1
- package/dist/checkIfMultiple-wg6hJLXy.cjs +0 -12
- package/dist/defaultLocale-BEa-49Qz.js +0 -172
- package/dist/defaultLocale-BEa-49Qz.js.map +0 -1
- package/dist/defaultLocale-DIVzfLaQ.cjs +0 -2
- package/dist/defaultLocale-DIVzfLaQ.cjs.map +0 -1
- package/dist/getCentroidCoordinates-D7r34N4w.js.map +0 -1
- package/dist/getCentroidCoordinates-Dng1HVjO.cjs +0 -2
- package/dist/getCentroidCoordinates-Dng1HVjO.cjs.map +0 -1
- package/dist/getGraphList-CA17dvFB.cjs +0 -2
- package/dist/getGraphList-CA17dvFB.cjs.map +0 -1
- package/dist/getGraphList-Dxwo9TDb.js.map +0 -1
- package/dist/getSliderMarks-BmADcPQt.cjs +0 -6
- package/dist/getSliderMarks-HIDJ0_Cd.js.map +0 -1
- package/dist/imageDownload-BU4qnxJP.js.map +0 -1
- package/dist/imageDownload-NYXbvKob.cjs.map +0 -1
- package/dist/index-BqfRwk1n.js +0 -146
- package/dist/index-BqfRwk1n.js.map +0 -1
- package/dist/index-DG2bgAva.cjs +0 -10
- package/dist/index-DG2bgAva.cjs.map +0 -1
- package/dist/index-DxXnJ8Ti.cjs.map +0 -1
- package/dist/index-GEsywGxz.js.map +0 -1
- package/dist/parse-hMnG_lRV.cjs +0 -2
- package/dist/proxy-BxkFHwUw.js.map +0 -1
- package/dist/proxy-BxvUI_9l.cjs +0 -2
- package/dist/proxy-BxvUI_9l.cjs.map +0 -1
- package/dist/transformDataForAggregation-CYoB5Xsk.cjs +0 -2
- package/dist/transformDataForAggregation-CYoB5Xsk.cjs.map +0 -1
- package/dist/transformDataForAggregation-j34UL73s.js.map +0 -1
- package/dist/use-in-view-Cxa7y1TH.js.map +0 -1
- package/dist/use-in-view-QcfiW0w3.cjs.map +0 -1
- package/dist/x-BBpi7a_7-mTo40uId.cjs +0 -27
- package/dist/zoom-C9MFjAaV.js.map +0 -1
- package/dist/zoom-DPw8bba-.cjs.map +0 -1
package/dist/FootNote.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-CHPV5EwG-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-CHPV5EwG-6v2a2njQ.cjs"),m=require("./Typography-sa1UE0oF.cjs"),u=require("react");function p(c){const e=a.compilerRuntimeExports.c(12),{text:r,style:n,className:o}=c;let s;e[0]!==n?(s=n===void 0?{}:n,e[0]=n,e[1]=s):s=e[1];const i=s;if(typeof r=="string"){if(r.trim()==="")return null;let t;e[2]!==o?(t=a.mo("text-primary-gray-550 dark:text-primary-gray-40",o),e[2]=o,e[3]=t):t=e[3];let l;return e[4]!==i||e[5]!==t||e[6]!==r?(l=a.jsxRuntimeExports.jsx(m.j,{size:"sm",marginBottom:"none",className:t,"aria-label":"Graph footnote",style:i,children:r}),e[4]=i,e[5]=t,e[6]=r,e[7]=l):l=e[7],l}if(u.isValidElement(r)){let t;return e[8]!==o||e[9]!==i||e[10]!==r?(t=a.jsxRuntimeExports.jsx("div",{className:o,style:i,children:r}),e[8]=o,e[9]=i,e[10]=r,e[11]=t):t=e[11],t}return console.error("FootNote: Invalid text type. Expected string or React element."),null}exports.FootNote=p;
|
|
2
2
|
//# sourceMappingURL=FootNote.cjs.map
|
package/dist/FootNote.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c, m as f, j as a } from "./index-CHPV5EwG-
|
|
2
|
-
import { j as p } from "./Typography-
|
|
1
|
+
import { c, m as f, j as a } from "./index-CHPV5EwG-DecW7_qr.js";
|
|
2
|
+
import { j as p } from "./Typography-hWfh3H0J.js";
|
|
3
3
|
import x from "react";
|
|
4
4
|
function g(m) {
|
|
5
5
|
const t = c.c(12), {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CHPV5EwG-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CHPV5EwG-6v2a2njQ.cjs"),a=require("react"),ce=require("maplibre-gl"),ae=require("pmtiles");;/* empty css */const Q=require("@dnd-kit/core"),ue=require("@dnd-kit/modifiers"),ie=require("./index-C6er0ety.cjs"),me=require("./string2HTML-xx9MzTtY.cjs"),se=require("./select-Bnfk0lJx.cjs"),fe=require("./GraphHeader.cjs"),pe=require("./GraphFooter.cjs"),ne=require("./GraphContainer-B1EDxJ0S.cjs");function le(m){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const n in m)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(m,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>m[n]})}}return e.default=m,Object.freeze(e)}const T=le(ce),de=le(ae);function ge(m,e){let n=!1;function r(o,f){if(!n){n=!0;const u=o.getCenter(),i=o.getZoom(),s=o.getBearing(),p=o.getPitch();f.jumpTo({center:u,zoom:i,bearing:s,pitch:p}),n=!1}}m.on("move",()=>{r(m,e)}),e.on("move",()=>{r(e,m)})}function he(m){const e=t.compilerRuntimeExports.c(47),{height:n,width:r,mapStyles:o,center:f,zoomLevel:u,mapLegend:i}=m,[s,p]=a.useState(50),[x,b]=a.useState(!1),y=a.useRef(null),[N,W]=a.useState(!0),B=a.useRef(50),$=a.useRef(0);let q;e[0]===Symbol.for("react.memo_cache_sentinel")?(q={activationConstraint:{distance:0}},e[0]=q):q=e[0];const G=Q.useSensors(Q.useSensor(Q.PointerSensor,q));let l;e[1]!==s?(l=()=>{b(!0),B.current=s,y.current&&($.current=y.current.getBoundingClientRect().width)},e[1]=s,e[2]=l):l=e[2];const c=l;let z;e[3]===Symbol.for("react.memo_cache_sentinel")?(z=Y=>{if(!y.current||$.current===0)return;const K=Y.delta.x/$.current*100,ee=Math.max(0,Math.min(100,B.current+K));p(ee)},e[3]=z):z=e[3];const F=z;let S;e[4]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{b(!1)},e[4]=S):S=e[4];const Z=S;let P;e[5]!==x?(P=Y=>{if(x||!y.current)return;const K=y.current.getBoundingClientRect(),te=(Y.clientX-K.left)/K.width*100;p(Math.max(0,Math.min(100,te)))},e[5]=x,e[6]=P):P=e[6];const L=P,V=a.useRef(null),k=a.useRef(null),E=a.useRef(null),J=a.useRef(null);let C,A;e[7]!==f||e[8]!==o||e[9]!==r||e[10]!==u?(C=()=>{if(J.current&&k.current&&E.current&&r){se.select(J.current).selectAll(".maplibregl-compare").remove(),se.select(k.current).selectAll("div").remove(),se.select(E.current).selectAll("div").remove();const te=new de.Protocol;T.addProtocol("pmtiles",te.tile);const re=new T.Map({container:k.current,style:o[0],center:f||[0,0],zoom:u||4}),oe=new T.Map({container:E.current,style:o[1],center:f||[0,0],zoom:u||4});oe.addControl(new T.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),re.addControl(new T.ScaleControl,"bottom-left"),re.addControl(new T.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),oe.addControl(new T.ScaleControl,"bottom-left"),ge(re,oe)}},A=[r,o,f,u],e[7]=f,e[8]=o,e[9]=r,e[10]=u,e[11]=C,e[12]=A):(C=e[11],A=e[12]),a.useEffect(C,A);let j;e[13]!==n||e[14]!==r?(j={width:r,height:n},e[13]=n,e[14]=r,e[15]=j):j=e[15];let I;e[16]===Symbol.for("react.memo_cache_sentinel")?(I={inset:0},e[16]=I):I=e[16];let _;e[17]===Symbol.for("react.memo_cache_sentinel")?(_=[ue.restrictToHorizontalAxis],e[17]=_):_=e[17];const H=x?"grabbing":"col-resize";let R;e[18]!==n||e[19]!==H||e[20]!==r?(R={position:"relative",width:r,height:n,overflow:"hidden",cursor:H,userSelect:"none"},e[18]=n,e[19]=H,e[20]=r,e[21]=R):R=e[21];const O=`polygon(${s}% 0%, ${s}% 100%, 100% 100%, 100% 0%)`;let d;e[22]!==O?(d=t.jsxRuntimeExports.jsx("div",{ref:E,className:"absolute h-full rightMap w-full",style:{position:"absolute",top:0,left:0,clipPath:O}}),e[22]=O,e[23]=d):d=e[23];const w=`polygon(0% 0%, ${s}% 0%, ${s}% 100%, 0% 100%)`;let g;e[24]!==w?(g=t.jsxRuntimeExports.jsx("div",{ref:k,className:"absolute h-full leftMap w-full",style:{position:"absolute",top:0,left:0,inset:0,clipPath:w}}),e[24]=w,e[25]=g):g=e[25];let h;e[26]!==s?(h=t.jsxRuntimeExports.jsx(xe,{position:s}),e[26]=s,e[27]=h):h=e[27];let v;e[28]!==L||e[29]!==R||e[30]!==d||e[31]!==g||e[32]!==h?(v=t.jsxRuntimeExports.jsxs("div",{ref:y,style:R,onClick:L,children:[d,g,h]}),e[28]=L,e[29]=R,e[30]=d,e[31]=g,e[32]=h,e[33]=v):v=e[33];let M;e[34]!==c||e[35]!==G||e[36]!==v?(M=t.jsxRuntimeExports.jsx("div",{ref:J,className:"map maplibre-show-control relative w-full h-full",style:I,children:t.jsxRuntimeExports.jsx(Q.DndContext,{sensors:G,modifiers:_,onDragStart:c,onDragMove:F,onDragEnd:Z,children:v})}),e[34]=c,e[35]=G,e[36]=v,e[37]=M):M=e[37];let D;e[38]!==M||e[39]!==j?(D=t.jsxRuntimeExports.jsx("div",{style:j,children:M}),e[38]=M,e[39]=j,e[40]=D):D=e[40];let X;e[41]!==i||e[42]!==N?(X=i?t.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:N?t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{W(!1)},children:t.jsxRuntimeExports.jsx(ie.X,{})}),t.jsxRuntimeExports.jsx("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",dangerouslySetInnerHTML:typeof i=="string"?{__html:me.string2HTML(i)}:void 0,children:a.isValidElement(i)?i:null})]}):t.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{W(!0)},children:t.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null,e[41]=i,e[42]=N,e[43]=X):X=e[43];let U;return e[44]!==D||e[45]!==X?(U=t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col grow justify-center leading-0",ref:V,"aria-label":"Map area",children:[D,X]}),e[44]=D,e[45]=X,e[46]=U):U=e[46],U}function xe(m){const e=t.compilerRuntimeExports.c(10),{position:n}=m;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={id:"slider-handle"},e[0]=r):r=e[0];const{attributes:o,listeners:f,setNodeRef:u}=Q.useDraggable(r),i=`${n}%`;let s;e[1]!==i?(s={position:"absolute",left:i,top:0,bottom:0,width:"40px",transform:"translateX(-50%)",cursor:"col-resize",display:"flex",justifyContent:"center",alignItems:"center",zIndex:10,touchAction:"none"},e[1]=i,e[2]=s):s=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsxRuntimeExports.jsx("div",{className:"h-full bg-primary-blue-600 dark:bg-primary-blue-400",style:{width:"2px"}}),e[3]=p):p=e[3];let x;e[4]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsxRuntimeExports.jsx("div",{className:"flex bg-primary-blue-600 dark:bg-primary-blue-400 rounded-full absolute items-center justify-center text-primary-white font-primary-white",style:{boxShadow:"inset 0 0 0 1px #fff",width:"42px",height:"42px",top:"calc(50% - 21px)",left:"0",cursor:"col-resize"},children:t.jsxRuntimeExports.jsx(ie.ChevronLeftRight,{})}),e[4]=x):x=e[4];let b;return e[5]!==o||e[6]!==f||e[7]!==u||e[8]!==s?(b=t.jsxRuntimeExports.jsxs("div",{ref:u,style:s,...f,...o,children:[p,x]}),e[5]=o,e[6]=f,e[7]=u,e[8]=s,e[9]=b):b=e[9],b}function be(m){const e=t.compilerRuntimeExports.c(45),{graphTitle:n,height:r,width:o,relativeHeight:f,sources:u,graphDescription:i,footNote:s,padding:p,backgroundColor:x,graphID:b,mapStyles:y,center:N,zoomLevel:W,language:B,minHeight:$,theme:q,ariaLabel:G,styles:l,classNames:c,mapLegend:z}=m,F=x===void 0?!1:x;let S;e[0]!==N?(S=N===void 0?[0,0]:N,e[0]=N,e[1]=S):S=e[1];const Z=S,P=W===void 0?3:W,L=B===void 0?"en":B,V=$===void 0?0:$,k=q===void 0?"light":q,[E,J]=a.useState(0),[C,A]=a.useState(0),j=a.useRef(null),I=a.useRef(null);let _,H;e[2]===Symbol.for("react.memo_cache_sentinel")?(_=()=>{const M=new ResizeObserver(D=>{J(D[0].target.clientWidth||620),A(D[0].target.clientHeight||480)});return j.current&&M.observe(j.current),()=>M.disconnect()},H=[],e[2]=_,e[3]=H):(_=e[2],H=e[3]),a.useEffect(_,H);const R=c?.graphContainer,O=l?.graphContainer;let d;e[4]!==c?.description||e[5]!==c?.title||e[6]!==i||e[7]!==n||e[8]!==l?.description||e[9]!==l?.title||e[10]!==o?(d=n||i?t.jsxRuntimeExports.jsx(fe.GraphHeader,{styles:{title:l?.title,description:l?.description},classNames:{title:c?.title,description:c?.description},graphTitle:n,graphDescription:i,width:o}):null,e[4]=c?.description,e[5]=c?.title,e[6]=i,e[7]=n,e[8]=l?.description,e[9]=l?.title,e[10]=o,e[11]=d):d=e[11];let w;e[12]!==Z||e[13]!==z||e[14]!==y||e[15]!==C||e[16]!==E||e[17]!==P?(w=E&&C?t.jsxRuntimeExports.jsx(he,{width:E,height:C,mapStyles:y,center:Z,zoomLevel:P,mapLegend:z}):null,e[12]=Z,e[13]=z,e[14]=y,e[15]=C,e[16]=E,e[17]=P,e[18]=w):w=e[18];let g;e[19]!==w?(g=t.jsxRuntimeExports.jsx(ne.GraphArea,{ref:j,children:w}),e[19]=w,e[20]=g):g=e[20];let h;e[21]!==c?.footnote||e[22]!==c?.source||e[23]!==s||e[24]!==u||e[25]!==l?.footnote||e[26]!==l?.source||e[27]!==o?(h=u||s?t.jsxRuntimeExports.jsx(pe.GraphFooter,{styles:{footnote:l?.footnote,source:l?.source},classNames:{footnote:c?.footnote,source:c?.source},sources:u,footNote:s,width:o}):null,e[21]=c?.footnote,e[22]=c?.source,e[23]=s,e[24]=u,e[25]=l?.footnote,e[26]=l?.source,e[27]=o,e[28]=h):h=e[28];let v;return e[29]!==G||e[30]!==F||e[31]!==b||e[32]!==r||e[33]!==L||e[34]!==V||e[35]!==p||e[36]!==f||e[37]!==O||e[38]!==d||e[39]!==g||e[40]!==h||e[41]!==R||e[42]!==k||e[43]!==o?(v=t.jsxRuntimeExports.jsxs(ne.GraphContainer,{className:R,style:O,id:b,ref:I,"aria-label":G,backgroundColor:F,theme:k,language:L,minHeight:V,width:o,height:r,relativeHeight:f,padding:p,children:[d,g,h]}),e[29]=G,e[30]=F,e[31]=b,e[32]=r,e[33]=L,e[34]=V,e[35]=p,e[36]=f,e[37]=O,e[38]=d,e[39]=g,e[40]=h,e[41]=R,e[42]=k,e[43]=o,e[44]=v):v=e[44],v}exports.GeoHubCompareMaps=be;
|
|
2
2
|
//# sourceMappingURL=GeoHubCompareMaps.cjs.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { c as se, j as t } from "./index-CHPV5EwG-
|
|
1
|
+
import { c as se, j as t } from "./index-CHPV5EwG-DecW7_qr.js";
|
|
2
2
|
import ie, { useState as Q, useRef as z, useEffect as ne } from "react";
|
|
3
3
|
import * as I from "maplibre-gl";
|
|
4
4
|
import * as ae from "pmtiles";
|
|
5
5
|
/* empty css */
|
|
6
6
|
import { useSensors as ce, useSensor as me, PointerSensor as fe, DndContext as de, useDraggable as ue } from "@dnd-kit/core";
|
|
7
7
|
import { restrictToHorizontalAxis as pe } from "@dnd-kit/modifiers";
|
|
8
|
-
import { X as he, C as ge } from "./index-
|
|
9
|
-
import { s as be } from "./string2HTML-
|
|
8
|
+
import { X as he, C as ge } from "./index-BQYOuXdl.js";
|
|
9
|
+
import { s as be } from "./string2HTML-DUYZT1L9.js";
|
|
10
10
|
import { s as le } from "./select-DKy99ogv.js";
|
|
11
11
|
import { GraphHeader as ve } from "./GraphHeader.js";
|
|
12
12
|
import { GraphFooter as ye } from "./GraphFooter.js";
|
|
13
|
-
import { a as xe, G as we } from "./GraphContainer-
|
|
13
|
+
import { a as xe, G as we } from "./GraphContainer-CF6ws3pd.js";
|
|
14
14
|
function je(j, e) {
|
|
15
15
|
let i = !1;
|
|
16
16
|
function l(o, m) {
|
|
@@ -41,7 +41,7 @@ function Ce(j) {
|
|
|
41
41
|
mapLegend: s
|
|
42
42
|
} = j, [r, f] = Q(50), [h, g] = Q(!1), v = z(null), [k, Z] = Q(!0), F = z(50), T = z(0);
|
|
43
43
|
let G;
|
|
44
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (G = {
|
|
44
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (G = {
|
|
45
45
|
activationConstraint: {
|
|
46
46
|
distance: 0
|
|
47
47
|
}
|
|
@@ -53,7 +53,7 @@ function Ce(j) {
|
|
|
53
53
|
}, e[1] = r, e[2] = n) : n = e[2];
|
|
54
54
|
const a = n;
|
|
55
55
|
let P;
|
|
56
|
-
e[3] === Symbol.for("react.memo_cache_sentinel") ? (P = (Y) => {
|
|
56
|
+
e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (P = (Y) => {
|
|
57
57
|
if (!v.current || T.current === 0)
|
|
58
58
|
return;
|
|
59
59
|
const K = Y.delta.x / T.current * 100, ee = Math.max(0, Math.min(100, F.current + K));
|
|
@@ -61,7 +61,7 @@ function Ce(j) {
|
|
|
61
61
|
}, e[3] = P) : P = e[3];
|
|
62
62
|
const O = P;
|
|
63
63
|
let C;
|
|
64
|
-
e[4] === Symbol.for("react.memo_cache_sentinel") ? (C = () => {
|
|
64
|
+
e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = () => {
|
|
65
65
|
g(!1);
|
|
66
66
|
}, e[4] = C) : C = e[4];
|
|
67
67
|
const V = C;
|
|
@@ -107,11 +107,11 @@ function Ce(j) {
|
|
|
107
107
|
height: i
|
|
108
108
|
}, e[13] = i, e[14] = l, e[15] = y) : y = e[15];
|
|
109
109
|
let W;
|
|
110
|
-
e[16] === Symbol.for("react.memo_cache_sentinel") ? (W = {
|
|
110
|
+
e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (W = {
|
|
111
111
|
inset: 0
|
|
112
112
|
}, e[16] = W) : W = e[16];
|
|
113
113
|
let D;
|
|
114
|
-
e[17] === Symbol.for("react.memo_cache_sentinel") ? (D = [pe], e[17] = D) : D = e[17];
|
|
114
|
+
e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = [pe], e[17] = D) : D = e[17];
|
|
115
115
|
const L = h ? "grabbing" : "col-resize";
|
|
116
116
|
let x;
|
|
117
117
|
e[18] !== i || e[19] !== L || e[20] !== l ? (x = {
|
|
@@ -173,7 +173,7 @@ function Se(j) {
|
|
|
173
173
|
position: i
|
|
174
174
|
} = j;
|
|
175
175
|
let l;
|
|
176
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = {
|
|
176
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = {
|
|
177
177
|
id: "slider-handle"
|
|
178
178
|
}, e[0] = l) : l = e[0];
|
|
179
179
|
const {
|
|
@@ -197,11 +197,11 @@ function Se(j) {
|
|
|
197
197
|
touchAction: "none"
|
|
198
198
|
}, e[1] = s, e[2] = r) : r = e[2];
|
|
199
199
|
let f;
|
|
200
|
-
e[3] === Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ t.jsx("div", { className: "h-full bg-primary-blue-600 dark:bg-primary-blue-400", style: {
|
|
200
|
+
e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ t.jsx("div", { className: "h-full bg-primary-blue-600 dark:bg-primary-blue-400", style: {
|
|
201
201
|
width: "2px"
|
|
202
202
|
} }), e[3] = f) : f = e[3];
|
|
203
203
|
let h;
|
|
204
|
-
e[4] === Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ t.jsx("div", { className: "flex bg-primary-blue-600 dark:bg-primary-blue-400 rounded-full absolute items-center justify-center text-primary-white font-primary-white", style: {
|
|
204
|
+
e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ t.jsx("div", { className: "flex bg-primary-blue-600 dark:bg-primary-blue-400 rounded-full absolute items-center justify-center text-primary-white font-primary-white", style: {
|
|
205
205
|
boxShadow: "inset 0 0 0 1px #fff",
|
|
206
206
|
width: "42px",
|
|
207
207
|
height: "42px",
|
|
@@ -242,7 +242,7 @@ function $e(j) {
|
|
|
242
242
|
e[0] !== k ? (C = k === void 0 ? [0, 0] : k, e[0] = k, e[1] = C) : C = e[1];
|
|
243
243
|
const V = C, R = Z === void 0 ? 3 : Z, A = F === void 0 ? "en" : F, q = T === void 0 ? 0 : T, H = G === void 0 ? "light" : G, [S, J] = Q(0), [_, X] = Q(0), y = z(null), W = z(null);
|
|
244
244
|
let D, L;
|
|
245
|
-
e[2] === Symbol.for("react.memo_cache_sentinel") ? (D = () => {
|
|
245
|
+
e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = () => {
|
|
246
246
|
const M = new ResizeObserver((N) => {
|
|
247
247
|
J(N[0].target.clientWidth || 620), X(N[0].target.clientHeight || 480);
|
|
248
248
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeoHubCompareMaps.js","sources":["../src/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.tsx","../src/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from 'react';\r\nimport * as 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 {\r\n DndContext,\r\n useDraggable,\r\n useSensor,\r\n useSensors,\r\n PointerSensor,\r\n DragMoveEvent,\r\n} from '@dnd-kit/core';\r\nimport { restrictToHorizontalAxis } from '@dnd-kit/modifiers';\r\nimport React from 'react';\r\n\r\nimport { ChevronLeftRight, X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n width: number;\r\n height: number;\r\n mapStyles: [string, string];\r\n center: [number, number];\r\n mapLegend?: string | React.ReactNode;\r\n zoomLevel: number;\r\n}\r\n\r\nfunction synchronizeMap(map1: maplibreGl.Map, map2: maplibreGl.Map) {\r\n let isSyncing = false;\r\n function syncMap(sourceMap: maplibreGl.Map, targetMap: maplibreGl.Map) {\r\n if (!isSyncing) {\r\n isSyncing = true;\r\n const center = sourceMap.getCenter();\r\n const zoom = sourceMap.getZoom();\r\n const bearing = sourceMap.getBearing();\r\n const pitch = sourceMap.getPitch();\r\n targetMap.jumpTo({\r\n center,\r\n zoom,\r\n bearing,\r\n pitch,\r\n });\r\n isSyncing = false;\r\n }\r\n }\r\n\r\n // Event listeners for map1\r\n map1.on('move', () => {\r\n syncMap(map1, map2);\r\n });\r\n\r\n // Event listeners for map2\r\n map2.on('move', () => {\r\n syncMap(map2, map1);\r\n });\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const { height, width, mapStyles, center, zoomLevel, mapLegend } = props;\r\n const [position, setPosition] = useState(50);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const dragStartPositionRef = useRef(50);\r\n const sliderWidthRef = useRef(0);\r\n\r\n const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 0 } }));\r\n\r\n const handleDragStart = () => {\r\n setIsDragging(true);\r\n dragStartPositionRef.current = position;\r\n\r\n if (containerRef.current) {\r\n sliderWidthRef.current = containerRef.current.getBoundingClientRect().width;\r\n }\r\n };\r\n\r\n const handleDragMove = (event: DragMoveEvent) => {\r\n if (!containerRef.current || sliderWidthRef.current === 0) return;\r\n\r\n // Calculate position change as percentage of width\r\n const deltaPercentage = (event.delta.x / sliderWidthRef.current) * 100;\r\n const newPosition = Math.max(0, Math.min(100, dragStartPositionRef.current + deltaPercentage));\r\n\r\n setPosition(newPosition);\r\n };\r\n\r\n const handleDragEnd = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n if (isDragging || !containerRef.current) return;\r\n\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const clickX = e.clientX - rect.left;\r\n const newPosition = (clickX / rect.width) * 100;\r\n\r\n setPosition(Math.max(0, Math.min(100, newPosition)));\r\n };\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const leftMapRef = useRef<HTMLDivElement>(null);\r\n const rightMapRef = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n if (mapContainer.current && leftMapRef.current && rightMapRef.current && width) {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('.maplibregl-compare').remove();\r\n const leftMapDiv = select(leftMapRef.current);\r\n leftMapDiv.selectAll('div').remove();\r\n const rightMapDiv = select(rightMapRef.current);\r\n rightMapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n const leftMap = new maplibreGl.Map({\r\n container: leftMapRef.current,\r\n style: mapStyles[0],\r\n center: center || [0, 0],\r\n zoom: zoomLevel || 4,\r\n });\r\n\r\n const rightMap = new maplibreGl.Map({\r\n container: rightMapRef.current,\r\n style: mapStyles[1],\r\n center: center || [0, 0],\r\n zoom: zoomLevel || 4,\r\n });\r\n rightMap.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 leftMap.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n leftMap.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 rightMap.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n synchronizeMap(leftMap, rightMap);\r\n }\r\n }, [width, mapStyles, center, zoomLevel]);\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 <div\r\n style={{\r\n width,\r\n height,\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control relative w-full h-full'\r\n style={{ inset: 0 }}\r\n >\r\n <DndContext\r\n sensors={sensors}\r\n modifiers={[restrictToHorizontalAxis]}\r\n onDragStart={handleDragStart}\r\n onDragMove={handleDragMove}\r\n onDragEnd={handleDragEnd}\r\n >\r\n <div\r\n ref={containerRef}\r\n style={{\r\n position: 'relative',\r\n width,\r\n height,\r\n overflow: 'hidden',\r\n cursor: isDragging ? 'grabbing' : 'col-resize',\r\n userSelect: 'none', // Prevent text selection during drag\r\n }}\r\n onClick={handleClick}\r\n >\r\n <div\r\n ref={rightMapRef}\r\n className='absolute h-full rightMap w-full'\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n clipPath: `polygon(${position}% 0%, ${position}% 100%, 100% 100%, 100% 0%)`,\r\n }}\r\n />\r\n <div\r\n ref={leftMapRef}\r\n className='absolute h-full leftMap w-full'\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n inset: 0,\r\n clipPath: `polygon(0% 0%, ${position}% 0%, ${position}% 100%, 0% 100%)`,\r\n }}\r\n />\r\n\r\n <SliderHandle position={position} />\r\n </div>\r\n </DndContext>\r\n </div>\r\n </div>\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n\r\ninterface HandleProps {\r\n position: number;\r\n}\r\n\r\nfunction SliderHandle(props: HandleProps) {\r\n const { position } = props;\r\n const { attributes, listeners, setNodeRef } = useDraggable({ id: 'slider-handle' });\r\n\r\n return (\r\n <div\r\n ref={setNodeRef}\r\n style={{\r\n position: 'absolute',\r\n left: `${position}%`,\r\n top: 0,\r\n bottom: 0,\r\n width: '40px',\r\n transform: 'translateX(-50%)',\r\n cursor: 'col-resize',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n zIndex: 10,\r\n touchAction: 'none',\r\n }}\r\n {...listeners}\r\n {...attributes}\r\n >\r\n <div\r\n className='h-full bg-primary-blue-600 dark:bg-primary-blue-400'\r\n style={{ width: '2px' }}\r\n />\r\n <div\r\n className='flex bg-primary-blue-600 dark:bg-primary-blue-400 rounded-full absolute items-center justify-center text-primary-white font-primary-white'\r\n style={{\r\n boxShadow: 'inset 0 0 0 1px #fff',\r\n width: '42px',\r\n height: '42px',\r\n top: 'calc(50% - 21px)',\r\n left: '0',\r\n cursor: 'col-resize',\r\n }}\r\n >\r\n <ChevronLeftRight />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useRef, useEffect, useState } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { ClassNameObject, Languages, SourcesDataType, StyleObject } from '@/Types';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\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 /** URLs for mapStyles JSON user wants to compare */\r\n mapStyles: [string, string];\r\n /** Defines the legend for the map. mapLegend with type string is show as innerHTML. */\r\n mapLegend?: string | React.ReactNode;\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\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\n/** For using these maps you will have to install [`maplibre`](https://maplibre.org/maplibre-gl-js/docs/#npm), [pmtiles](https://www.npmjs.com/package/pmtiles), [dnd-kit/core](https://www.npmjs.com/package/@dnd-kit/core), and [dnd-kit/modifier](https://www.npmjs.com/package/@dnd-kit/modifiers) package to your project */\r\nexport function GeoHubCompareMaps(props: Props) {\r\n const {\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 graphID,\r\n mapStyles,\r\n center = [0, 0],\r\n zoomLevel = 3,\r\n language = 'en',\r\n minHeight = 0,\r\n theme = 'light',\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n mapLegend,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n width={svgWidth}\r\n height={svgHeight}\r\n mapStyles={mapStyles}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n mapLegend={mapLegend}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["synchronizeMap","map1","map2","isSyncing","syncMap","sourceMap","targetMap","center","getCenter","zoom","getZoom","bearing","getBearing","pitch","getPitch","jumpTo","on","Graph","props","$","_c","height","width","mapStyles","zoomLevel","mapLegend","position","setPosition","useState","isDragging","setIsDragging","containerRef","useRef","showLegend","setShowLegend","dragStartPositionRef","sliderWidthRef","t0","Symbol","for","activationConstraint","distance","sensors","useSensors","useSensor","PointerSensor","t1","current","getBoundingClientRect","handleDragStart","t2","event","deltaPercentage","delta","x","newPosition","Math","max","min","handleDragMove","t3","handleDragEnd","t4","e","rect","newPosition_0","clientX","left","handleClick","graphDiv","leftMapRef","rightMapRef","mapContainer","t5","t6","mapDiv","select","selectAll","remove","protocol","pmtiles","Protocol","maplibreGl","addProtocol","tile","leftMap","Map","container","style","rightMap","addControl","NavigationControl","visualizePitch","showZoom","showCompass","ScaleControl","useEffect","t7","t8","inset","t9","restrictToHorizontalAxis","t10","t11","overflow","cursor","userSelect","t12","t13","top","clipPath","t14","t15","t16","SliderHandle","t17","t18","jsx","DndContext","t19","t20","jsxs","Fragment","X","__html","string2HTML","undefined","React","isValidElement","t21","id","attributes","listeners","setNodeRef","useDraggable","bottom","transform","display","justifyContent","alignItems","zIndex","touchAction","boxShadow","ChevronLeftRight","GeoHubCompareMaps","graphTitle","relativeHeight","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","minHeight","theme","ariaLabel","styles","classNames","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","title","GraphHeader","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeoHubCompareMaps.js","sources":["../src/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.tsx","../src/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from 'react';\r\nimport * as 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 {\r\n DndContext,\r\n useDraggable,\r\n useSensor,\r\n useSensors,\r\n PointerSensor,\r\n DragMoveEvent,\r\n} from '@dnd-kit/core';\r\nimport { restrictToHorizontalAxis } from '@dnd-kit/modifiers';\r\nimport React from 'react';\r\n\r\nimport { ChevronLeftRight, X } from '@/Components/Icons';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n width: number;\r\n height: number;\r\n mapStyles: [string, string];\r\n center: [number, number];\r\n mapLegend?: string | React.ReactNode;\r\n zoomLevel: number;\r\n}\r\n\r\nfunction synchronizeMap(map1: maplibreGl.Map, map2: maplibreGl.Map) {\r\n let isSyncing = false;\r\n function syncMap(sourceMap: maplibreGl.Map, targetMap: maplibreGl.Map) {\r\n if (!isSyncing) {\r\n isSyncing = true;\r\n const center = sourceMap.getCenter();\r\n const zoom = sourceMap.getZoom();\r\n const bearing = sourceMap.getBearing();\r\n const pitch = sourceMap.getPitch();\r\n targetMap.jumpTo({\r\n center,\r\n zoom,\r\n bearing,\r\n pitch,\r\n });\r\n isSyncing = false;\r\n }\r\n }\r\n\r\n // Event listeners for map1\r\n map1.on('move', () => {\r\n syncMap(map1, map2);\r\n });\r\n\r\n // Event listeners for map2\r\n map2.on('move', () => {\r\n syncMap(map2, map1);\r\n });\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const { height, width, mapStyles, center, zoomLevel, mapLegend } = props;\r\n const [position, setPosition] = useState(50);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const [showLegend, setShowLegend] = useState(true);\r\n const dragStartPositionRef = useRef(50);\r\n const sliderWidthRef = useRef(0);\r\n\r\n const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 0 } }));\r\n\r\n const handleDragStart = () => {\r\n setIsDragging(true);\r\n dragStartPositionRef.current = position;\r\n\r\n if (containerRef.current) {\r\n sliderWidthRef.current = containerRef.current.getBoundingClientRect().width;\r\n }\r\n };\r\n\r\n const handleDragMove = (event: DragMoveEvent) => {\r\n if (!containerRef.current || sliderWidthRef.current === 0) return;\r\n\r\n // Calculate position change as percentage of width\r\n const deltaPercentage = (event.delta.x / sliderWidthRef.current) * 100;\r\n const newPosition = Math.max(0, Math.min(100, dragStartPositionRef.current + deltaPercentage));\r\n\r\n setPosition(newPosition);\r\n };\r\n\r\n const handleDragEnd = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n if (isDragging || !containerRef.current) return;\r\n\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const clickX = e.clientX - rect.left;\r\n const newPosition = (clickX / rect.width) * 100;\r\n\r\n setPosition(Math.max(0, Math.min(100, newPosition)));\r\n };\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const leftMapRef = useRef<HTMLDivElement>(null);\r\n const rightMapRef = useRef<HTMLDivElement>(null);\r\n const mapContainer = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n if (mapContainer.current && leftMapRef.current && rightMapRef.current && width) {\r\n const mapDiv = select(mapContainer.current);\r\n mapDiv.selectAll('.maplibregl-compare').remove();\r\n const leftMapDiv = select(leftMapRef.current);\r\n leftMapDiv.selectAll('div').remove();\r\n const rightMapDiv = select(rightMapRef.current);\r\n rightMapDiv.selectAll('div').remove();\r\n const protocol = new pmtiles.Protocol();\r\n maplibreGl.addProtocol('pmtiles', protocol.tile);\r\n const leftMap = new maplibreGl.Map({\r\n container: leftMapRef.current,\r\n style: mapStyles[0],\r\n center: center || [0, 0],\r\n zoom: zoomLevel || 4,\r\n });\r\n\r\n const rightMap = new maplibreGl.Map({\r\n container: rightMapRef.current,\r\n style: mapStyles[1],\r\n center: center || [0, 0],\r\n zoom: zoomLevel || 4,\r\n });\r\n rightMap.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 leftMap.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n leftMap.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 rightMap.addControl(new maplibreGl.ScaleControl(), 'bottom-left');\r\n synchronizeMap(leftMap, rightMap);\r\n }\r\n }, [width, mapStyles, center, zoomLevel]);\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 <div\r\n style={{\r\n width,\r\n height,\r\n }}\r\n >\r\n <div\r\n ref={mapContainer}\r\n className='map maplibre-show-control relative w-full h-full'\r\n style={{ inset: 0 }}\r\n >\r\n <DndContext\r\n sensors={sensors}\r\n modifiers={[restrictToHorizontalAxis]}\r\n onDragStart={handleDragStart}\r\n onDragMove={handleDragMove}\r\n onDragEnd={handleDragEnd}\r\n >\r\n <div\r\n ref={containerRef}\r\n style={{\r\n position: 'relative',\r\n width,\r\n height,\r\n overflow: 'hidden',\r\n cursor: isDragging ? 'grabbing' : 'col-resize',\r\n userSelect: 'none', // Prevent text selection during drag\r\n }}\r\n onClick={handleClick}\r\n >\r\n <div\r\n ref={rightMapRef}\r\n className='absolute h-full rightMap w-full'\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n clipPath: `polygon(${position}% 0%, ${position}% 100%, 100% 100%, 100% 0%)`,\r\n }}\r\n />\r\n <div\r\n ref={leftMapRef}\r\n className='absolute h-full leftMap w-full'\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n inset: 0,\r\n clipPath: `polygon(0% 0%, ${position}% 0%, ${position}% 100%, 0% 100%)`,\r\n }}\r\n />\r\n\r\n <SliderHandle position={position} />\r\n </div>\r\n </DndContext>\r\n </div>\r\n </div>\r\n {mapLegend ? (\r\n <div className='absolute left-[22px] bottom-13'>\r\n {showLegend ? (\r\n <>\r\n <div\r\n className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\r\n Show Legend\r\n </div>\r\n </button>\r\n )}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n\r\ninterface HandleProps {\r\n position: number;\r\n}\r\n\r\nfunction SliderHandle(props: HandleProps) {\r\n const { position } = props;\r\n const { attributes, listeners, setNodeRef } = useDraggable({ id: 'slider-handle' });\r\n\r\n return (\r\n <div\r\n ref={setNodeRef}\r\n style={{\r\n position: 'absolute',\r\n left: `${position}%`,\r\n top: 0,\r\n bottom: 0,\r\n width: '40px',\r\n transform: 'translateX(-50%)',\r\n cursor: 'col-resize',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n zIndex: 10,\r\n touchAction: 'none',\r\n }}\r\n {...listeners}\r\n {...attributes}\r\n >\r\n <div\r\n className='h-full bg-primary-blue-600 dark:bg-primary-blue-400'\r\n style={{ width: '2px' }}\r\n />\r\n <div\r\n className='flex bg-primary-blue-600 dark:bg-primary-blue-400 rounded-full absolute items-center justify-center text-primary-white font-primary-white'\r\n style={{\r\n boxShadow: 'inset 0 0 0 1px #fff',\r\n width: '42px',\r\n height: '42px',\r\n top: 'calc(50% - 21px)',\r\n left: '0',\r\n cursor: 'col-resize',\r\n }}\r\n >\r\n <ChevronLeftRight />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useRef, useEffect, useState } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { ClassNameObject, Languages, SourcesDataType, StyleObject } from '@/Types';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\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 /** URLs for mapStyles JSON user wants to compare */\r\n mapStyles: [string, string];\r\n /** Defines the legend for the map. mapLegend with type string is show as innerHTML. */\r\n mapLegend?: string | React.ReactNode;\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\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\n/** For using these maps you will have to install [`maplibre`](https://maplibre.org/maplibre-gl-js/docs/#npm), [pmtiles](https://www.npmjs.com/package/pmtiles), [dnd-kit/core](https://www.npmjs.com/package/@dnd-kit/core), and [dnd-kit/modifier](https://www.npmjs.com/package/@dnd-kit/modifiers) package to your project */\r\nexport function GeoHubCompareMaps(props: Props) {\r\n const {\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 graphID,\r\n mapStyles,\r\n center = [0, 0],\r\n zoomLevel = 3,\r\n language = 'en',\r\n minHeight = 0,\r\n theme = 'light',\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n mapLegend,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n width={svgWidth}\r\n height={svgHeight}\r\n mapStyles={mapStyles}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n mapLegend={mapLegend}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["synchronizeMap","map1","map2","isSyncing","syncMap","sourceMap","targetMap","center","getCenter","zoom","getZoom","bearing","getBearing","pitch","getPitch","jumpTo","on","Graph","props","$","_c","height","width","mapStyles","zoomLevel","mapLegend","position","setPosition","useState","isDragging","setIsDragging","containerRef","useRef","showLegend","setShowLegend","dragStartPositionRef","sliderWidthRef","t0","Symbol","for","activationConstraint","distance","sensors","useSensors","useSensor","PointerSensor","t1","current","getBoundingClientRect","handleDragStart","t2","event","deltaPercentage","delta","x","newPosition","Math","max","min","handleDragMove","t3","handleDragEnd","t4","e","rect","newPosition_0","clientX","left","handleClick","graphDiv","leftMapRef","rightMapRef","mapContainer","t5","t6","mapDiv","select","selectAll","remove","protocol","pmtiles","Protocol","maplibreGl","addProtocol","tile","leftMap","Map","container","style","rightMap","addControl","NavigationControl","visualizePitch","showZoom","showCompass","ScaleControl","useEffect","t7","t8","inset","t9","restrictToHorizontalAxis","t10","t11","overflow","cursor","userSelect","t12","t13","top","clipPath","t14","t15","t16","SliderHandle","t17","t18","jsx","DndContext","t19","t20","jsxs","Fragment","X","__html","string2HTML","undefined","React","isValidElement","t21","id","attributes","listeners","setNodeRef","useDraggable","bottom","transform","display","justifyContent","alignItems","zIndex","touchAction","boxShadow","ChevronLeftRight","GeoHubCompareMaps","graphTitle","relativeHeight","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","minHeight","theme","ariaLabel","styles","classNames","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphParentDiv","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","graphContainer","description","title","GraphHeader","GraphArea","footnote","source","GraphFooter","GraphContainer"],"mappings":"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"}
|
package/dist/GeoHubMap.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-CHPV5EwG-CTPQjnHt.cjs"),c=require("react"),ce=require("./DropdownSelect-Doz3mCrM.cjs"),H=require("maplibre-gl"),fe=require("pmtiles");;/* empty css */const le=require("./fetchAndParseData-l5HGMAEs.cjs"),ie=require("./filterData-T5DQBE9b.cjs"),ue=require("./index-DRXx7m-C.cjs"),de=require("./string2HTML-CPGr_I5E.cjs"),ae=require("./GraphContainer-d8A46BK2.cjs"),pe=require("./select-Bnfk0lJx.cjs"),xe=require("./GraphHeader.cjs"),be=require("./GraphFooter.cjs");function ye(g){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(g){for(const t in g)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(g,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>g[t]})}}return e.default=g,Object.freeze(e)}const me=ye(fe);function je(g){const e=s.compilerRuntimeExports.c(22),{mapStyle:t,center:i,zoomLevel:p,includeLayers:n,excludeLayers:u,mapLegend:a}=g,[l,L]=c.useState(0),[y,D]=c.useState(0),[j,C]=c.useState(!0),E=c.useRef(null),v=c.useRef(null),h=c.useRef(null);let S,f;e[0]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{const d=new ResizeObserver(b=>{L(b[0].target.clientWidth||620),D(b[0].target.clientHeight||480)});return E.current&&d.observe(E.current),()=>d.disconnect()},f=[],e[0]=S,e[1]=f):(S=e[0],f=e[1]),c.useEffect(S,f);let x,m;e[2]!==i||e[3]!==u||e[4]!==n||e[5]!==t||e[6]!==l||e[7]!==p?(x=()=>{v.current&&l&&!h.current&&le.fetchAndParseJSON(t).then(d=>{pe.select(v.current).selectAll("div").remove();const Q=new me.Protocol;H.addProtocol("pmtiles",Q.tile);const k={container:v.current,style:n.length===0&&u.length===0?d:{...d,layers:ie.filterData(d.layers,[{column:"id",includeValues:n,excludeValues:u}])},attributionControl:!0};i&&(k.center=i),p&&(k.zoom=p),h.current=new H.Map(k),h.current.addControl(new H.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),h.current.addControl(new H.ScaleControl,"bottom-left")})},m=[l,i,p,n,u,t],e[2]=i,e[3]=u,e[4]=n,e[5]=t,e[6]=l,e[7]=p,e[8]=x,e[9]=m):(x=e[8],m=e[9]),c.useEffect(x,m);let R,r;e[10]!==u||e[11]!==n||e[12]!==t?(R=()=>{h.current&&le.fetchAndParseJSON(t).then(d=>{const b={...d,layers:ie.filterData(d.layers,[{column:"id",includeValues:n,excludeValues:u}])};h.current.setStyle(b)})},r=[u,n,t],e[10]=u,e[11]=n,e[12]=t,e[13]=R,e[14]=r):(R=e[13],r=e[14]),c.useEffect(R,r);let o;e[15]!==a||e[16]!==j||e[17]!==y||e[18]!==l?(o=l&&y?s.jsxRuntimeExports.jsxs("div",{style:{width:l,height:y},children:[s.jsxRuntimeExports.jsx("div",{ref:v,className:"map maplibre-show-control",style:{width:"100%",height:"100%"}}),a?s.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:j?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{C(!1)},children:s.jsxRuntimeExports.jsx(ue.X,{})}),s.jsxRuntimeExports.jsx("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",dangerouslySetInnerHTML:typeof a=="string"?{__html:de.string2HTML(a)}:void 0,children:c.isValidElement(a)?a:null})]}):s.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{C(!0)},children:s.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null]}):null,e[15]=a,e[16]=j,e[17]=y,e[18]=l,e[19]=o):o=e[19];let w;return e[20]!==o?(w=s.jsxRuntimeExports.jsx(ae.GraphArea,{ref:E,children:o}),e[20]=o,e[21]=w):w=e[21],w}function ve(g){const e=s.compilerRuntimeExports.c(17),{mapStyle:t,center:i,zoomLevel:p,includeLayers:n,excludeLayers:u,mapLegend:a}=g,[l,L]=c.useState(0),[y,D]=c.useState(0),[j,C]=c.useState(!0),E=c.useRef(null),v=c.useRef(null);let h,S;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{const r=new ResizeObserver(o=>{L(o[0].target.clientWidth||620),D(o[0].target.clientHeight||480)});return E.current&&r.observe(E.current),()=>r.disconnect()},S=[],e[0]=h,e[1]=S):(h=e[0],S=e[1]),c.useEffect(h,S);let f,x;e[2]!==i||e[3]!==u||e[4]!==n||e[5]!==t||e[6]!==l||e[7]!==p?(f=()=>{v.current&&l&&le.fetchAndParseJSON(t).then(r=>{pe.select(v.current).selectAll("div").remove();const w=new me.Protocol;H.addProtocol("pmtiles",w.tile);const d={container:v.current,style:n.length===0&&u.length===0?r:{...r,layers:ie.filterData(r.layers,[{column:"id",includeValues:n,excludeValues:u}])},attributionControl:!0};i&&(d.center=i),p&&(d.zoom=p);const b=new H.Map(d);b.addControl(new H.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),b.addControl(new H.ScaleControl,"bottom-left")})},x=[l,t,i,p,n,u],e[2]=i,e[3]=u,e[4]=n,e[5]=t,e[6]=l,e[7]=p,e[8]=f,e[9]=x):(f=e[8],x=e[9]),c.useEffect(f,x);let m;e[10]!==a||e[11]!==j||e[12]!==y||e[13]!==l?(m=l&&y?s.jsxRuntimeExports.jsxs("div",{style:{width:l,height:y},children:[s.jsxRuntimeExports.jsx("div",{ref:v,className:"map maplibre-show-control",style:{width:"100%",height:"100%"}}),a?s.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:j?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{C(!1)},children:s.jsxRuntimeExports.jsx(ue.X,{})}),s.jsxRuntimeExports.jsx("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",dangerouslySetInnerHTML:typeof a=="string"?{__html:de.string2HTML(a)}:void 0,children:c.isValidElement(a)?a:null})]}):s.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{C(!0)},children:s.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null]}):null,e[10]=a,e[11]=j,e[12]=y,e[13]=l,e[14]=m):m=e[14];let R;return e[15]!==m?(R=s.jsxRuntimeExports.jsx(ae.GraphArea,{ref:E,children:m}),e[15]=m,e[16]=R):R=e[16],R}function Se(g){const e=s.compilerRuntimeExports.c(85),{mapStyle:t,graphTitle:i,height:p,width:n,relativeHeight:u,sources:a,graphDescription:l,footNote:L,padding:y,backgroundColor:D,center:j,zoomLevel:C,graphID:E,language:v,minHeight:h,theme:S,includeLayers:f,excludeLayers:x,ariaLabel:m,uiMode:R,styles:r,classNames:o,mapLegend:w}=g,d=D===void 0?!1:D,b=v===void 0?"en":v,Q=h===void 0?0:h,k=S===void 0?"light":S;let U;e[0]!==f?(U=f===void 0?[]:f,e[0]=f,e[1]=U):U=e[1];const Y=U;let ee;e[2]!==x?(ee=x===void 0?[]:x,e[2]=x,e[3]=ee):ee=e[3];const te=ee,oe=R===void 0?"normal":R,[re,ge]=c.useState(void 0),he=c.useRef(null),M=typeof t=="string"?t:t[0].style;let O,z,P,q,G,V,_,A,T,W,F,I,J,N,$,X;if(e[4]!==m||e[5]!==d||e[6]!==o?.description||e[7]!==o?.graphContainer||e[8]!==o?.title||e[9]!==M||e[10]!==l||e[11]!==E||e[12]!==i||e[13]!==p||e[14]!==b||e[15]!==t||e[16]!==Q||e[17]!==y||e[18]!==u||e[19]!==r?.description||e[20]!==r?.graphContainer||e[21]!==r?.title||e[22]!==k||e[23]!==oe||e[24]!==n){const ne={ignoreCase:!0,ignoreAccents:!0,trim:!0};O=ae.GraphContainer,X=o?.graphContainer,z=r?.graphContainer,P=E,q=he,G=m,V=d,_=k,A=b,T=Q,W=n,F=p,I=u,J=y,e[41]!==o?.description||e[42]!==o?.title||e[43]!==l||e[44]!==i||e[45]!==r?.description||e[46]!==r?.title||e[47]!==n?(N=i||l?s.jsxRuntimeExports.jsx(xe.GraphHeader,{styles:{title:r?.title,description:r?.description},classNames:{title:o?.title,description:o?.description},graphTitle:i,graphDescription:l,width:n}):null,e[41]=o?.description,e[42]=o?.title,e[43]=l,e[44]=i,e[45]=r?.description,e[46]=r?.title,e[47]=n,e[48]=N):N=e[48],$=typeof t=="string"?null:s.jsxRuntimeExports.jsx(ce.ja,{options:t.map(Re),isClearable:!1,size:"sm",variant:oe,isRtl:b==="he"||b==="ar",isSearchable:!0,filterOption:ce.Du(ne),defaultValue:t.find(K=>K.style===M),controlShouldRenderValue:!0,onChange:K=>{K&&ge(K.value)}}),e[4]=m,e[5]=d,e[6]=o?.description,e[7]=o?.graphContainer,e[8]=o?.title,e[9]=M,e[10]=l,e[11]=E,e[12]=i,e[13]=p,e[14]=b,e[15]=t,e[16]=Q,e[17]=y,e[18]=u,e[19]=r?.description,e[20]=r?.graphContainer,e[21]=r?.title,e[22]=k,e[23]=oe,e[24]=n,e[25]=O,e[26]=z,e[27]=P,e[28]=q,e[29]=G,e[30]=V,e[31]=_,e[32]=A,e[33]=T,e[34]=W,e[35]=F,e[36]=I,e[37]=J,e[38]=N,e[39]=$,e[40]=X}else O=e[25],z=e[26],P=e[27],q=e[28],G=e[29],V=e[30],_=e[31],A=e[32],T=e[33],W=e[34],F=e[35],I=e[36],J=e[37],N=e[38],$=e[39],X=e[40];let Z;e[49]!==j||e[50]!==M||e[51]!==te||e[52]!==Y||e[53]!==w||e[54]!==t||e[55]!==re||e[56]!==C?(Z=typeof t=="string"?s.jsxRuntimeExports.jsx(ve,{mapStyle:t,center:j,zoomLevel:C,includeLayers:Y,excludeLayers:te,mapLegend:w}):s.jsxRuntimeExports.jsx(je,{mapStyle:re||M,center:j,zoomLevel:C,includeLayers:Y,excludeLayers:te,mapLegend:(w||[]).find(ne=>ne.mapStyleName===t.find(K=>K.style===(re||M))?.name)?.legend}),e[49]=j,e[50]=M,e[51]=te,e[52]=Y,e[53]=w,e[54]=t,e[55]=re,e[56]=C,e[57]=Z):Z=e[57];let B;e[58]!==o?.footnote||e[59]!==o?.source||e[60]!==L||e[61]!==a||e[62]!==r?.footnote||e[63]!==r?.source||e[64]!==n?(B=a||L?s.jsxRuntimeExports.jsx(be.GraphFooter,{styles:{footnote:r?.footnote,source:r?.source},classNames:{footnote:o?.footnote,source:o?.source},sources:a,footNote:L,width:n}):null,e[58]=o?.footnote,e[59]=o?.source,e[60]=L,e[61]=a,e[62]=r?.footnote,e[63]=r?.source,e[64]=n,e[65]=B):B=e[65];let se;return e[66]!==O||e[67]!==z||e[68]!==P||e[69]!==q||e[70]!==G||e[71]!==V||e[72]!==_||e[73]!==A||e[74]!==T||e[75]!==W||e[76]!==F||e[77]!==I||e[78]!==J||e[79]!==N||e[80]!==$||e[81]!==Z||e[82]!==B||e[83]!==X?(se=s.jsxRuntimeExports.jsxs(O,{className:X,style:z,id:P,ref:q,"aria-label":G,backgroundColor:V,theme:_,language:A,minHeight:T,width:W,height:F,relativeHeight:I,padding:J,children:[N,$,Z,B]}),e[66]=O,e[67]=z,e[68]=P,e[69]=q,e[70]=G,e[71]=V,e[72]=_,e[73]=A,e[74]=T,e[75]=W,e[76]=F,e[77]=I,e[78]=J,e[79]=N,e[80]=$,e[81]=Z,e[82]=B,e[83]=X,e[84]=se):se=e[84],se}function Re(g){return{label:g.name,value:g.style}}exports.GeoHubMap=Se;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-CHPV5EwG-6v2a2njQ.cjs"),c=require("react"),ce=require("./DropdownSelect-NNpOs7DX.cjs"),H=require("maplibre-gl"),fe=require("pmtiles");;/* empty css */const le=require("./fetchAndParseData-QTF6tjij.cjs"),ie=require("./filterData-T5DQBE9b.cjs"),ue=require("./index-C6er0ety.cjs"),de=require("./string2HTML-xx9MzTtY.cjs"),ae=require("./GraphContainer-B1EDxJ0S.cjs"),pe=require("./select-Bnfk0lJx.cjs"),xe=require("./GraphHeader.cjs"),be=require("./GraphFooter.cjs");function ye(g){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(g){for(const t in g)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(g,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>g[t]})}}return e.default=g,Object.freeze(e)}const me=ye(fe);function je(g){const e=s.compilerRuntimeExports.c(22),{mapStyle:t,center:i,zoomLevel:p,includeLayers:n,excludeLayers:u,mapLegend:a}=g,[l,L]=c.useState(0),[y,D]=c.useState(0),[j,C]=c.useState(!0),E=c.useRef(null),v=c.useRef(null),h=c.useRef(null);let S,f;e[0]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{const d=new ResizeObserver(b=>{L(b[0].target.clientWidth||620),D(b[0].target.clientHeight||480)});return E.current&&d.observe(E.current),()=>d.disconnect()},f=[],e[0]=S,e[1]=f):(S=e[0],f=e[1]),c.useEffect(S,f);let x,m;e[2]!==i||e[3]!==u||e[4]!==n||e[5]!==t||e[6]!==l||e[7]!==p?(x=()=>{v.current&&l&&!h.current&&le.fetchAndParseJSON(t).then(d=>{pe.select(v.current).selectAll("div").remove();const Q=new me.Protocol;H.addProtocol("pmtiles",Q.tile);const k={container:v.current,style:n.length===0&&u.length===0?d:{...d,layers:ie.filterData(d.layers,[{column:"id",includeValues:n,excludeValues:u}])},attributionControl:!0};i&&(k.center=i),p&&(k.zoom=p),h.current=new H.Map(k),h.current.addControl(new H.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),h.current.addControl(new H.ScaleControl,"bottom-left")})},m=[l,i,p,n,u,t],e[2]=i,e[3]=u,e[4]=n,e[5]=t,e[6]=l,e[7]=p,e[8]=x,e[9]=m):(x=e[8],m=e[9]),c.useEffect(x,m);let R,r;e[10]!==u||e[11]!==n||e[12]!==t?(R=()=>{h.current&&le.fetchAndParseJSON(t).then(d=>{const b={...d,layers:ie.filterData(d.layers,[{column:"id",includeValues:n,excludeValues:u}])};h.current.setStyle(b)})},r=[u,n,t],e[10]=u,e[11]=n,e[12]=t,e[13]=R,e[14]=r):(R=e[13],r=e[14]),c.useEffect(R,r);let o;e[15]!==a||e[16]!==j||e[17]!==y||e[18]!==l?(o=l&&y?s.jsxRuntimeExports.jsxs("div",{style:{width:l,height:y},children:[s.jsxRuntimeExports.jsx("div",{ref:v,className:"map maplibre-show-control",style:{width:"100%",height:"100%"}}),a?s.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:j?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{C(!1)},children:s.jsxRuntimeExports.jsx(ue.X,{})}),s.jsxRuntimeExports.jsx("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",dangerouslySetInnerHTML:typeof a=="string"?{__html:de.string2HTML(a)}:void 0,children:c.isValidElement(a)?a:null})]}):s.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{C(!0)},children:s.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null]}):null,e[15]=a,e[16]=j,e[17]=y,e[18]=l,e[19]=o):o=e[19];let w;return e[20]!==o?(w=s.jsxRuntimeExports.jsx(ae.GraphArea,{ref:E,children:o}),e[20]=o,e[21]=w):w=e[21],w}function ve(g){const e=s.compilerRuntimeExports.c(17),{mapStyle:t,center:i,zoomLevel:p,includeLayers:n,excludeLayers:u,mapLegend:a}=g,[l,L]=c.useState(0),[y,D]=c.useState(0),[j,C]=c.useState(!0),E=c.useRef(null),v=c.useRef(null);let h,S;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{const r=new ResizeObserver(o=>{L(o[0].target.clientWidth||620),D(o[0].target.clientHeight||480)});return E.current&&r.observe(E.current),()=>r.disconnect()},S=[],e[0]=h,e[1]=S):(h=e[0],S=e[1]),c.useEffect(h,S);let f,x;e[2]!==i||e[3]!==u||e[4]!==n||e[5]!==t||e[6]!==l||e[7]!==p?(f=()=>{v.current&&l&&le.fetchAndParseJSON(t).then(r=>{pe.select(v.current).selectAll("div").remove();const w=new me.Protocol;H.addProtocol("pmtiles",w.tile);const d={container:v.current,style:n.length===0&&u.length===0?r:{...r,layers:ie.filterData(r.layers,[{column:"id",includeValues:n,excludeValues:u}])},attributionControl:!0};i&&(d.center=i),p&&(d.zoom=p);const b=new H.Map(d);b.addControl(new H.NavigationControl({visualizePitch:!0,showZoom:!0,showCompass:!0}),"bottom-right"),b.addControl(new H.ScaleControl,"bottom-left")})},x=[l,t,i,p,n,u],e[2]=i,e[3]=u,e[4]=n,e[5]=t,e[6]=l,e[7]=p,e[8]=f,e[9]=x):(f=e[8],x=e[9]),c.useEffect(f,x);let m;e[10]!==a||e[11]!==j||e[12]!==y||e[13]!==l?(m=l&&y?s.jsxRuntimeExports.jsxs("div",{style:{width:l,height:y},children:[s.jsxRuntimeExports.jsx("div",{ref:v,className:"map maplibre-show-control",style:{width:"100%",height:"100%"}}),a?s.jsxRuntimeExports.jsx("div",{className:"absolute left-[22px] bottom-13",children:j?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{C(!1)},children:s.jsxRuntimeExports.jsx(ue.X,{})}),s.jsxRuntimeExports.jsx("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",dangerouslySetInnerHTML:typeof a=="string"?{__html:de.string2HTML(a)}:void 0,children:c.isValidElement(a)?a:null})]}):s.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{C(!0)},children:s.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}):null]}):null,e[10]=a,e[11]=j,e[12]=y,e[13]=l,e[14]=m):m=e[14];let R;return e[15]!==m?(R=s.jsxRuntimeExports.jsx(ae.GraphArea,{ref:E,children:m}),e[15]=m,e[16]=R):R=e[16],R}function Se(g){const e=s.compilerRuntimeExports.c(85),{mapStyle:t,graphTitle:i,height:p,width:n,relativeHeight:u,sources:a,graphDescription:l,footNote:L,padding:y,backgroundColor:D,center:j,zoomLevel:C,graphID:E,language:v,minHeight:h,theme:S,includeLayers:f,excludeLayers:x,ariaLabel:m,uiMode:R,styles:r,classNames:o,mapLegend:w}=g,d=D===void 0?!1:D,b=v===void 0?"en":v,Q=h===void 0?0:h,k=S===void 0?"light":S;let U;e[0]!==f?(U=f===void 0?[]:f,e[0]=f,e[1]=U):U=e[1];const Y=U;let ee;e[2]!==x?(ee=x===void 0?[]:x,e[2]=x,e[3]=ee):ee=e[3];const te=ee,oe=R===void 0?"normal":R,[re,ge]=c.useState(void 0),he=c.useRef(null),M=typeof t=="string"?t:t[0].style;let O,z,P,q,G,V,_,A,T,W,F,I,J,N,$,X;if(e[4]!==m||e[5]!==d||e[6]!==o?.description||e[7]!==o?.graphContainer||e[8]!==o?.title||e[9]!==M||e[10]!==l||e[11]!==E||e[12]!==i||e[13]!==p||e[14]!==b||e[15]!==t||e[16]!==Q||e[17]!==y||e[18]!==u||e[19]!==r?.description||e[20]!==r?.graphContainer||e[21]!==r?.title||e[22]!==k||e[23]!==oe||e[24]!==n){const ne={ignoreCase:!0,ignoreAccents:!0,trim:!0};O=ae.GraphContainer,X=o?.graphContainer,z=r?.graphContainer,P=E,q=he,G=m,V=d,_=k,A=b,T=Q,W=n,F=p,I=u,J=y,e[41]!==o?.description||e[42]!==o?.title||e[43]!==l||e[44]!==i||e[45]!==r?.description||e[46]!==r?.title||e[47]!==n?(N=i||l?s.jsxRuntimeExports.jsx(xe.GraphHeader,{styles:{title:r?.title,description:r?.description},classNames:{title:o?.title,description:o?.description},graphTitle:i,graphDescription:l,width:n}):null,e[41]=o?.description,e[42]=o?.title,e[43]=l,e[44]=i,e[45]=r?.description,e[46]=r?.title,e[47]=n,e[48]=N):N=e[48],$=typeof t=="string"?null:s.jsxRuntimeExports.jsx(ce.ja,{options:t.map(Re),isClearable:!1,size:"sm",variant:oe,isRtl:b==="he"||b==="ar",isSearchable:!0,filterOption:ce.Du(ne),defaultValue:t.find(K=>K.style===M),controlShouldRenderValue:!0,onChange:K=>{K&&ge(K.value)}}),e[4]=m,e[5]=d,e[6]=o?.description,e[7]=o?.graphContainer,e[8]=o?.title,e[9]=M,e[10]=l,e[11]=E,e[12]=i,e[13]=p,e[14]=b,e[15]=t,e[16]=Q,e[17]=y,e[18]=u,e[19]=r?.description,e[20]=r?.graphContainer,e[21]=r?.title,e[22]=k,e[23]=oe,e[24]=n,e[25]=O,e[26]=z,e[27]=P,e[28]=q,e[29]=G,e[30]=V,e[31]=_,e[32]=A,e[33]=T,e[34]=W,e[35]=F,e[36]=I,e[37]=J,e[38]=N,e[39]=$,e[40]=X}else O=e[25],z=e[26],P=e[27],q=e[28],G=e[29],V=e[30],_=e[31],A=e[32],T=e[33],W=e[34],F=e[35],I=e[36],J=e[37],N=e[38],$=e[39],X=e[40];let Z;e[49]!==j||e[50]!==M||e[51]!==te||e[52]!==Y||e[53]!==w||e[54]!==t||e[55]!==re||e[56]!==C?(Z=typeof t=="string"?s.jsxRuntimeExports.jsx(ve,{mapStyle:t,center:j,zoomLevel:C,includeLayers:Y,excludeLayers:te,mapLegend:w}):s.jsxRuntimeExports.jsx(je,{mapStyle:re||M,center:j,zoomLevel:C,includeLayers:Y,excludeLayers:te,mapLegend:(w||[]).find(ne=>ne.mapStyleName===t.find(K=>K.style===(re||M))?.name)?.legend}),e[49]=j,e[50]=M,e[51]=te,e[52]=Y,e[53]=w,e[54]=t,e[55]=re,e[56]=C,e[57]=Z):Z=e[57];let B;e[58]!==o?.footnote||e[59]!==o?.source||e[60]!==L||e[61]!==a||e[62]!==r?.footnote||e[63]!==r?.source||e[64]!==n?(B=a||L?s.jsxRuntimeExports.jsx(be.GraphFooter,{styles:{footnote:r?.footnote,source:r?.source},classNames:{footnote:o?.footnote,source:o?.source},sources:a,footNote:L,width:n}):null,e[58]=o?.footnote,e[59]=o?.source,e[60]=L,e[61]=a,e[62]=r?.footnote,e[63]=r?.source,e[64]=n,e[65]=B):B=e[65];let se;return e[66]!==O||e[67]!==z||e[68]!==P||e[69]!==q||e[70]!==G||e[71]!==V||e[72]!==_||e[73]!==A||e[74]!==T||e[75]!==W||e[76]!==F||e[77]!==I||e[78]!==J||e[79]!==N||e[80]!==$||e[81]!==Z||e[82]!==B||e[83]!==X?(se=s.jsxRuntimeExports.jsxs(O,{className:X,style:z,id:P,ref:q,"aria-label":G,backgroundColor:V,theme:_,language:A,minHeight:T,width:W,height:F,relativeHeight:I,padding:J,children:[N,$,Z,B]}),e[66]=O,e[67]=z,e[68]=P,e[69]=q,e[70]=G,e[71]=V,e[72]=_,e[73]=A,e[74]=T,e[75]=W,e[76]=F,e[77]=I,e[78]=J,e[79]=N,e[80]=$,e[81]=Z,e[82]=B,e[83]=X,e[84]=se):se=e[84],se}function Re(g){return{label:g.name,value:g.style}}exports.GeoHubMap=Se;
|
|
2
2
|
//# sourceMappingURL=GeoHubMap.cjs.map
|
package/dist/GeoHubMap.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { c as de, j as o } from "./index-CHPV5EwG-
|
|
1
|
+
import { c as de, j as o } from "./index-CHPV5EwG-DecW7_qr.js";
|
|
2
2
|
import me, { useState as D, useRef as Q, useEffect as Y } from "react";
|
|
3
|
-
import { j as ve, D as xe } from "./DropdownSelect-
|
|
3
|
+
import { j as ve, D as xe } from "./DropdownSelect-D8rFbygC.js";
|
|
4
4
|
import H from "maplibre-gl";
|
|
5
5
|
import * as ue from "pmtiles";
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { f as ae } from "./fetchAndParseData-
|
|
7
|
+
import { f as ae } from "./fetchAndParseData-BAXhgTDM.js";
|
|
8
8
|
import { f as ce } from "./filterData-DsAiFzKY.js";
|
|
9
|
-
import { X as pe } from "./index-
|
|
10
|
-
import { s as ge } from "./string2HTML-
|
|
11
|
-
import { a as he, G as je } from "./GraphContainer-
|
|
9
|
+
import { X as pe } from "./index-BQYOuXdl.js";
|
|
10
|
+
import { s as ge } from "./string2HTML-DUYZT1L9.js";
|
|
11
|
+
import { a as he, G as je } from "./GraphContainer-CF6ws3pd.js";
|
|
12
12
|
import { s as fe } from "./select-DKy99ogv.js";
|
|
13
13
|
import { GraphHeader as we } from "./GraphHeader.js";
|
|
14
14
|
import { GraphFooter as Ce } from "./GraphFooter.js";
|
|
@@ -22,7 +22,7 @@ function Se(L) {
|
|
|
22
22
|
mapLegend: i
|
|
23
23
|
} = L, [s, N] = D(0), [b, _] = D(0), [y, S] = D(!0), w = Q(null), v = Q(null), p = Q(null);
|
|
24
24
|
let x, g;
|
|
25
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (x = () => {
|
|
25
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = () => {
|
|
26
26
|
const d = new ResizeObserver((f) => {
|
|
27
27
|
N(f[0].target.clientWidth || 620), _(f[0].target.clientHeight || 480);
|
|
28
28
|
});
|
|
@@ -100,7 +100,7 @@ function Le(L) {
|
|
|
100
100
|
mapLegend: i
|
|
101
101
|
} = L, [s, N] = D(0), [b, _] = D(0), [y, S] = D(!0), w = Q(null), v = Q(null);
|
|
102
102
|
let p, x;
|
|
103
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (p = () => {
|
|
103
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = () => {
|
|
104
104
|
const t = new ResizeObserver((r) => {
|
|
105
105
|
N(r[0].target.clientWidth || 620), _(r[0].target.clientHeight || 480);
|
|
106
106
|
});
|
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\nimport { GraphArea } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: 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 { mapStyle, center, zoomLevel, includeLayers, excludeLayers, mapLegend } = 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(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n 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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <div\r\n style={{\r\n width: svgWidth,\r\n height: svgHeight,\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 className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\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 </GraphArea>\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\nimport { GraphArea } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: 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 { mapStyle, center, zoomLevel, includeLayers, excludeLayers, mapLegend } = 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(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n 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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <div\r\n style={{\r\n width: svgWidth,\r\n height: svgHeight,\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 className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\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 </GraphArea>\r\n );\r\n}\r\n","import React, { useRef, useState } from 'react';\r\nimport { DropdownSelect, createFilter } from '@undp/design-system-react/DropdownSelect';\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\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\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<string | undefined>(undefined);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const defaultMapStyleValue = typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style;\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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={mapStyle.find(d => d.style === defaultMapStyleValue)}\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 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 || defaultMapStyleValue}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={\r\n ((mapLegend || []) as MapLegendDataType[]).find(\r\n d =>\r\n d.mapStyleName ===\r\n mapStyle.find(el => el.style === (selectedMapStyle || defaultMapStyleValue))?.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 </GraphContainer>\r\n );\r\n}\r\n"],"names":["GeoHubMultipleMap","props","$","_c","mapStyle","center","zoomLevel","includeLayers","excludeLayers","mapLegend","svgWidth","setSvgWidth","useState","svgHeight","setSvgHeight","showLegend","setShowLegend","graphDiv","useRef","mapContainer","mapRef","t0","t1","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","t2","t3","fetchAndParseJSON","then","d","mapDiv","select","selectAll","remove","protocol","pmtiles","Protocol","maplibreGl","addProtocol","tile","mapObj","container","style","length","layers","filterData","column","includeValues","excludeValues","attributionControl","zoom","Map","addControl","NavigationControl","visualizePitch","showZoom","showCompass","ScaleControl","t4","t5","d_0","mapStyleObj","setStyle","t6","jsxs","width","height","jsx","Fragment","X","__html","string2HTML","undefined","React","isValidElement","t7","GraphArea","GeoHubSingleMap","map","GeoHubMap","graphTitle","relativeHeight","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","minHeight","theme","ariaLabel","uiMode","styles","classNames","t8","selectedMapStyle","setSelectedMapStyle","graphParentDiv","defaultMapStyleValue","T0","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t9","description","graphContainer","title","filterConfig","ignoreCase","ignoreAccents","trim","GraphContainer","GraphHeader","DropdownSelect","_temp","createFilter","find","el","value","t24","d_1","mapStyleName","el_0","name","legend","t25","footnote","source","GraphFooter","t26","label"],"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\nimport { GraphArea } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: 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 { mapStyle, center, zoomLevel, includeLayers, excludeLayers, mapLegend } = 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(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n 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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <div\r\n style={{\r\n width: svgWidth,\r\n height: svgHeight,\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 className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\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 </GraphArea>\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\nimport { GraphArea } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n mapStyle: string;\r\n center?: [number, number];\r\n zoomLevel?: 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 { mapStyle, center, zoomLevel, includeLayers, excludeLayers, mapLegend } = 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(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n 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 <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <div\r\n style={{\r\n width: svgWidth,\r\n height: svgHeight,\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 className='color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]'\r\n onClick={() => {\r\n setShowLegend(false);\r\n }}\r\n >\r\n <X />\r\n </div>\r\n <div\r\n className='color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]'\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='show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500'>\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 </GraphArea>\r\n );\r\n}\r\n","import React, { useRef, useState } from 'react';\r\nimport { DropdownSelect, createFilter } from '@undp/design-system-react/DropdownSelect';\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\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\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<string | undefined>(undefined);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const defaultMapStyleValue = typeof mapStyle === 'string' ? mapStyle : mapStyle[0].style;\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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={mapStyle.find(d => d.style === defaultMapStyleValue)}\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 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 || defaultMapStyleValue}\r\n center={center}\r\n zoomLevel={zoomLevel}\r\n includeLayers={includeLayers}\r\n excludeLayers={excludeLayers}\r\n mapLegend={\r\n ((mapLegend || []) as MapLegendDataType[]).find(\r\n d =>\r\n d.mapStyleName ===\r\n mapStyle.find(el => el.style === (selectedMapStyle || defaultMapStyleValue))?.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 </GraphContainer>\r\n );\r\n}\r\n"],"names":["GeoHubMultipleMap","props","$","_c","mapStyle","center","zoomLevel","includeLayers","excludeLayers","mapLegend","svgWidth","setSvgWidth","useState","svgHeight","setSvgHeight","showLegend","setShowLegend","graphDiv","useRef","mapContainer","mapRef","t0","t1","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","t2","t3","fetchAndParseJSON","then","d","mapDiv","select","selectAll","remove","protocol","pmtiles","Protocol","maplibreGl","addProtocol","tile","mapObj","container","style","length","layers","filterData","column","includeValues","excludeValues","attributionControl","zoom","Map","addControl","NavigationControl","visualizePitch","showZoom","showCompass","ScaleControl","t4","t5","d_0","mapStyleObj","setStyle","t6","jsxs","width","height","jsx","Fragment","X","__html","string2HTML","undefined","React","isValidElement","t7","GraphArea","GeoHubSingleMap","map","GeoHubMap","graphTitle","relativeHeight","sources","graphDescription","footNote","padding","backgroundColor","graphID","language","minHeight","theme","ariaLabel","uiMode","styles","classNames","t8","selectedMapStyle","setSelectedMapStyle","graphParentDiv","defaultMapStyleValue","T0","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t9","description","graphContainer","title","filterConfig","ignoreCase","ignoreAccents","trim","GraphContainer","GraphHeader","DropdownSelect","_temp","createFilter","find","el","value","t24","d_1","mapStyleName","el_0","name","legend","t25","footnote","source","GraphFooter","t26","label"],"mappings":"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"}
|