highcharts 10.3.1 → 10.3.2

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 (625) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +1 -1
  3. package/es-modules/Accessibility/Components/ZoomComponent.js +26 -32
  4. package/es-modules/Accessibility/KeyboardNavigation.js +5 -4
  5. package/es-modules/Accessibility/Utils/HTMLUtilities.js +14 -2
  6. package/es-modules/Core/Axis/Stacking/StackingAxis.js +5 -3
  7. package/es-modules/Core/Axis/WaterfallAxis.js +14 -11
  8. package/es-modules/Core/Chart/Chart.js +3 -1
  9. package/es-modules/Core/Chart/ChartDefaults.js +2 -0
  10. package/es-modules/Core/Globals.js +1 -1
  11. package/es-modules/Core/Pointer.js +4 -3
  12. package/es-modules/Core/Renderer/HTML/AST.js +6 -0
  13. package/es-modules/Core/Renderer/SVG/SVGElement.js +13 -60
  14. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -4
  15. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -1
  16. package/es-modules/Core/Series/DataLabel.js +4 -7
  17. package/es-modules/Core/Series/Point.js +8 -9
  18. package/es-modules/Core/Series/Series.js +33 -78
  19. package/es-modules/Core/Series/SeriesDefaults.js +4 -1
  20. package/es-modules/Core/Tooltip.js +35 -19
  21. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  22. package/es-modules/Extensions/Annotations/Popup/Popup.js +6 -1
  23. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  24. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  25. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  26. package/es-modules/Extensions/PatternFill.js +12 -10
  27. package/es-modules/Extensions/ScrollablePlotArea.js +5 -0
  28. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +116 -89
  29. package/es-modules/Gantt/Pathfinder.js +8 -7
  30. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -1
  31. package/es-modules/Series/AreaRange/AreaRangeSeries.js +10 -0
  32. package/es-modules/Series/Bubble/BubbleSeries.js +3 -6
  33. package/es-modules/Series/Column/ColumnSeries.js +3 -3
  34. package/es-modules/Series/Flags/FlagsSeries.js +1 -6
  35. package/es-modules/Series/Line/LineSeries.js +5 -2
  36. package/es-modules/Series/Map/MapPoint.js +34 -10
  37. package/es-modules/Series/Map/MapSeries.js +7 -6
  38. package/es-modules/Series/OnSeriesComposition.js +2 -2
  39. package/es-modules/Series/Sankey/SankeySeries.js +4 -0
  40. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +1 -1
  41. package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -3
  42. package/es-modules/Series/Treegraph/TreegraphSeries.js +9 -0
  43. package/es-modules/Series/Waterfall/WaterfallSeries.js +91 -89
  44. package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -2
  45. package/es-modules/Series/XRange/XRangeSeries.js +6 -0
  46. package/es-modules/Stock/Navigator/Navigator.js +9 -3
  47. package/es-modules/Stock/StockTools/StockToolbar.js +1 -1
  48. package/es-modules/masters/highcharts-3d.src.d.ts +4 -0
  49. package/es-modules/masters/highcharts-3d.src.js +1 -1
  50. package/es-modules/masters/highcharts-gantt.src.d.ts +3 -0
  51. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  52. package/es-modules/masters/highcharts-more.src.d.ts +10 -0
  53. package/es-modules/masters/highcharts-more.src.js +1 -1
  54. package/es-modules/masters/highcharts.src.d.ts +10 -0
  55. package/es-modules/masters/highcharts.src.js +1 -1
  56. package/es-modules/masters/highmaps.src.d.ts +3 -0
  57. package/es-modules/masters/highmaps.src.js +1 -1
  58. package/es-modules/masters/highstock.src.d.ts +3 -0
  59. package/es-modules/masters/highstock.src.js +1 -1
  60. package/es-modules/masters/indicators/acceleration-bands.src.d.ts +1 -0
  61. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  62. package/es-modules/masters/indicators/accumulation-distribution.src.d.ts +1 -0
  63. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  64. package/es-modules/masters/indicators/ao.src.d.ts +1 -0
  65. package/es-modules/masters/indicators/ao.src.js +1 -1
  66. package/es-modules/masters/indicators/apo.src.d.ts +1 -0
  67. package/es-modules/masters/indicators/apo.src.js +1 -1
  68. package/es-modules/masters/indicators/aroon-oscillator.src.d.ts +1 -0
  69. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  70. package/es-modules/masters/indicators/aroon.src.d.ts +1 -0
  71. package/es-modules/masters/indicators/aroon.src.js +1 -1
  72. package/es-modules/masters/indicators/atr.src.d.ts +1 -0
  73. package/es-modules/masters/indicators/atr.src.js +1 -1
  74. package/es-modules/masters/indicators/bollinger-bands.src.d.ts +1 -0
  75. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  76. package/es-modules/masters/indicators/cci.src.d.ts +1 -0
  77. package/es-modules/masters/indicators/cci.src.js +1 -1
  78. package/es-modules/masters/indicators/chaikin.src.d.ts +1 -0
  79. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  80. package/es-modules/masters/indicators/cmf.src.d.ts +1 -0
  81. package/es-modules/masters/indicators/cmf.src.js +1 -1
  82. package/es-modules/masters/indicators/cmo.src.d.ts +1 -0
  83. package/es-modules/masters/indicators/cmo.src.js +1 -1
  84. package/es-modules/masters/indicators/dema.src.d.ts +1 -0
  85. package/es-modules/masters/indicators/dema.src.js +1 -1
  86. package/es-modules/masters/indicators/disparity-index.src.d.ts +1 -0
  87. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  88. package/es-modules/masters/indicators/dmi.src.d.ts +1 -0
  89. package/es-modules/masters/indicators/dmi.src.js +1 -1
  90. package/es-modules/masters/indicators/dpo.src.d.ts +1 -0
  91. package/es-modules/masters/indicators/dpo.src.js +1 -1
  92. package/es-modules/masters/indicators/ema.src.d.ts +0 -0
  93. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.d.ts +1 -0
  94. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  95. package/es-modules/masters/indicators/indicators-all.src.d.ts +60 -0
  96. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  97. package/es-modules/masters/indicators/indicators.src.d.ts +2 -0
  98. package/es-modules/masters/indicators/indicators.src.js +1 -1
  99. package/es-modules/masters/indicators/keltner-channels.src.d.ts +1 -0
  100. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  101. package/es-modules/masters/indicators/klinger.src.d.ts +1 -0
  102. package/es-modules/masters/indicators/klinger.src.js +1 -1
  103. package/es-modules/masters/indicators/macd.src.d.ts +1 -0
  104. package/es-modules/masters/indicators/macd.src.js +1 -1
  105. package/es-modules/masters/indicators/mfi.src.d.ts +1 -0
  106. package/es-modules/masters/indicators/mfi.src.js +1 -1
  107. package/es-modules/masters/indicators/momentum.src.d.ts +1 -0
  108. package/es-modules/masters/indicators/momentum.src.js +1 -1
  109. package/es-modules/masters/indicators/natr.src.d.ts +1 -0
  110. package/es-modules/masters/indicators/natr.src.js +1 -1
  111. package/es-modules/masters/indicators/obv.src.d.ts +1 -0
  112. package/es-modules/masters/indicators/obv.src.js +1 -1
  113. package/es-modules/masters/indicators/pivot-points.src.d.ts +1 -0
  114. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  115. package/es-modules/masters/indicators/ppo.src.d.ts +1 -0
  116. package/es-modules/masters/indicators/ppo.src.js +1 -1
  117. package/es-modules/masters/indicators/price-channel.src.d.ts +1 -0
  118. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  119. package/es-modules/masters/indicators/price-envelopes.src.d.ts +1 -0
  120. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  121. package/es-modules/masters/indicators/psar.src.d.ts +1 -0
  122. package/es-modules/masters/indicators/psar.src.js +1 -1
  123. package/es-modules/masters/indicators/regressions.src.d.ts +4 -0
  124. package/es-modules/masters/indicators/regressions.src.js +1 -1
  125. package/es-modules/masters/indicators/roc.src.d.ts +1 -0
  126. package/es-modules/masters/indicators/roc.src.js +1 -1
  127. package/es-modules/masters/indicators/rsi.src.d.ts +1 -0
  128. package/es-modules/masters/indicators/rsi.src.js +1 -1
  129. package/es-modules/masters/indicators/slow-stochastic.src.d.ts +1 -0
  130. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  131. package/es-modules/masters/indicators/stochastic.src.d.ts +1 -0
  132. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  133. package/es-modules/masters/indicators/supertrend.src.d.ts +1 -0
  134. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  135. package/es-modules/masters/indicators/tema.src.d.ts +1 -0
  136. package/es-modules/masters/indicators/tema.src.js +1 -1
  137. package/es-modules/masters/indicators/trendline.src.d.ts +1 -0
  138. package/es-modules/masters/indicators/trendline.src.js +1 -1
  139. package/es-modules/masters/indicators/trix.src.d.ts +1 -0
  140. package/es-modules/masters/indicators/trix.src.js +1 -1
  141. package/es-modules/masters/indicators/volume-by-price.src.d.ts +1 -0
  142. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  143. package/es-modules/masters/indicators/vwap.src.d.ts +1 -0
  144. package/es-modules/masters/indicators/vwap.src.js +1 -1
  145. package/es-modules/masters/indicators/williams-r.src.d.ts +1 -0
  146. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  147. package/es-modules/masters/indicators/wma.src.d.ts +1 -0
  148. package/es-modules/masters/indicators/wma.src.js +1 -1
  149. package/es-modules/masters/indicators/zigzag.src.d.ts +1 -0
  150. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  151. package/es-modules/masters/modules/accessibility.src.d.ts +13 -0
  152. package/es-modules/masters/modules/accessibility.src.js +2 -2
  153. package/es-modules/masters/modules/annotations-advanced.src.d.ts +11 -0
  154. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  155. package/es-modules/masters/modules/annotations.src.d.ts +1 -0
  156. package/es-modules/masters/modules/annotations.src.js +1 -1
  157. package/es-modules/masters/modules/arc-diagram.src.d.ts +1 -0
  158. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  159. package/es-modules/masters/modules/arrow-symbols.src.d.ts +1 -0
  160. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  161. package/es-modules/masters/modules/boost-canvas.src.d.ts +1 -0
  162. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  163. package/es-modules/masters/modules/boost.src.d.ts +14 -0
  164. package/es-modules/masters/modules/boost.src.js +1 -1
  165. package/es-modules/masters/modules/broken-axis.src.d.ts +1 -0
  166. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  167. package/es-modules/masters/modules/bullet.src.d.ts +1 -0
  168. package/es-modules/masters/modules/bullet.src.js +1 -1
  169. package/es-modules/masters/modules/coloraxis.src.d.ts +1 -0
  170. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  171. package/es-modules/masters/modules/current-date-indicator.src.d.ts +1 -0
  172. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  173. package/es-modules/masters/modules/cylinder.src.d.ts +1 -0
  174. package/es-modules/masters/modules/cylinder.src.js +1 -1
  175. package/es-modules/masters/modules/data.src.d.ts +1 -0
  176. package/es-modules/masters/modules/data.src.js +1 -1
  177. package/es-modules/masters/modules/datagrouping.src.d.ts +1 -0
  178. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  179. package/es-modules/masters/modules/debugger.src.d.ts +12 -0
  180. package/es-modules/masters/modules/debugger.src.js +1 -1
  181. package/es-modules/masters/modules/dependency-wheel.src.d.ts +1 -0
  182. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  183. package/es-modules/masters/modules/dotplot.src.d.ts +1 -0
  184. package/es-modules/masters/modules/dotplot.src.js +1 -1
  185. package/es-modules/masters/modules/drag-panes.src.d.ts +1 -0
  186. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  187. package/es-modules/masters/modules/draggable-points.src.d.ts +1 -0
  188. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  189. package/es-modules/masters/modules/drilldown.src.d.ts +2 -0
  190. package/es-modules/masters/modules/drilldown.src.js +1 -1
  191. package/es-modules/masters/modules/dumbbell.src.d.ts +1 -0
  192. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  193. package/es-modules/masters/modules/export-data.src.d.ts +1 -0
  194. package/es-modules/masters/modules/export-data.src.js +1 -1
  195. package/es-modules/masters/modules/exporting.src.d.ts +1 -0
  196. package/es-modules/masters/modules/exporting.src.js +1 -1
  197. package/es-modules/masters/modules/full-screen.src.d.ts +1 -0
  198. package/es-modules/masters/modules/full-screen.src.js +1 -1
  199. package/es-modules/masters/modules/funnel.src.d.ts +2 -0
  200. package/es-modules/masters/modules/funnel.src.js +1 -1
  201. package/es-modules/masters/modules/funnel3d.src.d.ts +2 -0
  202. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  203. package/es-modules/masters/modules/gantt.src.d.ts +1 -0
  204. package/es-modules/masters/modules/gantt.src.js +1 -1
  205. package/es-modules/masters/modules/grid-axis.src.d.ts +1 -0
  206. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  207. package/es-modules/masters/modules/heatmap.src.d.ts +1 -0
  208. package/es-modules/masters/modules/heatmap.src.js +1 -1
  209. package/es-modules/masters/modules/heikinashi.src.d.ts +1 -0
  210. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  211. package/es-modules/masters/modules/histogram-bellcurve.src.d.ts +2 -0
  212. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  213. package/es-modules/masters/modules/hollowcandlestick.src.d.ts +1 -0
  214. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  215. package/es-modules/masters/modules/item-series.src.d.ts +1 -0
  216. package/es-modules/masters/modules/item-series.src.js +1 -1
  217. package/es-modules/masters/modules/lollipop.src.d.ts +1 -0
  218. package/es-modules/masters/modules/lollipop.src.js +1 -1
  219. package/es-modules/masters/modules/map.src.d.ts +7 -0
  220. package/es-modules/masters/modules/map.src.js +1 -1
  221. package/es-modules/masters/modules/marker-clusters.src.d.ts +1 -0
  222. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  223. package/es-modules/masters/modules/networkgraph.src.d.ts +1 -0
  224. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  225. package/es-modules/masters/modules/no-data-to-display.src.d.ts +1 -0
  226. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  227. package/es-modules/masters/modules/offline-exporting.src.d.ts +1 -0
  228. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  229. package/es-modules/masters/modules/oldie-polyfills.src.d.ts +1 -0
  230. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  231. package/es-modules/masters/modules/oldie.src.d.ts +1 -0
  232. package/es-modules/masters/modules/oldie.src.js +1 -1
  233. package/es-modules/masters/modules/organization.src.d.ts +1 -0
  234. package/es-modules/masters/modules/organization.src.js +1 -1
  235. package/es-modules/masters/modules/overlapping-datalabels.src.d.ts +1 -0
  236. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  237. package/es-modules/masters/modules/parallel-coordinates.src.d.ts +1 -0
  238. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  239. package/es-modules/masters/modules/pareto.src.d.ts +1 -0
  240. package/es-modules/masters/modules/pareto.src.js +1 -1
  241. package/es-modules/masters/modules/pathfinder.src.d.ts +1 -0
  242. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  243. package/es-modules/masters/modules/pattern-fill.src.d.ts +1 -0
  244. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  245. package/es-modules/masters/modules/price-indicator.src.d.ts +1 -0
  246. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  247. package/es-modules/masters/modules/pyramid3d.src.d.ts +1 -0
  248. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  249. package/es-modules/masters/modules/sankey.src.d.ts +1 -0
  250. package/es-modules/masters/modules/sankey.src.js +1 -1
  251. package/es-modules/masters/modules/series-label.src.d.ts +1 -0
  252. package/es-modules/masters/modules/series-label.src.js +1 -1
  253. package/es-modules/masters/modules/series-on-point.src.d.ts +13 -0
  254. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  255. package/es-modules/masters/modules/solid-gauge.src.d.ts +1 -0
  256. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  257. package/es-modules/masters/modules/sonification.src.d.ts +12 -0
  258. package/es-modules/masters/modules/sonification.src.js +1 -1
  259. package/es-modules/masters/modules/static-scale.src.d.ts +1 -0
  260. package/es-modules/masters/modules/static-scale.src.js +1 -1
  261. package/es-modules/masters/modules/stock-tools.src.d.ts +1 -0
  262. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  263. package/es-modules/masters/modules/stock.src.d.ts +4 -0
  264. package/es-modules/masters/modules/stock.src.js +1 -1
  265. package/es-modules/masters/modules/streamgraph.src.d.ts +1 -0
  266. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  267. package/es-modules/masters/modules/sunburst.src.d.ts +2 -0
  268. package/es-modules/masters/modules/sunburst.src.js +1 -1
  269. package/es-modules/masters/modules/tilemap.src.d.ts +1 -0
  270. package/es-modules/masters/modules/tilemap.src.js +1 -1
  271. package/es-modules/masters/modules/timeline.src.d.ts +1 -0
  272. package/es-modules/masters/modules/timeline.src.js +1 -1
  273. package/es-modules/masters/modules/treegraph.src.d.ts +1 -0
  274. package/es-modules/masters/modules/treegraph.src.js +1 -1
  275. package/es-modules/masters/modules/treegrid.src.d.ts +1 -0
  276. package/es-modules/masters/modules/treegrid.src.js +1 -1
  277. package/es-modules/masters/modules/treemap.src.d.ts +1 -0
  278. package/es-modules/masters/modules/treemap.src.js +1 -1
  279. package/es-modules/masters/modules/variable-pie.src.d.ts +1 -0
  280. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  281. package/es-modules/masters/modules/variwide.src.d.ts +1 -0
  282. package/es-modules/masters/modules/variwide.src.js +1 -1
  283. package/es-modules/masters/modules/vector.src.d.ts +1 -0
  284. package/es-modules/masters/modules/vector.src.js +1 -1
  285. package/es-modules/masters/modules/venn.src.d.ts +1 -0
  286. package/es-modules/masters/modules/venn.src.js +1 -1
  287. package/es-modules/masters/modules/windbarb.src.d.ts +1 -0
  288. package/es-modules/masters/modules/windbarb.src.js +1 -1
  289. package/es-modules/masters/modules/wordcloud.src.d.ts +1 -0
  290. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  291. package/es-modules/masters/modules/xrange.src.d.ts +1 -0
  292. package/es-modules/masters/modules/xrange.src.js +1 -1
  293. package/es-modules/masters/themes/avocado.src.d.ts +1 -0
  294. package/es-modules/masters/themes/avocado.src.js +1 -1
  295. package/es-modules/masters/themes/brand-dark.src.d.ts +1 -0
  296. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  297. package/es-modules/masters/themes/brand-light.src.d.ts +1 -0
  298. package/es-modules/masters/themes/brand-light.src.js +1 -1
  299. package/es-modules/masters/themes/dark-blue.src.d.ts +1 -0
  300. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  301. package/es-modules/masters/themes/dark-green.src.d.ts +1 -0
  302. package/es-modules/masters/themes/dark-green.src.js +1 -1
  303. package/es-modules/masters/themes/dark-unica.src.d.ts +1 -0
  304. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  305. package/es-modules/masters/themes/gray.src.d.ts +1 -0
  306. package/es-modules/masters/themes/gray.src.js +1 -1
  307. package/es-modules/masters/themes/grid-light.src.d.ts +1 -0
  308. package/es-modules/masters/themes/grid-light.src.js +1 -1
  309. package/es-modules/masters/themes/grid.src.d.ts +1 -0
  310. package/es-modules/masters/themes/grid.src.js +1 -1
  311. package/es-modules/masters/themes/high-contrast-dark.src.d.ts +1 -0
  312. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  313. package/es-modules/masters/themes/high-contrast-light.src.d.ts +1 -0
  314. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  315. package/es-modules/masters/themes/sand-signika.src.d.ts +1 -0
  316. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  317. package/es-modules/masters/themes/skies.src.d.ts +1 -0
  318. package/es-modules/masters/themes/skies.src.js +1 -1
  319. package/es-modules/masters/themes/sunset.src.d.ts +1 -0
  320. package/es-modules/masters/themes/sunset.src.js +1 -1
  321. package/gfx/dashboard-icons/add.svg +8 -0
  322. package/gfx/dashboard-icons/close.svg +1 -0
  323. package/gfx/dashboard-icons/computer.svg +1 -0
  324. package/gfx/dashboard-icons/destroy.svg +1 -0
  325. package/gfx/dashboard-icons/drag.svg +1 -0
  326. package/gfx/dashboard-icons/menu.svg +8 -0
  327. package/gfx/dashboard-icons/settings.svg +1 -0
  328. package/gfx/dashboard-icons/smartphone.svg +46 -0
  329. package/gfx/dashboard-icons/tablet.svg +71 -0
  330. package/highcharts-3d.js +1 -1
  331. package/highcharts-3d.src.js +1 -1
  332. package/highcharts-gantt.js +809 -809
  333. package/highcharts-gantt.js.map +1 -1
  334. package/highcharts-gantt.src.js +180 -218
  335. package/highcharts-more.d.ts +6 -0
  336. package/highcharts-more.js +174 -174
  337. package/highcharts-more.js.map +1 -1
  338. package/highcharts-more.src.d.ts +6 -0
  339. package/highcharts-more.src.js +128 -116
  340. package/highcharts.d.ts +2356 -25971
  341. package/highcharts.js +587 -587
  342. package/highcharts.js.map +1 -1
  343. package/highcharts.src.d.ts +2356 -25971
  344. package/highcharts.src.js +155 -208
  345. package/highmaps.js +756 -756
  346. package/highmaps.js.map +1 -1
  347. package/highmaps.src.js +207 -232
  348. package/highstock.js +795 -796
  349. package/highstock.js.map +1 -1
  350. package/highstock.src.js +169 -219
  351. package/indicators/acceleration-bands.js +1 -1
  352. package/indicators/acceleration-bands.src.js +1 -1
  353. package/indicators/accumulation-distribution.js +1 -1
  354. package/indicators/accumulation-distribution.src.js +1 -1
  355. package/indicators/ao.js +1 -1
  356. package/indicators/ao.src.js +1 -1
  357. package/indicators/apo.js +1 -1
  358. package/indicators/apo.src.js +1 -1
  359. package/indicators/aroon-oscillator.js +1 -1
  360. package/indicators/aroon-oscillator.src.js +1 -1
  361. package/indicators/aroon.js +1 -1
  362. package/indicators/aroon.src.js +1 -1
  363. package/indicators/atr.js +1 -1
  364. package/indicators/atr.src.js +1 -1
  365. package/indicators/bollinger-bands.js +1 -1
  366. package/indicators/bollinger-bands.src.js +1 -1
  367. package/indicators/cci.js +1 -1
  368. package/indicators/cci.src.js +1 -1
  369. package/indicators/chaikin.js +1 -1
  370. package/indicators/chaikin.src.js +1 -1
  371. package/indicators/cmf.js +1 -1
  372. package/indicators/cmf.src.js +1 -1
  373. package/indicators/cmo.js +1 -1
  374. package/indicators/cmo.src.js +1 -1
  375. package/indicators/dema.js +1 -1
  376. package/indicators/dema.src.js +1 -1
  377. package/indicators/disparity-index.js +1 -1
  378. package/indicators/disparity-index.src.js +1 -1
  379. package/indicators/dmi.js +1 -1
  380. package/indicators/dmi.src.js +1 -1
  381. package/indicators/dpo.js +1 -1
  382. package/indicators/dpo.src.js +1 -1
  383. package/indicators/ichimoku-kinko-hyo.js +1 -1
  384. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  385. package/indicators/indicators-all.js +1 -1
  386. package/indicators/indicators-all.src.js +1 -1
  387. package/indicators/indicators.js +1 -1
  388. package/indicators/indicators.src.js +1 -1
  389. package/indicators/keltner-channels.js +1 -1
  390. package/indicators/keltner-channels.src.js +1 -1
  391. package/indicators/klinger.js +1 -1
  392. package/indicators/klinger.src.js +1 -1
  393. package/indicators/macd.js +1 -1
  394. package/indicators/macd.src.js +1 -1
  395. package/indicators/mfi.js +1 -1
  396. package/indicators/mfi.src.js +1 -1
  397. package/indicators/momentum.js +1 -1
  398. package/indicators/momentum.src.js +1 -1
  399. package/indicators/natr.js +1 -1
  400. package/indicators/natr.src.js +1 -1
  401. package/indicators/obv.js +1 -1
  402. package/indicators/obv.src.js +1 -1
  403. package/indicators/pivot-points.js +1 -1
  404. package/indicators/pivot-points.src.js +1 -1
  405. package/indicators/ppo.js +1 -1
  406. package/indicators/ppo.src.js +1 -1
  407. package/indicators/price-channel.js +1 -1
  408. package/indicators/price-channel.src.js +1 -1
  409. package/indicators/price-envelopes.js +1 -1
  410. package/indicators/price-envelopes.src.js +1 -1
  411. package/indicators/psar.js +1 -1
  412. package/indicators/psar.src.js +1 -1
  413. package/indicators/regressions.js +1 -1
  414. package/indicators/regressions.src.js +1 -1
  415. package/indicators/roc.js +1 -1
  416. package/indicators/roc.src.js +1 -1
  417. package/indicators/rsi.js +1 -1
  418. package/indicators/rsi.src.js +1 -1
  419. package/indicators/slow-stochastic.js +1 -1
  420. package/indicators/slow-stochastic.src.js +1 -1
  421. package/indicators/stochastic.js +1 -1
  422. package/indicators/stochastic.src.js +1 -1
  423. package/indicators/supertrend.js +1 -1
  424. package/indicators/supertrend.src.js +1 -1
  425. package/indicators/tema.js +1 -1
  426. package/indicators/tema.src.js +1 -1
  427. package/indicators/trendline.js +1 -1
  428. package/indicators/trendline.src.js +1 -1
  429. package/indicators/trix.js +1 -1
  430. package/indicators/trix.src.js +1 -1
  431. package/indicators/volume-by-price.js +1 -1
  432. package/indicators/volume-by-price.src.js +1 -1
  433. package/indicators/vwap.js +1 -1
  434. package/indicators/vwap.src.js +1 -1
  435. package/indicators/williams-r.js +1 -1
  436. package/indicators/williams-r.src.js +1 -1
  437. package/indicators/wma.js +1 -1
  438. package/indicators/wma.src.js +1 -1
  439. package/indicators/zigzag.js +1 -1
  440. package/indicators/zigzag.src.js +1 -1
  441. package/modules/accessibility.js +233 -232
  442. package/modules/accessibility.js.map +1 -1
  443. package/modules/accessibility.src.js +58 -43
  444. package/modules/annotations-advanced.js +166 -165
  445. package/modules/annotations-advanced.js.map +1 -1
  446. package/modules/annotations-advanced.src.js +9 -4
  447. package/modules/annotations.js +41 -40
  448. package/modules/annotations.js.map +1 -1
  449. package/modules/annotations.src.js +9 -4
  450. package/modules/arc-diagram.js +3 -3
  451. package/modules/arc-diagram.js.map +1 -1
  452. package/modules/arc-diagram.src.js +4 -2
  453. package/modules/arrow-symbols.js +1 -1
  454. package/modules/arrow-symbols.src.js +1 -1
  455. package/modules/boost-canvas.js +1 -1
  456. package/modules/boost-canvas.src.js +1 -1
  457. package/modules/boost.js +1 -1
  458. package/modules/boost.src.js +1 -1
  459. package/modules/broken-axis.js +1 -1
  460. package/modules/broken-axis.src.js +1 -1
  461. package/modules/bullet.js +1 -1
  462. package/modules/bullet.src.js +1 -1
  463. package/modules/coloraxis.js +1 -1
  464. package/modules/coloraxis.src.js +1 -1
  465. package/modules/current-date-indicator.js +1 -1
  466. package/modules/current-date-indicator.src.js +1 -1
  467. package/modules/cylinder.js +1 -1
  468. package/modules/cylinder.src.js +1 -1
  469. package/modules/data.js +1 -1
  470. package/modules/data.src.js +1 -1
  471. package/modules/datagrouping.js +1 -1
  472. package/modules/datagrouping.src.js +1 -1
  473. package/modules/debugger.js +1 -1
  474. package/modules/debugger.src.js +1 -1
  475. package/modules/dependency-wheel.js +1 -1
  476. package/modules/dependency-wheel.src.js +1 -1
  477. package/modules/dotplot.js +1 -1
  478. package/modules/dotplot.src.js +1 -1
  479. package/modules/drag-panes.js +1 -1
  480. package/modules/drag-panes.src.js +1 -1
  481. package/modules/draggable-points.js +1 -1
  482. package/modules/draggable-points.src.js +1 -1
  483. package/modules/drilldown.js +1 -1
  484. package/modules/drilldown.src.js +1 -1
  485. package/modules/dumbbell.js +1 -1
  486. package/modules/dumbbell.src.js +1 -1
  487. package/modules/export-data.js +1 -1
  488. package/modules/export-data.src.js +1 -1
  489. package/modules/exporting.js +1 -1
  490. package/modules/exporting.src.js +1 -1
  491. package/modules/full-screen.js +1 -1
  492. package/modules/full-screen.src.js +1 -1
  493. package/modules/funnel.js +1 -1
  494. package/modules/funnel.src.js +1 -1
  495. package/modules/funnel3d.js +1 -1
  496. package/modules/funnel3d.src.js +1 -1
  497. package/modules/gantt.js +220 -219
  498. package/modules/gantt.js.map +1 -1
  499. package/modules/gantt.src.js +26 -11
  500. package/modules/grid-axis.js +1 -1
  501. package/modules/grid-axis.src.js +1 -1
  502. package/modules/heatmap.js +1 -1
  503. package/modules/heatmap.src.js +1 -1
  504. package/modules/heikinashi.js +1 -1
  505. package/modules/heikinashi.src.js +1 -1
  506. package/modules/histogram-bellcurve.js +1 -1
  507. package/modules/histogram-bellcurve.src.js +1 -1
  508. package/modules/hollowcandlestick.js +1 -1
  509. package/modules/hollowcandlestick.src.js +1 -1
  510. package/modules/item-series.js +1 -1
  511. package/modules/item-series.src.js +1 -1
  512. package/modules/lollipop.js +1 -1
  513. package/modules/lollipop.src.js +1 -1
  514. package/modules/map.js +171 -170
  515. package/modules/map.js.map +1 -1
  516. package/modules/map.src.js +53 -25
  517. package/modules/marker-clusters.js +1 -1
  518. package/modules/marker-clusters.src.js +1 -1
  519. package/modules/networkgraph.js +1 -1
  520. package/modules/networkgraph.src.js +1 -1
  521. package/modules/no-data-to-display.js +1 -1
  522. package/modules/no-data-to-display.src.js +1 -1
  523. package/modules/offline-exporting.js +2 -2
  524. package/modules/offline-exporting.src.js +2 -2
  525. package/modules/oldie-polyfills.js +1 -1
  526. package/modules/oldie-polyfills.src.js +1 -1
  527. package/modules/oldie.js +2 -2
  528. package/modules/oldie.src.js +2 -2
  529. package/modules/organization.js +1 -1
  530. package/modules/organization.src.js +1 -1
  531. package/modules/overlapping-datalabels.js +1 -1
  532. package/modules/overlapping-datalabels.src.js +1 -1
  533. package/modules/parallel-coordinates.js +1 -1
  534. package/modules/parallel-coordinates.src.js +1 -1
  535. package/modules/pareto.js +1 -1
  536. package/modules/pareto.src.js +1 -1
  537. package/modules/pathfinder.js +27 -27
  538. package/modules/pathfinder.js.map +1 -1
  539. package/modules/pathfinder.src.js +9 -8
  540. package/modules/pattern-fill.js +2 -2
  541. package/modules/pattern-fill.js.map +1 -1
  542. package/modules/pattern-fill.src.js +13 -11
  543. package/modules/price-indicator.js +1 -1
  544. package/modules/price-indicator.src.js +1 -1
  545. package/modules/pyramid3d.js +1 -1
  546. package/modules/pyramid3d.src.js +1 -1
  547. package/modules/sankey.js +20 -20
  548. package/modules/sankey.js.map +1 -1
  549. package/modules/sankey.src.js +5 -1
  550. package/modules/series-label.js +19 -18
  551. package/modules/series-label.js.map +1 -1
  552. package/modules/series-label.src.js +134 -98
  553. package/modules/series-on-point.js +1 -1
  554. package/modules/series-on-point.src.js +1 -1
  555. package/modules/solid-gauge.js +1 -1
  556. package/modules/solid-gauge.src.js +1 -1
  557. package/modules/sonification.js +1 -1
  558. package/modules/sonification.src.js +1 -1
  559. package/modules/static-scale.js +1 -1
  560. package/modules/static-scale.src.js +1 -1
  561. package/modules/stock-tools.js +2 -2
  562. package/modules/stock-tools.src.js +3 -3
  563. package/modules/stock.js +205 -205
  564. package/modules/stock.js.map +1 -1
  565. package/modules/stock.src.js +15 -12
  566. package/modules/streamgraph.js +1 -1
  567. package/modules/streamgraph.src.js +1 -1
  568. package/modules/sunburst.js +1 -1
  569. package/modules/sunburst.src.js +1 -1
  570. package/modules/tilemap.js +1 -1
  571. package/modules/tilemap.src.js +1 -1
  572. package/modules/timeline.js +1 -1
  573. package/modules/timeline.src.js +1 -1
  574. package/modules/treegraph.js +32 -31
  575. package/modules/treegraph.js.map +1 -1
  576. package/modules/treegraph.src.js +11 -4
  577. package/modules/treegrid.js +1 -1
  578. package/modules/treegrid.src.js +1 -1
  579. package/modules/treemap.js +1 -1
  580. package/modules/treemap.src.js +1 -1
  581. package/modules/variable-pie.js +1 -1
  582. package/modules/variable-pie.src.js +1 -1
  583. package/modules/variwide.js +1 -1
  584. package/modules/variwide.src.js +1 -1
  585. package/modules/vector.js +1 -1
  586. package/modules/vector.src.js +1 -1
  587. package/modules/venn.js +1 -1
  588. package/modules/venn.src.js +1 -1
  589. package/modules/windbarb.js +15 -15
  590. package/modules/windbarb.js.map +1 -1
  591. package/modules/windbarb.src.js +4 -5
  592. package/modules/wordcloud.js +1 -1
  593. package/modules/wordcloud.src.js +1 -1
  594. package/modules/xrange.js +9 -8
  595. package/modules/xrange.js.map +1 -1
  596. package/modules/xrange.src.js +7 -1
  597. package/package.json +1 -1
  598. package/themes/avocado.js +1 -1
  599. package/themes/avocado.src.js +1 -1
  600. package/themes/brand-dark.js +1 -1
  601. package/themes/brand-dark.src.js +1 -1
  602. package/themes/brand-light.js +1 -1
  603. package/themes/brand-light.src.js +1 -1
  604. package/themes/dark-blue.js +1 -1
  605. package/themes/dark-blue.src.js +1 -1
  606. package/themes/dark-green.js +1 -1
  607. package/themes/dark-green.src.js +1 -1
  608. package/themes/dark-unica.js +1 -1
  609. package/themes/dark-unica.src.js +1 -1
  610. package/themes/gray.js +1 -1
  611. package/themes/gray.src.js +1 -1
  612. package/themes/grid-light.js +1 -1
  613. package/themes/grid-light.src.js +1 -1
  614. package/themes/grid.js +1 -1
  615. package/themes/grid.src.js +1 -1
  616. package/themes/high-contrast-dark.js +1 -1
  617. package/themes/high-contrast-dark.src.js +1 -1
  618. package/themes/high-contrast-light.js +1 -1
  619. package/themes/high-contrast-light.src.js +1 -1
  620. package/themes/sand-signika.js +1 -1
  621. package/themes/sand-signika.src.js +1 -1
  622. package/themes/skies.js +1 -1
  623. package/themes/skies.src.js +1 -1
  624. package/themes/sunset.js +1 -1
  625. package/themes/sunset.src.js +1 -1
