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
package/highmaps.src.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highmaps JS v10.3.1 (2022-10-31)
2
+ * @license Highmaps JS v10.3.2 (2022-11-28)
3
3
  *
4
4
  * (c) 2011-2021 Torstein Honsi
5
5
  *
@@ -64,7 +64,7 @@
64
64
  * Constants
65
65
  *
66
66
  * */
67
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.3.1', Globals.win = (typeof window !== 'undefined' ?
67
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.3.2', Globals.win = (typeof window !== 'undefined' ?
68
68
  window :
69
69
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
70
70
  Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
@@ -3041,6 +3041,8 @@
3041
3041
  * Additional CSS styles to apply inline to the container `div`. Note
3042
3042
  * that since the default font styles are applied in the renderer, it
3043
3043
  * is ignorant of the individual chart options and must be set globally.
3044
+ * Also note that changing the font size in the `chart.style` options only
3045
+ * applies to those elements that do not have a specific `fontSize` setting.
3044
3046
  *
3045
3047
  * @see In styled mode, general chart styles can be set with the
3046
3048
  * `.highcharts-root` class.
@@ -8087,6 +8089,10 @@
8087
8089
  });
8088
8090
  delete attributes[key];
8089
8091
  }
8092
+ // #17753, < is not allowed in SVG attributes
8093
+ if (isString(val) && attributes[key]) {
8094
+ attributes[key] = val.replace(/</g, '&lt;');
8095
+ }
8090
8096
  });
8091
8097
  return attributes;
8092
8098
  };
@@ -8368,6 +8374,7 @@
8368
8374
  'x',
8369
8375
  'x1',
8370
8376
  'x2',
8377
+ 'xlink:href',
8371
8378
  'y',
8372
8379
  'y1',
8373
8380
  'y2',
@@ -8461,6 +8468,7 @@
8461
8468
  'text',
8462
8469
  'textPath',
8463
8470
  'thead',
8471
+ 'title',
8464
8472
  'tbody',
8465
8473
  'tspan',
8466
8474
  'td',
@@ -9117,8 +9125,6 @@
9117
9125
  if (parent) {
9118
9126
  this.parentGroup = parent;
9119
9127
  }
9120
- // Mark as inverted
9121
- this.parentInverted = parent && parent.inverted;
9122
9128
  // Build formatted text
9123
9129
  if (typeof this.textStr !== 'undefined' &&
9124
9130
  this.element.nodeName === 'text' // Not for SVGLabel instances
@@ -10260,25 +10266,6 @@
10260
10266
  this.renderer = renderer;
10261
10267
  fireEvent(this, 'afterInit');
10262
10268
  };
10263
- /**
10264
- * Invert a group, rotate and flip. This is used internally on inverted
10265
- * charts, where the points and graphs are drawn as if not inverted, then
10266
- * the series group elements are inverted.
10267
- *
10268
- * @function Highcharts.SVGElement#invert
10269
- *
10270
- * @param {boolean} inverted
10271
- * Whether to invert or not. An inverted shape can be un-inverted by
10272
- * setting it to false.
10273
- *
10274
- * @return {Highcharts.SVGElement}
10275
- * Return the SVGElement for chaining.
10276
- */
10277
- SVGElement.prototype.invert = function (inverted) {
10278
- this.inverted = inverted;
10279
- this.updateTransform();
10280
- return this;
10281
- };
10282
10269
  /**
10283
10270
  * Add an event listener. This is a simple setter that replaces the
10284
10271
  * previous event of the same type added by this function, as opposed to
@@ -10518,12 +10505,15 @@
10518
10505
  */
10519
10506
  SVGElement.prototype.shadow = function (shadowOptions, group, cutOff) {
10520
10507
  var shadows = [],
10521
- element = this.element,
10522
- oldShadowOptions = this.oldShadowOptions,
10508
+ _a = this,
10509
+ element = _a.element,
10510
+ oldShadowOptions = _a.oldShadowOptions,
10511
+ parentGroup = _a.parentGroup,
10512
+ parentInverted = parentGroup && parentGroup.rotation === 90,
10523
10513
  defaultShadowOptions = {
10524
10514
  color: "#000000" /* Palette.neutralColor100 */,
10525
- offsetX: this.parentInverted ? -1 : 1,
10526
- offsetY: this.parentInverted ? -1 : 1,
10515
+ offsetX: parentInverted ? -1 : 1,
10516
+ offsetY: parentInverted ? -1 : 1,
10527
10517
  opacity: 0.15,
10528
10518
  width: 3
10529
10519
  };
@@ -10561,7 +10551,7 @@
10561
10551
  }
