@undp/data-viz 2.1.9 → 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.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 +48 -48
- 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 +208 -93
- 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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zoom-DPw8bba-.cjs","sources":["../node_modules/d3-array/src/fsum.js","../node_modules/d3-array/src/merge.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-timer/src/timeout.js","../node_modules/@turf/bbox/dist/esm/index.js","../node_modules/d3-geo/src/math.js","../node_modules/d3-geo/src/noop.js","../node_modules/d3-geo/src/stream.js","../node_modules/d3-geo/src/cartesian.js","../node_modules/d3-geo/src/compose.js","../node_modules/d3-geo/src/rotation.js","../node_modules/d3-geo/src/circle.js","../node_modules/d3-geo/src/clip/buffer.js","../node_modules/d3-geo/src/pointEqual.js","../node_modules/d3-geo/src/clip/rejoin.js","../node_modules/d3-geo/src/polygonContains.js","../node_modules/d3-geo/src/clip/index.js","../node_modules/d3-geo/src/clip/antimeridian.js","../node_modules/d3-geo/src/clip/circle.js","../node_modules/d3-geo/src/clip/line.js","../node_modules/d3-geo/src/clip/rectangle.js","../node_modules/d3-geo/src/identity.js","../node_modules/d3-geo/src/path/bounds.js","../node_modules/d3-geo/src/transform.js","../node_modules/d3-geo/src/projection/fit.js","../node_modules/d3-geo/src/projection/resample.js","../node_modules/d3-geo/src/projection/index.js","../node_modules/d3-geo/src/projection/conic.js","../node_modules/d3-geo/src/projection/cylindricalEqualArea.js","../node_modules/d3-geo/src/projection/conicEqualArea.js","../node_modules/d3-geo/src/projection/albers.js","../node_modules/d3-geo/src/projection/albersUsa.js","../node_modules/d3-geo/src/projection/azimuthal.js","../node_modules/d3-geo/src/projection/mercator.js","../node_modules/d3-geo/src/projection/equalEarth.js","../node_modules/d3-geo/src/projection/naturalEarth1.js","../node_modules/d3-geo/src/projection/orthographic.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-transition/src/selection/index.js","../node_modules/d3-zoom/src/constant.js","../node_modules/d3-zoom/src/event.js","../node_modules/d3-zoom/src/transform.js","../node_modules/d3-zoom/src/noevent.js","../node_modules/d3-zoom/src/zoom.js"],"sourcesContent":["// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","// index.ts\nimport { coordEach } from \"@turf/meta\";\nfunction bbox(geojson, options = {}) {\n if (geojson.bbox != null && true !== options.recompute) {\n return geojson.bbox;\n }\n const result = [Infinity, Infinity, -Infinity, -Infinity];\n coordEach(geojson, (coord) => {\n if (result[0] > coord[0]) {\n result[0] = coord[0];\n }\n if (result[1] > coord[1]) {\n result[1] = coord[1];\n }\n if (result[2] < coord[0]) {\n result[2] = coord[0];\n }\n if (result[3] < coord[1]) {\n result[3] = coord[1];\n }\n });\n return result;\n}\nvar turf_bbox_default = bbox;\nexport {\n bbox,\n turf_bbox_default as default\n};\n//# sourceMappingURL=index.js.map","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(2),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 2 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default x => x;\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math.js\";\nimport {projectionMutator} from \"./index.js\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math.js\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea.js\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y,\n l = atan2(x, abs(r0y)) * sign(r0y);\n if (r0y * n < 0)\n l -= pi * sign(x) * sign(r0y);\n return [l / n, asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea.js\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math.js\";\nimport albers from \"./albers.js\";\nimport conicEqualArea from \"./conicEqualArea.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math.js\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n if (k === Infinity) return [2, 0];\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import projection from \"./index.js\";\nimport {abs, asin, cos, epsilon2, sin, sqrt} from \"../math.js\";\n\nvar A1 = 1.340264,\n A2 = -0.081106,\n A3 = 0.000893,\n A4 = 0.003796,\n M = sqrt(3) / 2,\n iterations = 12;\n\nexport function equalEarthRaw(lambda, phi) {\n var l = asin(M * sin(phi)), l2 = l * l, l6 = l2 * l2 * l2;\n return [\n lambda * cos(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),\n l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))\n ];\n}\n\nequalEarthRaw.invert = function(x, y) {\n var l = y, l2 = l * l, l6 = l2 * l2 * l2;\n for (var i = 0, delta, fy, fpy; i < iterations; ++i) {\n fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;\n fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);\n l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;\n if (abs(delta) < epsilon2) break;\n }\n return [\n M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos(l),\n asin(sin(l) / M)\n ];\n};\n\nexport default function() {\n return projection(equalEarthRaw)\n .scale(177.158);\n}\n","import projection from \"./index.js\";\nimport {abs, epsilon} from \"../math.js\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math.js\";\nimport {azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n"],"names":["Adder","x","p","j","y","hi","lo","n","flatten","arrays","array","merge","degrees","identity","decompose","a","b","c","d","e","f","scaleX","scaleY","skewX","svgNode","parseCss","value","m","parseSvg","interpolateTransform","parse","pxComma","pxParen","degParen","pop","s","translate","xa","ya","xb","yb","q","i","number","rotate","scale","t","o","interpolateTransformCss","interpolateTransformSvg","epsilon2","cosh","sinh","tanh","interpolateZoom","zoomRho","rho","rho2","rho4","zoom","p0","p1","ux0","uy0","w0","ux1","uy1","w1","dx","dy","d2","S","d1","b0","b1","r0","r1","coshr0","u","_","_1","_2","_4","timeout","callback","delay","time","Timer","elapsed","bbox","geojson","options","result","coordEach","coord","turf_bbox_default","epsilon","pi","halfPi","quarterPi","tau","radians","abs","atan","atan2","cos","exp","log","sin","sign","sqrt","tan","acos","asin","noop","streamGeometry","geometry","stream","streamGeometryType","streamObjectType","object","features","coordinates","streamLine","streamPolygon","geometries","closed","coordinate","geoStream","spherical","cartesian","lambda","phi","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","k","cartesianNormalizeInPlace","l","compose","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","z","forward","circleStream","radius","delta","direction","t0","t1","cosRadius","sinRadius","step","circleRadius","point","clipBuffer","lines","line","pointEqual","Intersection","points","other","entry","clipRejoin","segments","compareIntersection","startInside","interpolate","subject","clip","segment","link","start","current","isSubject","longitude","polygonContains","polygon","sinPhi","normal","angle","winding","sum","ring","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","absDelta","antimeridian","arc","intersection","phiArc","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","lineStart","lineEnd","pointRing","ringStart","ringEnd","pointLine","clean","ringSegments","validSegment","clipAntimeridian","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","sign1","clipAntimeridianIntersect","sinLambda0Lambda1","from","to","clipCircle","cr","smallRadius","notHemisphere","visible","c0","v0","v00","point2","v","code","intersect","two","pa","pb","n1","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","A","B","w","uu","t2","polar","meridian","q1","r","x0","y0","x1","y1","ax","ay","bx","by","clipMax","clipMin","clipRectangle","a1","corner","comparePoint","ca","cb","activeStream","bufferStream","x__","y__","v__","x_","y_","v_","first","clipStream","polygonStart","polygonEnd","polygonInside","a0","cleanInside","linePoint","identity$1","boundsStream","boundsPoint","bounds","transformer","methods","TransformStream","key","fit","projection","fitBounds","fitExtent","extent","h","fitSize","size","fitWidth","width","fitHeight","height","maxDepth","cosMinDistance","resample","project","delta2","resampleNone","resampleLineTo","depth","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","x00","y00","a00","b00","c00","resampleStream","ringPoint","transformRadians","transformRotate","scaleTranslate","sx","sy","transform","scaleTranslateRotate","alpha","cosAlpha","sinAlpha","ai","bi","ci","fi","projectionMutator","projectAt","theta","preclip","postclip","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","invert","reset","recenter","center","conicProjection","cylindricalEqualAreaRaw","conicEqualAreaRaw","sy0","r0y","conicEqualArea","albers","multiplex","streams","geoAlbersUsa","lower48","lower48Point","alaska","alaskaPoint","hawaii","hawaiiPoint","pointStream","albersUsa","azimuthalInvert","sc","cc","mercatorRaw","geoMercator","mercatorProjection","clipExtent","reclip","A1","A2","A3","A4","M","iterations","equalEarthRaw","l2","l6","fy","fpy","geoEqualEarth","naturalEarth1Raw","phi4","geoNaturalEarth1","orthographicRaw","geoOrthographic","nonpassivecapture","noevent$1","event","dragDisable","view","root","selection","select","noevent","yesdrag","noclick","emptyOn","dispatch","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","node","name","id","index","group","timing","schedules","create","init","get","set","self","tween","timer","stop","tick","interrupt","active","empty","selection_interrupt","tweenRemove","tween0","tween1","tweenFunction","transition_tween","tweenValue","transition","interpolateNumber","color","interpolateRgb","interpolateString","attrRemove","attrRemoveNS","fullname","attrConstant","value1","string00","string1","interpolate0","string0","attrConstantNS","attrFunction","string10","attrFunctionNS","transition_attr","namespace","attrInterpolate","attrInterpolateNS","attrTweenNS","i0","attrTween","transition_attrTween","delayFunction","delayConstant","transition_delay","durationFunction","durationConstant","transition_duration","easeConstant","transition_ease","easeVarying","transition_easeVarying","transition_filter","match","matcher","groups","subgroups","subgroup","Transition","transition_merge","groups0","groups1","m0","m1","merges","group0","group1","onFunction","listener","on0","on1","sit","on","transition_on","removeFunction","parent","transition_remove","transition_select","selector","subnode","transition_selectAll","selectorAll","parents","children","child","inherit","Selection","transition_selection","styleNull","style","styleRemove","styleConstant","styleFunction","styleMaybeRemove","listener0","remove","transition_style","priority","styleInterpolate","styleTween","transition_styleTween","textConstant","textFunction","transition_text","textInterpolate","textTween","transition_textTween","transition_transition","id0","id1","newId","transition_end","that","resolve","reject","cancel","end","selection_prototype","cubicInOut","defaultTiming","easeCubicInOut","selection_transition","now","constant","ZoomEvent","type","sourceEvent","target","Transform","location","nopropagation","defaultFilter","defaultExtent","defaultTransform","defaultWheelDelta","defaultTouchable","defaultConstrain","translateExtent","dx0","dx1","dy0","dy1","filter","constrain","wheelDelta","touchable","scaleExtent","duration","listeners","touchstarting","touchfirst","touchending","touchDelay","wheelDelay","clickDistance2","tapDistance","wheeled","mousedowned","dblclicked","touchstarted","touchmoved","touchended","collection","gesture","k0","k1","centroid","args","g","Gesture","pointer","wheelidled","currentTarget","mousemoved","mouseupped","dragEnable","touches","started","l0","l1","dp","dl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]}
|