highcharts 10.0.0 → 10.1.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/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Components/ContainerComponent.js +8 -9
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +14 -9
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +31 -15
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +23 -4
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/Options/LangOptions.js +36 -31
- package/es-modules/Accessibility/Options/Options.js +66 -3
- package/es-modules/Accessibility/Utils/ChartUtilities.js +9 -4
- package/es-modules/Core/Axis/Axis.js +30 -27
- package/es-modules/Core/Axis/GridAxis.js +5 -2
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +3 -2
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +2 -2
- package/es-modules/Core/Chart/Chart.js +21 -3
- package/es-modules/Core/Chart/ChartDefaults.js +11 -0
- package/es-modules/Core/Chart/StockChart.js +1 -1
- package/es-modules/Core/DefaultOptions.js +6 -4
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +1 -1
- package/es-modules/Core/Navigator.js +1 -1
- package/es-modules/Core/Renderer/HTML/AST.js +9 -6
- package/es-modules/Core/Renderer/SVG/SVGElement.js +22 -22
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +16 -13
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/Series/DataLabel.js +54 -33
- package/es-modules/Core/Series/Series.js +19 -7
- package/es-modules/Core/Utilities.js +1 -1
- package/es-modules/Extensions/Annotations/Annotations.js +2 -2
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +9 -1
- package/es-modules/Extensions/Annotations/Popup.js +1 -1
- package/es-modules/Extensions/Breadcrumbs.js +2 -3
- package/es-modules/Extensions/DataGrouping.js +3 -1
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/Drilldown.js +6 -4
- package/es-modules/Extensions/ExportData.js +1 -2
- package/es-modules/Extensions/Exporting/Exporting.js +22 -13
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +3 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Polar.js +4 -1
- package/es-modules/Extensions/Stacking.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
- package/es-modules/Maps/MapNavigation.js +1 -5
- package/es-modules/Maps/MapView.js +6 -2
- package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +9 -1
- package/es-modules/Series/CenteredUtilities.js +6 -1
- package/es-modules/Series/Flags/FlagsSeries.js +7 -12
- package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -20
- package/es-modules/Series/Map/MapSeries.js +11 -1
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +49 -3
- package/es-modules/Series/MapPoint/MapPointSeries.js +4 -0
- package/es-modules/Series/Pie/PieDataLabel.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +12 -1
- package/es-modules/Series/Sankey/SankeySeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +4 -4
- package/es-modules/Stock/StockToolsBindings.js +31 -24
- 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 +1 -1
- 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 +1 -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 +1 -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 +1 -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 +2 -2
- package/highcharts-3d.src.js +2 -2
- package/highcharts-gantt.js +805 -802
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +261 -144
- package/highcharts-more.js +5 -5
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +6 -3
- package/highcharts.d.ts +1077 -53
- package/highcharts.js +591 -588
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +1077 -53
- package/highcharts.src.js +246 -136
- package/highmaps.js +758 -756
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +336 -171
- package/highstock.js +792 -789
- package/highstock.js.map +1 -1
- package/highstock.src.js +272 -157
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +1 -1
- package/indicators/indicators-all.src.js +1 -1
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +240 -238
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +220 -87
- package/modules/annotations-advanced.js +6 -6
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +14 -6
- package/modules/annotations.js +6 -6
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +14 -6
- package/modules/arc-diagram.js +7 -7
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.js +10 -2
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +1 -1
- package/modules/boost-canvas.src.js +1 -1
- package/modules/boost.js +1 -1
- package/modules/boost.src.js +1 -1
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +1 -1
- package/modules/coloraxis.src.js +1 -1
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.js +7 -7
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +4 -2
- package/modules/debugger.js +6 -5
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +5 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +36 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +9 -9
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +13 -13
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +2 -3
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +146 -75
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +125 -57
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +16 -9
- package/modules/grid-axis.js +21 -21
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +6 -3
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +14 -21
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +169 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.js +91 -36
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +2 -2
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.js +5 -5
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +4 -2
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +137 -137
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +46 -30
- package/modules/stock.js +204 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +27 -22
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +69 -69
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +4 -6
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +1 -1
- package/modules/treegrid.js +56 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +6 -3
- package/modules/treemap.js +50 -50
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +3 -5
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +4 -3
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +5 -5
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.src.js +11 -11
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.src.js +10 -10
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
package/highmaps.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highmaps JS v10.
|
|
2
|
+
* @license Highmaps JS v10.1.0 (2022-04-29)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2011-2021 Torstein Honsi
|
|
5
5
|
*
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* Constants
|
|
64
64
|
*
|
|
65
65
|
* */
|
|
66
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.
|
|
66
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.1.0', Globals.win = (typeof window !== 'undefined' ?
|
|
67
67
|
window :
|
|
68
68
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
69
69
|
Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
@@ -884,7 +884,7 @@
|
|
|
884
884
|
var i,
|
|
885
885
|
retInterval = interval;
|
|
886
886
|
// round to a tenfold of 1, 2, 2.5 or 5
|
|
887
|
-
magnitude = pick(magnitude,
|
|
887
|
+
magnitude = pick(magnitude, getMagnitude(interval));
|
|
888
888
|
var normalized = interval / magnitude;
|
|
889
889
|
// multiples for a linear scale
|
|
890
890
|
if (!multiples) {
|
|
@@ -2679,6 +2679,17 @@
|
|
|
2679
2679
|
* @since 5.0.0
|
|
2680
2680
|
*/
|
|
2681
2681
|
colorCount: 10,
|
|
2682
|
+
/**
|
|
2683
|
+
* By default, (because of memory and performance reasons) the chart does
|
|
2684
|
+
* not copy the data but keeps it as a reference. In some cases, this might
|
|
2685
|
+
* result in mutating the original data source. In order to prevent that,
|
|
2686
|
+
* set that property to false. Please note that changing that might decrease
|
|
2687
|
+
* performance, especially with bigger sets of data.
|
|
2688
|
+
*
|
|
2689
|
+
* @type {boolean}
|
|
2690
|
+
* @since 10.1.0
|
|
2691
|
+
*/
|
|
2692
|
+
allowMutatingData: true,
|
|
2682
2693
|
/**
|
|
2683
2694
|
* Alias of `type`.
|
|
2684
2695
|
*
|
|
@@ -6402,18 +6413,20 @@
|
|
|
6402
6413
|
* @apioption tooltip.pointFormatter
|
|
6403
6414
|
*/
|
|
6404
6415
|
/**
|
|
6405
|
-
* A callback function to place the tooltip in a
|
|
6416
|
+
* A callback function to place the tooltip in a custom position. The
|
|
6406
6417
|
* callback receives three parameters: `labelWidth`, `labelHeight` and
|
|
6407
6418
|
* `point`, where point contains values for `plotX` and `plotY` telling
|
|
6408
6419
|
* where the reference point is in the plot area. Add `chart.plotLeft`
|
|
6409
6420
|
* and `chart.plotTop` to get the full coordinates.
|
|
6410
6421
|
*
|
|
6422
|
+
* To find the actual hovered `Point` instance, use
|
|
6423
|
+
* `this.chart.hoverPoint`. For shared or split tooltips, all the hover
|
|
6424
|
+
* points are available in `this.chart.hoverPoints`.
|
|
6425
|
+
*
|
|
6411
6426
|
* Since v7, when [tooltip.split](#tooltip.split) option is enabled,
|
|
6412
6427
|
* positioner is called for each of the boxes separately, including
|
|
6413
6428
|
* xAxis header. xAxis header is not a point, instead `point` argument
|
|
6414
|
-
* contains info:
|
|
6415
|
-
* `{ plotX: Number, plotY: Number, isHeader: Boolean }`
|
|
6416
|
-
*
|
|
6429
|
+
* contains info: `{ plotX: Number, plotY: Number, isHeader: Boolean }`
|
|
6417
6430
|
*
|
|
6418
6431
|
* The return should be an object containing x and y values, for example
|
|
6419
6432
|
* `{ x: 100, y: 100 }`.
|
|
@@ -7954,7 +7967,9 @@
|
|
|
7954
7967
|
valid = isString(val) && AST.allowedReferences.some(function (ref) { return val.indexOf(ref) === 0; });
|
|
7955
7968
|
}
|
|
7956
7969
|
if (!valid) {
|
|
7957
|
-
error(
|
|
7970
|
+
error(33, false, void 0, {
|
|
7971
|
+
'Invalid attribute in config': "" + key
|
|
7972
|
+
});
|
|
7958
7973
|
delete attributes[key];
|
|
7959
7974
|
}
|
|
7960
7975
|
});
|
|
@@ -7965,10 +7980,9 @@
|
|
|
7965
7980
|
.split(';')
|
|
7966
7981
|
.reduce(function (styles, line) {
|
|
7967
7982
|
var pair = line.split(':').map(function (s) { return s.trim(); }),
|
|
7968
|
-
key = pair
|
|
7969
|
-
|
|
7970
|
-
|
|
7971
|
-
styles[key] = pair[1];
|
|
7983
|
+
key = pair.shift();
|
|
7984
|
+
if (key && pair.length) {
|
|
7985
|
+
styles[key.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); })] = pair.join(':'); // #17146
|
|
7972
7986
|
}
|
|
7973
7987
|
return styles;
|
|
7974
7988
|
}, {});
|
|
@@ -8069,8 +8083,9 @@
|
|
|
8069
8083
|
node = element;
|
|
8070
8084
|
}
|
|
8071
8085
|
else {
|
|
8072
|
-
error(
|
|
8073
|
-
tagName
|
|
8086
|
+
error(33, false, void 0, {
|
|
8087
|
+
'Invalid tagName in config': tagName
|
|
8088
|
+
});
|
|
8074
8089
|
}
|
|
8075
8090
|
}
|
|
8076
8091
|
// Add to the tree
|
|
@@ -9918,8 +9933,9 @@
|
|
|
9918
9933
|
*/
|
|
9919
9934
|
SVGElement.prototype.getBBox = function (reload, rot) {
|
|
9920
9935
|
var wrapper = this,
|
|
9921
|
-
|
|
9936
|
+
alignValue = wrapper.alignValue,
|
|
9922
9937
|
element = wrapper.element,
|
|
9938
|
+
renderer = wrapper.renderer,
|
|
9923
9939
|
styles = wrapper.styles,
|
|
9924
9940
|
textStr = wrapper.textStr,
|
|
9925
9941
|
cache = renderer.cache,
|
|
@@ -9929,7 +9945,7 @@
|
|
|
9929
9945
|
wrapper.rotation, 0),
|
|
9930
9946
|
fontSize = renderer.styledMode ? (element &&
|
|
9931
9947
|
SVGElement.prototype.getStyle.call(element, 'font-size')) : (styles && styles.fontSize);
|
|
9932
|
-
var bBox,
|
|
9948
|
+
var bBox,
|
|
9933
9949
|
width,
|
|
9934
9950
|
height,
|
|
9935
9951
|
toggleTextShadowShim,
|
|
@@ -9950,6 +9966,7 @@
|
|
|
9950
9966
|
rotation,
|
|
9951
9967
|
fontSize,
|
|
9952
9968
|
wrapper.textWidth,
|
|
9969
|
+
alignValue,
|
|
9953
9970
|
styles && styles.textOverflow,
|
|
9954
9971
|
styles && styles.fontWeight // #12163
|
|
9955
9972
|
].join(',');
|
|
@@ -9995,7 +10012,7 @@
|
|
|
9995
10012
|
// other condition is for Opera that returns a width of
|
|
9996
10013
|
// -Infinity on hidden elements.
|
|
9997
10014
|
if (!bBox || bBox.width < 0) {
|
|
9998
|
-
bBox = { width: 0, height: 0 };
|
|
10015
|
+
bBox = { x: 0, y: 0, width: 0, height: 0 };
|
|
9999
10016
|
}
|
|
10000
10017
|
// VML Renderer or useHTML within SVG
|
|
10001
10018
|
}
|
|
@@ -10024,11 +10041,35 @@
|
|
|
10024
10041
|
}
|
|
10025
10042
|
// Adjust for rotated text
|
|
10026
10043
|
if (rotation) {
|
|
10027
|
-
var
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10044
|
+
var baseline = Number(element.getAttribute('y') || 0) - bBox.y,
|
|
10045
|
+
alignFactor = {
|
|
10046
|
+
'right': 1,
|
|
10047
|
+
'center': 0.5
|
|
10048
|
+
}[alignValue || 0] || 0,
|
|
10049
|
+
rad = rotation * deg2rad,
|
|
10050
|
+
rad90 = (rotation - 90) * deg2rad,
|
|
10051
|
+
wCosRad = width * Math.cos(rad),
|
|
10052
|
+
wSinRad = width * Math.sin(rad),
|
|
10053
|
+
cosRad90 = Math.cos(rad90),
|
|
10054
|
+
sinRad90 = Math.sin(rad90),
|
|
10055
|
+
// Find the starting point on the left side baseline of
|
|
10056
|
+
// the text
|
|
10057
|
+
pX = bBox.x + alignFactor * (width - wCosRad),
|
|
10058
|
+
pY = bBox.y + baseline - alignFactor * wSinRad,
|
|
10059
|
+
// Find all corners
|
|
10060
|
+
aX = pX + baseline * cosRad90,
|
|
10061
|
+
bX = aX + wCosRad,
|
|
10062
|
+
cX = bX - height * cosRad90,
|
|
10063
|
+
dX = cX - wCosRad,
|
|
10064
|
+
aY = pY + baseline * sinRad90,
|
|
10065
|
+
bY = aY + wSinRad,
|
|
10066
|
+
cY = bY - height * sinRad90,
|
|
10067
|
+
dY = cY - wSinRad;
|
|
10068
|
+
// Deduct the bounding box from the corners
|
|
10069
|
+
bBox.x = Math.min(aX, bX, cX, dX);
|
|
10070
|
+
bBox.y = Math.min(aY, bY, cY, dY);
|
|
10071
|
+
bBox.width = Math.max(aX, bX, cX, dX) - bBox.x;
|
|
10072
|
+
bBox.height = Math.max(aY, bY, cY, dY) - bBox.y;
|
|
10032
10073
|
}
|
|
10033
10074
|
}
|
|
10034
10075
|
// Cache it. When loading a chart in a hidden iframe in Firefox and
|
|
@@ -10087,21 +10128,11 @@
|
|
|
10087
10128
|
*
|
|
10088
10129
|
* @function Highcharts.SVGElement#hide
|
|
10089
10130
|
*
|
|
10090
|
-
* @param {boolean} [hideByTranslation=false]
|
|
10091
|
-
* The flag to determine if element should be hidden by moving out
|
|
10092
|
-
* of the viewport. Used for example for dataLabels.
|
|
10093
|
-
*
|
|
10094
10131
|
* @return {Highcharts.SVGElement}
|
|
10095
10132
|
* Returns the SVGElement for chaining.
|
|
10096
10133
|
*/
|
|
10097
|
-
SVGElement.prototype.hide = function (
|
|
10098
|
-
|
|
10099
|
-
this.attr({ y: -9999 });
|
|
10100
|
-
}
|
|
10101
|
-
else {
|
|
10102
|
-
this.attr({ visibility: 'hidden' });
|
|
10103
|
-
}
|
|
10104
|
-
return this;
|
|
10134
|
+
SVGElement.prototype.hide = function () {
|
|
10135
|
+
return this.attr({ visibility: 'hidden' });
|
|
10105
10136
|
};
|
|
10106
10137
|
/**
|
|
10107
10138
|
* @private
|
|
@@ -10516,7 +10547,7 @@
|
|
|
10516
10547
|
*
|
|
10517
10548
|
* @function Highcharts.SVGElement#show
|
|
10518
10549
|
*
|
|
10519
|
-
* @param {boolean} [inherit=
|
|
10550
|
+
* @param {boolean} [inherit=true]
|
|
10520
10551
|
* Set the visibility attribute to `inherit` rather than `visible`.
|
|
10521
10552
|
* The difference is that an element with `visibility="visible"`
|
|
10522
10553
|
* will be visible even if the parent is hidden.
|
|
@@ -10525,6 +10556,7 @@
|
|
|
10525
10556
|
* Returns the SVGElement for chaining.
|
|
10526
10557
|
*/
|
|
10527
10558
|
SVGElement.prototype.show = function (inherit) {
|
|
10559
|
+
if (inherit === void 0) { inherit = true; }
|
|
10528
10560
|
return this.attr({ visibility: inherit ? 'inherit' : 'visible' });
|
|
10529
10561
|
};
|
|
10530
10562
|
/**
|
|
@@ -12497,7 +12529,7 @@
|
|
|
12497
12529
|
this.url = this.getReferenceURL();
|
|
12498
12530
|
// Add description
|
|
12499
12531
|
var desc = this.createElement('desc').add();
|
|
12500
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.
|
|
12532
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.1.0'));
|
|
12501
12533
|
renderer.defs = this.createElement('defs').add();
|
|
12502
12534
|
renderer.allowHTML = allowHTML;
|
|
12503
12535
|
renderer.forExport = forExport;
|
|
@@ -12808,7 +12840,7 @@
|
|
|
12808
12840
|
* @param {Highcharts.SVGAttributes} [hoverState]
|
|
12809
12841
|
* SVG attributes for the hover state.
|
|
12810
12842
|
*
|
|
12811
|
-
* @param {Highcharts.SVGAttributes} [
|
|
12843
|
+
* @param {Highcharts.SVGAttributes} [selectState]
|
|
12812
12844
|
* SVG attributes for the pressed state.
|
|
12813
12845
|
*
|
|
12814
12846
|
* @param {Highcharts.SVGAttributes} [disabledState]
|
|
@@ -12823,7 +12855,7 @@
|
|
|
12823
12855
|
* @return {Highcharts.SVGElement}
|
|
12824
12856
|
* The button element.
|
|
12825
12857
|
*/
|
|
12826
|
-
SVGRenderer.prototype.button = function (text, x, y, callback, theme, hoverState,
|
|
12858
|
+
SVGRenderer.prototype.button = function (text, x, y, callback, theme, hoverState, selectState, disabledState, shape, useHTML) {
|
|
12827
12859
|
var label = this.label(text,
|
|
12828
12860
|
x,
|
|
12829
12861
|
y,
|
|
@@ -12832,7 +12864,11 @@
|
|
|
12832
12864
|
void 0,
|
|
12833
12865
|
useHTML,
|
|
12834
12866
|
void 0, 'button'),
|
|
12835
|
-
styledMode = this.styledMode
|
|
12867
|
+
styledMode = this.styledMode,
|
|
12868
|
+
states = (theme && theme.states) || {};
|
|
12869
|
+
if (theme) {
|
|
12870
|
+
delete theme.states;
|
|
12871
|
+
}
|
|
12836
12872
|
var curState = 0,
|
|
12837
12873
|
// Make a copy of normalState (#13798)
|
|
12838
12874
|
// (reference to options.rangeSelector.buttonTheme)
|
|
@@ -12851,7 +12887,7 @@
|
|
|
12851
12887
|
// Presentational. The string type is a mistake, it is just for
|
|
12852
12888
|
// compliance with SVGAttribute and is not used in button theme.
|
|
12853
12889
|
var hoverStyle,
|
|
12854
|
-
|
|
12890
|
+
selectStyle,
|
|
12855
12891
|
disabledStyle;
|
|
12856
12892
|
if (!styledMode) {
|
|
12857
12893
|
// Normal state - prepare the attributes
|
|
@@ -12863,25 +12899,25 @@
|
|
|
12863
12899
|
// Hover state
|
|
12864
12900
|
hoverState = merge(normalState, {
|
|
12865
12901
|
fill: "#e6e6e6" /* neutralColor10 */
|
|
12866
|
-
}, AST.filterUserAttributes(hoverState || {}));
|
|
12902
|
+
}, AST.filterUserAttributes(hoverState || states.hover || {}));
|
|
12867
12903
|
hoverStyle = hoverState.style;
|
|
12868
12904
|
delete hoverState.style;
|
|
12869
12905
|
// Pressed state
|
|
12870
|
-
|
|
12906
|
+
selectState = merge(normalState, {
|
|
12871
12907
|
fill: "#e6ebf5" /* highlightColor10 */,
|
|
12872
12908
|
style: {
|
|
12873
12909
|
color: "#000000" /* neutralColor100 */,
|
|
12874
12910
|
fontWeight: 'bold'
|
|
12875
12911
|
}
|
|
12876
|
-
}, AST.filterUserAttributes(
|
|
12877
|
-
|
|
12878
|
-
delete
|
|
12912
|
+
}, AST.filterUserAttributes(selectState || states.select || {}));
|
|
12913
|
+
selectStyle = selectState.style;
|
|
12914
|
+
delete selectState.style;
|
|
12879
12915
|
// Disabled state
|
|
12880
12916
|
disabledState = merge(normalState, {
|
|
12881
12917
|
style: {
|
|
12882
12918
|
color: "#cccccc" /* neutralColor20 */
|
|
12883
12919
|
}
|
|
12884
|
-
}, AST.filterUserAttributes(disabledState || {}));
|
|
12920
|
+
}, AST.filterUserAttributes(disabledState || states.disabled || {}));
|
|
12885
12921
|
disabledStyle = disabledState.style;
|
|
12886
12922
|
delete disabledState.style;
|
|
12887
12923
|
}
|
|
@@ -12912,13 +12948,13 @@
|
|
|
12912
12948
|
.attr([
|
|
12913
12949
|
normalState,
|
|
12914
12950
|
hoverState,
|
|
12915
|
-
|
|
12951
|
+
selectState,
|
|
12916
12952
|
disabledState
|
|
12917
12953
|
][state || 0]);
|
|
12918
12954
|
var css_1 = [
|
|
12919
12955
|
normalStyle,
|
|
12920
12956
|
hoverStyle,
|
|
12921
|
-
|
|
12957
|
+
selectStyle,
|
|
12922
12958
|
disabledStyle
|
|
12923
12959
|
][state || 0];
|
|
12924
12960
|
if (isObject(css_1)) {
|
|
@@ -18563,11 +18599,11 @@
|
|
|
18563
18599
|
// Set the new position, and show or hide
|
|
18564
18600
|
if (show && isNumber(xy.y)) {
|
|
18565
18601
|
xy.opacity = opacity;
|
|
18566
|
-
label[tick.isNewLabel ? 'attr' : 'animate'](xy);
|
|
18602
|
+
label[tick.isNewLabel ? 'attr' : 'animate'](xy).show(true);
|
|
18567
18603
|
tick.isNewLabel = false;
|
|
18568
18604
|
}
|
|
18569
18605
|
else {
|
|
18570
|
-
label.
|
|
18606
|
+
label.hide(); // #1338, #15863
|
|
18571
18607
|
tick.isNewLabel = true;
|
|
18572
18608
|
}
|
|
18573
18609
|
}
|
|
@@ -18667,7 +18703,6 @@
|
|
|
18667
18703
|
error = U.error,
|
|
18668
18704
|
extend = U.extend,
|
|
18669
18705
|
fireEvent = U.fireEvent,
|
|
18670
|
-
getMagnitude = U.getMagnitude,
|
|
18671
18706
|
isArray = U.isArray,
|
|
18672
18707
|
isNumber = U.isNumber,
|
|
18673
18708
|
isString = U.isString,
|
|
@@ -18679,6 +18714,16 @@
|
|
|
18679
18714
|
removeEvent = U.removeEvent,
|
|
18680
18715
|
splat = U.splat,
|
|
18681
18716
|
syncTimeout = U.syncTimeout;
|
|
18717
|
+
var getNormalizedTickInterval = function (axis,
|
|
18718
|
+
tickInterval) { return normalizeTickInterval(tickInterval,
|
|
18719
|
+
void 0,
|
|
18720
|
+
void 0,
|
|
18721
|
+
pick(axis.options.allowDecimals,
|
|
18722
|
+
// If the tick interval is greather than 0.5, avoid decimals, as
|
|
18723
|
+
// linear axes are often used to render discrete values (#3363). If
|
|
18724
|
+
// a tick amount is set, allow decimals by default, as it increases
|
|
18725
|
+
// the chances for a good fit.
|
|
18726
|
+
tickInterval < 0.5 || axis.tickAmount !== void 0), !!axis.tickAmount); };
|
|
18682
18727
|
/* *
|
|
18683
18728
|
*
|
|
18684
18729
|
* Class
|
|
@@ -20031,15 +20076,9 @@
|
|
|
20031
20076
|
if (!tickIntervalOption && axis.tickInterval < minTickInterval) {
|
|
20032
20077
|
axis.tickInterval = minTickInterval;
|
|
20033
20078
|
}
|
|
20034
|
-
//
|
|
20079
|
+
// For linear axes, normalize the interval
|
|
20035
20080
|
if (!axis.dateTime && !axis.logarithmic && !tickIntervalOption) {
|
|
20036
|
-
axis.tickInterval =
|
|
20037
|
-
// If the tick interval is greather than 0.5, avoid
|
|
20038
|
-
// decimals, as linear axes are often used to render
|
|
20039
|
-
// discrete values. #3363. If a tick amount is set, allow
|
|
20040
|
-
// decimals by default, as it increases the chances for a
|
|
20041
|
-
// good fit.
|
|
20042
|
-
axis.tickInterval < 0.5 || this.tickAmount !== void 0), !!this.tickAmount);
|
|
20081
|
+
axis.tickInterval = getNormalizedTickInterval(axis, axis.tickInterval);
|
|
20043
20082
|
}
|
|
20044
20083
|
// Prevent ticks from getting so close that we can't draw the labels
|
|
20045
20084
|
if (!this.tickAmount) {
|
|
@@ -20124,7 +20163,21 @@
|
|
|
20124
20163
|
tickPositions = axis.logarithmic.getLogTickPositions(this.tickInterval, this.min, this.max);
|
|
20125
20164
|
}
|
|
20126
20165
|
else {
|
|
20127
|
-
|
|
20166
|
+
var startingTickInterval = this.tickInterval;
|
|
20167
|
+
var adjustedTickInterval = startingTickInterval;
|
|
20168
|
+
while (adjustedTickInterval <= startingTickInterval * 2) {
|
|
20169
|
+
tickPositions = this.getLinearTickPositions(this.tickInterval, this.min, this.max);
|
|
20170
|
+
// If there are more tick positions than the set tickAmount,
|
|
20171
|
+
// increase the tickInterval and continue until it fits.
|
|
20172
|
+
// (#17100)
|
|
20173
|
+
if (this.tickAmount &&
|
|
20174
|
+
tickPositions.length > this.tickAmount) {
|
|
20175
|
+
this.tickInterval = getNormalizedTickInterval(this, adjustedTickInterval *= 1.1);
|
|
20176
|
+
}
|
|
20177
|
+
else {
|
|
20178
|
+
break;
|
|
20179
|
+
}
|
|
20180
|
+
}
|
|
20128
20181
|
}
|
|
20129
20182
|
// Too dense ticks, keep only the first and last (#4477)
|
|
20130
20183
|
if (tickPositions.length > this.len) {
|
|
@@ -20448,11 +20501,6 @@
|
|
|
20448
20501
|
}
|
|
20449
20502
|
}
|
|
20450
20503
|
adjustExtremes();
|
|
20451
|
-
// We have too many ticks, run second pass to try to reduce ticks
|
|
20452
|
-
}
|
|
20453
|
-
else if (currentTickAmount > tickAmount) {
|
|
20454
|
-
axis.tickInterval *= 2;
|
|
20455
|
-
axis.setTickPositions();
|
|
20456
20504
|
}
|
|
20457
20505
|
// The finalTickAmt property is set in getTickAmount
|
|
20458
20506
|
if (defined(finalTickAmt)) {
|
|
@@ -21408,18 +21456,18 @@
|
|
|
21408
21456
|
// The part of a multiline text that is below the baseline of the
|
|
21409
21457
|
// first line. Subtract 1 to preserve pixel-perfectness from the
|
|
21410
21458
|
// old behaviour (v5.0.12), where only one line was allowed.
|
|
21411
|
-
textHeightOvershoot = Math.max(axisTitle.getBBox(
|
|
21459
|
+
textHeightOvershoot = axisTitle ? Math.max(axisTitle.getBBox(false, 0).height - fontMetrics.h - 1, 0) : 0,
|
|
21412
21460
|
// the position in the length direction of the axis
|
|
21413
|
-
alongAxis = {
|
|
21461
|
+
alongAxis = ({
|
|
21414
21462
|
low: margin + (horiz ? 0 : axisLength),
|
|
21415
21463
|
middle: margin + axisLength / 2,
|
|
21416
21464
|
high: margin + (horiz ? axisLength : 0)
|
|
21417
|
-
}[axisTitleOptions.align],
|
|
21465
|
+
})[axisTitleOptions.align],
|
|
21418
21466
|
// the position in the perpendicular direction of the axis
|
|
21419
21467
|
offAxis = (horiz ? axisTop + this.height : axisLeft) +
|
|
21420
21468
|
(horiz ? 1 : -1) * // horizontal axis reverses the margin
|
|
21421
21469
|
(opposite ? -1 : 1) * // so does opposite axes
|
|
21422
|
-
this.axisTitleMargin +
|
|
21470
|
+
(this.axisTitleMargin || 0) +
|
|
21423
21471
|
[
|
|
21424
21472
|
-textHeightOvershoot,
|
|
21425
21473
|
textHeightOvershoot,
|
|
@@ -21643,14 +21691,8 @@
|
|
|
21643
21691
|
}
|
|
21644
21692
|
if (axisTitle && showAxis) {
|
|
21645
21693
|
var titleXy = axis.getTitlePosition();
|
|
21646
|
-
|
|
21647
|
-
|
|
21648
|
-
axisTitle.isNew = false;
|
|
21649
|
-
}
|
|
21650
|
-
else {
|
|
21651
|
-
axisTitle.attr('y', -9999);
|
|
21652
|
-
axisTitle.isNew = true;
|
|
21653
|
-
}
|
|
21694
|
+
axisTitle[axisTitle.isNew ? 'attr' : 'animate'](titleXy);
|
|
21695
|
+
axisTitle.isNew = false;
|
|
21654
21696
|
}
|
|
21655
21697
|
// Stacked totals:
|
|
21656
21698
|
if (stackLabelOptions && stackLabelOptions.enabled && axis.stacking) {
|
|
@@ -22658,7 +22700,7 @@
|
|
|
22658
22700
|
axisLength;
|
|
22659
22701
|
interval = pick(filteredTickIntervalOption, log.minorAutoInterval, (realMax - realMin) *
|
|
22660
22702
|
tickPixelIntervalOption / (totalPixelLength || 1));
|
|
22661
|
-
interval = normalizeTickInterval(interval
|
|
22703
|
+
interval = normalizeTickInterval(interval);
|
|
22662
22704
|
positions = axis.getLinearTickPositions(interval, realMin, realMax).map(log.log2lin);
|
|
22663
22705
|
if (!minor) {
|
|
22664
22706
|
log.minorAutoInterval = interval / 5;
|
|
@@ -23158,7 +23200,7 @@
|
|
|
23158
23200
|
}
|
|
23159
23201
|
else if (svgElem) {
|
|
23160
23202
|
if (path) {
|
|
23161
|
-
svgElem.show(
|
|
23203
|
+
svgElem.show();
|
|
23162
23204
|
svgElem.animate({ d: path });
|
|
23163
23205
|
}
|
|
23164
23206
|
else if (svgElem.d) {
|
|
@@ -29684,7 +29726,7 @@
|
|
|
29684
29726
|
this.nav.attr({
|
|
29685
29727
|
translateX: padding,
|
|
29686
29728
|
translateY: clipHeight + this.padding + 7 + this.titleHeight,
|
|
29687
|
-
visibility: '
|
|
29729
|
+
visibility: 'inherit'
|
|
29688
29730
|
});
|
|
29689
29731
|
[this.up, this.upTracker].forEach(function (elem) {
|
|
29690
29732
|
elem.attr({
|
|
@@ -30136,7 +30178,6 @@
|
|
|
30136
30178
|
fireEvent = U.fireEvent,
|
|
30137
30179
|
getStyle = U.getStyle,
|
|
30138
30180
|
isArray = U.isArray,
|
|
30139
|
-
isFunction = U.isFunction,
|
|
30140
30181
|
isNumber = U.isNumber,
|
|
30141
30182
|
isObject = U.isObject,
|
|
30142
30183
|
isString = U.isString,
|
|
@@ -32182,9 +32223,27 @@
|
|
|
32182
32223
|
if (defined(this.index)) {
|
|
32183
32224
|
this.setReflow(this.options.chart.reflow);
|
|
32184
32225
|
}
|
|
32226
|
+
this.warnIfA11yModuleNotLoaded();
|
|
32185
32227
|
// Don't run again
|
|
32186
32228
|
this.hasLoaded = true;
|
|
32187
32229
|
};
|
|
32230
|
+
/**
|
|
32231
|
+
* Emit console warning if the a11y module is not loaded.
|
|
32232
|
+
*/
|
|
32233
|
+
Chart.prototype.warnIfA11yModuleNotLoaded = function () {
|
|
32234
|
+
var _this = this;
|
|
32235
|
+
setTimeout(function () {
|
|
32236
|
+
var opts = _this && _this.options;
|
|
32237
|
+
if (opts && !_this.accessibility &&
|
|
32238
|
+
!(opts.accessibility && opts.accessibility.enabled === false)) {
|
|
32239
|
+
error('Highcharts warning: Consider including the ' +
|
|
32240
|
+
'"accessibility.js" module to make your chart more ' +
|
|
32241
|
+
'usable for people with disabilities. Set the ' +
|
|
32242
|
+
'"accessibility.enabled" option to false to remove this ' +
|
|
32243
|
+
'warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.', false, _this);
|
|
32244
|
+
}
|
|
32245
|
+
}, 100);
|
|
32246
|
+
};
|
|
32188
32247
|
/**
|
|
32189
32248
|
* Add a series to the chart after render time. Note that this method should
|
|
32190
32249
|
* never be used when adding data synchronously at chart render time, as it
|
|
@@ -32749,7 +32808,6 @@
|
|
|
32749
32808
|
lang = defaultOptions.lang,
|
|
32750
32809
|
btnOptions = chart.options.chart.resetZoomButton,
|
|
32751
32810
|
theme = btnOptions.theme,
|
|
32752
|
-
states = theme.states,
|
|
32753
32811
|
alignTo = (btnOptions.relativeTo === 'chart' ||
|
|
32754
32812
|
btnOptions.relativeTo === 'spacingBox' ?
|
|
32755
32813
|
null :
|
|
@@ -32762,7 +32820,7 @@
|
|
|
32762
32820
|
}
|
|
32763
32821
|
fireEvent(this, 'beforeShowResetZoom', null, function () {
|
|
32764
32822
|
chart.resetZoomButton = chart.renderer
|
|
32765
|
-
.button(lang.resetZoom, null, null, zoomOut, theme
|
|
32823
|
+
.button(lang.resetZoom, null, null, zoomOut, theme)
|
|
32766
32824
|
.attr({
|
|
32767
32825
|
align: btnOptions.position.align,
|
|
32768
32826
|
title: lang.resetZoomTitle
|
|
@@ -36501,8 +36559,19 @@
|
|
|
36501
36559
|
updatedData,
|
|
36502
36560
|
indexOfX = 0,
|
|
36503
36561
|
indexOfY = 1,
|
|
36504
|
-
firstPoint = null
|
|
36505
|
-
|
|
36562
|
+
firstPoint = null,
|
|
36563
|
+
copiedData;
|
|
36564
|
+
if (!chart.options.chart.allowMutatingData) { // #4259
|
|
36565
|
+
// Remove old reference
|
|
36566
|
+
if (options.data) {
|
|
36567
|
+
delete series.options.data;
|
|
36568
|
+
}
|
|
36569
|
+
if (series.userOptions.data) {
|
|
36570
|
+
delete series.userOptions.data;
|
|
36571
|
+
}
|
|
36572
|
+
copiedData = merge(true, data);
|
|
36573
|
+
}
|
|
36574
|
+
data = copiedData || data || [];
|
|
36506
36575
|
var dataLength = data.length;
|
|
36507
36576
|
redraw = pick(redraw, true);
|
|
36508
36577
|
if (dataSorting && dataSorting.enabled) {
|
|
@@ -36510,7 +36579,8 @@
|
|
|
36510
36579
|
}
|
|
36511
36580
|
// First try to run Point.update which is cheaper, allows animation,
|
|
36512
36581
|
// and keeps references to points.
|
|
36513
|
-
if (
|
|
36582
|
+
if (chart.options.chart.allowMutatingData &&
|
|
36583
|
+
updatePoints !== false &&
|
|
36514
36584
|
dataLength &&
|
|
36515
36585
|
oldDataLength &&
|
|
36516
36586
|
!series.cropped &&
|
|
@@ -37941,10 +38011,10 @@
|
|
|
37941
38011
|
else if (series.visible) {
|
|
37942
38012
|
// If zones were removed, restore graph and area
|
|
37943
38013
|
if (graph) {
|
|
37944
|
-
graph.show(
|
|
38014
|
+
graph.show();
|
|
37945
38015
|
}
|
|
37946
38016
|
if (area) {
|
|
37947
|
-
area.show(
|
|
38017
|
+
area.show();
|
|
37948
38018
|
}
|
|
37949
38019
|
}
|
|
37950
38020
|
};
|
|
@@ -38438,7 +38508,7 @@
|
|
|
38438
38508
|
else if (series.graph) { // create
|
|
38439
38509
|
series.tracker = renderer.path(trackerPath)
|
|
38440
38510
|
.attr({
|
|
38441
|
-
visibility: series.visible ? '
|
|
38511
|
+
visibility: series.visible ? 'inherit' : 'hidden',
|
|
38442
38512
|
zIndex: 2
|
|
38443
38513
|
})
|
|
38444
38514
|
.addClass(trackByArea ?
|
|
@@ -38782,7 +38852,8 @@
|
|
|
38782
38852
|
series.hasOptionChanged('keys'));
|
|
38783
38853
|
newType = newType || initialType;
|
|
38784
38854
|
if (keepPoints) {
|
|
38785
|
-
preserve.push('data', 'isDirtyData', 'points', '
|
|
38855
|
+
preserve.push('data', 'isDirtyData', 'points', 'processedData', // #17057
|
|
38856
|
+
'processedXData', 'processedYData', 'xIncrement', 'cropped', '_hasPointMarkers', '_hasPointLabels', 'clips', // #15420
|
|
38786
38857
|
// Networkgraph (#14397)
|
|
38787
38858
|
'nodes', 'layout',
|
|
38788
38859
|
// Treemap
|
|
@@ -40267,7 +40338,6 @@
|
|
|
40267
40338
|
renderer
|
|
40268
40339
|
.g('stack-labels')
|
|
40269
40340
|
.attr({
|
|
40270
|
-
visibility: 'visible',
|
|
40271
40341
|
zIndex: 6,
|
|
40272
40342
|
opacity: 0
|
|
40273
40343
|
})
|
|
@@ -40503,7 +40573,7 @@
|
|
|
40503
40573
|
}
|
|
40504
40574
|
else {
|
|
40505
40575
|
// Move label away to avoid the overlapping issues
|
|
40506
|
-
label.
|
|
40576
|
+
label.hide();
|
|
40507
40577
|
isJustify = false;
|
|
40508
40578
|
}
|
|
40509
40579
|
if (isJustify) {
|
|
@@ -43809,17 +43879,18 @@
|
|
|
43809
43879
|
inverted = this.isCartesian && chart.inverted,
|
|
43810
43880
|
enabledDataSorting = this.enabledDataSorting,
|
|
43811
43881
|
plotX = pick(point.dlBox && point.dlBox.centerX,
|
|
43812
|
-
point.plotX
|
|
43813
|
-
plotY =
|
|
43814
|
-
bBox = dataLabel.getBBox(),
|
|
43882
|
+
point.plotX),
|
|
43883
|
+
plotY = point.plotY,
|
|
43815
43884
|
rotation = options.rotation,
|
|
43816
43885
|
align = options.align,
|
|
43817
|
-
isInsidePlot =
|
|
43886
|
+
isInsidePlot = defined(plotX) &&
|
|
43887
|
+
defined(plotY) &&
|
|
43888
|
+
chart.isInsidePlot(plotX,
|
|
43818
43889
|
Math.round(plotY), {
|
|
43819
|
-
|
|
43820
|
-
|
|
43821
|
-
|
|
43822
|
-
|
|
43890
|
+
inverted: inverted,
|
|
43891
|
+
paneCoordinates: true,
|
|
43892
|
+
series: series
|
|
43893
|
+
}),
|
|
43823
43894
|
setStartPos = function (alignOptions) {
|
|
43824
43895
|
if (enabledDataSorting && series.xAxis && !justify) {
|
|
43825
43896
|
series.setDataLabelStartPos(point,
|
|
@@ -43830,8 +43901,6 @@
|
|
|
43830
43901
|
}
|
|
43831
43902
|
};
|
|
43832
43903
|
var baseline,
|
|
43833
|
-
normRotation,
|
|
43834
|
-
negRotation,
|
|
43835
43904
|
rotCorr, // rotation correction
|
|
43836
43905
|
// Math.round for rounding errors (#2683), alignTo to allow column
|
|
43837
43906
|
// labels (#2700)
|
|
@@ -43855,7 +43924,12 @@
|
|
|
43855
43924
|
paneCoordinates: true,
|
|
43856
43925
|
series: series
|
|
43857
43926
|
})));
|
|
43858
|
-
if (visible) {
|
|
43927
|
+
if (visible && defined(plotX) && defined(plotY)) {
|
|
43928
|
+
if (rotation) {
|
|
43929
|
+
dataLabel.attr({ align: align });
|
|
43930
|
+
}
|
|
43931
|
+
var bBox = dataLabel.getBBox(true),
|
|
43932
|
+
bBoxCorrection = [0, 0];
|
|
43859
43933
|
baseline = chart.renderer.fontMetrics(chart.styledMode ? void 0 : options.style.fontSize, dataLabel).b;
|
|
43860
43934
|
// The alignment box is a singular point
|
|
43861
43935
|
alignTo = extend({
|
|
@@ -43884,27 +43958,12 @@
|
|
|
43884
43958
|
{ top: 0, middle: 0.5, bottom: 1 }[options.verticalAlign] *
|
|
43885
43959
|
alignTo.height)
|
|
43886
43960
|
};
|
|
43961
|
+
bBoxCorrection = [
|
|
43962
|
+
bBox.x - Number(dataLabel.attr('x')),
|
|
43963
|
+
bBox.y - Number(dataLabel.attr('y'))
|
|
43964
|
+
];
|
|
43887
43965
|
setStartPos(alignAttr); // data sorting
|
|
43888
|
-
dataLabel[isNew ? 'attr' : 'animate'](alignAttr)
|
|
43889
|
-
.attr({
|
|
43890
|
-
align: align
|
|
43891
|
-
});
|
|
43892
|
-
// Compensate for the rotated label sticking out on the sides
|
|
43893
|
-
normRotation = (rotation + 720) % 360;
|
|
43894
|
-
negRotation = normRotation > 180 && normRotation < 360;
|
|
43895
|
-
if (align === 'left') {
|
|
43896
|
-
alignAttr.y -= negRotation ? bBox.height : 0;
|
|
43897
|
-
}
|
|
43898
|
-
else if (align === 'center') {
|
|
43899
|
-
alignAttr.x -= bBox.width / 2;
|
|
43900
|
-
alignAttr.y -= bBox.height / 2;
|
|
43901
|
-
}
|
|
43902
|
-
else if (align === 'right') {
|
|
43903
|
-
alignAttr.x -= bBox.width;
|
|
43904
|
-
alignAttr.y -= negRotation ? 0 : bBox.height;
|
|
43905
|
-
}
|
|
43906
|
-
dataLabel.placed = true;
|
|
43907
|
-
dataLabel.alignAttr = alignAttr;
|
|
43966
|
+
dataLabel[isNew ? 'attr' : 'animate'](alignAttr);
|
|
43908
43967
|
}
|
|
43909
43968
|
else {
|
|
43910
43969
|
setStartPos(alignTo); // data sorting
|
|
@@ -43917,12 +43976,37 @@
|
|
|
43917
43976
|
// Now check that the data label is within the plot area
|
|
43918
43977
|
}
|
|
43919
43978
|
else if (pick(options.crop, true)) {
|
|
43979
|
+
var x = alignAttr.x,
|
|
43980
|
+
y = alignAttr.y;
|
|
43981
|
+
x += bBoxCorrection[0];
|
|
43982
|
+
y += bBoxCorrection[1];
|
|
43983
|
+
// Uncomment this block to visualize the bounding boxes used for
|
|
43984
|
+
// determining visibility
|
|
43985
|
+
/*
|
|
43986
|
+
chart.renderer.rect(
|
|
43987
|
+
chart.plotLeft + alignAttr.x + bBox.x,
|
|
43988
|
+
chart.plotTop + alignAttr.y + bBox.y + 9999,
|
|
43989
|
+
bBox.width,
|
|
43990
|
+
bBox.height
|
|
43991
|
+
).attr({
|
|
43992
|
+
stroke: 'rgba(0, 0, 0, 0.3)',
|
|
43993
|
+
'stroke-width': 0.5
|
|
43994
|
+
}).add();
|
|
43995
|
+
chart.renderer.circle(
|
|
43996
|
+
chart.plotLeft + alignAttr.x,
|
|
43997
|
+
chart.plotTop + alignAttr.y,
|
|
43998
|
+
2
|
|
43999
|
+
).attr({
|
|
44000
|
+
fill: 'red',
|
|
44001
|
+
zIndex: 20
|
|
44002
|
+
}).add();
|
|
44003
|
+
// */
|
|
43920
44004
|
visible =
|
|
43921
|
-
chart.isInsidePlot(
|
|
44005
|
+
chart.isInsidePlot(x, y, {
|
|
43922
44006
|
paneCoordinates: true,
|
|
43923
44007
|
series: series
|
|
43924
44008
|
}) &&
|
|
43925
|
-
chart.isInsidePlot(
|
|
44009
|
+
chart.isInsidePlot(x + bBox.width, y + bBox.height, {
|
|
43926
44010
|
paneCoordinates: true,
|
|
43927
44011
|
series: series
|
|
43928
44012
|
});
|
|
@@ -43946,9 +44030,12 @@
|
|
|
43946
44030
|
}
|
|
43947
44031
|
// Show or hide based on the final aligned position
|
|
43948
44032
|
if (!visible && (!enabledDataSorting || justify)) {
|
|
43949
|
-
dataLabel.hide(
|
|
44033
|
+
dataLabel.hide();
|
|
43950
44034
|
dataLabel.placed = false; // don't animate back in
|
|
43951
44035
|
}
|
|
44036
|
+
else {
|
|
44037
|
+
dataLabel.show();
|
|
44038
|
+
}
|
|
43952
44039
|
}
|
|
43953
44040
|
/**
|
|
43954
44041
|
* Handle the dataLabels.filter option.
|
|
@@ -44025,7 +44112,7 @@
|
|
|
44025
44112
|
var group = series.dataLabelsGroup;
|
|
44026
44113
|
if (group) {
|
|
44027
44114
|
if (series.visible) { // #2597, #3023, #3024
|
|
44028
|
-
dataLabelsGroup.show(
|
|
44115
|
+
dataLabelsGroup.show();
|
|
44029
44116
|
}
|
|
44030
44117
|
group[seriesOptions.animation ? 'animate' : 'attr']({ opacity: 1 }, animationConfig);
|
|
44031
44118
|
}
|
|
@@ -44160,10 +44247,10 @@
|
|
|
44160
44247
|
point.dataLabels = point.dataLabels || [];
|
|
44161
44248
|
dataLabel = point.dataLabels[i] = rotation ?
|
|
44162
44249
|
// Labels don't rotate, use text element
|
|
44163
|
-
renderer.text(labelText, 0,
|
|
44250
|
+
renderer.text(labelText, 0, 0, labelOptions.useHTML)
|
|
44164
44251
|
.addClass('highcharts-data-label') :
|
|
44165
44252
|
// We can use label
|
|
44166
|
-
renderer.label(labelText, 0,
|
|
44253
|
+
renderer.label(labelText, 0, 0, labelOptions.shape, null, null, labelOptions.useHTML, null, 'data-label');
|
|
44167
44254
|
// Store for backwards compatibility
|
|
44168
44255
|
if (!i) {
|
|
44169
44256
|
point.dataLabel = dataLabel;
|
|
@@ -44204,6 +44291,9 @@
|
|
|
44204
44291
|
// we need to align it
|
|
44205
44292
|
series.alignDataLabel(point, dataLabel, labelOptions, null, isNew);
|
|
44206
44293
|
}
|
|
44294
|
+
else if (dataLabel) {
|
|
44295
|
+
dataLabel.hide();
|
|
44296
|
+
}
|
|
44207
44297
|
});
|
|
44208
44298
|
});
|
|
44209
44299
|
}
|
|
@@ -45042,7 +45132,8 @@
|
|
|
45042
45132
|
plotHeight = chart.plotHeight - 2 * slicingRoom,
|
|
45043
45133
|
centerOption = options.center,
|
|
45044
45134
|
smallestSize = Math.min(plotWidth,
|
|
45045
|
-
plotHeight)
|
|
45135
|
+
plotHeight),
|
|
45136
|
+
thickness = options.thickness;
|
|
45046
45137
|
var handleSlicingRoom,
|
|
45047
45138
|
size = options.size,
|
|
45048
45139
|
innerSize = options.innerSize || 0,
|
|
@@ -45079,6 +45170,11 @@
|
|
|
45079
45170
|
if (positions[3] > positions[2]) {
|
|
45080
45171
|
positions[3] = positions[2];
|
|
45081
45172
|
}
|
|
45173
|
+
// thickness overrides innerSize, need to be less than pie size (#6647)
|
|
45174
|
+
if (isNumber(thickness) &&
|
|
45175
|
+
thickness * 2 < positions[2] && thickness > 0) {
|
|
45176
|
+
positions[3] = positions[2] - thickness * 2;
|
|
45177
|
+
}
|
|
45082
45178
|
return positions;
|
|
45083
45179
|
}
|
|
45084
45180
|
CenteredUtilities.getCenter = getCenter;
|
|
@@ -46222,6 +46318,17 @@
|
|
|
46222
46318
|
* @product highcharts
|
|
46223
46319
|
* @apioption plotOptions.pie.endAngle
|
|
46224
46320
|
*/
|
|
46321
|
+
/**
|
|
46322
|
+
* Thickness describing the ring size for a donut type chart,
|
|
46323
|
+
* overriding [innerSize](#plotOptions.pie.innerSize).
|
|
46324
|
+
*
|
|
46325
|
+
* @type {number}
|
|
46326
|
+
* @default undefined
|
|
46327
|
+
* @product highcharts
|
|
46328
|
+
* @since 10.1.0
|
|
46329
|
+
* @apioption plotOptions.pie.thickness
|
|
46330
|
+
* @private
|
|
46331
|
+
*/
|
|
46225
46332
|
/**
|
|
46226
46333
|
* Equivalent to [chart.ignoreHiddenSeries](#chart.ignoreHiddenSeries),
|
|
46227
46334
|
* this option tells whether the series shall be redrawn as if the
|
|
@@ -46249,7 +46356,7 @@
|
|
|
46249
46356
|
* The size of the inner diameter for the pie. A size greater than 0
|
|
46250
46357
|
* renders a donut chart. Can be a percentage or pixel value.
|
|
46251
46358
|
* Percentages are relative to the pie size. Pixel values are given as
|
|
46252
|
-
* integers.
|
|
46359
|
+
* integers. Setting overridden by thickness.
|
|
46253
46360
|
*
|
|
46254
46361
|
*
|
|
46255
46362
|
* Note: in Highcharts < 4.1.2, the percentage was relative to the plot
|
|
@@ -47011,7 +47118,9 @@
|
|
|
47011
47118
|
if (newSize < center[2]) {
|
|
47012
47119
|
center[2] = newSize;
|
|
47013
47120
|
center[3] = Math.min(// #3632
|
|
47014
|
-
|
|
47121
|
+
options.thickness ?
|
|
47122
|
+
Math.max(0, newSize - options.thickness * 2) :
|
|
47123
|
+
Math.max(0, relativeLength(options.innerSize || 0, newSize)), newSize); // #6647
|
|
47015
47124
|
this.translate(center);
|
|
47016
47125
|
if (this.drawDataLabels) {
|
|
47017
47126
|
this.drawDataLabels();
|
|
@@ -47074,9 +47183,7 @@
|
|
|
47074
47183
|
!yAxis.options.stackLabels.allowOverlap) {
|
|
47075
47184
|
objectEach(yAxis.stacking.stacks, function (stack) {
|
|
47076
47185
|
objectEach(stack, function (stackItem) {
|
|
47077
|
-
if (stackItem.label
|
|
47078
|
-
stackItem.label.visibility !== 'hidden' // #15607
|
|
47079
|
-
) {
|
|
47186
|
+
if (stackItem.label) {
|
|
47080
47187
|
labels.push(stackItem.label);
|
|
47081
47188
|
}
|
|
47082
47189
|
});
|
|
@@ -47220,7 +47327,10 @@
|
|
|
47220
47327
|
box2 &&
|
|
47221
47328
|
label1 !== label2 && // #6465, polar chart with connectEnds
|
|
47222
47329
|
label1.newOpacity !== 0 &&
|
|
47223
|
-
label2.newOpacity !== 0
|
|
47330
|
+
label2.newOpacity !== 0 &&
|
|
47331
|
+
// #15863 dataLabels are no longer hidden by translation
|
|
47332
|
+
label1.visibility !== 'hidden' &&
|
|
47333
|
+
label2.visibility !== 'hidden') {
|
|
47224
47334
|
if (isIntersectRect(box1, box2)) {
|
|
47225
47335
|
(label1.labelrank < label2.labelrank ? label1 : label2)
|
|
47226
47336
|
.newOpacity = 0;
|
|
@@ -49571,13 +49681,9 @@
|
|
|
49571
49681
|
attr = buttonOptions.theme;
|
|
49572
49682
|
attr.style = merge(buttonOptions.theme.style, buttonOptions.style // #3203
|
|
49573
49683
|
);
|
|
49574
|
-
states = attr.states;
|
|
49575
|
-
hoverStates = states && states.hover;
|
|
49576
|
-
selectStates = states && states.select;
|
|
49577
|
-
delete attr.states;
|
|
49578
49684
|
}
|
|
49579
49685
|
var button = chart.renderer
|
|
49580
|
-
.button(buttonOptions.text || '', 0, 0, outerHandler, attr,
|
|
49686
|
+
.button(buttonOptions.text || '', 0, 0, outerHandler, attr, void 0, void 0, void 0, n === 'zoomIn' ? 'topbutton' : 'bottombutton')
|
|
49581
49687
|
.addClass('highcharts-map-navigation highcharts-' + {
|
|
49582
49688
|
zoomIn: 'zoom-in',
|
|
49583
49689
|
zoomOut: 'zoom-out'
|
|
@@ -50571,8 +50677,10 @@
|
|
|
50571
50677
|
* @type {string}
|
|
50572
50678
|
* @sample maps/mapview/projection-explorer
|
|
50573
50679
|
* Projection explorer
|
|
50574
|
-
* @sample maps/mapview/projection-custom
|
|
50680
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
50575
50681
|
* Custom UTM projection definition
|
|
50682
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
50683
|
+
* Custom Robinson projection definition
|
|
50576
50684
|
* @sample maps/demo/topojson-projection
|
|
50577
50685
|
* Orthographic projection
|
|
50578
50686
|
*/
|
|
@@ -51068,7 +51176,7 @@
|
|
|
51068
51176
|
sinAngle = transform.sinAngle ||
|
|
51069
51177
|
(transform.rotation && Math.sin(transform.rotation)),
|
|
51070
51178
|
// Note: Inverted sinAngle to reverse rotation direction
|
|
51071
|
-
projected =
|
|
51179
|
+
projected = proj4(transform.crs, 'WGS84',
|
|
51072
51180
|
transform.rotation ? {
|
|
51073
51181
|
x: normalized.x * cosAngle + normalized.y * -sinAngle,
|
|
51074
51182
|
y: normalized.x * sinAngle + normalized.y * cosAngle
|
|
@@ -51183,7 +51291,8 @@
|
|
|
51183
51291
|
copyrightUrl: topology.copyrightUrl,
|
|
51184
51292
|
features: features,
|
|
51185
51293
|
'hc-recommended-mapview': object['hc-recommended-mapview'],
|
|
51186
|
-
bbox: topology.bbox
|
|
51294
|
+
bbox: topology.bbox,
|
|
51295
|
+
title: topology.title
|
|
51187
51296
|
};
|
|
51188
51297
|
object['hc-decoded-geojson'] = geojson;
|
|
51189
51298
|
return geojson;
|
|
@@ -52321,7 +52430,6 @@
|
|
|
52321
52430
|
pointInPolygon = MU.pointInPolygon;
|
|
52322
52431
|
var addEvent = U.addEvent,
|
|
52323
52432
|
clamp = U.clamp,
|
|
52324
|
-
defined = U.defined,
|
|
52325
52433
|
fireEvent = U.fireEvent,
|
|
52326
52434
|
isArray = U.isArray,
|
|
52327
52435
|
isNumber = U.isNumber,
|
|
@@ -52478,7 +52586,11 @@
|
|
|
52478
52586
|
_this.minZoom === _this.zoom // When resizing the chart
|
|
52479
52587
|
) {
|
|
52480
52588
|
_this.fitToBounds(void 0, void 0, false);
|
|
52481
|
-
if (
|
|
52589
|
+
if (
|
|
52590
|
+
// Set zoom only when initializing the chart
|
|
52591
|
+
// (do not overwrite when zooming in/out, #17082)
|
|
52592
|
+
!_this.chart.hasRendered &&
|
|
52593
|
+
isNumber(_this.userOptions.zoom)) {
|
|
52482
52594
|
_this.zoom = _this.userOptions.zoom;
|
|
52483
52595
|
}
|
|
52484
52596
|
if (_this.userOptions.center) {
|
|
@@ -53672,8 +53784,7 @@
|
|
|
53672
53784
|
*/
|
|
53673
53785
|
MapSeries.prototype.getProjectedBounds = function () {
|
|
53674
53786
|
if (!this.bounds && this.chart.mapView) {
|
|
53675
|
-
var
|
|
53676
|
-
_a = this.chart.mapView,
|
|
53787
|
+
var _a = this.chart.mapView,
|
|
53677
53788
|
insets_1 = _a.insets,
|
|
53678
53789
|
projection_1 = _a.projection,
|
|
53679
53790
|
allBounds_1 = [];
|
|
@@ -53770,6 +53881,16 @@
|
|
|
53770
53881
|
'inherit');
|
|
53771
53882
|
return attr;
|
|
53772
53883
|
};
|
|
53884
|
+
/**
|
|
53885
|
+
* @private
|
|
53886
|
+
*/
|
|
53887
|
+
MapSeries.prototype.updateData = function () {
|
|
53888
|
+
// #16782
|
|
53889
|
+
if (this.processedData) {
|
|
53890
|
+
return false;
|
|
53891
|
+
}
|
|
53892
|
+
return _super.prototype.updateData.apply(this, arguments);
|
|
53893
|
+
};
|
|
53773
53894
|
/**
|
|
53774
53895
|
* Extend setData to call processData and generatePoints immediately.
|
|
53775
53896
|
* @private
|
|
@@ -54876,6 +54997,10 @@
|
|
|
54876
54997
|
this.processData();
|
|
54877
54998
|
}
|
|
54878
54999
|
this.generatePoints();
|
|
55000
|
+
if (this.getProjectedBounds && this.isDirtyData) {
|
|
55001
|
+
delete this.bounds;
|
|
55002
|
+
this.getProjectedBounds(); // Added point needs bounds(#16598)
|
|
55003
|
+
}
|
|
54879
55004
|
// Create map based translation
|
|
54880
55005
|
if (mapView) {
|
|
54881
55006
|
var hasCoordinates_1 = mapView.projection.hasCoordinates;
|
|
@@ -57089,7 +57214,7 @@
|
|
|
57089
57214
|
|
|
57090
57215
|
return MapBubblePoint;
|
|
57091
57216
|
});
|
|
57092
|
-
_registerModule(_modules, 'Series/MapBubble/MapBubbleSeries.js', [_modules['Series/Bubble/BubbleSeries.js'], _modules['Series/MapBubble/MapBubblePoint.js'], _modules['Series/Map/MapSeries.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/
|
|
57217
|
+
_registerModule(_modules, 'Series/MapBubble/MapBubbleSeries.js', [_modules['Series/Bubble/BubbleSeries.js'], _modules['Series/MapBubble/MapBubblePoint.js'], _modules['Series/Map/MapSeries.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (BubbleSeries, MapBubblePoint, MapSeries, SeriesRegistry, U) {
|
|
57093
57218
|
/* *
|
|
57094
57219
|
*
|
|
57095
57220
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -57115,7 +57240,6 @@
|
|
|
57115
57240
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
57116
57241
|
};
|
|
57117
57242
|
})();
|
|
57118
|
-
var noop = H.noop;
|
|
57119
57243
|
var MapPointSeries = SeriesRegistry.seriesTypes.mappoint;
|
|
57120
57244
|
var extend = U.extend,
|
|
57121
57245
|
merge = U.merge;
|
|
@@ -57197,15 +57321,62 @@
|
|
|
57197
57321
|
* @apioption plotOptions.mapbubble.displayNegative
|
|
57198
57322
|
*/
|
|
57199
57323
|
/**
|
|
57200
|
-
*
|
|
57324
|
+
* Color of the line connecting bubbles. The default value is the same
|
|
57325
|
+
* as series' color.
|
|
57326
|
+
*
|
|
57327
|
+
* In styled mode, the color can be defined by the
|
|
57328
|
+
* [colorIndex](#plotOptions.series.colorIndex) option. Also, the series
|
|
57329
|
+
* color can be set with the `.highcharts-series`,
|
|
57330
|
+
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
|
|
57331
|
+
* `.highcharts-series-{n}` class, or individual classes given by the
|
|
57332
|
+
* `className` option.
|
|
57333
|
+
*
|
|
57334
|
+
*
|
|
57335
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
57336
|
+
* Spider map
|
|
57337
|
+
* @sample {highmaps} maps/plotoptions/spider-map-line-color/
|
|
57338
|
+
* Different line color
|
|
57339
|
+
*
|
|
57340
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
57341
|
+
* @apioption plotOptions.mapbubble.lineColor
|
|
57342
|
+
*/
|
|
57343
|
+
/**
|
|
57344
|
+
* Pixel width of the line connecting bubbles.
|
|
57345
|
+
*
|
|
57346
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
57347
|
+
* Spider map
|
|
57348
|
+
*
|
|
57349
|
+
* @product highmaps
|
|
57350
|
+
* @apioption plotOptions.mapbubble.lineWidth
|
|
57351
|
+
*/
|
|
57352
|
+
lineWidth: 0,
|
|
57353
|
+
/**
|
|
57354
|
+
* Maximum bubble size. Bubbles will automatically size between the
|
|
57355
|
+
* `minSize` and `maxSize` to reflect the `z` value of each bubble.
|
|
57356
|
+
* Can be either pixels (when no unit is given), or a percentage of
|
|
57357
|
+
* the smallest one of the plot width and height.
|
|
57358
|
+
*
|
|
57359
|
+
* @sample {highmaps} highcharts/plotoptions/bubble-size/
|
|
57201
57360
|
* Bubble size
|
|
57361
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
57362
|
+
* Spider map
|
|
57202
57363
|
*
|
|
57364
|
+
* @product highmaps
|
|
57203
57365
|
* @apioption plotOptions.mapbubble.maxSize
|
|
57366
|
+
|
|
57204
57367
|
*/
|
|
57205
57368
|
/**
|
|
57369
|
+
* Minimum bubble size. Bubbles will automatically size between the
|
|
57370
|
+
* `minSize` and `maxSize` to reflect the `z` value of each bubble.
|
|
57371
|
+
* Can be either pixels (when no unit is given), or a percentage of
|
|
57372
|
+
* the smallest one of the plot width and height.
|
|
57373
|
+
*
|
|
57206
57374
|
* @sample {highmaps} maps/demo/map-bubble/
|
|
57207
57375
|
* Bubble size
|
|
57376
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
57377
|
+
* Spider map
|
|
57208
57378
|
*
|
|
57379
|
+
* @product highmaps
|
|
57209
57380
|
* @apioption plotOptions.mapbubble.minSize
|
|
57210
57381
|
*/
|
|
57211
57382
|
/**
|
|
@@ -57303,6 +57474,7 @@
|
|
|
57303
57474
|
projectPoint: MapPointSeries.prototype.projectPoint,
|
|
57304
57475
|
setData: MapSeries.prototype.setData,
|
|
57305
57476
|
setOptions: MapSeries.prototype.setOptions,
|
|
57477
|
+
updateData: MapSeries.prototype.updateData,
|
|
57306
57478
|
useMapGeometry: true,
|
|
57307
57479
|
xyFromShape: true
|
|
57308
57480
|
});
|
|
@@ -57655,25 +57827,6 @@
|
|
|
57655
57827
|
this.points.forEach(function (point) {
|
|
57656
57828
|
if (point.graphic) {
|
|
57657
57829
|
point.graphic[_this.chart.styledMode ? 'css' : 'animate'](_this.colorAttribs(point));
|
|
57658
|
-
// @todo
|
|
57659
|
-
// Applying the border radius here is not optimal. It should
|
|
57660
|
-
// be set in the shapeArgs or returned from `markerAttribs`.
|
|
57661
|
-
// However, Series.drawPoints does not pick up markerAttribs
|
|
57662
|
-
// to be passed over to `renderer.symbol`. Also, image
|
|
57663
|
-
// symbols are not positioned by their top left corner like
|
|
57664
|
-
// other symbols are. This should be refactored, then we
|
|
57665
|
-
// could save ourselves some tests for .hasImage etc. And
|
|
57666
|
-
// the evaluation of borderRadius would be moved to
|
|
57667
|
-
// `markerAttribs`.
|
|
57668
|
-
if (_this.options.borderRadius) {
|
|
57669
|
-
point.graphic.attr({
|
|
57670
|
-
r: _this.options.borderRadius
|
|
57671
|
-
});
|
|
57672
|
-
}
|
|
57673
|
-
// Saving option for reapplying later
|
|
57674
|
-
// when changing point's states (#16165)
|
|
57675
|
-
(point.shapeArgs || {}).r = _this.options.borderRadius;
|
|
57676
|
-
(point.shapeArgs || {}).d = point.graphic.pathArray;
|
|
57677
57830
|
if (point.value === null) { // #15708
|
|
57678
57831
|
point.graphic.addClass('highcharts-null-point');
|
|
57679
57832
|
}
|
|
@@ -57730,6 +57883,18 @@
|
|
|
57730
57883
|
this.yAxis.axisPointRange = options.rowsize || 1;
|
|
57731
57884
|
// Bind new symbol names
|
|
57732
57885
|
symbols.ellipse = symbols.circle;
|
|
57886
|
+
// @todo
|
|
57887
|
+
//
|
|
57888
|
+
// Setting the border radius here is a workaround. It should be set in
|
|
57889
|
+
// the shapeArgs or returned from `markerAttribs`. However,
|
|
57890
|
+
// Series.drawPoints does not pick up markerAttribs to be passed over to
|
|
57891
|
+
// `renderer.symbol`. Also, image symbols are not positioned by their
|
|
57892
|
+
// top left corner like other symbols are. This should be refactored,
|
|
57893
|
+
// then we could save ourselves some tests for .hasImage etc. And the
|
|
57894
|
+
// evaluation of borderRadius would be moved to `markerAttribs`.
|
|
57895
|
+
if (options.marker) {
|
|
57896
|
+
options.marker.r = options.borderRadius;
|
|
57897
|
+
}
|
|
57733
57898
|
};
|
|
57734
57899
|
/**
|
|
57735
57900
|
* @private
|
|
@@ -57864,7 +58029,7 @@
|
|
|
57864
58029
|
clientX: (cellAttr.x1 + cellAttr.x2) / 2,
|
|
57865
58030
|
shapeType: 'path',
|
|
57866
58031
|
shapeArgs: merge(true, shapeArgs, {
|
|
57867
|
-
d: symbols[shape](shapeArgs.x, shapeArgs.y, shapeArgs.width, shapeArgs.height)
|
|
58032
|
+
d: symbols[shape](shapeArgs.x, shapeArgs.y, shapeArgs.width, shapeArgs.height, { r: options.borderRadius })
|
|
57868
58033
|
})
|
|
57869
58034
|
};
|
|
57870
58035
|
if (hasImage) {
|