10562
10552
  else if (!this.shadows) {
10563
10553
  shadowElementOpacity = options.opacity / options.width;
10564
- transform = this.parentInverted ?
10554
+ transform = parentInverted ?
10565
10555
  "translate(".concat(options.offsetY, ", ").concat(options.offsetX, ")") :
10566
10556
  "translate(".concat(options.offsetX, ", ").concat(options.offsetY, ")");
10567
10557
  for (i = 1; i <= options.width; i++) {
@@ -10610,9 +10600,7 @@
10610
10600
  return this.attr({ visibility: inherit ? 'inherit' : 'visible' });
10611
10601
  };
10612
10602
  /**
10613
- * WebKit and Batik have problems with a stroke-width of zero, so in this
10614
- * case we remove the stroke attribute altogether. #1270, #1369, #3065,
10615
- * #3072.
10603
+ * Set the stroke-width and record it on the SVGElement
10616
10604
  *
10617
10605
  * @private
10618
10606
  * @function Highcharts.SVGElement#strokeSetter
@@ -10620,24 +10608,10 @@
10620
10608
  * @param {string} key
10621
10609
  * @param {Highcharts.SVGDOMElement} element
10622
10610
  */
10623
- SVGElement.prototype.strokeSetter = function (value, key, element) {
10611
+ SVGElement.prototype['stroke-widthSetter'] = function (value, key, element) {
10612
+ // Record it for quick access in getter
10624
10613
  this[key] = value;
10625
- // Only apply the stroke attribute if the stroke width is defined and
10626
- // larger than 0
10627
- if (this.stroke && this['stroke-width']) {
10628
- // Use prototype as instance may be overridden
10629
- SVGElement.prototype.fillSetter.call(this, this.stroke, 'stroke', element);
10630
- element.setAttribute('stroke-width', this['stroke-width']);
10631
- this.hasStroke = true;
10632
- }
10633
- else if (key === 'stroke-width' && value === 0 && this.hasStroke) {
10634
- element.removeAttribute('stroke');
10635
- this.hasStroke = false;
10636
- }
10637
- else if (this.renderer.styledMode && this['stroke-width']) {
10638
- element.setAttribute('stroke-width', this['stroke-width']);
10639
- this.hasStroke = true;
10640
- }
10614
+ element.setAttribute(key, value);
10641
10615
  };
10642
10616
  /**
10643
10617
  * Get the computed stroke width in pixel values. This is used extensively
@@ -10829,21 +10803,17 @@
10829
10803
  * @function Highcharts.SVGElement#updateTransform
10830
10804
  */
10831
10805
  SVGElement.prototype.updateTransform = function () {
10832
- var wrapper = this,
10833
- scaleX = wrapper.scaleX,
10834
- scaleY = wrapper.scaleY,
10835
- inverted = wrapper.inverted,
10836
- rotation = wrapper.rotation,
10837
- matrix = wrapper.matrix,
10838
- element = wrapper.element;
10839
- var translateX = wrapper.translateX || 0,
10840
- translateY = wrapper.translateY || 0;
10841
- // Flipping affects translate as adjustment for flipping around the
10842
- // group's axis
10843
- if (inverted) {
10844
- translateX += wrapper.width;
10845
- translateY += wrapper.height;
10846
- }
10806
+ var _a = this,
10807
+ element = _a.element,
10808
+ matrix = _a.matrix,
10809
+ _b = _a.rotation,
10810
+ rotation = _b === void 0 ? 0 : _b,
10811
+ scaleX = _a.scaleX,
10812
+ scaleY = _a.scaleY,
10813
+ _c = _a.translateX,
10814
+ translateX = _c === void 0 ? 0 : _c,
10815
+ _d = _a.translateY,
10816
+ translateY = _d === void 0 ? 0 : _d;
10847
10817
  // Apply translate. Nearly all transformed elements have translation,
10848
10818
  // so instead of checking for translate = 0, do it always (#1767,
10849
10819
  // #1846).
@@ -10852,11 +10822,8 @@
10852
10822
  if (defined(matrix)) {
10853
10823
  transform.push('matrix(' + matrix.join(',') + ')');
10854
10824
  }
10855
- // apply rotation
10856
- if (inverted) {
10857
- transform.push('rotate(90) scale(-1,1)');
10858
- }
10859
- else if (rotation) { // text rotation
10825
+ // Apply rotation
10826
+ if (rotation) { // text rotation or inverted chart
10860
10827
  transform.push('rotate(' + rotation + ' ' +
10861
10828
  pick(this.rotationOriginX, element.getAttribute('x'), 0) +
10862
10829
  ' ' +
@@ -10866,7 +10833,7 @@
10866
10833
  if (defined(scaleX) || defined(scaleY)) {
10867
10834
  transform.push('scale(' + pick(scaleX, 1) + ' ' + pick(scaleY, 1) + ')');
10868
10835
  }
10869
- if (transform.length && !(wrapper.text || wrapper).textPath) {
10836
+ if (transform.length && !(this.text || this).textPath) {
10870
10837
  element.setAttribute('transform', transform.join(' '));
10871
10838
  }
10872
10839
  };
@@ -10988,7 +10955,7 @@
10988
10955
  return SVGElement;
10989
10956
  }());
10990
10957
  // Some shared setters and getters
10991
- SVGElement.prototype['stroke-widthSetter'] = SVGElement.prototype.strokeSetter;
10958
+ SVGElement.prototype.strokeSetter = SVGElement.prototype.fillSetter;
10992
10959
  SVGElement.prototype.yGetter = SVGElement.prototype.xGetter;
10993
10960
  SVGElement.prototype.matrixSetter =
10994
10961
  SVGElement.prototype.rotationOriginXSetter =
@@ -11470,14 +11437,13 @@
11470
11437
  * box and add it before the text in the DOM.
11471
11438
  */
11472
11439
  SVGLabel.prototype.onAdd = function () {
11473
- var str = this.textStr;
11474
11440
  this.text.add(this);
11475
11441
  this.attr({
11476
11442
  // Alignment is available now (#3295, 0 not rendered if given
11477
11443
  // as a value)
11478
- text: (defined(str) ? str : ''),
11479
- x: this.x,
11480
- y: this.y
11444
+ text: pick(this.textStr, ''),
11445
+ x: this.x || 0,
11446
+ y: this.y || 0
11481
11447
  });
11482
11448
  if (this.box && defined(this.anchorX)) {
11483
11449
  this.attr({
@@ -12591,7 +12557,7 @@
12591
12557
  this.url = this.getReferenceURL();
12592
12558
  // Add description
12593
12559
  var desc = this.createElement('desc').add();
12594
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.3.1'));
12560
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.3.2'));
12595
12561
  renderer.defs = this.createElement('defs').add();
12596
12562
  renderer.allowHTML = allowHTML;
12597
12563
  renderer.forExport = forExport;
@@ -24327,6 +24293,28 @@
24327
24293
  }
24328
24294
  return ret.map(Math.round);
24329
24295
  };
24296
+ /**
24297
+ * Get the CSS class names for the tooltip's label. Styles the label
24298
+ * by `colorIndex` or user-defined CSS.
24299
+ *
24300
+ * @function Highcharts.Tooltip#getClassName
24301
+ *
24302
+ * @return {string}
24303
+ * The class names.
24304
+ */
24305
+ Tooltip.prototype.getClassName = function (point, isSplit, isHeader) {
24306
+ var options = this.options,
24307
+ series = point.series,
24308
+ seriesOptions = series.options;
24309
+ return [
24310
+ options.className,
24311
+ 'highcharts-label',
24312
+ isHeader && 'highcharts-tooltip-header',
24313
+ isSplit ? 'highcharts-tooltip-box' : 'highcharts-tooltip',
24314
+ !isHeader && 'highcharts-color-' + pick(point.colorIndex, series.colorIndex),
24315
+ (seriesOptions && seriesOptions.className)
24316
+ ].filter(isString).join(' ');
24317
+ };
24330
24318
  /**
24331
24319
  * Creates the Tooltip label element if it does not exist, then returns it.
24332
24320
  *
@@ -24340,9 +24328,6 @@
24340
24328
  styledMode = this.chart.styledMode,
24341
24329
  options = this.options,
24342
24330
  doSplit = this.split && this.allowShared,
24343
- className = ('tooltip' + (defined(options.className) ?
24344
- ' ' + options.className :
24345
- '')),
24346
24331
  pointerEvents = (options.style.pointerEvents ||
24347
24332
  (this.shouldStickOnContact() ? 'auto' : 'none'));
24348
24333
  var container,
@@ -24388,11 +24373,11 @@
24388
24373
  }
24389
24374
  // Create the label
24390
24375
  if (doSplit) {
24391
- this.label = renderer.g(className);
24376
+ this.label = renderer.g('tooltip');
24392
24377
  }
24393
24378
  else {
24394
24379
  this.label = renderer
24395
- .label('', 0, 0, options.shape, void 0, void 0, options.useHTML, void 0, className)
24380
+ .label('', 0, 0, options.shape, void 0, void 0, options.useHTML, void 0, 'tooltip')
24396
24381
  .attr({
24397
24382
  padding: options.padding,
24398
24383
  r: options.borderRadius
@@ -24804,6 +24789,7 @@
24804
24789
  var tooltip = this,
24805
24790
  chart = this.chart,
24806
24791
  options = tooltip.options,
24792
+ pointer = chart.pointer,
24807
24793
  points = splat(pointOrPoints),
24808
24794
  point = points[0],
24809
24795
  pointConfig = [],
@@ -24828,7 +24814,7 @@
24828
24814
  y = anchor[1];
24829
24815
  // shared tooltip, array is sent over
24830
24816
  if (shared && tooltip.allowShared) {
24831
- chart.pointer.applyInactiveState(points);
24817
+ pointer.applyInactiveState(points);
24832
24818
  // Now set hover state for the choosen ones:
24833
24819
  points.forEach(function (item) {
24834
24820
  item.setState('hover');
@@ -24862,7 +24848,7 @@
24862
24848
  else {
24863
24849
  var checkX_1 = x;
24864
24850
  var checkY_1 = y;
24865
- if (mouseEvent && chart.pointer.isDirectTouch) {
24851
+ if (mouseEvent && pointer.isDirectTouch) {
24866
24852
  checkX_1 = mouseEvent.chartX - chart.plotLeft;
24867
24853
  checkY_1 = mouseEvent.chartY - chart.plotTop;
24868
24854
  }
@@ -24870,14 +24856,15 @@
24870
24856
  if (chart.polar ||
24871
24857
  currentSeries.options.clip === false ||
24872
24858
  points.some(function (p) {
24873
- return p.series.shouldShowTooltip(checkX_1, checkY_1);
24859
+ return pointer.isDirectTouch || // ##17929
24860
+ p.series.shouldShowTooltip(checkX_1, checkY_1);
24874
24861
  })) {
24875
24862
  var label = tooltip.getLabel();
24876
24863
  // Prevent the tooltip from flowing over the chart box
24877
24864
  // (#6659)
24878
24865
  if (!options.style.width || styledMode) {
24879
24866
  label.css({
24880
- width: this.chart.spacingBox.width + 'px'
24867
+ width: chart.spacingBox.width + 'px'
24881
24868
  });
24882
24869
  }
24883
24870
  label.attr({
@@ -24886,9 +24873,7 @@
24886
24873
  text
24887
24874
  });
24888
24875
  // Set the stroke color of the box to reflect the point
24889
- label.removeClass(/highcharts-color-[\d]+/g)
24890
- .addClass('highcharts-color-' +
24891
- pick(point.colorIndex, currentSeries.colorIndex));
24876
+ label.addClass(tooltip.getClassName(point), true);
24892
24877
  if (!styledMode) {
24893
24878
  label.attr({
24894
24879
  stroke: (options.borderColor ||
@@ -25065,7 +25050,6 @@
25065
25050
  var tt = partialTooltip;
25066
25051
  var isHeader = point.isHeader,
25067
25052
  series = point.series;
25068
- var colorClass = 'highcharts-color-' + pick(point.colorIndex, series.colorIndex, 'none');
25069
25053
  if (!tt) {
25070
25054
  var attribs = {
25071
25055
  padding: options.padding,
@@ -25077,9 +25061,7 @@
25077
25061
  }
25078
25062
  tt = ren
25079
25063
  .label('', 0, 0, (options[isHeader ? 'headerShape' : 'shape']), void 0, void 0, options.useHTML)
25080
- .addClass((isHeader ? 'highcharts-tooltip-header ' : '') +
25081
- 'highcharts-tooltip-box ' +
25082
- colorClass)
25064
+ .addClass(tooltip.getClassName(point, true, isHeader))
25083
25065
  .attr(attribs)
25084
25066
  .add(tooltipLabel);
25085
25067
  }
@@ -25238,7 +25220,7 @@
25238
25220
  * to avoid breaking change. Remove distributionBoxTop to make
25239
25221
  * it consistent.
25240
25222
  */
25241
- y: pos + distributionBoxTop,
25223
+ y: (pos || 0) + distributionBoxTop,
25242
25224
  anchorX: anchorX,
25243
25225
  anchorY: anchorY
25244
25226
  };
@@ -25343,7 +25325,9 @@
25343
25325
  Tooltip.prototype.styledModeFormat = function (formatString) {
25344
25326
  return formatString
25345
25327
  .replace('style="font-size: 10px"', 'class="highcharts-header"')
25346
- .replace(/style="color:{(point|series)\.color}"/g, 'class="highcharts-color-{$1.colorIndex}"');
25328
+ .replace(/style="color:{(point|series)\.color}"/g, 'class="highcharts-color-{$1.colorIndex} ' +
25329
+ '{series.options.className} ' +
25330
+ '{point.options.className}"');
25347
25331
  };
25348
25332
  /**
25349
25333
  * Format the footer/header of the tooltip
@@ -25592,14 +25576,6 @@
25592
25576
  * @type {number|string}
25593
25577
  */
25594
25578
  this.category = void 0;
25595
- /**
25596
- * The point's current color index, used in styled mode instead of
25597
- * `color`. The color index is inserted in class names used for styling.
25598
- *
25599
- * @name Highcharts.Point#colorIndex
25600
- * @type {number}
25601
- */
25602
- this.colorIndex = void 0;
25603
25579
  this.formatPrefix = 'point';
25604
25580
  this.id = void 0;
25605
25581
  this.isNull = false;
@@ -26196,6 +26172,13 @@
26196
26172
  }
26197
26173
  colorIndex = series.colorIndex;
26198
26174
  }
26175
+ /**
26176
+ * The point's current color index, used in styled mode instead of
26177
+ * `color`. The color index is inserted in class names used for styling.
26178
+ *
26179
+ * @name Highcharts.Point#colorIndex
26180
+ * @type {number|undefined}
26181
+ */
26199
26182
  this.colorIndex = pick(this.options.colorIndex, colorIndex);
26200
26183
  /**
26201
26184
  * The point's current color.
@@ -26606,7 +26589,7 @@
26606
26589
  var opacity_1 = pointAttribs.opacity;
26607
26590
  // Some inactive points (e.g. slices in pie) should apply
26608
26591
  // opacity also for their labels
26609
- if (isNumber(opacity_1)) {
26592
+ if (series.options.inactiveOtherPoints && isNumber(opacity_1)) {
26610
26593
  (point.dataLabels || []).forEach(function (label) {
26611
26594
  if (label &&
26612
26595
  !label.hasClass('highcharts-data-label-hidden')) {
@@ -28208,7 +28191,7 @@
28208
28191
  * @emits Highcharts.Point#event:mouseOut
28209
28192
  * @emits Highcharts.Point#event:mouseOver
28210
28193
  */
28211
- Pointer.prototype.runPointActions = function (e, p) {
28194
+ Pointer.prototype.runPointActions = function (e, p, force) {
28212
28195
  var pointer = this,
28213
28196
  chart = pointer.chart,
28214
28197
  series = chart.series,
@@ -28242,8 +28225,9 @@
28242
28225
  // Refresh tooltip for kdpoint if new hover point or tooltip was hidden
28243
28226
  // #3926, #4200
28244
28227
  if (hoverPoint &&
28245
- // !(hoverSeries && hoverSeries.directTouch) &&
28246
- (hoverPoint !== chart.hoverPoint || (tooltip && tooltip.isHidden))) {
28228
+ (force ||
28229
+ hoverPoint !== chart.hoverPoint ||
28230
+ (tooltip && tooltip.isHidden))) {
28247
28231
  (chart.hoverPoints || []).forEach(function (p) {
28248
28232
  if (points.indexOf(p) === -1) {
28249
28233
  p.setState();
@@ -32431,7 +32415,9 @@
32431
32415
  // Make chart behave as an image with the title as alt text
32432
32416
  this.renderer.boxWrapper.attr({
32433
32417
  role: 'img',
32434
- 'aria-label': (title && title.element.textContent) || ''
32418
+ 'aria-label': ((title && title.element.textContent) || ''
32419
+ // #17753, < is not allowed in SVG attributes
32420
+ ).replace(/</g, '&lt;')
32435
32421
  });
32436
32422
  if (!(options.accessibility && options.accessibility.enabled === false)) {
32437
32423
  error('Highcharts warning: Consider including the ' +
@@ -33736,7 +33722,10 @@
33736
33722
  /**
33737
33723
  * An additional class name to apply to the series' graphical elements.
33738
33724
  * This option does not replace default class names of the graphical
33739
- * element.
33725
+ * element. Changes to the series' color will also be reflected in a
33726
+ * chart's legend and tooltip.
33727
+ *
33728
+ * @sample {highcharts} highcharts/css/point-series-classname
33740
33729
  *
33741
33730
  * @type {string}
33742
33731
  * @since 5.0.0
@@ -37835,7 +37824,10 @@
37835
37824
  else if (isInside &&
37836
37825
  ((markerAttribs.width || 0) > 0 || point.hasImage)) {
37837
37826
  /**
37838
- * The graphic representation of the point.
37827
+ * SVG graphic representing the point in the chart. In
37828
+ * some cases it may be a hidden graphic to improve
37829
+ * accessibility.
37830
+ *
37839
37831
  * Typically this is a simple shape, like a `rect`
37840
37832
  * for column charts or `path` for line markers, but
37841
37833
  * for some complex series types like boxplot or 3D
@@ -37844,8 +37836,10 @@
37844
37836
  * the first time {@link Series#drawPoints} runs,
37845
37837
  * and updated and moved on subsequent runs.
37846
37838
  *
37847
- * @name Point#graphic
37848
- * @type {SVGElement}
37839
+ * @see Highcharts.Point#graphics
37840
+ *
37841
+ * @name Highcharts.Point#graphic
37842
+ * @type {Highcharts.SVGElement|undefined}
37849
37843
  */
37850
37844
  point.graphic = graphic = chart.renderer
37851
37845
  .symbol(symbol, markerAttribs.x, markerAttribs.y, markerAttribs.width, markerAttribs.height, hasPointMarker ?
@@ -38211,48 +38205,6 @@
38211
38205
  }
38212
38206
  }
38213
38207
  };
38214
- /**
38215
- * Initialize and perform group inversion on series.group and
38216
- * series.markerGroup.
38217
- *
38218
- * @private
38219
- * @function Highcharts.Series#invertGroups
38220
- */
38221
- Series.prototype.invertGroups = function (inverted) {
38222
- var series = this,
38223
- chart = series.chart;
38224
- /**
38225
- * @private
38226
- */
38227
- function setInvert() {
38228
- ['group', 'markerGroup'].forEach(function (groupName) {
38229
- if (series[groupName]) {
38230
- // VML/HTML needs explicit attributes for flipping
38231
- if (chart.renderer.isVML) {
38232
- series[groupName].attr({
38233
- width: series.yAxis.len,
38234
- height: series.xAxis.len
38235
- });
38236
- }
38237
- series[groupName].width = series.yAxis.len;
38238
- series[groupName].height = series.xAxis.len;
38239
- // If inverted polar, don't invert series group
38240
- series[groupName].invert(series.isRadialSeries ? false : inverted);
38241
- }
38242
- });
38243
- }
38244
- // Pie, go away (#1736)
38245
- if (!series.xAxis) {
38246
- return;
38247
- }
38248
- // A fixed size is needed for inversion to work
38249
- series.eventsToUnbind.push(addEvent(chart, 'resize', setInvert));
38250
- // Do it now
38251
- setInvert();
38252
- // On subsequent render and redraw, just do setInvert without
38253
- // setting up events again
38254
- series.invertGroups = setInvert;
38255
- };
38256
38208
  /**
38257
38209
  * General abstraction for creating plot groups like series.group,
38258
38210
  * series.dataLabelsGroup and series.markerGroup. On subsequent calls,
@@ -38293,7 +38245,7 @@
38293
38245
  ' highcharts-tracker' :
38294
38246
  '')), true);
38295
38247
  // Place it on first and subsequent (redraw) calls
38296
- group.attr(attrs)[isNew ? 'attr' : 'animate'](this.getPlotBox());
38248
+ group.attr(attrs)[isNew ? 'attr' : 'animate'](this.getPlotBox(name));
38297
38249
  return group;
38298
38250
  };
38299
38251
  /**
@@ -38301,19 +38253,31 @@
38301
38253
  *
38302
38254
  * @function Highcharts.Series#getPlotBox
38303
38255
  */
38304
- Series.prototype.getPlotBox = function () {
38305
- var chart = this.chart;
38306
- var xAxis = this.xAxis,
38307
- yAxis = this.yAxis;
38256
+ Series.prototype.getPlotBox = function (name) {
38257
+ var horAxis = this.xAxis,
38258
+ vertAxis = this.yAxis;
38259
+ var chart = this.chart,
38260
+ inverted = (chart.inverted &&
38261
+ !chart.polar &&
38262
+ horAxis &&
38263
+ this.invertible !== false &&
38264
+ (name === 'markers' || name === 'series'));
38308
38265
  // Swap axes for inverted (#2339)
38309
38266
  if (chart.inverted) {
38310
- xAxis = yAxis;
38311
- yAxis = this.xAxis;
38267
+ horAxis = vertAxis;
38268
+ vertAxis = this.xAxis;
38312
38269
  }
38313
38270
  return {
38314
- translateX: xAxis ? xAxis.left : chart.plotLeft,
38315
- translateY: yAxis ? yAxis.top : chart.plotTop,
38316
- scaleX: 1,
38271
+ translateX: horAxis ? horAxis.left : chart.plotLeft,
38272
+ translateY: vertAxis ? vertAxis.top : chart.plotTop,
38273
+ rotation: inverted ? 90 : 0,
38274
+ rotationOriginX: inverted ?
38275
+ (horAxis.len - vertAxis.len) / 2 :
38276
+ 0,
38277
+ rotationOriginY: inverted ?
38278
+ (horAxis.len + vertAxis.len) / 2 :
38279
+ 0,
38280
+ scaleX: inverted ? -1 : 1,
38317
38281
  scaleY: 1
38318
38282
  };
38319
38283
  };
@@ -38373,10 +38337,6 @@
38373
38337
  if (series.animate && animDuration) {
38374
38338
  series.animate(true);
38375
38339
  }
38376
- // SVGRenderer needs to know this before drawing elements (#1089,
38377
- // #1795)
38378
- group.inverted = pick(series.invertible, series.isCartesian) ?
38379
- inverted : false;
38380
38340
  // Draw the graph if any
38381
38341
  if (series.drawGraph) {
38382
38342
  series.drawGraph();
@@ -38400,8 +38360,6 @@
38400
38360
  series.options.enableMouseTracking !== false) {
38401
38361
  series.drawTracker();
38402
38362
  }
38403
- // Handle inverted series and tracker groups
38404
- series.invertGroups(inverted);
38405
38363
  // Run the animation
38406
38364
  if (series.animate && animDuration) {
38407
38365
  series.animate();
@@ -38433,28 +38391,10 @@
38433
38391
  * @function Highcharts.Series#redraw
38434
38392
  */
38435
38393
  Series.prototype.redraw = function () {
38436
- var series = this,
38437
- chart = series.chart,
38438
- // cache it here as it is set to false in render, but used after
38439
- wasDirty = series.isDirty || series.isDirtyData,
38440
- group = series.group,
38441
- xAxis = series.xAxis,
38442
- yAxis = series.yAxis;
38443
- // reposition on resize
38444
- if (group) {
38445
- if (chart.inverted) {
38446
- group.attr({
38447
- width: chart.plotWidth,
38448
- height: chart.plotHeight
38449
- });
38450
- }
38451
- group.animate({
38452
- translateX: pick(xAxis && xAxis.left, chart.plotLeft),
38453
- translateY: pick(yAxis && yAxis.top, chart.plotTop)
38454
- });
38455
- }
38456
- series.translate();
38457
- series.render();
38394
+ // Cache it here as it is set to false in render, but used after
38395
+ var wasDirty = this.isDirty || this.isDirtyData;
38396
+ this.translate();
38397
+ this.render();
38458
38398
  if (wasDirty) { // #3868, #3945
38459
38399
  delete this.kdTree;
38460
38400
  }
@@ -39338,7 +39278,7 @@
39338
39278
  lineWidth + (stateOptions[state].lineWidthPlus || 0)); // #4035
39339
39279
  opacity = pick(stateOptions[state].opacity, opacity);
39340
39280
  }
39341
- if (graph && !graph.dashstyle) {
39281
+ if (graph && !graph.dashstyle && isNumber(lineWidth)) {
39342
39282
  attribs = {
39343
39283
  'stroke-width': lineWidth
39344
39284
  };
@@ -40086,9 +40026,14 @@
40086
40026
  }, css, this.scrollingParent);
40087
40027
  // On scroll, reset the chart position because it applies to the scrolled
40088
40028
  // container
40029
+ var lastHoverPoint;
40089
40030
  addEvent(this.scrollingContainer, 'scroll', function () {
40090
40031
  if (_this.pointer) {
40091
40032
  delete _this.pointer.chartPosition;
40033
+ if (_this.hoverPoint) {
40034
+ lastHoverPoint = _this.hoverPoint;
40035
+ }
40036
+ _this.pointer.runPointActions(void 0, lastHoverPoint, true);
40092
40037
  }
40093
40038
  });
40094
40039
  this.innerContainer = createElement('div', {
@@ -40842,12 +40787,15 @@
40842
40787
  * @function Highcharts.Series#setStackedPoints
40843
40788
  */
40844
40789
  function seriesSetStackedPoints(stackingParam) {
40845
- var stacking = stackingParam || this.options.stacking;
40790
+ var chart = this.chart,
40791
+ stacking = stackingParam || this.options.stacking;
40846
40792
  if (!stacking || (this.visible !== true &&
40847
- this.chart.options.chart.ignoreHiddenSeries !== false)) {
40793
+ chart.options.chart.ignoreHiddenSeries !== false)) {
40848
40794
  return;
40849
40795
  }
40850
- var series = this, xData = series.processedXData, yData = series.processedYData, stackedYData = [], yDataLength = yData.length, seriesOptions = series.options, threshold = seriesOptions.threshold, stackThreshold = pick(seriesOptions.startFromThreshold && threshold, 0), stackOption = seriesOptions.stack, stackKey = stackingParam ? "" + series.type + ",".concat(stacking) : series.stackKey, negKey = '-' + stackKey, negStacks = series.negStacks, yAxis = series.yAxis, stacks = yAxis.stacking.stacks, oldStacks = yAxis.stacking.oldStacks;
40796
+ var series = this, xData = series.processedXData, yData = series.processedYData, stackedYData = [], yDataLength = yData.length, seriesOptions = series.options, threshold = seriesOptions.threshold, stackThreshold = pick(seriesOptions.startFromThreshold && threshold, 0), stackOption = seriesOptions.stack, stackKey = stackingParam ? "" + series.type + ",".concat(stacking) : series.stackKey, negKey = '-' + stackKey, negStacks = series.negStacks, yAxis = stacking === 'group' ?
40797
+ chart.yAxis[0] :
40798
+ series.yAxis, stacks = yAxis.stacking.stacks, oldStacks = yAxis.stacking.oldStacks;
40851
40799
  var stackIndicator,
40852
40800
  isNegative,
40853
40801
  stack,
@@ -41279,7 +41227,7 @@
41279
41227
  if (graph && !styledMode) {
41280
41228
  attribs = {
41281
41229
  'stroke': prop[2],
41282
- 'stroke-width': options.lineWidth,
41230
+ 'stroke-width': options.lineWidth || 0,
41283
41231
  // Polygon series use filled graph
41284
41232
  'fill': (series.fillGraph && series.color) || 'none'
41285
41233
  };
@@ -41565,7 +41513,10 @@
41565
41513
  */
41566
41514
  /**
41567
41515
  * An additional, individual class name for the data point's graphic
41568
- * representation.
41516
+ * representation. Changes to a point's color will also be reflected in a
41517
+ * chart's legend and tooltip.
41518
+ *
41519
+ * @sample {highcharts} highcharts/css/point-series-classname
41569
41520
  *
41570
41521
  * @type {string}
41571
41522
  * @since 5.0.0
@@ -43987,7 +43938,8 @@
43987
43938
  * Draw the tracker for a point.
43988
43939
  * @private
43989
43940
  */
43990
- ColumnSeries.prototype.drawTracker = function () {
43941
+ ColumnSeries.prototype.drawTracker = function (points) {
43942
+ if (points === void 0) { points = this.points; }
43991
43943
  var series = this,
43992
43944
  chart = series.chart,
43993
43945
  pointer = chart.pointer,
@@ -44001,7 +43953,7 @@
44001
43953
  };
44002
43954
  var dataLabels;
44003
43955
  // Add reference to the point
44004
- series.points.forEach(function (point) {
43956
+ points.forEach(function (point) {
44005
43957
  dataLabels = (isArray(point.dataLabels) ?
44006
43958
  point.dataLabels :
44007
43959
  (point.dataLabel ? [point.dataLabel] : []));
@@ -44033,7 +43985,6 @@
44033
43985
  }
44034
43986
  if (!chart.styledMode && series.options.cursor) {
44035
43987
  series[key]
44036
- .css(css)
44037
43988
  .css({ cursor: series.options.cursor });
44038
43989
  }
44039
43990
  }
@@ -44173,8 +44124,7 @@
44173
44124
  chart = this.chart,
44174
44125
  inverted = this.isCartesian && chart.inverted,
44175
44126
  enabledDataSorting = this.enabledDataSorting,
44176
- plotX = pick(point.dlBox && point.dlBox.centerX,
44177
- point.plotX),
44127
+ plotX = point.plotX,
44178
44128
  plotY = point.plotY,
44179
44129
  rotation = options.rotation,
44180
44130
  align = options.align,
@@ -44202,6 +44152,7 @@
44202
44152
  alignAttr, // the final position;
44203
44153
  justify = pick(options.overflow, (enabledDataSorting ? 'none' : 'justify')) === 'justify', visible = this.visible &&
44204
44154
  point.visible !== false &&
44155
+ defined(plotX) &&
44205
44156
  (point.series.forceDL ||
44206
44157
  (enabledDataSorting && !justify) ||
44207
44158
  isInsidePlot ||
@@ -44310,12 +44261,8 @@
44310
44261
  // arrow pointing to thie point
44311
44262
  if (options.shape && !rotation) {
44312
44263
  dataLabel[isNew ? 'attr' : 'animate']({
44313
- anchorX: inverted ?
44314
- chart.plotWidth - point.plotY :
44315
- point.plotX,
44316
- anchorY: inverted ?
44317
- chart.plotHeight - point.plotX :
44318
- point.plotY
44264
+ anchorX: inverted ? chart.plotWidth - plotY : plotX,
44265
+ anchorY: inverted ? chart.plotHeight - plotX : plotY
44319
44266
  });
44320
44267
  }
44321
44268
  }
@@ -45136,7 +45083,7 @@
45136
45083
  * https://api.highcharts.com/highcharts/plotOptions.column.pointPadding)
45137
45084
  * settings.
45138
45085
  *
45139
- * @sample {highcharts} highcharts/series-scatter/jitter
45086
+ * @sample {highcharts} highcharts/demo/scatter-jitter
45140
45087
  * Jitter on a scatter plot
45141
45088
  *
45142
45089
  * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
@@ -50920,18 +50867,17 @@
50920
50867
  point = _super.prototype.applyOptions.call(this,
50921
50868
  options,
50922
50869
  x),
50923
- joinBy = series.joinBy,
50924
- mapPoint;
50870
+ joinBy = series.joinBy;
50925
50871
  if (series.mapData && series.mapMap) {
50926
- var joinKey = joinBy[1];
50927
- var mapKey = _super.prototype.getNestedProperty.call(point,
50928
- joinKey);
50929
- mapPoint = typeof mapKey !== 'undefined' &&
50930
- series.mapMap[mapKey];
50872
+ var joinKey = joinBy[1],
50873
+ mapKey = _super.prototype.getNestedProperty.call(point,
50874
+ joinKey),
50875
+ mapPoint = typeof mapKey !== 'undefined' &&
50876
+ series.mapMap[mapKey];
50931
50877
  if (mapPoint) {
50932
50878
  extend(point, mapPoint); // copy over properties
50933
50879
  }
50934
- else {
50880
+ else if (series.pointArrayMap.indexOf('value') !== -1) {
50935
50881
  point.value = point.value || null;
50936
50882
  }
50937
50883
  }
@@ -50998,17 +50944,47 @@
50998
50944
  * Highmaps only. Zoom in on the point using the global animation.
50999
50945
  *
51000
50946
  * @sample maps/members/point-zoomto/
51001
- * Zoom to points from butons
50947
+ * Zoom to points from buttons
51002
50948
  *
51003
50949
  * @requires modules/map
51004
50950
  *
51005
50951
  * @function Highcharts.Point#zoomTo
51006
50952
  */
51007
50953
  MapPoint.prototype.zoomTo = function () {
51008
- var point = this;
51009
- var chart = point.series.chart;
51010
- if (chart.mapView && point.bounds) {
51011
- chart.mapView.fitToBounds(point.bounds, void 0, false);
50954
+ var point = this,
50955
+ chart = point.series.chart,
50956
+ mapView = chart.mapView;
50957
+ var bounds = point.bounds;
50958
+ if (mapView && bounds) {
50959
+ var inset = isNumber(point.insetIndex) &&
50960
+ mapView.insets[point.insetIndex];
50961
+ if (inset) {
50962
+ // If in an inset, translate the bounds to pixels ...
50963
+ var px1 = inset.projectedUnitsToPixels({
50964
+ x: bounds.x1,
50965
+ y: bounds.y1
50966
+ }),
50967
+ px2 = inset.projectedUnitsToPixels({
50968
+ x: bounds.x2,
50969
+ y: bounds.y2
50970
+ }),
50971
+ // ... then back to projected units in the main mapView
50972
+ proj1 = mapView.pixelsToProjectedUnits({
50973
+ x: px1.x,
50974
+ y: px1.y
50975
+ }),
50976
+ proj2 = mapView.pixelsToProjectedUnits({
50977
+ x: px2.x,
50978
+ y: px2.y
50979
+ });
50980
+ bounds = {
50981
+ x1: proj1.x,
50982
+ y1: proj1.y,
50983
+ x2: proj2.x,
50984
+ y2: proj2.y
50985
+ };
50986
+ }
50987
+ mapView.fitToBounds(bounds, void 0, false);
51012
50988
  point.series.isDirty = true;
51013
50989
  chart.redraw();
51014
50990
  }
@@ -53936,6 +53912,7 @@
53936
53912
  fireEvent = U.fireEvent,
53937
53913
  getNestedProperty = U.getNestedProperty,
53938
53914
  isArray = U.isArray,
53915
+ defined = U.defined,
53939
53916
  isNumber = U.isNumber,
53940
53917
  isObject = U.isObject,
53941
53918
  merge = U.merge,
@@ -54395,11 +54372,12 @@
54395
54372
  if (!point.visible) {
54396
54373
  attr.fill = this.options.nullColor;
54397
54374
  }
54398
- attr['stroke-width'] = pick(pointStrokeWidth,
54399
- // By default set the stroke-width on the group element and let all
54400
- // point graphics inherit. That way we don't have to iterate over
54401
- // all points to update the stroke-width on zooming.
54402
- 'inherit');
54375
+ if (defined(pointStrokeWidth)) {
54376
+ attr['stroke-width'] = pointStrokeWidth;
54377
+ }
54378
+ else {
54379
+ delete attr['stroke-width'];
54380
+ }
54403
54381
  return attr;
54404
54382
  };
54405
54383
  /**
@@ -57334,12 +57312,9 @@
57334
57312
  };
57335
57313
  }
57336
57314
  else { // below zThreshold
57337
- point.shapeArgs = point.dlBox = void 0; // #1691
57338
- point.plotY = 0; // #17281
57339
- point.marker = {
57340
- width: 0,
57341
- height: 0
57342
- };
57315
+ // #1691
57316
+ point.shapeArgs = point.plotY = point.dlBox = void 0;
57317
+ point.isInside = false; // #17281
57343
57318
  }
57344
57319
  }
57345
57320
  };