@@ -21,6 +21,15 @@
21
21
  * https://jsfiddle.net/highcharts/y5A37/
22
22
  */
23
23
  'use strict';
24
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
26
+ if (ar || !(i in from)) {
27
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
28
+ ar[i] = from[i];
29
+ }
30
+ }
31
+ return to.concat(ar || Array.prototype.slice.call(from));
32
+ };
24
33
  import A from '../../Core/Animation/AnimationUtilities.js';
25
34
  var animObject = A.animObject;
26
35
  import Chart from '../../Core/Chart/Chart.js';
@@ -50,9 +59,9 @@ var labelDistance = 3;
50
59
  * @private
51
60
  */
52
61
  function checkClearPoint(series, x, y, bBox, checkDistance) {
53
- var chart = series.chart, onArea = pick(series.options.label.onArea, !!series.area), findDistanceToOthers = (onArea || series.options.label.connectorAllowed), leastDistance = 16;
62
+ var chart = series.chart, seriesLabelOptions = series.options.label || {}, onArea = pick(seriesLabelOptions.onArea, !!series.area), findDistanceToOthers = (onArea || seriesLabelOptions.connectorAllowed), leastDistance = 16, boxesToAvoid = chart.boxesToAvoid;
54
63
  var distToOthersSquared = Number.MAX_VALUE, // distance to other graphs
55
- distToPointSquared = Number.MAX_VALUE, dist, connectorPoint, serie, points, withinRange, xDist, yDist, i, j;
64
+ distToPointSquared = Number.MAX_VALUE, dist, connectorPoint, withinRange, xDist, yDist, i, j;
56
65
  /**
57
66
  * Get the weight in order to determine the ideal position. Larger distance
58
67
  * to other series gives more weight. Smaller distance to the actual point
@@ -63,8 +72,8 @@ function checkClearPoint(series, x, y, bBox, checkDistance) {
63
72
  return distToOthersSquared - distToPointSquared;
64
73
  }
65
74
  // First check for collision with existing labels
66
- for (i = 0; i < chart.boxesToAvoid.length; i += 1) {
67
- if (intersectRect(chart.boxesToAvoid[i], {
75
+ for (i = 0; boxesToAvoid && i < boxesToAvoid.length; i += 1) {
76
+ if (intersectRect(boxesToAvoid[i], {
68
77
  left: x,
69
78
  right: x + bBox.width,
70
79
  top: y,
@@ -76,9 +85,20 @@ function checkClearPoint(series, x, y, bBox, checkDistance) {
76
85
  // For each position, check if the lines around the label intersect with any
77
86
  // of the graphs.
78
87
  for (i = 0; i < chart.series.length; i += 1) {
79
- serie = chart.series[i];
80
- points = serie.interpolatedPoints;
88
+ var serie = chart.series[i], points = serie.interpolatedPoints && __spreadArray([], serie.interpolatedPoints, true);
81
89
  if (serie.visible && points) {
90
+ // Avoid the sides of the plot area
91
+ var stepY = chart.plotHeight / 10;
92
+ for (var chartY = chart.plotTop; chartY <= chart.plotTop + chart.plotHeight; chartY += stepY) {
93
+ points.unshift({
94
+ chartX: chart.plotLeft,
95
+ chartY: chartY
96
+ });
97
+ points.push({
98
+ chartX: chart.plotLeft + chart.plotWidth,
99
+ chartY: chartY
100
+ });
101
+ }
82
102
  for (j = 1; j < points.length; j += 1) {
83
103
  if (
84
104
  // To avoid processing, only check intersection if the X
@@ -88,10 +108,10 @@ function checkClearPoint(series, x, y, bBox, checkDistance) {
88
108
  leastDistance
89
109
  /* @todo condition above is not the same as below
90
110
  (
91
- (points[j].chartX as any) >=
111
+ points[j].chartX >=
92
112
  (x - leastDistance)
93
113
  ) && (
94
- (points[j - 1].chartX as any) <=
114
+ points[j - 1].chartX <=
95
115
  (x + bBox.width + leastDistance)
96
116
  ) */
97
117
  ) {
@@ -119,8 +139,7 @@ function checkClearPoint(series, x, y, bBox, checkDistance) {
119
139
  findDistanceToOthers &&
120
140
  series === serie &&
121
141
  ((checkDistance && !withinRange) ||
122
- distToOthersSquared < Math.pow(series.options.label
123
- .connectorNeighbourDistance, 2))) {
142
+ distToOthersSquared < Math.pow(seriesLabelOptions.connectorNeighbourDistance || 1, 2))) {
124
143
  for (j = 1; j < points.length; j += 1) {
125
144
  dist = Math.min((Math.pow(x + bBox.width / 2 - points[j].chartX, 2) +
126
145
  Math.pow(y + bBox.height / 2 - points[j].chartY, 2)), (Math.pow(x - points[j].chartX, 2) +
@@ -173,27 +192,28 @@ function compose(ChartClass, SVGRendererClass) {
173
192
  */
174
193
  function drawSeriesLabels(chart) {
175
194
  // console.time('drawSeriesLabels');
176
- var labelSeries = chart.labelSeries;
195
+ var labelSeries = chart.labelSeries || [];
177
196
  chart.boxesToAvoid = [];
178
197
  // Build the interpolated points
179
198
  labelSeries.forEach(function (series) {
199
+ var seriesLabelOptions = series.options.label || {}, boxesToAvoid = chart.boxesToAvoid;
180
200
  series.interpolatedPoints = getPointsOnGraph(series);
181
- (series.options.label.boxesToAvoid || []).forEach(function (box) {
182
- chart.boxesToAvoid.push(box);
183
- });
201
+ if (boxesToAvoid) {
202
+ boxesToAvoid.push.apply(boxesToAvoid, (seriesLabelOptions.boxesToAvoid || []));
203
+ }
184
204
  });
185
205
  chart.series.forEach(function (series) {
186
206
  var labelOptions = series.options.label;
187
207
  if (!labelOptions || (!series.xAxis && !series.yAxis)) {
188
208
  return;
189
209
  }
190
- var colorClass = ('highcharts-color-' + pick(series.colorIndex, 'none')), isNew = !series.labelBySeries, minFontSize = labelOptions.minFontSize, maxFontSize = labelOptions.maxFontSize, inverted = chart.inverted, paneLeft = (inverted ? series.yAxis.pos : series.xAxis.pos), paneTop = (inverted ? series.xAxis.pos : series.yAxis.pos), paneWidth = chart.inverted ? series.yAxis.len : series.xAxis.len, paneHeight = chart.inverted ? series.xAxis.len : series.yAxis.len, points = series.interpolatedPoints, onArea = pick(labelOptions.onArea, !!series.area), results = [];
210
+ var colorClass = ('highcharts-color-' + pick(series.colorIndex, 'none')), isNew = !series.labelBySeries, minFontSize = labelOptions.minFontSize, maxFontSize = labelOptions.maxFontSize, inverted = chart.inverted, paneLeft = (inverted ? series.yAxis.pos : series.xAxis.pos), paneTop = (inverted ? series.xAxis.pos : series.yAxis.pos), paneWidth = chart.inverted ? series.yAxis.len : series.xAxis.len, paneHeight = chart.inverted ? series.xAxis.len : series.yAxis.len, points = series.interpolatedPoints, onArea = pick(labelOptions.onArea, !!series.area), results = [], xData = series.xData || [];
191
211
  var bBox, x, y, clearPoint, i, best, label = series.labelBySeries, dataExtremes, areaMin, areaMax;
192
212
  // Stay within the area data bounds (#10038)
193
213
  if (onArea && !inverted) {
194
214
  dataExtremes = [
195
- series.xAxis.toPixels(series.xData[0]),
196
- series.xAxis.toPixels(series.xData[series.xData.length - 1])
215
+ series.xAxis.toPixels(xData[0]),
216
+ series.xAxis.toPixels(xData[xData.length - 1])
197
217
  ];
198
218
  areaMin = Math.min.apply(Math, dataExtremes);
199
219
  areaMax = Math.max.apply(Math, dataExtremes);
@@ -232,10 +252,12 @@ function drawSeriesLabels(chart) {
232
252
  (series.options.className || '') + ' ' +
233
253
  colorClass);
234
254
  if (!chart.renderer.styledMode) {
255
+ var color = typeof series.color === 'string' ?
256
+ series.color : "#666666" /* Palette.neutralColor60 */;
235
257
  label.css(extend({
236
258
  color: onArea ?
237
- chart.renderer.getContrast(series.color) :
238
- series.color
259
+ chart.renderer.getContrast(color) :
260
+ color
239
261
  }, labelOptions.style || {}));
240
262
  label.attr({
241
263
  opacity: chart.renderer.forExport ? 1 : 0,
@@ -264,7 +286,7 @@ function drawSeriesLabels(chart) {
264
286
  if (onArea) {
265
287
  // Centered
266
288
  x = points[i].chartX - bBox.width / 2;
267
- y = points[i].chartCenterY - bBox.height / 2;
289
+ y = (points[i].chartCenterY || 0) - bBox.height / 2;
268
290
  if (insidePane(x, y, bBox)) {
269
291
  best = checkClearPoint(series, x, y, bBox);
270
292
  }
@@ -325,7 +347,7 @@ function drawSeriesLabels(chart) {
325
347
  if (results.length) {
326
348
  results.sort(function (a, b) { return b.weight - a.weight; });
327
349
  best = results[0];
328
- chart.boxesToAvoid.push({
350
+ (chart.boxesToAvoid || []).push({
329
351
  left: best.x,
330
352
  right: best.x + bBox.width,
331
353
  top: best.y,
@@ -357,15 +379,14 @@ function drawSeriesLabels(chart) {
357
379
  var animationOptions = void 0;
358
380
  if (isNew) {
359
381
  animationOptions = animObject(series.options.animation);
360
- // @todo: Safely remove any cast after merging #13005
361
382
  animationOptions.duration *= 0.2;
362
383
  }
363
384
  series.labelBySeries
364
385
  .attr(extend(attr, {
365
386
  anchorX: best.connectorPoint &&
366
- best.connectorPoint.plotX + paneLeft,
387
+ (best.connectorPoint.plotX || 0) + paneLeft,
367
388
  anchorY: best.connectorPoint &&
368
- best.connectorPoint.plotY + paneTop
389
+ (best.connectorPoint.plotY || 0) + paneTop
369
390
  }))
370
391
  .animate(anim, animationOptions);
371
392
  // Record closest point to stick to for sync redraw
@@ -406,8 +427,8 @@ function getPointsOnGraph(series) {
406
427
  if (!series.xAxis && !series.yAxis) {
407
428
  return;
408
429
  }
409
- var distance = 16, points = series.points, interpolated = [], graph = series.graph || series.area, node = graph.element, inverted = series.chart.inverted, xAxis = series.xAxis, yAxis = series.yAxis, paneLeft = inverted ? yAxis.pos : xAxis.pos, paneTop = inverted ? xAxis.pos : yAxis.pos, onArea = pick(series.options.label.onArea, !!series.area), translatedThreshold = yAxis.getThreshold(series.options.threshold), grid = {};
410
- var point, last, i, deltaX, deltaY, delta, len, n, j, d;
430
+ var distance = 16, points = series.points, interpolated = [], graph = series.graph || series.area, node = graph && graph.element, inverted = series.chart.inverted, xAxis = series.xAxis, yAxis = series.yAxis, paneLeft = inverted ? yAxis.pos : xAxis.pos, paneTop = inverted ? xAxis.pos : yAxis.pos, seriesLabelOptions = series.options.label || {}, onArea = pick(seriesLabelOptions.onArea, !!series.area), translatedThreshold = yAxis.getThreshold(series.options.threshold), grid = {};
431
+ var i, deltaX, deltaY, delta, len, n, j;
411
432
  /**
412
433
  * Push the point to the interpolated points, but only if that position in
413
434
  * the grid has not been occupied. As a performance optimization, we divide
@@ -415,8 +436,8 @@ function getPointsOnGraph(series) {
415
436
  * @private
416
437
  */
417
438
  function pushDiscrete(point) {
418
- var cellSize = 8, key = Math.round(point.plotX / cellSize) + ',' +
419
- Math.round(point.plotY / cellSize);
439
+ var cellSize = 8, key = Math.round((point.plotX || 0) / cellSize) + ',' +
440
+ Math.round((point.plotY || 0) / cellSize);
420
441
  if (!grid[key]) {
421
442
  grid[key] = 1;
422
443
  interpolated.push(point);
@@ -425,81 +446,84 @@ function getPointsOnGraph(series) {
425
446
  // For splines, get the point at length (possible caveat: peaks are not
426
447
  // correctly detected)
427
448
  if (series.getPointSpline &&
428
- (node.getPointAtLength) &&
449
+ node &&
450
+ node.getPointAtLength &&
429
451
  !onArea &&
430
452
  // Not performing well on complex series, node.getPointAtLength is too
431
453
  // heavy (#9815)
432
- points.length < series.chart.plotSizeX / distance) {
454
+ points.length < (series.chart.plotSizeX || 0) / distance) {
433
455
  // If it is animating towards a path definition, use that briefly, and
434
456
  // reset
457
+ var d = graph.toD && graph.attr('d');
435
458
  if (graph.toD) {
436
- d = graph.attr('d');
437
459
  graph.attr({ d: graph.toD });
438
460
  }
439
461
  len = node.getTotalLength();
440
462
  for (i = 0; i < len; i += distance) {
441
- point = node.getPointAtLength(i);
463
+ var domPoint = node.getPointAtLength(i);
442
464
  pushDiscrete({
443
- chartX: paneLeft + point.x,
444
- chartY: paneTop + point.y,
445
- plotX: point.x,
446
- plotY: point.y
465
+ chartX: paneLeft + domPoint.x,
466
+ chartY: paneTop + domPoint.y,
467
+ plotX: domPoint.x,
468
+ plotY: domPoint.y
447
469
  });
448
470
  }
449
471
  if (d) {
450
472
  graph.attr({ d: d });
451
473
  }
452
474
  // Last point
453
- point = points[points.length - 1];
454
- point.chartX = paneLeft + point.plotX;
455
- point.chartY = paneTop + point.plotY;
456
- pushDiscrete(point);
475
+ var point = points[points.length - 1];
476
+ pushDiscrete({
477
+ chartX: paneLeft + (point.plotX || 0),
478
+ chartY: paneTop + (point.plotY || 0)
479
+ });
457
480
  // Interpolate
458
481
  }
459
482
  else {
460
483
  len = points.length;
484
+ var last = void 0;
461
485
  for (i = 0; i < len; i += 1) {
462
- point = points[i];
463
- last = points[i - 1];
464
- // Absolute coordinates so we can compare different panes
465
- point.chartX = paneLeft + point.plotX;
466
- point.chartY = paneTop + point.plotY;
467
- if (onArea) {
468
- // Vertically centered inside area
469
- point.chartCenterY = paneTop + (point.plotY +
470
- pick(point.yBottom, translatedThreshold)) / 2;
471
- }
472
- // Add interpolated points
473
- if (i > 0) {
474
- deltaX = Math.abs(point.chartX - last.chartX);
475
- deltaY = Math.abs(point.chartY - last.chartY);
476
- delta = Math.max(deltaX, deltaY);
477
- if (delta > distance) {
478
- n = Math.ceil(delta / distance);
479
- for (j = 1; j < n; j += 1) {
480
- pushDiscrete({
481
- chartX: last.chartX +
482
- (point.chartX - last.chartX) *
483
- (j / n),
484
- chartY: last.chartY +
485
- (point.chartY - last.chartY) *
486
- (j / n),
487
- chartCenterY: last.chartCenterY +
488
- (point.chartCenterY -
489
- last.chartCenterY) * (j / n),
490
- plotX: last.plotX +
491
- (point.plotX - last.plotX) *
492
- (j / n),
493
- plotY: last.plotY +
494
- (point.plotY - last.plotY) *
495
- (j / n)
496
- });
486
+ var point = points[i], plotX = point.plotX, plotY = point.plotY;
487
+ if (isNumber(plotX) && isNumber(plotY)) {
488
+ var ctlPoint = {
489
+ plotX: plotX,
490
+ plotY: plotY,
491
+ // Absolute coordinates so we can compare different panes
492
+ chartX: paneLeft + plotX,
493
+ chartY: paneTop + plotY
494
+ };
495
+ if (onArea) {
496
+ // Vertically centered inside area
497
+ ctlPoint.chartCenterY = paneTop + (plotY + pick(point.yBottom, translatedThreshold)) / 2;
498
+ }
499
+ // Add interpolated points
500
+ if (last) {
501
+ deltaX = Math.abs(ctlPoint.chartX - last.chartX);
502
+ deltaY = Math.abs(ctlPoint.chartY - last.chartY);
503
+ delta = Math.max(deltaX, deltaY);
504
+ if (delta > distance) {
505
+ n = Math.ceil(delta / distance);
506
+ for (j = 1; j < n; j += 1) {
507
+ pushDiscrete({
508
+ chartX: last.chartX +
509
+ (ctlPoint.chartX - last.chartX) * (j / n),
510
+ chartY: last.chartY +
511
+ (ctlPoint.chartY - last.chartY) * (j / n),
512
+ chartCenterY: (last.chartCenterY || 0) +
513
+ ((ctlPoint.chartCenterY || 0) -
514
+ (last.chartCenterY || 0)) * (j / n),
515
+ plotX: (last.plotX || 0) +
516
+ (plotX - (last.plotX || 0)) * (j / n),
517
+ plotY: (last.plotY || 0) +
518
+ (plotY - (last.plotY || 0)) * (j / n)
519
+ });
520
+ }
497
521
  }
498
522
  }
499
- }
500
- // Add the real point in order to find positive and negative peaks
501
- if (isNumber(point.plotY)) {
502
- pushDiscrete(point);
523
+ // Add the real point in order to find positive and negative
524
+ // peaks
525
+ pushDiscrete(ctlPoint);
526
+ last = ctlPoint;
503
527
  }
504
528
  }
505
529
  }
@@ -519,7 +543,7 @@ function getPointsOnGraph(series) {
519
543
  * @private
520
544
  */
521
545
  function labelFontSize(series, minFontSize, maxFontSize) {
522
- return minFontSize + ((series.sum / series.chart.labelSeriesMaxSum) *
546
+ return minFontSize + (((series.sum || 0) / (series.chart.labelSeriesMaxSum || 0)) *
523
547
  (maxFontSize - minFontSize)) + 'px';
524
548
  }
525
549
  /**
@@ -532,20 +556,23 @@ function onChartRedraw(e) {
532
556
  var delay_1 = animObject(chart_1.renderer.globalAnimation).duration;
533
557
  chart_1.labelSeries = [];
534
558
  chart_1.labelSeriesMaxSum = 0;
535
- U.clearTimeout(chart_1.seriesLabelTimer);
559
+ if (chart_1.seriesLabelTimer) {
560
+ U.clearTimeout(chart_1.seriesLabelTimer);
561
+ }
536
562
  // Which series should have labels
537
563
  chart_1.series.forEach(function (series) {
538
- var options = series.options.label, label = series.labelBySeries, closest = label && label.closest;
539
- if (options.enabled &&
564
+ var seriesLabelOptions = series.options.label || {}, label = series.labelBySeries, closest = label && label.closest;
565
+ if (seriesLabelOptions.enabled &&
540
566
  series.visible &&
541
567
  (series.graph || series.area) &&
542
- !series.boosted) {
568
+ !series.boosted &&
569
+ chart_1.labelSeries) {
543
570
  chart_1.labelSeries.push(series);
544
- if (options.minFontSize && options.maxFontSize) {
545
- series.sum = series.yData.reduce(function (pv, cv) {
546
- return (pv || 0) + (cv || 0);
547
- }, 0);
548
- chart_1.labelSeriesMaxSum = Math.max(chart_1.labelSeriesMaxSum, series.sum);
571
+ if (seriesLabelOptions.minFontSize &&
572
+ seriesLabelOptions.maxFontSize &&
573
+ series.yData) {
574
+ series.sum = series.yData.reduce(function (pv, cv) { return (pv || 0) + (cv || 0); }, 0);
575
+ chart_1.labelSeriesMaxSum = Math.max(chart_1.labelSeriesMaxSum || 0, series.sum || 0);
549
576
  }
550
577
  // The labels are processing heavy, wait until the animation is
551
578
  // done
@@ -477,19 +477,20 @@ var Pathfinder = /** @class */ (function () {
477
477
  // to new connections.
478
478
  for (var j = 0, k = void 0, found = void 0, lenOld = oldConnections.length, lenNew = pathfinder.connections.length; j < lenOld; ++j) {
479
479
  found = false;
480
+ var oldCon = oldConnections[j];
480
481
  for (k = 0; k < lenNew; ++k) {
481
- if (oldConnections[j].fromPoint ===
482
- pathfinder.connections[k].fromPoint &&
483
- oldConnections[j].toPoint ===
484
- pathfinder.connections[k].toPoint) {
485
- pathfinder.connections[k].graphics =
486
- oldConnections[j].graphics;
482
+ var newCon = pathfinder.connections[k];
483
+ if ((oldCon.options && oldCon.options.type) ===
484
+ (newCon.options && newCon.options.type) &&
485
+ oldCon.fromPoint === newCon.fromPoint &&
486
+ oldCon.toPoint === newCon.toPoint) {
487
+ newCon.graphics = oldCon.graphics;
487
488
  found = true;
488
489
  break;
489
490
  }
490
491
  }
491
492
  if (!found) {
492
- oldConnections[j].destroy();
493
+ oldCon.destroy();
493
494
  }
494
495
  }
495
496
  // Clear obstacles to force recalculation. This must be done on every
@@ -341,7 +341,8 @@ var ArcDiagramSeries = /** @class */ (function (_super) {
341
341
  };
342
342
  ArcDiagramSeries.prototype.pointAttribs = function (point, state) {
343
343
  if (point && point.isNode) {
344
- var _a = Series.prototype.pointAttribs.apply(this, arguments), opacity = _a.opacity, attrs = __rest(_a, ["opacity"]);
344
+ var _a = Series.prototype.pointAttribs
345
+ .apply(this, arguments), opacity = _a.opacity, attrs = __rest(_a, ["opacity"]);
345
346
  return attrs;
346
347
  }
347
348
  return _super.prototype.pointAttribs.apply(this, arguments);
@@ -484,6 +485,7 @@ var ArcDiagramSeries = /** @class */ (function (_super) {
484
485
  marker: {
485
486
  symbol: 'circle',
486
487
  fillOpacity: 1,
488
+ lineWidth: 0,
487
489
  states: {}
488
490
  }
489
491
  });
@@ -456,6 +456,16 @@ var AreaRangeSeries = /** @class */ (function (_super) {
456
456
  i = 0;
457
457
  while (i < pointLength) {
458
458
  point = series.points[i];
459
+ /**
460
+ * Array for multiple SVG graphics representing the point in the
461
+ * chart. Only used in cases where the point can not be represented
462
+ * by a single graphic.
463
+ *
464
+ * @see Highcharts.Point#graphic
465
+ *
466
+ * @name Highcharts.Point#graphics
467
+ * @type {Array<Highcharts.SVGElement>|undefined}
468
+ */
459
469
  point.graphics = point.graphics || [];
460
470
  // Save original props to be overridden by temporary props for top
461
471
  // points
@@ -301,12 +301,9 @@ var BubbleSeries = /** @class */ (function (_super) {
301
301
  };
302
302
  }
303
303
  else { // below zThreshold
304
- point.shapeArgs = point.dlBox = void 0; // #1691
305
- point.plotY = 0; // #17281
306
- point.marker = {
307
- width: 0,
308
- height: 0
309
- };
304
+ // #1691
305
+ point.shapeArgs = point.plotY = point.dlBox = void 0;
306
+ point.isInside = false; // #17281
310
307
  }
311
308
  }
312
309
  };
@@ -568,7 +568,8 @@ var ColumnSeries = /** @class */ (function (_super) {
568
568
  * Draw the tracker for a point.
569
569
  * @private
570
570
  */
571
- ColumnSeries.prototype.drawTracker = function () {
571
+ ColumnSeries.prototype.drawTracker = function (points) {
572
+ if (points === void 0) { points = this.points; }
572
573
  var series = this, chart = series.chart, pointer = chart.pointer, onMouseOver = function (e) {
573
574
  var point = pointer.getPointFromEvent(e);
574
575
  // undefined on graph in scatterchart
@@ -579,7 +580,7 @@ var ColumnSeries = /** @class */ (function (_super) {
579
580
  };
580
581
  var dataLabels;
581
582
  // Add reference to the point
582
- series.points.forEach(function (point) {
583
+ points.forEach(function (point) {
583
584
  dataLabels = (isArray(point.dataLabels) ?
584
585
  point.dataLabels :
585
586
  (point.dataLabel ? [point.dataLabel] : []));
@@ -611,7 +612,6 @@ var ColumnSeries = /** @class */ (function (_super) {
611
612
  }
612
613
  if (!chart.styledMode && series.options.cursor) {
613
614
  series[key]
614
- .css(css)
615
615
  .css({ cursor: series.options.cursor });
616
616
  }
617
617
  }
@@ -319,12 +319,7 @@ extend(FlagsSeries.prototype, {
319
319
  * Inherit the initialization from base Series.
320
320
  * @private
321
321
  */
322
- init: Series.prototype.init,
323
- /**
324
- * Don't invert the flag marker group (#4960).
325
- * @private
326
- */
327
- invertGroups: noop
322
+ init: Series.prototype.init
328
323
  });
329
324
  SeriesRegistry.registerSeriesType('flags', FlagsSeries);
330
325
  /* *
@@ -125,7 +125,7 @@ var LineSeries = /** @class */ (function (_super) {
125
125
  if (graph && !styledMode) {
126
126
  attribs = {
127
127
  'stroke': prop[2],
128
- 'stroke-width': options.lineWidth,
128
+ 'stroke-width': options.lineWidth || 0,
129
129
  // Polygon series use filled graph
130
130
  'fill': (series.fillGraph && series.color) || 'none'
131
131
  };
@@ -406,7 +406,10 @@ export default LineSeries;
406
406
  */
407
407
  /**
408
408
  * An additional, individual class name for the data point's graphic
409
- * representation.
409
+ * representation. Changes to a point's color will also be reflected in a
410
+ * chart's legend and tooltip.
411
+ *
412
+ * @sample {highcharts} highcharts/css/point-series-classname
410
413
  *
411
414
  * @type {string}
412
415
  * @since 5.0.0
@@ -77,16 +77,14 @@ var MapPoint = /** @class */ (function (_super) {
77
77
  * @private
78
78
  */
79
79
  MapPoint.prototype.applyOptions = function (options, x) {
80
- var series = this.series, point = _super.prototype.applyOptions.call(this, options, x), joinBy = series.joinBy, mapPoint;
80
+ var series = this.series, point = _super.prototype.applyOptions.call(this, options, x), joinBy = series.joinBy;
81
81
  if (series.mapData && series.mapMap) {
82
- var joinKey = joinBy[1];
83
- var mapKey = _super.prototype.getNestedProperty.call(point, joinKey);
84
- mapPoint = typeof mapKey !== 'undefined' &&
82
+ var joinKey = joinBy[1], mapKey = _super.prototype.getNestedProperty.call(point, joinKey), mapPoint = typeof mapKey !== 'undefined' &&
85
83
  series.mapMap[mapKey];
86
84
  if (mapPoint) {
87
85
  extend(point, mapPoint); // copy over properties
88
86
  }
89
- else {
87
+ else if (series.pointArrayMap.indexOf('value') !== -1) {
90
88
  point.value = point.value || null;
91
89
  }
92
90
  }
@@ -149,17 +147,43 @@ var MapPoint = /** @class */ (function (_super) {
149
147
  * Highmaps only. Zoom in on the point using the global animation.
150
148
  *
151
149
  * @sample maps/members/point-zoomto/
152
- * Zoom to points from butons
150
+ * Zoom to points from buttons
153
151
  *
154
152
  * @requires modules/map
155
153
  *
156
154
  * @function Highcharts.Point#zoomTo
157
155
  */
158
156
  MapPoint.prototype.zoomTo = function () {
159
- var point = this;
160
- var chart = point.series.chart;
161
- if (chart.mapView && point.bounds) {
162
- chart.mapView.fitToBounds(point.bounds, void 0, false);
157
+ var point = this, chart = point.series.chart, mapView = chart.mapView;
158
+ var bounds = point.bounds;
159
+ if (mapView && bounds) {
160
+ var inset = isNumber(point.insetIndex) &&
161
+ mapView.insets[point.insetIndex];
162
+ if (inset) {
163
+ // If in an inset, translate the bounds to pixels ...
164
+ var px1 = inset.projectedUnitsToPixels({
165
+ x: bounds.x1,
166
+ y: bounds.y1
167
+ }), px2 = inset.projectedUnitsToPixels({
168
+ x: bounds.x2,
169
+ y: bounds.y2
170
+ }),
171
+ // ... then back to projected units in the main mapView
172
+ proj1 = mapView.pixelsToProjectedUnits({
173
+ x: px1.x,
174
+ y: px1.y
175
+ }), proj2 = mapView.pixelsToProjectedUnits({
176
+ x: px2.x,
177
+ y: px2.y
178
+ });
179
+ bounds = {
180
+ x1: proj1.x,
181
+ y1: proj1.y,
182
+ x2: proj2.x,
183
+ y2: proj2.y
184
+ };
185
+ }
186
+ mapView.fitToBounds(bounds, void 0, false);
163
187
  point.series.isDirty = true;
164
188
  chart.redraw();
165
189
  }
@@ -41,7 +41,7 @@ var
41
41
  _a = SeriesRegistry.seriesTypes, ColumnSeries = _a.column, ScatterSeries = _a.scatter;
42
42
  import SVGRenderer from '../../Core/Renderer/SVG/SVGRenderer.js';
43
43
  import U from '../../Core/Utilities.js';
44
- var extend = U.extend, find = U.find, fireEvent = U.fireEvent, getNestedProperty = U.getNestedProperty, isArray = U.isArray, isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
44
+ var extend = U.extend, find = U.find, fireEvent = U.fireEvent, getNestedProperty = U.getNestedProperty, isArray = U.isArray, defined = U.defined, isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
45
45
  /* *
46
46
  *
47
47
  * Class
@@ -464,11 +464,12 @@ var MapSeries = /** @class */ (function (_super) {
464
464
  if (!point.visible) {
465
465
  attr.fill = this.options.nullColor;
466
466
  }
467
- attr['stroke-width'] = pick(pointStrokeWidth,
468
- // By default set the stroke-width on the group element and let all
469
- // point graphics inherit. That way we don't have to iterate over
470
- // all points to update the stroke-width on zooming.
471
- 'inherit');
467
+ if (defined(pointStrokeWidth)) {
468
+ attr['stroke-width'] = pointStrokeWidth;
469
+ }
470
+ else {
471
+ delete attr['stroke-width'];
472
+ }
472
473
  return attr;
473
474
  };
474
475
  /**
@@ -57,9 +57,9 @@ var OnSeriesComposition;
57
57
  *
58
58
  * @private
59
59
  */
60
- function getPlotBox() {
60
+ function getPlotBox(name) {
61
61
  return seriesProto.getPlotBox.call((this.options.onSeries &&
62
- this.chart.get(this.options.onSeries)) || this);
62
+ this.chart.get(this.options.onSeries)) || this, name);
63
63
  }
64
64
  OnSeriesComposition.getPlotBox = getPlotBox;
65
65
  /**
@@ -224,6 +224,10 @@ var SankeySeries = /** @class */ (function (_super) {
224
224
  fill: Color.parse(color).setOpacity(values.linkOpacity).get()
225
225
  };
226
226
  };
227
+ SankeySeries.prototype.drawTracker = function () {
228
+ ColumnSeries.prototype.drawTracker.call(this, this.points);
229
+ ColumnSeries.prototype.drawTracker.call(this, this.nodes);
230
+ };
227
231
  SankeySeries.prototype.drawPoints = function () {
228
232
  ColumnSeries.prototype.drawPoints.call(this, this.points);
229
233
  ColumnSeries.prototype.drawPoints.call(this, this.nodes);