highcharts 9.3.3 → 10.0.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/bower.json +1 -1
- package/css/highcharts.css +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
- package/es-modules/Accessibility/Components/MenuComponent.js +4 -5
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +61 -29
- package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
- package/es-modules/Accessibility/HighContrastMode.js +2 -2
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Core/Axis/Axis.js +150 -46
- package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
- package/es-modules/Core/Axis/GridAxis.js +10 -9
- package/es-modules/Core/Axis/TreeGridTick.js +11 -0
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +32 -11
- package/es-modules/Core/Chart/MapChart.js +1 -6
- package/es-modules/Core/DefaultOptions.js +2 -0
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +13 -8
- package/es-modules/Core/Legend/Legend.js +10 -8
- package/es-modules/Core/Navigator.js +9 -6
- package/es-modules/Core/Pointer.js +15 -11
- package/es-modules/Core/Renderer/HTML/AST.js +62 -5
- package/es-modules/Core/Renderer/SVG/SVGElement.js +25 -41
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -17
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Series/DataLabel.js +11 -3
- package/es-modules/Core/Series/Point.js +2 -2
- package/es-modules/Core/Series/Series.js +33 -15
- package/es-modules/Core/Series/SeriesDefaults.js +4 -1
- package/es-modules/Core/Tooltip.js +14 -31
- package/es-modules/Core/Utilities.js +28 -28
- package/es-modules/Extensions/Annotations/Annotations.js +7 -0
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
- package/es-modules/Extensions/Annotations/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
- package/es-modules/Extensions/Boost/BoostInit.js +6 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/Breadcrumbs.js +874 -0
- package/es-modules/Extensions/Data.js +26 -14
- package/es-modules/Extensions/DataGrouping.js +5 -2
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +147 -94
- package/es-modules/Extensions/Exporting/Exporting.js +9 -7
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
- package/es-modules/Extensions/GeoJSON.js +149 -124
- package/es-modules/Extensions/MarkerClusters.js +34 -20
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
- package/es-modules/Extensions/Stacking.js +3 -2
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +49 -8
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +606 -135
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
- package/es-modules/Maps/Projection.js +169 -77
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
- package/es-modules/Series/Column/ColumnSeries.js +4 -3
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
- package/es-modules/Series/DrawPointComposition.js +7 -4
- package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
- package/es-modules/Series/Map/MapPoint.js +24 -1
- package/es-modules/Series/Map/MapSeries.js +196 -169
- package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
- package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
- package/es-modules/Series/NodesComposition.js +60 -13
- package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
- package/es-modules/Series/Pie/PiePoint.js +12 -5
- package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
- package/es-modules/Series/Sankey/SankeySeries.js +10 -127
- package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +13 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
- package/es-modules/Stock/StockToolsGui.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +2 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +5 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +5 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +50 -20
- package/highcharts-gantt.js +800 -795
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +528 -290
- package/highcharts-more.js +195 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +13 -2
- package/highcharts.d.ts +2162 -504
- package/highcharts.js +586 -581
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +2162 -504
- package/highcharts.src.js +494 -272
- package/highmaps.js +753 -723
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3603 -2117
- package/highstock.js +790 -786
- package/highstock.js.map +1 -1
- package/highstock.src.js +519 -283
- package/indicators/acceleration-bands.js +12 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +11 -2
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +11 -2
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +11 -2
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +11 -2
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- package/indicators/bollinger-bands.js +12 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +11 -2
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +11 -2
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.js +195 -194
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +21 -5
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.js +12 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +11 -2
- package/indicators/klinger.js +13 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +11 -2
- package/indicators/macd.js +12 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +11 -2
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +11 -2
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +11 -2
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +11 -2
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +231 -229
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +278 -197
- package/modules/annotations-advanced.js +144 -144
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +26 -8
- package/modules/annotations.js +79 -79
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +21 -5
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +770 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +11 -2
- package/modules/boost.js +80 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +71 -43
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +11 -2
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +33 -7
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +11 -2
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.js +34 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +59 -32
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +16 -4
- package/modules/debugger.js +6 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +11 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +11 -2
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +37 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1090 -105
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +11 -2
- package/modules/export-data.js +21 -20
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +11 -2
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +82 -18
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +11 -2
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +11 -2
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +217 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +45 -20
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +22 -11
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +33 -7
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +11 -2
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +169 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +7960 -6687
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +47 -23
- package/modules/networkgraph.d.ts +5 -0
- package/modules/networkgraph.js +49 -48
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +5 -0
- package/modules/networkgraph.src.js +77 -15
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +11 -2
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +126 -25
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +12 -3
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +166 -32
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +11 -2
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +11 -2
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +5 -0
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +5 -0
- package/modules/sankey.src.js +338 -156
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +11 -2
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +11 -2
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +11 -2
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +78 -78
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +21 -5
- package/modules/stock.js +162 -162
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +36 -13
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1049 -96
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +11 -2
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +33 -11
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +53 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1039 -95
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +18 -6
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +18 -6
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
|
@@ -13,6 +13,8 @@ import F from '../Core/FormatUtilities.js';
|
|
|
13
13
|
var format = F.format;
|
|
14
14
|
import H from '../Core/Globals.js';
|
|
15
15
|
var win = H.win;
|
|
16
|
+
import MU from '../Maps/MapUtilities.js';
|
|
17
|
+
var pointInPolygon = MU.pointInPolygon;
|
|
16
18
|
import U from '../Core/Utilities.js';
|
|
17
19
|
var error = U.error, extend = U.extend, merge = U.merge, wrap = U.wrap;
|
|
18
20
|
/**
|
|
@@ -122,27 +124,27 @@ var error = U.error, extend = U.extend, merge = U.merge, wrap = U.wrap;
|
|
|
122
124
|
/**
|
|
123
125
|
* Result object of a map transformation.
|
|
124
126
|
*
|
|
125
|
-
* @interface Highcharts.
|
|
127
|
+
* @interface Highcharts.ProjectedXY
|
|
126
128
|
*/ /**
|
|
127
|
-
* X coordinate
|
|
128
|
-
* @name Highcharts.
|
|
129
|
+
* X coordinate in projected units.
|
|
130
|
+
* @name Highcharts.ProjectedXY#x
|
|
129
131
|
* @type {number}
|
|
130
132
|
*/ /**
|
|
131
|
-
* Y coordinate
|
|
132
|
-
* @name Highcharts.
|
|
133
|
-
* @type {number
|
|
133
|
+
* Y coordinate in projected units
|
|
134
|
+
* @name Highcharts.ProjectedXY#y
|
|
135
|
+
* @type {number}
|
|
134
136
|
*/
|
|
135
137
|
/**
|
|
136
138
|
* A latitude/longitude object.
|
|
137
139
|
*
|
|
138
|
-
* @interface Highcharts.
|
|
140
|
+
* @interface Highcharts.MapLonLatObject
|
|
139
141
|
*/ /**
|
|
140
142
|
* The latitude.
|
|
141
|
-
* @name Highcharts.
|
|
143
|
+
* @name Highcharts.MapLonLatObject#lat
|
|
142
144
|
* @type {number}
|
|
143
145
|
*/ /**
|
|
144
146
|
* The longitude.
|
|
145
|
-
* @name Highcharts.
|
|
147
|
+
* @name Highcharts.MapLonLatObject#lon
|
|
146
148
|
* @type {number}
|
|
147
149
|
*/
|
|
148
150
|
/**
|
|
@@ -150,29 +152,16 @@ var error = U.error, extend = U.extend, merge = U.merge, wrap = U.wrap;
|
|
|
150
152
|
*
|
|
151
153
|
* @typedef {Array<number>} Highcharts.LonLatArray
|
|
152
154
|
*/
|
|
153
|
-
''; // detach doclets above
|
|
154
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
155
155
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
156
|
+
* A TopoJSON object, see description on the
|
|
157
|
+
* [project's GitHub page](https://github.com/topojson/topojson).
|
|
158
|
+
*
|
|
159
|
+
* @typedef {Object} Highcharts.TopoJSON
|
|
158
160
|
*/
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
for (i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
162
|
-
rel1 = polygon[i][1] > y;
|
|
163
|
-
rel2 = polygon[j][1] > y;
|
|
164
|
-
if (rel1 !== rel2 &&
|
|
165
|
-
(x < (polygon[j][0] -
|
|
166
|
-
polygon[i][0]) * (y - polygon[i][1]) /
|
|
167
|
-
(polygon[j][1] - polygon[i][1]) +
|
|
168
|
-
polygon[i][0])) {
|
|
169
|
-
c = !c;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return c;
|
|
173
|
-
}
|
|
161
|
+
''; // detach doclets above
|
|
162
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
174
163
|
/**
|
|
175
|
-
*
|
|
164
|
+
* Highcharts Maps only. Get point from latitude and longitude using specified
|
|
176
165
|
* transform definition.
|
|
177
166
|
*
|
|
178
167
|
* @requires modules/map
|
|
@@ -182,14 +171,14 @@ function pointInPolygon(point, polygon) {
|
|
|
182
171
|
*
|
|
183
172
|
* @function Highcharts.Chart#transformFromLatLon
|
|
184
173
|
*
|
|
185
|
-
* @param {Highcharts.
|
|
174
|
+
* @param {Highcharts.MapLonLatObject} latLon
|
|
186
175
|
* A latitude/longitude object.
|
|
187
176
|
*
|
|
188
177
|
* @param {*} transform
|
|
189
178
|
* The transform definition to use as explained in the
|
|
190
179
|
* {@link https://www.highcharts.com/docs/maps/latlon|documentation}.
|
|
191
180
|
*
|
|
192
|
-
* @return {
|
|
181
|
+
* @return {ProjectedXY}
|
|
193
182
|
* An object with `x` and `y` properties.
|
|
194
183
|
*/
|
|
195
184
|
Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
@@ -206,10 +195,7 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
206
195
|
var proj4 = this.options.chart.proj4 || win.proj4;
|
|
207
196
|
if (!proj4) {
|
|
208
197
|
error(21, false, this);
|
|
209
|
-
return
|
|
210
|
-
x: 0,
|
|
211
|
-
y: null
|
|
212
|
-
};
|
|
198
|
+
return;
|
|
213
199
|
}
|
|
214
200
|
var _a = transform.jsonmarginX, jsonmarginX = _a === void 0 ? 0 : _a, _b = transform.jsonmarginY, jsonmarginY = _b === void 0 ? 0 : _b, _c = transform.jsonres, jsonres = _c === void 0 ? 1 : _c, _d = transform.scale, scale = _d === void 0 ? 1 : _d, _e = transform.xoffset, xoffset = _e === void 0 ? 0 : _e, _f = transform.xpan, xpan = _f === void 0 ? 0 : _f, _g = transform.yoffset, yoffset = _g === void 0 ? 0 : _g, _h = transform.ypan, ypan = _h === void 0 ? 0 : _h;
|
|
215
201
|
var projected = proj4(transform.crs, [latLon.lon, latLon.lat]), cosAngle = transform.cosAngle ||
|
|
@@ -224,26 +210,24 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
224
210
|
};
|
|
225
211
|
};
|
|
226
212
|
/**
|
|
227
|
-
*
|
|
228
|
-
* The method returns an object with the numeric properties `lat`
|
|
213
|
+
* Highcharts Maps only. Get latLon from point using specified transform
|
|
214
|
+
* definition. The method returns an object with the numeric properties `lat`
|
|
215
|
+
* and `lon`.
|
|
229
216
|
*
|
|
230
217
|
* @requires modules/map
|
|
231
218
|
*
|
|
232
|
-
* @sample maps/series/latlon-transform/
|
|
233
|
-
* Use specific transformation for lat/lon
|
|
219
|
+
* @sample maps/series/latlon-transform/ Use specific transformation for lat/lon
|
|
234
220
|
*
|
|
235
221
|
* @function Highcharts.Chart#transformToLatLon
|
|
236
222
|
*
|
|
237
|
-
* @param {Highcharts.Point|Highcharts.
|
|
238
|
-
*
|
|
239
|
-
* `y` with numeric values.
|
|
223
|
+
* @param {Highcharts.Point|Highcharts.ProjectedXY} point A `Point` instance, or
|
|
224
|
+
* any object containing the properties `x` and `y` with numeric values.
|
|
240
225
|
*
|
|
241
|
-
* @param {*} transform
|
|
242
|
-
* The transform definition to use as explained in the
|
|
226
|
+
* @param {*} transform The transform definition to use as explained in the
|
|
243
227
|
* {@link https://www.highcharts.com/docs/maps/latlon|documentation}.
|
|
244
228
|
*
|
|
245
|
-
* @return {Highcharts.
|
|
246
|
-
*
|
|
229
|
+
* @return {Highcharts.MapLonLatObject|undefined} An object with `lat` and `lon`
|
|
230
|
+
* properties.
|
|
247
231
|
*/
|
|
248
232
|
Chart.prototype.transformToLatLon = function (point, transform) {
|
|
249
233
|
var proj4 = this.options.chart.proj4 || win.proj4;
|
|
@@ -269,114 +253,148 @@ Chart.prototype.transformToLatLon = function (point, transform) {
|
|
|
269
253
|
return { lat: projected.y, lon: projected.x };
|
|
270
254
|
};
|
|
271
255
|
/**
|
|
272
|
-
*
|
|
273
|
-
* object with the numeric properties `lat` and `lon`.
|
|
256
|
+
* Deprecated. Use `MapView.projectedUnitsToLonLat` instead.
|
|
274
257
|
*
|
|
275
|
-
* @
|
|
258
|
+
* @deprecated
|
|
276
259
|
*
|
|
277
|
-
* @
|
|
278
|
-
* Advanced lat/lon demo
|
|
260
|
+
* @requires modules/map
|
|
279
261
|
*
|
|
280
262
|
* @function Highcharts.Chart#fromPointToLatLon
|
|
281
263
|
*
|
|
282
|
-
* @param {Highcharts.Point|Highcharts.
|
|
283
|
-
*
|
|
284
|
-
*
|
|
264
|
+
* @param {Highcharts.Point|Highcharts.ProjectedXY} point A `Point`
|
|
265
|
+
* instance or anything containing `x` and `y` properties with numeric
|
|
266
|
+
* values.
|
|
285
267
|
*
|
|
286
|
-
* @return {Highcharts.
|
|
287
|
-
*
|
|
268
|
+
* @return {Highcharts.MapLonLatObject|undefined} An object with `lat` and `lon`
|
|
269
|
+
* properties.
|
|
288
270
|
*/
|
|
289
271
|
Chart.prototype.fromPointToLatLon = function (point) {
|
|
290
|
-
|
|
291
|
-
if (!transforms) {
|
|
292
|
-
error(22, false, this);
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
295
|
-
for (var transform in transforms) {
|
|
296
|
-
if (Object.hasOwnProperty.call(transforms, transform) &&
|
|
297
|
-
transforms[transform].hitZone &&
|
|
298
|
-
pointInPolygon(point, transforms[transform].hitZone.coordinates[0])) {
|
|
299
|
-
return this.transformToLatLon(point, transforms[transform]);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
return this.transformToLatLon(point, transforms['default'] // eslint-disable-line dot-notation
|
|
303
|
-
);
|
|
272
|
+
return this.mapView && this.mapView.projectedUnitsToLonLat(point);
|
|
304
273
|
};
|
|
305
274
|
/**
|
|
306
|
-
*
|
|
307
|
-
* object with x and y values corresponding to the `xAxis` and `yAxis`.
|
|
275
|
+
* Deprecated. Use `MapView.lonLatToProjectedUnits` instead.
|
|
308
276
|
*
|
|
309
|
-
* @
|
|
277
|
+
* @deprecated
|
|
310
278
|
*
|
|
311
|
-
* @
|
|
312
|
-
* Find a point from lat/lon
|
|
279
|
+
* @requires modules/map
|
|
313
280
|
*
|
|
314
281
|
* @function Highcharts.Chart#fromLatLonToPoint
|
|
315
282
|
*
|
|
316
|
-
* @param {Highcharts.
|
|
317
|
-
* Coordinates.
|
|
283
|
+
* @param {Highcharts.MapLonLatObject} lonLat Coordinates.
|
|
318
284
|
*
|
|
319
|
-
* @return {Highcharts.
|
|
320
|
-
*
|
|
285
|
+
* @return {Highcharts.ProjectedXY}
|
|
286
|
+
* X and Y coordinates in terms of projected values
|
|
321
287
|
*/
|
|
322
|
-
Chart.prototype.fromLatLonToPoint = function (
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
288
|
+
Chart.prototype.fromLatLonToPoint = function (lonLat) {
|
|
289
|
+
return this.mapView && this.mapView.lonLatToProjectedUnits(lonLat);
|
|
290
|
+
};
|
|
291
|
+
/*
|
|
292
|
+
* Convert a TopoJSON topology to GeoJSON. By default the first object is
|
|
293
|
+
* handled.
|
|
294
|
+
* Based on https://github.com/topojson/topojson-specification
|
|
295
|
+
*/
|
|
296
|
+
function topo2geo(topology, objectName) {
|
|
297
|
+
// Decode first object/feature as default
|
|
298
|
+
if (!objectName) {
|
|
299
|
+
objectName = Object.keys(topology.objects)[0];
|
|
330
300
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
if (pointInPolygon(coords, transforms[transform].hitZone.coordinates[0])) {
|
|
336
|
-
return coords;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
301
|
+
var object = topology.objects[objectName];
|
|
302
|
+
// Already decoded => return cache
|
|
303
|
+
if (object['hc-decoded-geojson']) {
|
|
304
|
+
return object['hc-decoded-geojson'];
|
|
339
305
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
306
|
+
// Do the initial transform
|
|
307
|
+
var arcsArray = topology.arcs;
|
|
308
|
+
if (topology.transform) {
|
|
309
|
+
var _a = topology.transform, scale_1 = _a.scale, translate_1 = _a.translate;
|
|
310
|
+
arcsArray = topology.arcs.map(function (arc) {
|
|
311
|
+
var x = 0, y = 0;
|
|
312
|
+
return arc.map(function (position) {
|
|
313
|
+
position = position.slice();
|
|
314
|
+
position[0] = (x += position[0]) * scale_1[0] + translate_1[0];
|
|
315
|
+
position[1] = (y += position[1]) * scale_1[1] + translate_1[1];
|
|
316
|
+
return position;
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
// Recurse down any depth of multi-dimentional arrays of arcs and insert
|
|
321
|
+
// the coordinates
|
|
322
|
+
var arcsToCoordinates = function (arcs) {
|
|
323
|
+
if (typeof arcs[0] === 'number') {
|
|
324
|
+
return arcs.reduce(function (coordinates, arcNo, i) {
|
|
325
|
+
var arc = arcNo < 0 ? arcsArray[~arcNo] : arcsArray[arcNo];
|
|
326
|
+
// The first point of an arc is always identical to the last
|
|
327
|
+
// point of the previes arc, so slice it off to save further
|
|
328
|
+
// processing.
|
|
329
|
+
if (arcNo < 0) {
|
|
330
|
+
arc = arc.slice(0, i === 0 ? arc.length : arc.length - 1);
|
|
331
|
+
arc.reverse();
|
|
332
|
+
}
|
|
333
|
+
else if (i) {
|
|
334
|
+
arc = arc.slice(1);
|
|
335
|
+
}
|
|
336
|
+
return coordinates.concat(arc);
|
|
337
|
+
}, []);
|
|
338
|
+
}
|
|
339
|
+
return arcs.map(arcsToCoordinates);
|
|
340
|
+
};
|
|
341
|
+
var features = object.geometries
|
|
342
|
+
.map(function (geometry) { return ({
|
|
343
|
+
type: 'Feature',
|
|
344
|
+
properties: geometry.properties,
|
|
345
|
+
geometry: {
|
|
346
|
+
type: geometry.type,
|
|
347
|
+
coordinates: geometry.coordinates ||
|
|
348
|
+
arcsToCoordinates(geometry.arcs)
|
|
349
|
+
}
|
|
350
|
+
}); });
|
|
351
|
+
var geojson = {
|
|
352
|
+
type: 'FeatureCollection',
|
|
353
|
+
copyright: topology.copyright,
|
|
354
|
+
copyrightShort: topology.copyrightShort,
|
|
355
|
+
copyrightUrl: topology.copyrightUrl,
|
|
356
|
+
features: features,
|
|
357
|
+
'hc-recommended-mapview': object['hc-recommended-mapview'],
|
|
358
|
+
bbox: topology.bbox
|
|
359
|
+
};
|
|
360
|
+
object['hc-decoded-geojson'] = geojson;
|
|
361
|
+
return geojson;
|
|
362
|
+
}
|
|
343
363
|
/**
|
|
344
|
-
*
|
|
345
|
-
* directly by the
|
|
364
|
+
* Highcharts Maps only. Restructure a GeoJSON or TopoJSON object in preparation
|
|
365
|
+
* to be read directly by the
|
|
346
366
|
* {@link https://api.highcharts.com/highmaps/plotOptions.series.mapData|series.mapData}
|
|
347
|
-
* option. The
|
|
367
|
+
* option. The object will be broken down to fit a specific Highcharts type,
|
|
348
368
|
* either `map`, `mapline` or `mappoint`. Meta data in GeoJSON's properties
|
|
349
|
-
* object will be copied directly over to {@link Point.properties} in
|
|
369
|
+
* object will be copied directly over to {@link Point.properties} in Highcharts
|
|
370
|
+
* Maps.
|
|
350
371
|
*
|
|
351
372
|
* @requires modules/map
|
|
352
373
|
*
|
|
353
|
-
* @sample maps/demo/geojson/
|
|
354
|
-
*
|
|
355
|
-
* @sample maps/
|
|
356
|
-
* Multiple types
|
|
374
|
+
* @sample maps/demo/geojson/ Simple areas
|
|
375
|
+
* @sample maps/demo/mapline-mappoint/ Multiple types
|
|
376
|
+
* @sample maps/series/mapdata-multiple/ Multiple map sources
|
|
357
377
|
*
|
|
358
378
|
* @function Highcharts.geojson
|
|
359
379
|
*
|
|
360
|
-
* @param {Highcharts.GeoJSON}
|
|
361
|
-
*
|
|
362
|
-
* rather than a JSON string.
|
|
380
|
+
* @param {Highcharts.GeoJSON|Highcharts.TopoJSON} json The GeoJSON or TopoJSON
|
|
381
|
+
* structure to parse, represented as a JavaScript object.
|
|
363
382
|
*
|
|
364
|
-
* @param {string} [hType=map]
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
* return GeoJSON points and multipoints.
|
|
383
|
+
* @param {string} [hType=map] The Highcharts Maps series type to prepare for.
|
|
384
|
+
* Setting "map" will return GeoJSON polygons and multipolygons. Setting
|
|
385
|
+
* "mapline" will return GeoJSON linestrings and multilinestrings.
|
|
386
|
+
* Setting "mappoint" will return GeoJSON points and multipoints.
|
|
369
387
|
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
388
|
+
*
|
|
389
|
+
* @return {Array<*>} An object ready for the `mapData` option.
|
|
372
390
|
*/
|
|
373
|
-
|
|
391
|
+
function geojson(json, hType, series) {
|
|
374
392
|
if (hType === void 0) { hType = 'map'; }
|
|
375
393
|
var mapData = [];
|
|
376
|
-
var
|
|
394
|
+
var geojson = json.type === 'Topology' ? topo2geo(json) : json;
|
|
377
395
|
geojson.features.forEach(function (feature) {
|
|
378
|
-
var geometry = feature.geometry || {}, type = geometry.type, coordinates = geometry.coordinates, properties = feature.properties
|
|
379
|
-
|
|
396
|
+
var geometry = feature.geometry || {}, type = geometry.type, coordinates = geometry.coordinates, properties = feature.properties;
|
|
397
|
+
var pointOptions;
|
|
380
398
|
if ((hType === 'map' || hType === 'mapbubble') &&
|
|
381
399
|
(type === 'Polygon' || type === 'MultiPolygon')) {
|
|
382
400
|
if (coordinates.length) {
|
|
@@ -396,11 +414,12 @@ H.geojson = function (geojson, hType, series) {
|
|
|
396
414
|
}
|
|
397
415
|
}
|
|
398
416
|
if (pointOptions) {
|
|
417
|
+
var name_1 = properties && (properties.name || properties.NAME);
|
|
399
418
|
mapData.push(extend(pointOptions, {
|
|
400
|
-
name:
|
|
419
|
+
name: typeof name_1 === 'string' ? name_1 : void 0,
|
|
401
420
|
/**
|
|
402
|
-
* In
|
|
403
|
-
* item's properies are copied over here.
|
|
421
|
+
* In Highcharts Maps, when data is loaded from GeoJSON, the
|
|
422
|
+
* GeoJSON item's properies are copied over here.
|
|
404
423
|
*
|
|
405
424
|
* @requires modules/map
|
|
406
425
|
* @name Highcharts.Point#properties
|
|
@@ -417,7 +436,7 @@ H.geojson = function (geojson, hType, series) {
|
|
|
417
436
|
series.chart.mapCreditsFull = format(series.chart.options.credits.mapTextFull, { geojson: geojson });
|
|
418
437
|
}
|
|
419
438
|
return mapData;
|
|
420
|
-
}
|
|
439
|
+
}
|
|
421
440
|
// Override addCredits to include map source by default
|
|
422
441
|
wrap(Chart.prototype, 'addCredits', function (proceed, credits) {
|
|
423
442
|
credits = merge(true, this.options.credits, credits);
|
|
@@ -434,3 +453,9 @@ wrap(Chart.prototype, 'addCredits', function (proceed, credits) {
|
|
|
434
453
|
});
|
|
435
454
|
}
|
|
436
455
|
});
|
|
456
|
+
H.geojson = geojson;
|
|
457
|
+
var GeoJSONModule = {
|
|
458
|
+
geojson: geojson,
|
|
459
|
+
topo2geo: topo2geo
|
|
460
|
+
};
|
|
461
|
+
export default GeoJSONModule;
|
|
@@ -1209,13 +1209,27 @@ Scatter.prototype.hideClusteredData = function () {
|
|
|
1209
1209
|
};
|
|
1210
1210
|
// Override the generatePoints method by adding a reference to grouped data.
|
|
1211
1211
|
Scatter.prototype.generatePoints = function () {
|
|
1212
|
-
var series = this, chart = series.chart, mapView = chart.mapView, xAxis = series.xAxis, yAxis = series.yAxis, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = []
|
|
1212
|
+
var series = this, chart = series.chart, mapView = chart.mapView, xAxis = series.xAxis, yAxis = series.yAxis, xData = series.xData, yData = series.yData, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = [];
|
|
1213
|
+
var oldPointsState, oldDataLen, oldMarkerClusterInfo, kmeansThreshold, cropDataOffsetX, cropDataOffsetY, seriesMinX, seriesMaxX, seriesMinY, seriesMaxY, type, algorithm, clusteredData, groupedData, layoutAlgOptions, point, i;
|
|
1214
|
+
// For map point series, we need to resolve lon, lat and geometry options
|
|
1215
|
+
// and project them on the plane in order to get x and y. In the regular
|
|
1216
|
+
// series flow, this is not done until the `translate` method because the
|
|
1217
|
+
// resulting [x, y] position depends on inset positions in the MapView.
|
|
1218
|
+
if (mapView && series.is('mappoint') && xData && yData) {
|
|
1219
|
+
(series.options.data || []).forEach(function (p, i) {
|
|
1220
|
+
var xy = series.projectPoint(p);
|
|
1221
|
+
if (xy) {
|
|
1222
|
+
xData[i] = xy.x;
|
|
1223
|
+
yData[i] = xy.y;
|
|
1224
|
+
}
|
|
1225
|
+
});
|
|
1226
|
+
}
|
|
1213
1227
|
if (clusterOptions &&
|
|
1214
1228
|
clusterOptions.enabled &&
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1229
|
+
xData &&
|
|
1230
|
+
xData.length &&
|
|
1231
|
+
yData &&
|
|
1232
|
+
yData.length &&
|
|
1219
1233
|
!chart.polar) {
|
|
1220
1234
|
type = clusterOptions.layoutAlgorithm.type;
|
|
1221
1235
|
layoutAlgOptions = clusterOptions.layoutAlgorithm;
|
|
@@ -1231,34 +1245,34 @@ Scatter.prototype.generatePoints = function () {
|
|
|
1231
1245
|
cropDataOffsetX = Math.abs(p1.x - p2.x);
|
|
1232
1246
|
cropDataOffsetY = Math.abs(p1.y - p2.y);
|
|
1233
1247
|
// Get only visible data.
|
|
1234
|
-
for (i = 0; i <
|
|
1248
|
+
for (i = 0; i < xData.length; i++) {
|
|
1235
1249
|
if (!series.dataMaxX) {
|
|
1236
1250
|
if (!defined(seriesMaxX) ||
|
|
1237
1251
|
!defined(seriesMinX) ||
|
|
1238
1252
|
!defined(seriesMaxY) ||
|
|
1239
1253
|
!defined(seriesMinY)) {
|
|
1240
|
-
seriesMaxX = seriesMinX =
|
|
1241
|
-
seriesMaxY = seriesMinY =
|
|
1254
|
+
seriesMaxX = seriesMinX = xData[i];
|
|
1255
|
+
seriesMaxY = seriesMinY = yData[i];
|
|
1242
1256
|
}
|
|
1243
|
-
else if (isNumber(
|
|
1257
|
+
else if (isNumber(yData[i]) &&
|
|
1244
1258
|
isNumber(seriesMaxY) &&
|
|
1245
1259
|
isNumber(seriesMinY)) {
|
|
1246
|
-
seriesMaxX = Math.max(
|
|
1247
|
-
seriesMinX = Math.min(
|
|
1248
|
-
seriesMaxY = Math.max(
|
|
1249
|
-
seriesMinY = Math.min(
|
|
1260
|
+
seriesMaxX = Math.max(xData[i], seriesMaxX);
|
|
1261
|
+
seriesMinX = Math.min(xData[i], seriesMinX);
|
|
1262
|
+
seriesMaxY = Math.max(yData[i] || seriesMaxY, seriesMaxY);
|
|
1263
|
+
seriesMinY = Math.min(yData[i] || seriesMinY, seriesMinY);
|
|
1250
1264
|
}
|
|
1251
1265
|
}
|
|
1252
1266
|
// Crop data to visible ones with appropriate offset to prevent
|
|
1253
1267
|
// cluster size changes on the edge of the plot area.
|
|
1254
|
-
if (
|
|
1255
|
-
|
|
1256
|
-
(
|
|
1268
|
+
if (xData[i] >= (realExtremes.minX - cropDataOffsetX) &&
|
|
1269
|
+
xData[i] <= (realExtremes.maxX + cropDataOffsetX) &&
|
|
1270
|
+
(yData[i] || realExtremes.minY) >=
|
|
1257
1271
|
(realExtremes.minY - cropDataOffsetY) &&
|
|
1258
|
-
(
|
|
1272
|
+
(yData[i] || realExtremes.maxY) <=
|
|
1259
1273
|
(realExtremes.maxY + cropDataOffsetY)) {
|
|
1260
|
-
visibleXData.push(
|
|
1261
|
-
visibleYData.push(
|
|
1274
|
+
visibleXData.push(xData[i]);
|
|
1275
|
+
visibleYData.push(yData[i]);
|
|
1262
1276
|
visibleDataIndexes.push(i);
|
|
1263
1277
|
}
|
|
1264
1278
|
}
|
|
@@ -1303,7 +1317,7 @@ Scatter.prototype.generatePoints = function () {
|
|
|
1303
1317
|
oldPointsState = {};
|
|
1304
1318
|
}
|
|
1305
1319
|
// Save points old state info.
|
|
1306
|
-
oldDataLen =
|
|
1320
|
+
oldDataLen = xData.length;
|
|
1307
1321
|
oldMarkerClusterInfo = series.markerClusterInfo;
|
|
1308
1322
|
if (clusteredData) {
|
|
1309
1323
|
series.processedXData = clusteredData.groupedXData;
|