highcharts 10.2.1 → 10.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (732) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +1 -1
  3. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -6
  4. package/es-modules/Accessibility/Components/LegendComponent.js +36 -32
  5. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -1
  6. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +16 -16
  7. package/es-modules/Accessibility/Options/LangDefaults.js +4 -0
  8. package/es-modules/Core/Axis/Axis.js +42 -32
  9. package/es-modules/Core/Axis/Axis3DComposition.js +501 -0
  10. package/es-modules/Core/Axis/Axis3DDefaults.js +130 -0
  11. package/es-modules/Core/Axis/AxisDefaults.js +20 -7
  12. package/es-modules/Core/Axis/Color/ColorAxis.js +46 -52
  13. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +4 -2
  14. package/es-modules/Core/Axis/NavigatorAxisComposition.js +161 -0
  15. package/es-modules/Core/Axis/OrdinalAxis.js +2 -1
  16. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
  17. package/es-modules/Core/Axis/RadialAxis.js +19 -5
  18. package/es-modules/Core/Axis/Tick.js +1 -1
  19. package/es-modules/Core/Axis/Tick3DComposition.js +71 -0
  20. package/es-modules/Core/Chart/Chart.js +16 -20
  21. package/es-modules/Core/Chart/Chart3D.js +4 -4
  22. package/es-modules/Core/Chart/ChartDefaults.js +33 -43
  23. package/es-modules/Core/Chart/GanttChart.js +1 -1
  24. package/es-modules/Core/Chart/MapChart.js +1 -1
  25. package/es-modules/Core/Chart/StockChart.js +11 -28
  26. package/es-modules/Core/{DefaultOptions.js → Defaults.js} +21 -37
  27. package/es-modules/Core/FormatUtilities.js +1 -1
  28. package/es-modules/Core/Globals.js +1 -1
  29. package/es-modules/Core/Legend/Legend.js +114 -110
  30. package/es-modules/Core/Legend/LegendSymbol.js +9 -6
  31. package/es-modules/Core/MSPointer.js +4 -2
  32. package/es-modules/Core/Pointer.js +125 -75
  33. package/es-modules/Core/Renderer/SVG/SVGElement.js +0 -3
  34. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +28 -14
  35. package/es-modules/Core/Series/DataLabel.js +8 -5
  36. package/es-modules/Core/Series/Point.js +38 -22
  37. package/es-modules/Core/Series/Series.js +12 -9
  38. package/es-modules/Core/Series/SeriesDefaults.js +36 -24
  39. package/es-modules/Core/Series/SeriesRegistry.js +2 -2
  40. package/es-modules/Core/Time.js +6 -5
  41. package/es-modules/Core/Tooltip.js +6 -28
  42. package/es-modules/Core/Utilities.js +6 -8
  43. package/es-modules/Extensions/Annotations/Annotation.js +1 -1
  44. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +13 -8
  45. package/es-modules/Extensions/Annotations/MockPoint.js +2 -1
  46. package/es-modules/Extensions/Annotations/NavigationBindings.js +4 -5
  47. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  48. package/es-modules/Extensions/Annotations/Popup/Popup.js +2 -2
  49. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -4
  50. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  51. package/es-modules/Extensions/Boost/BoostSeries.js +11 -8
  52. package/es-modules/Extensions/Breadcrumbs.js +2 -2
  53. package/es-modules/Extensions/Data.js +2 -2
  54. package/es-modules/Extensions/DataGrouping/ApproximationDefaults.js +157 -0
  55. package/es-modules/Extensions/DataGrouping/ApproximationRegistry.js +35 -0
  56. package/es-modules/Extensions/DataGrouping/DataGrouping.js +469 -0
  57. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +174 -0
  58. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +143 -0
  59. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +479 -0
  60. package/es-modules/Extensions/Debugger/Debugger.js +1 -1
  61. package/es-modules/Extensions/DraggablePoints.js +6 -2
  62. package/es-modules/Extensions/Drilldown.js +3 -5
  63. package/es-modules/Extensions/ExportData/ExportData.js +31 -5
  64. package/es-modules/Extensions/Exporting/Exporting.js +47 -60
  65. package/es-modules/Extensions/Exporting/ExportingDefaults.js +22 -24
  66. package/es-modules/Extensions/GeoJSON.js +3 -1
  67. package/es-modules/Extensions/MarkerClusters.js +1 -1
  68. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  69. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -5
  70. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  71. package/es-modules/Extensions/Oldie/Oldie.js +3 -3
  72. package/es-modules/Extensions/Oldie/VMLRenderer3D.js +1 -1
  73. package/es-modules/Extensions/OldiePolyfills.js +3 -1
  74. package/es-modules/Extensions/Pane.js +42 -5
  75. package/es-modules/Extensions/ParallelCoordinates.js +5 -1
  76. package/es-modules/Extensions/PatternFill.js +10 -10
  77. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  78. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +4 -0
  79. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  80. package/es-modules/Extensions/Themes/Avocado.js +1 -1
  81. package/es-modules/Extensions/Themes/BrandDark.js +1 -1
  82. package/es-modules/Extensions/Themes/BrandLight.js +1 -1
  83. package/es-modules/Extensions/Themes/DarkBlue.js +1 -1
  84. package/es-modules/Extensions/Themes/DarkGreen.js +1 -1
  85. package/es-modules/Extensions/Themes/DarkUnica.js +1 -1
  86. package/es-modules/Extensions/Themes/Gray.js +1 -1
  87. package/es-modules/Extensions/Themes/Grid.js +1 -1
  88. package/es-modules/Extensions/Themes/GridLight.js +1 -1
  89. package/es-modules/Extensions/Themes/HighContrastDark.js +1 -1
  90. package/es-modules/Extensions/Themes/HighContrastLight.js +1 -1
  91. package/es-modules/Extensions/Themes/SandSignika.js +1 -1
  92. package/es-modules/Extensions/Themes/Skies.js +1 -1
  93. package/es-modules/Extensions/Themes/Sunset.js +1 -1
  94. package/es-modules/Gantt/Connection.js +5 -5
  95. package/es-modules/Gantt/Pathfinder.js +6 -6
  96. package/es-modules/Maps/MapNavigation.js +1 -1
  97. package/es-modules/Maps/{MapNavigationOptionsDefault.js → MapNavigationDefaults.js} +4 -4
  98. package/es-modules/Maps/MapViewOptionsDefault.js +4 -4
  99. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -5
  100. package/es-modules/Series/AreaRange/AreaRangePoint.js +6 -10
  101. package/es-modules/Series/AreaRange/AreaRangeSeries.js +59 -48
  102. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -1
  103. package/es-modules/Series/Bubble/BubbleLegendComposition.js +22 -16
  104. package/es-modules/Series/Bubble/BubbleLegendItem.js +17 -21
  105. package/es-modules/Series/Candlestick/CandlestickSeries.js +15 -175
  106. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +179 -0
  107. package/es-modules/Series/Column/ColumnSeries.js +25 -506
  108. package/es-modules/Series/Column/ColumnSeriesDefaults.js +487 -0
  109. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +40 -36
  110. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -106
  111. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +183 -0
  112. package/es-modules/Series/DotPlot/DotPlotSeries.js +11 -12
  113. package/es-modules/Series/DrawPointUtilities.js +2 -14
  114. package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -4
  115. package/es-modules/Series/Dumbbell/DumbbellSeries.js +11 -7
  116. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +19 -136
  117. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +147 -0
  118. package/es-modules/Series/Flags/FlagsPoint.js +2 -3
  119. package/es-modules/Series/Flags/FlagsSeries.js +31 -298
  120. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +295 -0
  121. package/es-modules/Series/Flags/FlagsSymbols.js +96 -71
  122. package/es-modules/Series/HLC/HLCPoint.js +2 -2
  123. package/es-modules/Series/HLC/HLCSeries.js +7 -172
  124. package/es-modules/Series/HLC/HLCSeriesDefaults.js +184 -0
  125. package/es-modules/Series/Heatmap/HeatmapSeries.js +3 -0
  126. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -20
  127. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +78 -139
  128. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +102 -0
  129. package/es-modules/Series/Item/ItemPoint.js +0 -1
  130. package/es-modules/Series/Item/ItemSeries.js +13 -8
  131. package/es-modules/Series/Line/LineSeries.js +8 -4
  132. package/es-modules/Series/Map/MapPoint.js +19 -1
  133. package/es-modules/Series/Map/MapSeries.js +7 -3
  134. package/es-modules/Series/MapBubble/MapBubbleSeries.js +4 -0
  135. package/es-modules/Series/MapPoint/MapPointPoint.js +0 -5
  136. package/es-modules/Series/MapPoint/MapPointSeries.js +24 -9
  137. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +2 -5
  138. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +2 -0
  139. package/es-modules/Series/OHLC/OHLCPoint.js +0 -2
  140. package/es-modules/Series/OHLC/OHLCSeries.js +64 -160
  141. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +151 -0
  142. package/es-modules/Series/Organization/OrganizationPoint.js +0 -2
  143. package/es-modules/Series/Organization/OrganizationSeries.js +96 -469
  144. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +415 -0
  145. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -10
  146. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -0
  147. package/es-modules/Series/PathUtilities.js +74 -0
  148. package/es-modules/Series/Pie/PieSeries.js +2 -644
  149. package/es-modules/Series/Pie/PieSeriesDefaults.js +660 -0
  150. package/es-modules/Series/PolarComposition.js +233 -15
  151. package/es-modules/Series/Sankey/SankeySeries.js +27 -530
  152. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +522 -0
  153. package/es-modules/Series/Scatter/ScatterSeries.js +2 -172
  154. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +188 -0
  155. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +12 -182
  156. package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +199 -0
  157. package/es-modules/Series/Sunburst/SunburstNode.js +34 -0
  158. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -1
  159. package/es-modules/Series/Sunburst/SunburstSeries.js +3 -1
  160. package/es-modules/Series/Timeline/TimelineSeries.js +2 -231
  161. package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +248 -0
  162. package/es-modules/Series/TreeUtilities.js +1 -2
  163. package/es-modules/Series/Treegraph/TreegraphLayout.js +338 -0
  164. package/es-modules/Series/Treegraph/TreegraphLink.js +92 -0
  165. package/es-modules/Series/Treegraph/TreegraphNode.js +206 -0
  166. package/es-modules/Series/Treegraph/TreegraphPoint.js +175 -0
  167. package/es-modules/Series/Treegraph/TreegraphSeries.js +510 -0
  168. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +231 -0
  169. package/es-modules/Series/Treemap/TreemapNode.js +48 -0
  170. package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
  171. package/es-modules/Series/Treemap/TreemapSeries.js +29 -27
  172. package/es-modules/Series/Variwide/VariwideComposition.js +70 -26
  173. package/es-modules/Series/Variwide/VariwidePoint.js +8 -7
  174. package/es-modules/Series/Variwide/VariwideSeries.js +19 -14
  175. package/es-modules/Series/Vector/VectorSeries.js +2 -2
  176. package/es-modules/Series/Venn/VennSeries.js +14 -0
  177. package/es-modules/Series/Waterfall/WaterfallSeries.js +0 -1
  178. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -2
  179. package/es-modules/Series/Wordcloud/WordcloudSeries.js +3 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -2
  181. package/es-modules/Stock/Indicators/BB/BBIndicator.js +15 -4
  182. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +21 -18
  183. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -2
  184. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
  185. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +1 -1
  186. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +0 -1
  187. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -4
  188. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -2
  189. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +6 -7
  190. package/es-modules/{Core → Stock/Navigator}/Navigator.js +112 -686
  191. package/es-modules/Stock/Navigator/NavigatorComposition.js +218 -0
  192. package/es-modules/Stock/Navigator/NavigatorDefaults.js +490 -0
  193. package/es-modules/Stock/Navigator/NavigatorSymbols.js +44 -0
  194. package/es-modules/{Extensions → Stock/RangeSelector}/RangeSelector.js +154 -818
  195. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +286 -0
  196. package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +521 -0
  197. package/es-modules/{Core → Stock/Scrollbar}/Scrollbar.js +4 -4
  198. package/es-modules/{Core → Stock/Scrollbar}/ScrollbarDefaults.js +1 -1
  199. package/es-modules/Stock/{StockToolbar.js → StockTools/StockToolbar.js} +2 -2
  200. package/es-modules/Stock/{StockTools.js → StockTools/StockTools.js} +3 -3
  201. package/es-modules/Stock/{StockToolsBindings.js → StockTools/StockToolsBindings.js} +3 -3
  202. package/es-modules/Stock/{StockToolsDefaults.js → StockTools/StockToolsDefaults.js} +4 -4
  203. package/es-modules/Stock/{StockToolsGui.js → StockTools/StockToolsGui.js} +4 -4
  204. package/es-modules/Stock/{StockToolsUtilities.js → StockTools/StockToolsUtilities.js} +4 -4
  205. package/es-modules/masters/highcharts-3d.src.js +3 -5
  206. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  207. package/es-modules/masters/highcharts-more.src.js +1 -1
  208. package/es-modules/masters/highcharts.src.js +6 -6
  209. package/es-modules/masters/highmaps.src.js +1 -1
  210. package/es-modules/masters/highstock.src.js +1 -1
  211. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  212. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  213. package/es-modules/masters/indicators/ao.src.js +1 -1
  214. package/es-modules/masters/indicators/apo.src.js +1 -1
  215. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  216. package/es-modules/masters/indicators/aroon.src.js +1 -1
  217. package/es-modules/masters/indicators/atr.src.js +1 -1
  218. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  219. package/es-modules/masters/indicators/cci.src.js +1 -1
  220. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  221. package/es-modules/masters/indicators/cmf.src.js +1 -1
  222. package/es-modules/masters/indicators/cmo.src.js +1 -1
  223. package/es-modules/masters/indicators/dema.src.js +1 -1
  224. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  225. package/es-modules/masters/indicators/dmi.src.js +1 -1
  226. package/es-modules/masters/indicators/dpo.src.js +1 -1
  227. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  228. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  229. package/es-modules/masters/indicators/indicators.src.js +1 -1
  230. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  231. package/es-modules/masters/indicators/klinger.src.js +1 -1
  232. package/es-modules/masters/indicators/macd.src.js +1 -1
  233. package/es-modules/masters/indicators/mfi.src.js +1 -1
  234. package/es-modules/masters/indicators/momentum.src.js +1 -1
  235. package/es-modules/masters/indicators/natr.src.js +1 -1
  236. package/es-modules/masters/indicators/obv.src.js +1 -1
  237. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  238. package/es-modules/masters/indicators/ppo.src.js +1 -1
  239. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  240. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  241. package/es-modules/masters/indicators/psar.src.js +1 -1
  242. package/es-modules/masters/indicators/regressions.src.js +1 -1
  243. package/es-modules/masters/indicators/roc.src.js +1 -1
  244. package/es-modules/masters/indicators/rsi.src.js +1 -1
  245. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  246. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  247. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  248. package/es-modules/masters/indicators/tema.src.js +1 -1
  249. package/es-modules/masters/indicators/trendline.src.js +1 -1
  250. package/es-modules/masters/indicators/trix.src.js +1 -1
  251. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  252. package/es-modules/masters/indicators/vwap.src.js +1 -1
  253. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  254. package/es-modules/masters/indicators/wma.src.js +1 -1
  255. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  256. package/es-modules/masters/modules/accessibility.src.js +1 -1
  257. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  258. package/es-modules/masters/modules/annotations.src.js +1 -1
  259. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  260. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  261. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  262. package/es-modules/masters/modules/boost.src.js +1 -1
  263. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  264. package/es-modules/masters/modules/bullet.src.js +1 -1
  265. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  266. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  267. package/es-modules/masters/modules/cylinder.src.js +1 -1
  268. package/es-modules/masters/modules/data.src.js +1 -1
  269. package/es-modules/masters/modules/datagrouping.src.js +11 -3
  270. package/es-modules/masters/modules/debugger.src.js +1 -1
  271. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  272. package/es-modules/masters/modules/dotplot.src.js +1 -1
  273. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  274. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  275. package/es-modules/masters/modules/drilldown.src.js +1 -1
  276. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  277. package/es-modules/masters/modules/export-data.src.js +1 -1
  278. package/es-modules/masters/modules/exporting.src.js +1 -1
  279. package/es-modules/masters/modules/full-screen.src.js +1 -1
  280. package/es-modules/masters/modules/funnel.src.js +1 -1
  281. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  282. package/es-modules/masters/modules/gantt.src.js +9 -5
  283. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  284. package/es-modules/masters/modules/heatmap.src.js +1 -1
  285. package/es-modules/masters/modules/heikinashi.src.js +5 -2
  286. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  287. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  288. package/es-modules/masters/modules/item-series.src.js +1 -1
  289. package/es-modules/masters/modules/lollipop.src.js +1 -1
  290. package/es-modules/masters/modules/map.src.js +1 -1
  291. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  292. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  293. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  294. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  295. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  296. package/es-modules/masters/modules/oldie.src.js +1 -1
  297. package/es-modules/masters/modules/organization.src.js +1 -1
  298. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  299. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  300. package/es-modules/masters/modules/pareto.src.js +1 -1
  301. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  302. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  303. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  304. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  305. package/es-modules/masters/modules/sankey.src.js +1 -1
  306. package/es-modules/masters/modules/series-label.src.js +1 -1
  307. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  308. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  309. package/es-modules/masters/modules/sonification.src.js +1 -1
  310. package/es-modules/masters/modules/static-scale.src.js +1 -1
  311. package/es-modules/masters/modules/stock-tools.src.js +4 -4
  312. package/es-modules/masters/modules/stock.src.js +17 -11
  313. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  314. package/es-modules/masters/modules/sunburst.src.js +1 -1
  315. package/es-modules/masters/modules/tilemap.src.js +1 -1
  316. package/es-modules/masters/modules/timeline.src.js +1 -1
  317. package/es-modules/masters/modules/treegraph.src.js +13 -0
  318. package/es-modules/masters/modules/treegrid.src.js +1 -1
  319. package/es-modules/masters/modules/treemap.src.js +1 -1
  320. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  321. package/es-modules/masters/modules/variwide.src.js +5 -2
  322. package/es-modules/masters/modules/vector.src.js +1 -1
  323. package/es-modules/masters/modules/venn.src.js +1 -1
  324. package/es-modules/masters/modules/windbarb.src.js +1 -1
  325. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  326. package/es-modules/masters/modules/xrange.src.js +1 -1
  327. package/es-modules/masters/themes/avocado.src.js +1 -1
  328. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  329. package/es-modules/masters/themes/brand-light.src.js +1 -1
  330. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  331. package/es-modules/masters/themes/dark-green.src.js +1 -1
  332. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  333. package/es-modules/masters/themes/gray.src.js +1 -1
  334. package/es-modules/masters/themes/grid-light.src.js +1 -1
  335. package/es-modules/masters/themes/grid.src.js +1 -1
  336. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  337. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  338. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  339. package/es-modules/masters/themes/skies.src.js +1 -1
  340. package/es-modules/masters/themes/sunset.src.js +1 -1
  341. package/highcharts-3d.js +97 -98
  342. package/highcharts-3d.js.map +1 -1
  343. package/highcharts-3d.src.js +476 -449
  344. package/highcharts-gantt.js +811 -808
  345. package/highcharts-gantt.js.map +1 -1
  346. package/highcharts-gantt.src.js +14619 -14112
  347. package/highcharts-more.d.ts +0 -8
  348. package/highcharts-more.js +208 -201
  349. package/highcharts-more.js.map +1 -1
  350. package/highcharts-more.src.d.ts +0 -8
  351. package/highcharts-more.src.js +679 -289
  352. package/highcharts.d.ts +30739 -6156
  353. package/highcharts.js +590 -589
  354. package/highcharts.js.map +1 -1
  355. package/highcharts.src.d.ts +30739 -6156
  356. package/highcharts.src.js +1988 -1799
  357. package/highmaps.js +759 -757
  358. package/highmaps.js.map +1 -1
  359. package/highmaps.src.js +2339 -2077
  360. package/highstock.js +802 -794
  361. package/highstock.js.map +1 -1
  362. package/highstock.src.js +12349 -11416
  363. package/indicators/acceleration-bands.js +1 -1
  364. package/indicators/acceleration-bands.src.js +1 -1
  365. package/indicators/accumulation-distribution.js +1 -1
  366. package/indicators/accumulation-distribution.src.js +1 -1
  367. package/indicators/ao.js +6 -6
  368. package/indicators/ao.js.map +1 -1
  369. package/indicators/ao.src.js +4 -3
  370. package/indicators/apo.js +1 -1
  371. package/indicators/apo.src.js +1 -1
  372. package/indicators/aroon-oscillator.js +1 -1
  373. package/indicators/aroon-oscillator.src.js +1 -1
  374. package/indicators/aroon.js +1 -1
  375. package/indicators/aroon.src.js +1 -1
  376. package/indicators/atr.js +1 -1
  377. package/indicators/atr.src.js +1 -1
  378. package/indicators/bollinger-bands.js +1 -1
  379. package/indicators/bollinger-bands.js.map +1 -1
  380. package/indicators/bollinger-bands.src.js +16 -5
  381. package/indicators/cci.js +1 -1
  382. package/indicators/cci.src.js +1 -1
  383. package/indicators/chaikin.js +1 -1
  384. package/indicators/chaikin.src.js +1 -1
  385. package/indicators/cmf.js +1 -1
  386. package/indicators/cmf.src.js +1 -1
  387. package/indicators/cmo.d.ts +17 -0
  388. package/indicators/cmo.js +1 -1
  389. package/indicators/cmo.src.d.ts +17 -0
  390. package/indicators/cmo.src.js +1 -1
  391. package/indicators/dema.js +1 -1
  392. package/indicators/dema.src.js +1 -1
  393. package/indicators/disparity-index.d.ts +17 -0
  394. package/indicators/disparity-index.js +1 -1
  395. package/indicators/disparity-index.src.d.ts +17 -0
  396. package/indicators/disparity-index.src.js +1 -1
  397. package/indicators/dmi.d.ts +17 -0
  398. package/indicators/dmi.js +1 -1
  399. package/indicators/dmi.src.d.ts +17 -0
  400. package/indicators/dmi.src.js +1 -1
  401. package/indicators/dpo.js +1 -1
  402. package/indicators/dpo.src.js +1 -1
  403. package/indicators/ichimoku-kinko-hyo.js +14 -14
  404. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  405. package/indicators/ichimoku-kinko-hyo.src.js +22 -19
  406. package/indicators/indicators-all.js +198 -199
  407. package/indicators/indicators-all.js.map +1 -1
  408. package/indicators/indicators-all.src.js +63 -57
  409. package/indicators/indicators.js +13 -13
  410. package/indicators/indicators.js.map +1 -1
  411. package/indicators/indicators.src.js +1 -15
  412. package/indicators/keltner-channels.js +1 -1
  413. package/indicators/keltner-channels.src.js +1 -1
  414. package/indicators/klinger.d.ts +17 -0
  415. package/indicators/klinger.js +12 -12
  416. package/indicators/klinger.js.map +1 -1
  417. package/indicators/klinger.src.d.ts +17 -0
  418. package/indicators/klinger.src.js +4 -3
  419. package/indicators/macd.js +1 -1
  420. package/indicators/macd.js.map +1 -1
  421. package/indicators/macd.src.js +4 -3
  422. package/indicators/mfi.js +1 -1
  423. package/indicators/mfi.src.js +1 -1
  424. package/indicators/momentum.js +1 -1
  425. package/indicators/momentum.src.js +1 -1
  426. package/indicators/natr.js +1 -1
  427. package/indicators/natr.src.js +1 -1
  428. package/indicators/obv.d.ts +17 -0
  429. package/indicators/obv.js +1 -1
  430. package/indicators/obv.src.d.ts +17 -0
  431. package/indicators/obv.src.js +1 -1
  432. package/indicators/pivot-points.js +2 -2
  433. package/indicators/pivot-points.js.map +1 -1
  434. package/indicators/pivot-points.src.js +2 -2
  435. package/indicators/ppo.js +1 -1
  436. package/indicators/ppo.src.js +1 -1
  437. package/indicators/price-channel.js +1 -1
  438. package/indicators/price-channel.src.js +1 -1
  439. package/indicators/price-envelopes.js +1 -1
  440. package/indicators/price-envelopes.src.js +1 -1
  441. package/indicators/psar.js +1 -1
  442. package/indicators/psar.src.js +1 -1
  443. package/indicators/regressions.js +1 -1
  444. package/indicators/regressions.src.js +1 -1
  445. package/indicators/roc.js +1 -1
  446. package/indicators/roc.src.js +1 -1
  447. package/indicators/rsi.js +1 -1
  448. package/indicators/rsi.src.js +1 -1
  449. package/indicators/slow-stochastic.js +5 -5
  450. package/indicators/slow-stochastic.js.map +1 -1
  451. package/indicators/slow-stochastic.src.js +6 -5
  452. package/indicators/stochastic.js +1 -1
  453. package/indicators/stochastic.src.js +1 -1
  454. package/indicators/supertrend.js +7 -7
  455. package/indicators/supertrend.js.map +1 -1
  456. package/indicators/supertrend.src.js +4 -3
  457. package/indicators/tema.js +1 -1
  458. package/indicators/tema.src.js +1 -1
  459. package/indicators/trendline.js +1 -1
  460. package/indicators/trendline.src.js +1 -1
  461. package/indicators/trix.js +1 -1
  462. package/indicators/trix.src.js +1 -1
  463. package/indicators/volume-by-price.js +17 -17
  464. package/indicators/volume-by-price.js.map +1 -1
  465. package/indicators/volume-by-price.src.js +9 -8
  466. package/indicators/vwap.js +1 -1
  467. package/indicators/vwap.src.js +1 -1
  468. package/indicators/williams-r.js +1 -1
  469. package/indicators/williams-r.src.js +1 -1
  470. package/indicators/wma.js +1 -1
  471. package/indicators/wma.src.js +1 -1
  472. package/indicators/zigzag.js +1 -1
  473. package/indicators/zigzag.src.js +1 -1
  474. package/modules/accessibility.js +214 -213
  475. package/modules/accessibility.js.map +1 -1
  476. package/modules/accessibility.src.js +991 -835
  477. package/modules/annotations-advanced.js +16 -16
  478. package/modules/annotations-advanced.js.map +1 -1
  479. package/modules/annotations-advanced.src.js +29 -24
  480. package/modules/annotations.js +91 -91
  481. package/modules/annotations.js.map +1 -1
  482. package/modules/annotations.src.js +29 -24
  483. package/modules/arc-diagram.d.ts +17 -0
  484. package/modules/arc-diagram.js +15 -15
  485. package/modules/arc-diagram.js.map +1 -1
  486. package/modules/arc-diagram.src.d.ts +17 -0
  487. package/modules/arc-diagram.src.js +6 -6
  488. package/modules/arrow-symbols.js +1 -1
  489. package/modules/arrow-symbols.src.js +1 -1
  490. package/modules/boost-canvas.js +19 -19
  491. package/modules/boost-canvas.js.map +1 -1
  492. package/modules/boost-canvas.src.js +13 -8
  493. package/modules/boost.js +37 -37
  494. package/modules/boost.js.map +1 -1
  495. package/modules/boost.src.js +13 -8
  496. package/modules/broken-axis.js +1 -1
  497. package/modules/broken-axis.src.js +1 -1
  498. package/modules/bullet.js +1 -1
  499. package/modules/bullet.src.js +1 -1
  500. package/modules/coloraxis.js +25 -24
  501. package/modules/coloraxis.js.map +1 -1
  502. package/modules/coloraxis.src.js +77 -58
  503. package/modules/current-date-indicator.js +1 -1
  504. package/modules/current-date-indicator.src.js +1 -1
  505. package/modules/cylinder.js +1 -1
  506. package/modules/cylinder.src.js +1 -1
  507. package/modules/data.js +27 -27
  508. package/modules/data.js.map +1 -1
  509. package/modules/data.src.js +3 -3
  510. package/modules/datagrouping.d.ts +31 -0
  511. package/modules/datagrouping.js +23 -21
  512. package/modules/datagrouping.js.map +1 -1
  513. package/modules/datagrouping.src.d.ts +31 -0
  514. package/modules/datagrouping.src.js +921 -640
  515. package/modules/debugger.js +3 -3
  516. package/modules/debugger.js.map +1 -1
  517. package/modules/debugger.src.js +2 -2
  518. package/modules/dependency-wheel.js +12 -12
  519. package/modules/dependency-wheel.js.map +1 -1
  520. package/modules/dependency-wheel.src.js +191 -108
  521. package/modules/dotplot.js +6 -6
  522. package/modules/dotplot.js.map +1 -1
  523. package/modules/dotplot.src.js +10 -13
  524. package/modules/drag-panes.js +1 -1
  525. package/modules/drag-panes.src.js +1 -1
  526. package/modules/draggable-points.js +5 -5
  527. package/modules/draggable-points.js.map +1 -1
  528. package/modules/draggable-points.src.js +7 -3
  529. package/modules/drilldown.js +37 -37
  530. package/modules/drilldown.js.map +1 -1
  531. package/modules/drilldown.src.js +5 -6
  532. package/modules/dumbbell.js +17 -17
  533. package/modules/dumbbell.js.map +1 -1
  534. package/modules/dumbbell.src.js +27 -22
  535. package/modules/export-data.js +26 -25
  536. package/modules/export-data.js.map +1 -1
  537. package/modules/export-data.src.js +33 -6
  538. package/modules/exporting.js +36 -35
  539. package/modules/exporting.js.map +1 -1
  540. package/modules/exporting.src.js +81 -88
  541. package/modules/full-screen.js +1 -1
  542. package/modules/full-screen.src.js +1 -1
  543. package/modules/funnel.js +1 -1
  544. package/modules/funnel.src.js +1 -1
  545. package/modules/funnel3d.js +1 -1
  546. package/modules/funnel3d.src.js +1 -1
  547. package/modules/gantt.js +221 -219
  548. package/modules/gantt.js.map +1 -1
  549. package/modules/gantt.src.js +12842 -12524
  550. package/modules/grid-axis.js +1 -1
  551. package/modules/grid-axis.src.js +1 -1
  552. package/modules/heatmap.js +40 -40
  553. package/modules/heatmap.js.map +1 -1
  554. package/modules/heatmap.src.js +80 -58
  555. package/modules/heikinashi.d.ts +17 -0
  556. package/modules/heikinashi.js +9 -8
  557. package/modules/heikinashi.js.map +1 -1
  558. package/modules/heikinashi.src.d.ts +17 -0
  559. package/modules/heikinashi.src.js +192 -165
  560. package/modules/histogram-bellcurve.js +1 -1
  561. package/modules/histogram-bellcurve.src.js +1 -1
  562. package/modules/hollowcandlestick.d.ts +17 -0
  563. package/modules/hollowcandlestick.js +1 -1
  564. package/modules/hollowcandlestick.src.d.ts +17 -0
  565. package/modules/hollowcandlestick.src.js +1 -1
  566. package/modules/item-series.js +12 -12
  567. package/modules/item-series.js.map +1 -1
  568. package/modules/item-series.src.js +14 -10
  569. package/modules/lollipop.js +1 -1
  570. package/modules/lollipop.src.js +1 -1
  571. package/modules/map.js +172 -171
  572. package/modules/map.js.map +1 -1
  573. package/modules/map.src.js +194 -121
  574. package/modules/marker-clusters.js +2 -2
  575. package/modules/marker-clusters.js.map +1 -1
  576. package/modules/marker-clusters.src.js +2 -2
  577. package/modules/networkgraph.js +8 -8
  578. package/modules/networkgraph.js.map +1 -1
  579. package/modules/networkgraph.src.js +5 -6
  580. package/modules/no-data-to-display.js +4 -4
  581. package/modules/no-data-to-display.js.map +1 -1
  582. package/modules/no-data-to-display.src.js +2 -2
  583. package/modules/offline-exporting.js +4 -4
  584. package/modules/offline-exporting.js.map +1 -1
  585. package/modules/offline-exporting.src.js +7 -7
  586. package/modules/oldie-polyfills.js +7 -7
  587. package/modules/oldie-polyfills.js.map +1 -1
  588. package/modules/oldie-polyfills.src.js +9 -7
  589. package/modules/oldie.js +30 -30
  590. package/modules/oldie.js.map +1 -1
  591. package/modules/oldie.src.js +5 -5
  592. package/modules/organization.js +18 -16
  593. package/modules/organization.js.map +1 -1
  594. package/modules/organization.src.js +659 -495
  595. package/modules/overlapping-datalabels.js +1 -1
  596. package/modules/overlapping-datalabels.src.js +1 -1
  597. package/modules/parallel-coordinates.js +10 -10
  598. package/modules/parallel-coordinates.js.map +1 -1
  599. package/modules/parallel-coordinates.src.js +6 -2
  600. package/modules/pareto.js +1 -1
  601. package/modules/pareto.src.js +1 -1
  602. package/modules/pathfinder.js +31 -31
  603. package/modules/pathfinder.js.map +1 -1
  604. package/modules/pathfinder.src.js +19 -23
  605. package/modules/pattern-fill.js +2 -2
  606. package/modules/pattern-fill.js.map +1 -1
  607. package/modules/pattern-fill.src.js +11 -11
  608. package/modules/price-indicator.js +1 -1
  609. package/modules/price-indicator.src.js +1 -1
  610. package/modules/pyramid3d.js +1 -1
  611. package/modules/pyramid3d.src.js +1 -1
  612. package/modules/sankey.js +33 -32
  613. package/modules/sankey.js.map +1 -1
  614. package/modules/sankey.src.js +571 -550
  615. package/modules/series-label.js +17 -17
  616. package/modules/series-label.js.map +1 -1
  617. package/modules/series-label.src.js +7 -3
  618. package/modules/series-on-point.d.ts +17 -0
  619. package/modules/series-on-point.js +1 -1
  620. package/modules/series-on-point.src.d.ts +17 -0
  621. package/modules/series-on-point.src.js +1 -1
  622. package/modules/solid-gauge.js +11 -10
  623. package/modules/solid-gauge.js.map +1 -1
  624. package/modules/solid-gauge.src.js +220 -192
  625. package/modules/sonification.js +2 -2
  626. package/modules/sonification.js.map +1 -1
  627. package/modules/sonification.src.js +2 -2
  628. package/modules/static-scale.js +1 -1
  629. package/modules/static-scale.src.js +1 -1
  630. package/modules/stock-tools.js +59 -59
  631. package/modules/stock-tools.js.map +1 -1
  632. package/modules/stock-tools.src.js +19 -21
  633. package/modules/stock.d.ts +26 -6
  634. package/modules/stock.js +212 -205
  635. package/modules/stock.js.map +1 -1
  636. package/modules/stock.src.d.ts +26 -6
  637. package/modules/stock.src.js +11361 -10617
  638. package/modules/streamgraph.js +1 -1
  639. package/modules/streamgraph.src.js +1 -1
  640. package/modules/sunburst.js +75 -73
  641. package/modules/sunburst.js.map +1 -1
  642. package/modules/sunburst.src.js +133 -57
  643. package/modules/tilemap.js +1 -1
  644. package/modules/tilemap.src.js +1 -1
  645. package/modules/timeline.js +18 -18
  646. package/modules/timeline.js.map +1 -1
  647. package/modules/timeline.src.js +257 -233
  648. package/modules/treegraph.d.ts +17 -0
  649. package/modules/treegraph.js +44 -0
  650. package/modules/treegraph.js.map +1 -0
  651. package/modules/treegraph.src.d.ts +17 -0
  652. package/modules/treegraph.src.js +1829 -0
  653. package/modules/treegrid.js +2 -2
  654. package/modules/treegrid.js.map +1 -1
  655. package/modules/treegrid.src.js +2 -3
  656. package/modules/treemap.js +54 -53
  657. package/modules/treemap.js.map +1 -1
  658. package/modules/treemap.src.js +90 -52
  659. package/modules/variable-pie.js +1 -1
  660. package/modules/variable-pie.src.js +1 -1
  661. package/modules/variwide.js +12 -12
  662. package/modules/variwide.js.map +1 -1
  663. package/modules/variwide.src.js +158 -106
  664. package/modules/vector.js +1 -1
  665. package/modules/vector.src.js +3 -3
  666. package/modules/venn.js +31 -31
  667. package/modules/venn.js.map +1 -1
  668. package/modules/venn.src.js +17 -16
  669. package/modules/windbarb.js +15 -15
  670. package/modules/windbarb.js.map +1 -1
  671. package/modules/windbarb.src.js +41 -4
  672. package/modules/wordcloud.js +23 -23
  673. package/modules/wordcloud.js.map +1 -1
  674. package/modules/wordcloud.src.js +6 -15
  675. package/modules/xrange.js +1 -1
  676. package/modules/xrange.src.js +1 -1
  677. package/package.json +1 -1
  678. package/themes/avocado.js +2 -3
  679. package/themes/avocado.js.map +1 -1
  680. package/themes/avocado.src.js +2 -2
  681. package/themes/brand-dark.d.ts +22 -0
  682. package/themes/brand-dark.js +3 -3
  683. package/themes/brand-dark.js.map +1 -1
  684. package/themes/brand-dark.src.d.ts +22 -0
  685. package/themes/brand-dark.src.js +2 -2
  686. package/themes/brand-light.d.ts +22 -0
  687. package/themes/brand-light.js +2 -2
  688. package/themes/brand-light.js.map +1 -1
  689. package/themes/brand-light.src.d.ts +22 -0
  690. package/themes/brand-light.src.js +2 -2
  691. package/themes/dark-blue.js +2 -2
  692. package/themes/dark-blue.js.map +1 -1
  693. package/themes/dark-blue.src.js +2 -2
  694. package/themes/dark-green.js +2 -2
  695. package/themes/dark-green.js.map +1 -1
  696. package/themes/dark-green.src.js +2 -2
  697. package/themes/dark-unica.js +2 -2
  698. package/themes/dark-unica.js.map +1 -1
  699. package/themes/dark-unica.src.js +2 -2
  700. package/themes/gray.js +2 -2
  701. package/themes/gray.js.map +1 -1
  702. package/themes/gray.src.js +2 -2
  703. package/themes/grid-light.js +2 -2
  704. package/themes/grid-light.js.map +1 -1
  705. package/themes/grid-light.src.js +2 -2
  706. package/themes/grid.js +2 -2
  707. package/themes/grid.js.map +1 -1
  708. package/themes/grid.src.js +2 -2
  709. package/themes/high-contrast-dark.d.ts +22 -0
  710. package/themes/high-contrast-dark.js +2 -2
  711. package/themes/high-contrast-dark.js.map +1 -1
  712. package/themes/high-contrast-dark.src.d.ts +22 -0
  713. package/themes/high-contrast-dark.src.js +2 -2
  714. package/themes/high-contrast-light.d.ts +22 -0
  715. package/themes/high-contrast-light.js +2 -2
  716. package/themes/high-contrast-light.js.map +1 -1
  717. package/themes/high-contrast-light.src.d.ts +22 -0
  718. package/themes/high-contrast-light.src.js +2 -2
  719. package/themes/sand-signika.js +2 -2
  720. package/themes/sand-signika.js.map +1 -1
  721. package/themes/sand-signika.src.js +2 -2
  722. package/themes/skies.js +2 -2
  723. package/themes/skies.js.map +1 -1
  724. package/themes/skies.src.js +2 -2
  725. package/themes/sunset.js +2 -2
  726. package/themes/sunset.js.map +1 -1
  727. package/themes/sunset.src.js +2 -2
  728. package/es-modules/Core/Axis/Axis3D.js +0 -612
  729. package/es-modules/Core/Axis/NavigatorAxis.js +0 -159
  730. package/es-modules/Core/Axis/Tick3D.js +0 -68
  731. package/es-modules/Extensions/DataGrouping.js +0 -1177
  732. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -12
@@ -23,7 +23,7 @@ var addEvent = U.addEvent, attr = U.attr, css = U.css, defined = U.defined, exte
23
23
  /* eslint-disable no-invalid-this, valid-jsdoc */
24
24
  /**
25
25
  * The mouse and touch tracker object. Each {@link Chart} item has one
26
- * assosiated Pointer item that can be accessed from the {@link Chart.pointer}
26
+ * associated Pointer item that can be accessed from the {@link Chart.pointer}
27
27
  * property.
28
28
  *
29
29
  * @class
@@ -123,6 +123,41 @@ var Pointer = /** @class */ (function () {
123
123
  pointer[prop] = void 0;
124
124
  });
125
125
  };
126
+ /**
127
+ * Calculate attrs for selection marker.
128
+ * @private
129
+ * @function Highcharts.Pointer#getSelectionMarkerAttrs
130
+ * @emits getSelectionMarkerAttrs
131
+ */
132
+ Pointer.prototype.getSelectionMarkerAttrs = function (chartX, chartY) {
133
+ var _this = this;
134
+ var e = {
135
+ args: { chartX: chartX, chartY: chartY },
136
+ attrs: {},
137
+ shapeType: 'rect'
138
+ };
139
+ fireEvent(this, 'getSelectionMarkerAttrs', e, function (e) {
140
+ var _a = _this, chart = _a.chart, _b = _a.mouseDownX, mouseDownX = _b === void 0 ? 0 : _b, _c = _a.mouseDownY, mouseDownY = _c === void 0 ? 0 : _c, zoomHor = _a.zoomHor, zoomVert = _a.zoomVert, attrs = e.attrs;
141
+ var size;
142
+ attrs.x = chart.plotLeft;
143
+ attrs.y = chart.plotTop;
144
+ attrs.width = zoomHor ? 1 : chart.plotWidth;
145
+ attrs.height = zoomVert ? 1 : chart.plotHeight;
146
+ // Adjust the width of the selection marker
147
+ if (zoomHor) {
148
+ size = chartX - mouseDownX;
149
+ attrs.width = Math.abs(size);
150
+ attrs.x = (size > 0 ? 0 : size) + mouseDownX;
151
+ }
152
+ // Adjust the height of the selection marker
153
+ if (zoomVert) {
154
+ size = chartY - mouseDownY;
155
+ attrs.height = Math.abs(size);
156
+ attrs.y = (size > 0 ? 0 : size) + mouseDownY;
157
+ }
158
+ });
159
+ return e;
160
+ };
126
161
  /**
127
162
  * Perform a drag operation in response to a mousemove event while the mouse
128
163
  * is down.
@@ -130,17 +165,17 @@ var Pointer = /** @class */ (function () {
130
165
  * @function Highcharts.Pointer#drag
131
166
  */
132
167
  Pointer.prototype.drag = function (e) {
133
- var chart = this.chart, chartOptions = chart.options.chart, zoomHor = this.zoomHor, zoomVert = this.zoomVert, plotLeft = chart.plotLeft, plotTop = chart.plotTop, plotWidth = chart.plotWidth, plotHeight = chart.plotHeight, mouseDownX = (this.mouseDownX || 0), mouseDownY = (this.mouseDownY || 0), panningEnabled = isObject(chartOptions.panning) ?
168
+ var chart = this.chart, chartOptions = chart.options.chart, plotLeft = chart.plotLeft, plotTop = chart.plotTop, plotWidth = chart.plotWidth, plotHeight = chart.plotHeight, mouseDownX = (this.mouseDownX || 0), mouseDownY = (this.mouseDownY || 0), panningEnabled = isObject(chartOptions.panning) ?
134
169
  chartOptions.panning && chartOptions.panning.enabled :
135
170
  chartOptions.panning, panKey = (chartOptions.panKey && e[chartOptions.panKey + 'Key']);
136
- var chartX = e.chartX, chartY = e.chartY, clickedInside, size, selectionMarker = this.selectionMarker;
171
+ var chartX = e.chartX, chartY = e.chartY, clickedInside, selectionMarker = this.selectionMarker;
137
172
  // If the device supports both touch and mouse (like IE11), and we are
138
173
  // touch-dragging inside the plot area, don't handle the mouse event.
139
174
  // #4339.
140
175
  if (selectionMarker && selectionMarker.touch) {
141
176
  return;
142
177
  }
143
- // If the mouse is outside the plot area, adjust to cooordinates
178
+ // If the mouse is outside the plot area, adjust to coordinates
144
179
  // inside to prevent the selection marker from going outside
145
180
  if (chartX < plotLeft) {
146
181
  chartX = plotLeft;
@@ -161,6 +196,7 @@ var Pointer = /** @class */ (function () {
161
196
  clickedInside = chart.isInsidePlot(mouseDownX - plotLeft, mouseDownY - plotTop, {
162
197
  visiblePlotOnly: true
163
198
  });
199
+ var _a = this.getSelectionMarkerAttrs(chartX, chartY), shapeType = _a.shapeType, attrs = _a.attrs;
164
200
  // make a selection
165
201
  if ((chart.hasCartesianSeries || chart.mapView) &&
166
202
  (this.zoomX || this.zoomY) &&
@@ -168,36 +204,24 @@ var Pointer = /** @class */ (function () {
168
204
  !panKey) {
169
205
  if (!selectionMarker) {
170
206
  this.selectionMarker = selectionMarker =
171
- chart.renderer.rect(plotLeft, plotTop, zoomHor ? 1 : plotWidth, zoomVert ? 1 : plotHeight, 0)
172
- .attr({
173
- 'class': 'highcharts-selection-marker',
174
- zIndex: 7
175
- })
176
- .add();
207
+ chart.renderer[shapeType]();
208
+ selectionMarker
209
+ .attr({
210
+ 'class': 'highcharts-selection-marker',
211
+ zIndex: 7
212
+ })
213
+ .add();
177
214
  if (!chart.styledMode) {
178
215
  selectionMarker.attr({
179
- fill: (chartOptions.selectionMarkerFill ||
216
+ fill: chartOptions.selectionMarkerFill ||
180
217
  color("#335cad" /* Palette.highlightColor80 */)
181
- .setOpacity(0.25).get())
218
+ .setOpacity(0.25).get()
182
219
  });
183
220
  }
184
221
  }
185
222
  }
186
- // adjust the width of the selection marker
187
- if (selectionMarker && zoomHor) {
188
- size = chartX - mouseDownX;
189
- selectionMarker.attr({
190
- width: Math.abs(size),
191
- x: (size > 0 ? 0 : size) + mouseDownX
192
- });
193
- }
194
- // adjust the height of the selection marker
195
- if (selectionMarker && zoomVert) {
196
- size = chartY - mouseDownY;
197
- selectionMarker.attr({
198
- height: Math.abs(size),
199
- y: (size > 0 ? 0 : size) + mouseDownY
200
- });
223
+ if (selectionMarker) {
224
+ selectionMarker.attr(attrs);
201
225
  }
202
226
  // panning
203
227
  if (clickedInside &&
@@ -220,6 +244,27 @@ var Pointer = /** @class */ (function () {
220
244
  chart.mouseDownX = this.mouseDownX = e.chartX;
221
245
  chart.mouseDownY = this.mouseDownY = e.chartY;
222
246
  };
247
+ /**
248
+ * Get selection box to calculate extremes
249
+ * @private
250
+ * @function Highcharts.Pointer#getSelectionBox
251
+ * @emits getSelectionBox
252
+ */
253
+ Pointer.prototype.getSelectionBox = function (marker) {
254
+ var e = {
255
+ args: { marker: marker },
256
+ result: {}
257
+ };
258
+ fireEvent(this, 'getSelectionBox', e, function (e) {
259
+ e.result = {
260
+ x: marker.attr ? +marker.attr('x') : marker.x,
261
+ y: marker.attr ? +marker.attr('y') : marker.y,
262
+ width: marker.attr ? marker.attr('width') : marker.width,
263
+ height: marker.attr ? marker.attr('height') : marker.height
264
+ };
265
+ });
266
+ return e.result;
267
+ };
223
268
  /**
224
269
  * On mouse up or touch end across the entire document, drop the selection.
225
270
  * @private
@@ -228,11 +273,8 @@ var Pointer = /** @class */ (function () {
228
273
  Pointer.prototype.drop = function (e) {
229
274
  var pointer = this, chart = this.chart, hasPinched = this.hasPinched;
230
275
  if (this.selectionMarker) {
231
- var selectionBox = this.selectionMarker, x_1 = selectionBox.attr ? selectionBox.attr('x') : selectionBox.x, y_1 = selectionBox.attr ? selectionBox.attr('y') : selectionBox.y, width_1 = selectionBox.attr ?
232
- selectionBox.attr('width') :
233
- selectionBox.width, height_1 = selectionBox.attr ?
234
- selectionBox.attr('height') :
235
- selectionBox.height, selectionData_1 = {
276
+ var _a = this.getSelectionBox(this.selectionMarker), x_1 = _a.x, y_1 = _a.y, width_1 = _a.width, height_1 = _a.height;
277
+ var selectionData_1 = {
236
278
  originalEvent: e,
237
279
  xAxis: [],
238
280
  yAxis: [],
@@ -256,7 +298,9 @@ var Pointer = /** @class */ (function () {
256
298
  yAxis: 'zoomY'
257
299
  }[axis.coll]]) &&
258
300
  isNumber(x_1) &&
259
- isNumber(y_1)) { // #859, #3569
301
+ isNumber(y_1) &&
302
+ isNumber(width_1) &&
303
+ isNumber(height_1)) { // #859, #3569
260
304
  var horiz = axis.horiz, minPixelPadding = e.type === 'touchend' ?
261
305
  axis.minPixelPadding :
262
306
  0, // #1207, #3075
@@ -315,14 +359,6 @@ var Pointer = /** @class */ (function () {
315
359
  * The point closest to given coordinates.
316
360
  */
317
361
  Pointer.prototype.findNearestKDPoint = function (series, shared, e) {
318
- var chart = this.chart;
319
- var hoverPoint = chart.hoverPoint;
320
- var tooltip = chart.tooltip;
321
- if (hoverPoint &&
322
- tooltip &&
323
- tooltip.isStickyOnContact()) {
324
- return hoverPoint;
325
- }
326
362
  var closest;
327
363
  /** @private */
328
364
  function sort(p1, p2) {
@@ -461,10 +497,10 @@ var Pointer = /** @class */ (function () {
461
497
  * @function Highcharts.Pointer#getHoverData
462
498
  *
463
499
  * @param {Highcharts.Point|undefined} existingHoverPoint
464
- * The point currrently beeing hovered.
500
+ * The point currently being hovered.
465
501
  *
466
502
  * @param {Highcharts.Series|undefined} existingHoverSeries
467
- * The series currently beeing hovered.
503
+ * The series currently being hovered.
468
504
  *
469
505
  * @param {Array<Highcharts.Series>} series
470
506
  * All the series in the chart.
@@ -582,7 +618,7 @@ var Pointer = /** @class */ (function () {
582
618
  };
583
619
  /**
584
620
  * Utility to detect whether an element has, or has a parent with, a
585
- * specificclass name. Used on detection of tracker objects and on deciding
621
+ * specific class name. Used on detection of tracker objects and on deciding
586
622
  * whether hovering the tooltip should cause the active series to mouse out.
587
623
  *
588
624
  * @function Highcharts.Pointer#inClass
@@ -641,7 +677,6 @@ var Pointer = /** @class */ (function () {
641
677
  * @type {Highcharts.Tooltip}
642
678
  */
643
679
  chart.tooltip = new Tooltip(chart, options.tooltip);
644
- this.followTouchMove = pick(options.tooltip.followTouchMove, true);
645
680
  }
646
681
  this.setDOMEvents();
647
682
  };
@@ -755,10 +790,6 @@ var Pointer = /** @class */ (function () {
755
790
  Pointer.prototype.onContainerMouseLeave = function (e) {
756
791
  var chart = charts[pick(Pointer.hoverChartIndex, -1)];
757
792
  var tooltip = this.chart.tooltip;
758
- // #14434: tooltip.options.outside
759
- if (tooltip && tooltip.shouldStickOnContact() && this.inClass(e.relatedTarget, 'highcharts-tooltip-container')) {
760
- return;
761
- }
762
793
  e = this.normalize(e);
763
794
  // #4886, MS Touch end fires mouseleave but with no related target
764
795
  if (chart &&
@@ -786,8 +817,7 @@ var Pointer = /** @class */ (function () {
786
817
  * @function Highcharts.Pointer#onContainerMouseMove
787
818
  */
788
819
  Pointer.prototype.onContainerMouseMove = function (e) {
789
- var chart = this.chart;
790
- var pEvt = this.normalize(e);
820
+ var chart = this.chart, tooltip = chart.tooltip, pEvt = this.normalize(e);
791
821
  this.setHoverChartIndex();
792
822
  // In IE8 we apparently need this returnValue set to false in order to
793
823
  // avoid text being selected. But in Chrome, e.returnValue is prevented,
@@ -805,7 +835,12 @@ var Pointer = /** @class */ (function () {
805
835
  (this.inClass(pEvt.target, 'highcharts-tracker') ||
806
836
  chart.isInsidePlot(pEvt.chartX - chart.plotLeft, pEvt.chartY - chart.plotTop, {
807
837
  visiblePlotOnly: true
808
- }))) {
838
+ })) &&
839
+ // If the tooltip has stickOnContact enabled, do nothing. This
840
+ // applies regardless of any combinations of the `split` and
841
+ // `useHTML` options.
842
+ !(tooltip &&
843
+ tooltip.shouldStickOnContact(pEvt))) {
809
844
  if (this.inClass(pEvt.target, 'highcharts-no-tooltip')) {
810
845
  this.reset(false, 0);
811
846
  }
@@ -858,16 +893,16 @@ var Pointer = /** @class */ (function () {
858
893
  */
859
894
  Pointer.prototype.onDocumentMouseMove = function (e) {
860
895
  var chart = this.chart;
896
+ var tooltip = chart.tooltip;
861
897
  var chartPosition = this.chartPosition;
862
898
  var pEvt = this.normalize(e, chartPosition);
863
- var tooltip = chart.tooltip;
864
899
  // If we're outside, hide the tooltip
865
900
  if (chartPosition &&
866
- (!tooltip ||
867
- !tooltip.isStickyOnContact()) &&
868
901
  !chart.isInsidePlot(pEvt.chartX - chart.plotLeft, pEvt.chartY - chart.plotTop, {
869
902
  visiblePlotOnly: true
870
903
  }) &&
904
+ !(tooltip &&
905
+ tooltip.shouldStickOnContact(pEvt)) &&
871
906
  !this.inClass(pEvt.target, 'highcharts-tracker')) {
872
907
  this.reset();
873
908
  }
@@ -890,7 +925,8 @@ var Pointer = /** @class */ (function () {
890
925
  Pointer.prototype.pinch = function (e) {
891
926
  var self = this, chart = self.chart, pinchDown = self.pinchDown, touches = (e.touches || []), touchesLength = touches.length, lastValidTouch = self.lastValidTouch, hasZoom = self.hasZoom, transform = {}, fireClickEvent = touchesLength === 1 && ((self.inClass(e.target, 'highcharts-tracker') &&
892
927
  chart.runTrackerClick) ||
893
- self.runChartClick), clip = {};
928
+ self.runChartClick), clip = {}, tooltip = self.chart.tooltip, followTouchMove = touchesLength === 1 &&
929
+ pick((tooltip && tooltip.options.followTouchMove), true);
894
930
  var selectionMarker = self.selectionMarker;
895
931
  // Don't initiate panning until the user has pinched. This prevents us
896
932
  // from blocking page scrolling as users scroll down a long page
@@ -898,7 +934,7 @@ var Pointer = /** @class */ (function () {
898
934
  if (touchesLength > 1) {
899
935
  self.initiated = true;
900
936
  }
901
- else if (touchesLength === 1 && this.followTouchMove) {
937
+ else if (followTouchMove) {
902
938
  // #16119: Prevent blocking scroll when single-finger panning is
903
939
  // not enabled
904
940
  self.initiated = false;
@@ -936,7 +972,7 @@ var Pointer = /** @class */ (function () {
936
972
  self.res = true; // reset on next move
937
973
  // Optionally move the tooltip on touchmove
938
974
  }
939
- else if (self.followTouchMove && touchesLength === 1) {
975
+ else if (followTouchMove) {
940
976
  this.runPointActions(self.normalize(e));
941
977
  // Event type is touchmove, handle panning and pinching
942
978
  }
@@ -1416,6 +1452,23 @@ export default Pointer;
1416
1452
  * API Declarations
1417
1453
  *
1418
1454
  * */
1455
+ /**
1456
+ * Chart position and scale.
1457
+ *
1458
+ * @interface Highcharts.ChartPositionObject
1459
+ */ /**
1460
+ * @name Highcharts.ChartPositionObject#left
1461
+ * @type {number}
1462
+ */ /**
1463
+ * @name Highcharts.ChartPositionObject#scaleX
1464
+ * @type {number}
1465
+ */ /**
1466
+ * @name Highcharts.ChartPositionObject#scaleY
1467
+ * @type {number}
1468
+ */ /**
1469
+ * @name Highcharts.ChartPositionObject#top
1470
+ * @type {number}
1471
+ */
1419
1472
  /**
1420
1473
  * One position in relation to an axis.
1421
1474
  *
@@ -1477,44 +1530,41 @@ export default Pointer;
1477
1530
  *
1478
1531
  * @interface Highcharts.SelectDataObject
1479
1532
  */ /**
1533
+ * The selected Axis.
1480
1534
  * @name Highcharts.SelectDataObject#axis
1481
1535
  * @type {Highcharts.Axis}
1482
1536
  */ /**
1537
+ * The maximum axis value, either automatic or set manually.
1483
1538
  * @name Highcharts.SelectDataObject#max
1484
1539
  * @type {number}
1485
1540
  */ /**
1541
+ * The minimum axis value, either automatic or set manually.
1486
1542
  * @name Highcharts.SelectDataObject#min
1487
1543
  * @type {number}
1488
1544
  */
1489
1545
  /**
1490
1546
  * Object for select events.
1547
+ * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a
1548
+ * datetime axis is milliseconds since 1970-01-01 00:00:00.
1491
1549
  *
1492
1550
  * @interface Highcharts.SelectEventObject
1493
1551
  */ /**
1552
+ * The related browser event.
1494
1553
  * @name Highcharts.SelectEventObject#originalEvent
1495
1554
  * @type {global.Event}
1496
1555
  */ /**
1556
+ * Indicates a reset event to restore default state.
1557
+ * @name Highcharts.SelectEventObject#resetSelection
1558
+ * @type {boolean|undefined}
1559
+ */ /**
1560
+ * Arrays containing the axes of each dimension and each axis' min and max
1561
+ * values.
1497
1562
  * @name Highcharts.SelectEventObject#xAxis
1498
1563
  * @type {Array<Highcharts.SelectDataObject>}
1499
1564
  */ /**
1565
+ * Arrays containing the axes of each dimension and each axis' min and max
1566
+ * values.
1500
1567
  * @name Highcharts.SelectEventObject#yAxis
1501
1568
  * @type {Array<Highcharts.SelectDataObject>}
1502
1569
  */
1503
- /**
1504
- * Chart position and scale.
1505
- *
1506
- * @interface Highcharts.ChartPositionObject
1507
- */ /**
1508
- * @name Highcharts.ChartPositionObject#left
1509
- * @type {number}
1510
- */ /**
1511
- * @name Highcharts.ChartPositionObject#scaleX
1512
- * @type {number}
1513
- */ /**
1514
- * @name Highcharts.ChartPositionObject#scaleY
1515
- * @type {number}
1516
- */ /**
1517
- * @name Highcharts.ChartPositionObject#top
1518
- * @type {number}
1519
- */
1520
1570
  ''; // keeps doclets above in JS file
@@ -395,9 +395,6 @@ var SVGElement = /** @class */ (function () {
395
395
  var strokeWidth = parts[0];
396
396
  if (strokeWidth && strokeWidth !== 'none' && H.svg) {
397
397
  this.fakeTS = true; // Fake text shadow
398
- // In order to get the right y position of the clone,
399
- // copy over the y setter
400
- this.ySetter = this.xSetter;
401
398
  // Since the stroke is applied on center of the actual outline, we
402
399
  // need to double it to get the correct stroke-width outside the
403
400
  // glyphs.
@@ -193,7 +193,7 @@ var SVGRenderer = /** @class */ (function () {
193
193
  this.url = this.getReferenceURL();
194
194
  // Add description
195
195
  var desc = this.createElement('desc').add();
196
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.2.1'));
196
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.3.1'));
197
197
  renderer.defs = this.createElement('defs').add();
198
198
  renderer.allowHTML = allowHTML;
199
199
  renderer.forExport = forExport;
@@ -573,7 +573,7 @@ var SVGRenderer = /** @class */ (function () {
573
573
  disabledStyle = disabledState.style;
574
574
  delete disabledState.style;
575
575
  }
576
- // Add the events. IE9 and IE10 need mouseover and mouseout to funciton
576
+ // Add the events. IE9 and IE10 need mouseover and mouseout to function
577
577
  // (#667).
578
578
  addEvent(label.element, isMS ? 'mouseover' : 'mouseenter', function () {
579
579
  if (curState !== 3) {
@@ -619,6 +619,15 @@ var SVGRenderer = /** @class */ (function () {
619
619
  label
620
620
  .attr(normalState)
621
621
  .css(extend({ cursor: 'default' }, normalStyle));
622
+ // HTML labels don't need to handle pointer events because click and
623
+ // mouseenter/mouseleave is bound to the underlying <g> element.
624
+ // Should this be reconsidered, we need more complex logic to share
625
+ // events between the <g> and its <div> counterpart, and avoid
626
+ // triggering mouseenter/mouseleave when hovering from one to the
627
+ // other (#17440).
628
+ if (useHTML) {
629
+ label.text.css({ pointerEvents: 'none' });
630
+ }
622
631
  }
623
632
  return label
624
633
  .on('touchstart', function (e) { return e.stopPropagation(); })
@@ -1099,9 +1108,11 @@ var SVGRenderer = /** @class */ (function () {
1099
1108
  */
1100
1109
  ['width', 'height'].forEach(function (key) {
1101
1110
  img_1[key + 'Setter'] = function (value, key) {
1102
- var imgSize = this['img' + key];
1103
1111
  this[key] = value;
1112
+ var _a = this, alignByTranslate = _a.alignByTranslate, element = _a.element, width = _a.width, height = _a.height, imgwidth = _a.imgwidth, imgheight = _a.imgheight;
1113
+ var imgSize = this['img' + key];
1104
1114
  if (defined(imgSize)) {
1115
+ var scale = 1;
1105
1116
  // Scale and center the image within its container.
1106
1117
  // The name `backgroundSize` is taken from the CSS spec,
1107
1118
  // but the value `within` is made up. Other possible
@@ -1109,19 +1120,22 @@ var SVGRenderer = /** @class */ (function () {
1109
1120
  // implemented if needed.
1110
1121
  if (options &&
1111
1122
  options.backgroundSize === 'within' &&
1112
- this.width &&
1113
- this.height) {
1114
- imgSize = Math.round(imgSize * Math.min(this.width / this.imgwidth, this.height / this.imgheight));
1123
+ width &&
1124
+ height) {
1125
+ scale = Math.min(width / imgwidth, height / imgheight);
1126
+ imgSize = Math.round(imgSize * scale);
1127
+ // Update both width and height to keep the ratio
1128
+ // correct (#17315)
1129
+ attr(element, {
1130
+ width: Math.round(imgwidth * scale),
1131
+ height: Math.round(imgheight * scale)
1132
+ });
1115
1133
  }
1116
- if (this.element) {
1117
- this.element.setAttribute(key, imgSize);
1134
+ else if (element) {
1135
+ element.setAttribute(key, imgSize);
1118
1136
  }
1119
- if (!this.alignByTranslate) {
1120
- var translate = ((this[key] || 0) - imgSize) / 2;
1121
- var attribs = key === 'width' ?
1122
- { translateX: translate } :
1123
- { translateY: translate };
1124
- this.attr(attribs);
1137
+ if (!alignByTranslate) {
1138
+ this.translate(((width || 0) - (imgSize * scale)) / 2, ((height || 0) - (imgSize * scale)) / 2);
1125
1139
  }
1126
1140
  }
1127
1141
  };
@@ -229,8 +229,9 @@ var DataLabel;
229
229
  * Draw the data labels
230
230
  * @private
231
231
  */
232
- function drawDataLabels() {
233
- var series = this, chart = series.chart, seriesOptions = series.options, points = series.points, hasRendered = series.hasRendered || 0, renderer = chart.renderer, _a = chart.options.chart, backgroundColor = _a.backgroundColor, plotBackgroundColor = _a.plotBackgroundColor, contrastColor = renderer.getContrast((isString(plotBackgroundColor) && plotBackgroundColor) ||
232
+ function drawDataLabels(points) {
233
+ if (points === void 0) { points = this.points; }
234
+ var series = this, chart = series.chart, seriesOptions = series.options, hasRendered = series.hasRendered || 0, renderer = chart.renderer, _a = chart.options.chart, backgroundColor = _a.backgroundColor, plotBackgroundColor = _a.plotBackgroundColor, contrastColor = renderer.getContrast((isString(plotBackgroundColor) && plotBackgroundColor) ||
234
235
  (isString(backgroundColor) && backgroundColor) ||
235
236
  "#000000" /* Palette.neutralColor100 */);
236
237
  var seriesDlOptions = seriesOptions.dataLabels, pointOptions, dataLabelsGroup;
@@ -408,11 +409,13 @@ var DataLabel;
408
409
  // read text bounding box
409
410
  dataLabel.css(style).shadow(labelOptions.shadow);
410
411
  }
411
- if (labelOptions.textPath && !labelOptions.useHTML) {
412
+ var textPathOptions = labelOptions[point.formatPrefix + 'TextPath'] ||
413
+ labelOptions.textPath;
414
+ if (textPathOptions && !labelOptions.useHTML) {
412
415
  dataLabel.setTextPath((point.getDataLabelPath &&
413
- point.getDataLabelPath(dataLabel)) || point.graphic, labelOptions.textPath);
416
+ point.getDataLabelPath(dataLabel)) || point.graphic, textPathOptions);
414
417
  if (point.dataLabelPath &&
415
- !labelOptions.textPath.enabled) {
418
+ !textPathOptions.enabled) {
416
419
  // clean the DOM
417
420
  point.dataLabelPath = (point.dataLabelPath.destroy());
418
421
  }
@@ -11,7 +11,7 @@
11
11
  import AST from '../Renderer/HTML/AST.js';
12
12
  import A from '../Animation/AnimationUtilities.js';
13
13
  var animObject = A.animObject;
14
- import D from '../DefaultOptions.js';
14
+ import D from '../Defaults.js';
15
15
  var defaultOptions = D.defaultOptions;
16
16
  import F from '../FormatUtilities.js';
17
17
  var format = F.format;
@@ -216,7 +216,7 @@ var Point = /** @class */ (function () {
216
216
  if (pointValKey) {
217
217
  point.y = Point.prototype.getNestedProperty.call(point, pointValKey);
218
218
  }
219
- point.isNull = pick(point.isValid && !point.isValid(), point.x === null || !isNumber(point.y)); // #3571, check for NaN
219
+ point.isNull = this.isValid && !this.isValid();
220
220
  point.formatPrefix = point.isNull ? 'null' : 'point'; // #9233, #10874
221
221
  // The point is initially selected by options (#5777)
222
222
  if (point.selected) {
@@ -265,7 +265,10 @@ var Point = /** @class */ (function () {
265
265
  */
266
266
  function destroyPoint() {
267
267
  // Remove all events and elements
268
- if (point.graphic || point.dataLabel || point.dataLabels) {
268
+ if (point.graphic ||
269
+ point.graphics ||
270
+ point.dataLabel ||
271
+ point.dataLabels) {
269
272
  removeEvent(point);
270
273
  point.destroyElements();
271
274
  }
@@ -273,7 +276,8 @@ var Point = /** @class */ (function () {
273
276
  point[prop] = null;
274
277
  }
275
278
  }
276
- if (point.legendItem) { // pies have legend items
279
+ if (point.legendItem) {
280
+ // pies have legend items
277
281
  chart.legend.destroyItem(point);
278
282
  }
279
283
  if (hoverPoints) {
@@ -387,7 +391,7 @@ var Point = /** @class */ (function () {
387
391
  var prop, i;
388
392
  kinds = kinds || { graphic: 1, dataLabel: 1 };
389
393
  if (kinds.graphic) {
390
- props.push('graphic', 'upperGraphic', 'shadowGroup');
394
+ props.push('graphic', 'shadowGroup');
391
395
  }
392
396
  if (kinds.dataLabel) {
393
397
  props.push('dataLabel', 'dataLabelPath', 'dataLabelUpper', 'connector');
@@ -399,7 +403,11 @@ var Point = /** @class */ (function () {
399
403
  graphicalProps.singular.push(prop);
400
404
  }
401
405
  }
402
- ['dataLabel', 'connector'].forEach(function (prop) {
406
+ [
407
+ 'graphic',
408
+ 'dataLabel',
409
+ 'connector'
410
+ ].forEach(function (prop) {
403
411
  var plural = prop + 's';
404
412
  if (kinds[prop] && point[plural]) {
405
413
  graphicalProps.plural.push(plural);
@@ -510,6 +518,14 @@ var Point = /** @class */ (function () {
510
518
  fireEvent(this, 'afterInit');
511
519
  return this;
512
520
  };
521
+ /**
522
+ * Determine if point is valid.
523
+ * @private
524
+ * @function Highcharts.Point#isValid
525
+ */
526
+ Point.prototype.isValid = function () {
527
+ return this.x !== null && isNumber(this.y);
528
+ };
513
529
  /**
514
530
  * Transform number or array configs into objects. Also called for object
515
531
  * configs. Used internally to unify the different configuration formats for
@@ -644,6 +660,9 @@ var Point = /** @class */ (function () {
644
660
  }, object);
645
661
  return object;
646
662
  };
663
+ Point.prototype.shouldDraw = function () {
664
+ return !this.isNull;
665
+ };
647
666
  /**
648
667
  * Extendable method for formatting each point's tooltip line.
649
668
  *
@@ -719,14 +738,14 @@ var Point = /** @class */ (function () {
719
738
  function update() {
720
739
  point.applyOptions(options);
721
740
  // Update visuals, #4146
722
- // Handle dummy graphic elements for a11y, #12718
723
- var hasDummyGraphic = graphic && point.hasDummyGraphic;
741
+ // Handle mock graphic elements for a11y, #12718
742
+ var hasMockGraphic = graphic && point.hasMockGraphic;
724
743
  var shouldDestroyGraphic = point.y === null ?
725
- !hasDummyGraphic :
726
- hasDummyGraphic;
744
+ !hasMockGraphic :
745
+ hasMockGraphic;
727
746
  if (graphic && shouldDestroyGraphic) {
728
747
  point.graphic = graphic.destroy();
729
- delete point.hasDummyGraphic;
748
+ delete point.hasMockGraphic;
730
749
  }
731
750
  if (isObject(options, true)) {
732
751
  // Destroy so we can get new elements
@@ -968,8 +987,8 @@ var Point = /** @class */ (function () {
968
987
  markerAttribs = series.markerAttribs(point, state);
969
988
  }
970
989
  // Apply hover styles to the existing point
971
- // Prevent from dummy null points (#14966)
972
- if (point.graphic && !point.hasDummyGraphic) {
990
+ // Prevent from mocked null points (#14966)
991
+ if (point.graphic && !point.hasMockGraphic) {
973
992
  if (previousState) {
974
993
  point.graphic.removeClass('highcharts-point-' + previousState);
975
994
  }
@@ -979,21 +998,18 @@ var Point = /** @class */ (function () {
979
998
  if (!chart.styledMode) {
980
999
  pointAttribs = series.pointAttribs(point, state);
981
1000
  pointAttribsAnimation = pick(chart.options.chart.animation, stateOptions.animation);
1001
+ var opacity_1 = pointAttribs.opacity;
982
1002
  // Some inactive points (e.g. slices in pie) should apply
983
1003
  // opacity also for their labels
984
- if (series.options.inactiveOtherPoints &&
985
- isNumber(pointAttribs.opacity)) {
1004
+ if (isNumber(opacity_1)) {
986
1005
  (point.dataLabels || []).forEach(function (label) {
987
- if (label) {
988
- label.animate({
989
- opacity: pointAttribs.opacity
990
- }, pointAttribsAnimation);
1006
+ if (label &&
1007
+ !label.hasClass('highcharts-data-label-hidden')) {
1008
+ label.animate({ opacity: opacity_1 }, pointAttribsAnimation);
991
1009
  }
992
1010
  });
993
1011
  if (point.connector) {
994
- point.connector.animate({
995
- opacity: pointAttribs.opacity
996
- }, pointAttribsAnimation);
1012
+ point.connector.animate({ opacity: opacity_1 }, pointAttribsAnimation);
997
1013
  }
998
1014
  }
999
1015
  point.graphic.animate(pointAttribs, pointAttribsAnimation);