highcharts 9.3.3 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/Accessibility.js +1 -1
  8. package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
  9. package/es-modules/Accessibility/Components/MenuComponent.js +4 -5
  10. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
  11. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  12. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  13. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +61 -29
  16. package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
  17. package/es-modules/Accessibility/HighContrastMode.js +2 -2
  18. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  19. package/es-modules/Accessibility/ProxyElement.js +14 -6
  20. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  21. package/es-modules/Core/Axis/Axis.js +150 -46
  22. package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
  23. package/es-modules/Core/Axis/GridAxis.js +10 -9
  24. package/es-modules/Core/Axis/TreeGridTick.js +11 -0
  25. package/es-modules/Core/Chart/Chart3D.js +1 -11
  26. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  27. package/es-modules/Core/Chart/MapChart.js +1 -6
  28. package/es-modules/Core/DefaultOptions.js +2 -0
  29. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  30. package/es-modules/Core/Globals.js +4 -18
  31. package/es-modules/Core/HttpUtilities.js +13 -8
  32. package/es-modules/Core/Legend/Legend.js +10 -8
  33. package/es-modules/Core/Navigator.js +9 -6
  34. package/es-modules/Core/Pointer.js +15 -11
  35. package/es-modules/Core/Renderer/HTML/AST.js +62 -5
  36. package/es-modules/Core/Renderer/SVG/SVGElement.js +25 -41
  37. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -17
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  40. package/es-modules/Core/Series/DataLabel.js +11 -3
  41. package/es-modules/Core/Series/Point.js +2 -2
  42. package/es-modules/Core/Series/Series.js +33 -15
  43. package/es-modules/Core/Series/SeriesDefaults.js +4 -1
  44. package/es-modules/Core/Tooltip.js +14 -31
  45. package/es-modules/Core/Utilities.js +28 -28
  46. package/es-modules/Extensions/Annotations/Annotations.js +7 -0
  47. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  48. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
  49. package/es-modules/Extensions/Annotations/Popup.js +1 -1
  50. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  51. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  52. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  53. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  54. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  55. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  56. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  57. package/es-modules/Extensions/Data.js +26 -14
  58. package/es-modules/Extensions/DataGrouping.js +5 -2
  59. package/es-modules/Extensions/DraggablePoints.js +9 -7
  60. package/es-modules/Extensions/Drilldown.js +147 -94
  61. package/es-modules/Extensions/Exporting/Exporting.js +9 -7
  62. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  63. package/es-modules/Extensions/GeoJSON.js +149 -124
  64. package/es-modules/Extensions/MarkerClusters.js +34 -20
  65. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  66. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  67. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  68. package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
  69. package/es-modules/Extensions/Stacking.js +3 -2
  70. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  71. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  72. package/es-modules/Maps/MapNavigation.js +49 -8
  73. package/es-modules/Maps/MapPointer.js +16 -0
  74. package/es-modules/Maps/MapUtilities.js +56 -0
  75. package/es-modules/Maps/MapView.js +606 -135
  76. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  77. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  78. package/es-modules/Maps/Projection.js +169 -77
  79. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  80. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  81. package/es-modules/Maps/Projections/Miller.js +23 -10
  82. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  83. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  84. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  85. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  86. package/es-modules/Series/Column/ColumnSeries.js +4 -3
  87. package/es-modules/Series/DataModifyComposition.js +1 -0
  88. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
  89. package/es-modules/Series/DrawPointComposition.js +7 -4
  90. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  91. package/es-modules/Series/Map/MapPoint.js +24 -1
  92. package/es-modules/Series/Map/MapSeries.js +196 -169
  93. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  94. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  95. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  96. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  97. package/es-modules/Series/NodesComposition.js +60 -13
  98. package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
  99. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  100. package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
  101. package/es-modules/Series/Pie/PiePoint.js +12 -5
  102. package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
  103. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  104. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  105. package/es-modules/Series/Sankey/SankeySeries.js +10 -127
  106. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  107. package/es-modules/Series/Sunburst/SunburstSeries.js +13 -2
  108. package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
  109. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
  110. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
  111. package/es-modules/Stock/StockToolsGui.js +1 -1
  112. package/es-modules/masters/highcharts-3d.src.js +1 -1
  113. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  114. package/es-modules/masters/highcharts-more.src.js +1 -1
  115. package/es-modules/masters/highcharts.src.js +1 -1
  116. package/es-modules/masters/highmaps.src.js +1 -1
  117. package/es-modules/masters/highstock.src.js +1 -1
  118. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  119. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  120. package/es-modules/masters/indicators/ao.src.js +1 -1
  121. package/es-modules/masters/indicators/apo.src.js +1 -1
  122. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  123. package/es-modules/masters/indicators/aroon.src.js +1 -1
  124. package/es-modules/masters/indicators/atr.src.js +1 -1
  125. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  126. package/es-modules/masters/indicators/cci.src.js +1 -1
  127. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  128. package/es-modules/masters/indicators/cmf.src.js +1 -1
  129. package/es-modules/masters/indicators/cmo.src.js +1 -1
  130. package/es-modules/masters/indicators/dema.src.js +1 -1
  131. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  132. package/es-modules/masters/indicators/dmi.src.js +1 -1
  133. package/es-modules/masters/indicators/dpo.src.js +1 -1
  134. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  135. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  136. package/es-modules/masters/indicators/indicators.src.js +1 -1
  137. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  138. package/es-modules/masters/indicators/klinger.src.js +1 -1
  139. package/es-modules/masters/indicators/macd.src.js +1 -1
  140. package/es-modules/masters/indicators/mfi.src.js +1 -1
  141. package/es-modules/masters/indicators/momentum.src.js +1 -1
  142. package/es-modules/masters/indicators/natr.src.js +1 -1
  143. package/es-modules/masters/indicators/obv.src.js +1 -1
  144. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  145. package/es-modules/masters/indicators/ppo.src.js +1 -1
  146. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  147. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  148. package/es-modules/masters/indicators/psar.src.js +1 -1
  149. package/es-modules/masters/indicators/regressions.src.js +1 -1
  150. package/es-modules/masters/indicators/roc.src.js +1 -1
  151. package/es-modules/masters/indicators/rsi.src.js +1 -1
  152. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  153. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  154. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  155. package/es-modules/masters/indicators/tema.src.js +1 -1
  156. package/es-modules/masters/indicators/trendline.src.js +1 -1
  157. package/es-modules/masters/indicators/trix.src.js +1 -1
  158. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  159. package/es-modules/masters/indicators/vwap.src.js +1 -1
  160. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  161. package/es-modules/masters/indicators/wma.src.js +1 -1
  162. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  163. package/es-modules/masters/modules/accessibility.src.js +1 -1
  164. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  165. package/es-modules/masters/modules/annotations.src.js +1 -1
  166. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  167. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  168. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  169. package/es-modules/masters/modules/boost.src.js +1 -1
  170. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  171. package/es-modules/masters/modules/bullet.src.js +1 -1
  172. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  173. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  174. package/es-modules/masters/modules/cylinder.src.js +1 -1
  175. package/es-modules/masters/modules/data.src.js +1 -1
  176. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  177. package/es-modules/masters/modules/debugger.src.js +1 -1
  178. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  179. package/es-modules/masters/modules/dotplot.src.js +1 -1
  180. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  181. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  182. package/es-modules/masters/modules/drilldown.src.js +2 -1
  183. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  184. package/es-modules/masters/modules/export-data.src.js +1 -1
  185. package/es-modules/masters/modules/exporting.src.js +1 -1
  186. package/es-modules/masters/modules/full-screen.src.js +1 -1
  187. package/es-modules/masters/modules/funnel.src.js +1 -1
  188. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  189. package/es-modules/masters/modules/gantt.src.js +1 -1
  190. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  191. package/es-modules/masters/modules/heatmap.src.js +1 -1
  192. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  193. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  194. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  195. package/es-modules/masters/modules/item-series.src.js +1 -1
  196. package/es-modules/masters/modules/lollipop.src.js +1 -1
  197. package/es-modules/masters/modules/map.src.js +5 -1
  198. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  199. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  200. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  201. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  202. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  203. package/es-modules/masters/modules/oldie.src.js +1 -1
  204. package/es-modules/masters/modules/organization.src.js +1 -1
  205. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  206. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  207. package/es-modules/masters/modules/pareto.src.js +1 -1
  208. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  209. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  210. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  211. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  212. package/es-modules/masters/modules/sankey.src.js +1 -1
  213. package/es-modules/masters/modules/series-label.src.js +1 -1
  214. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  215. package/es-modules/masters/modules/sonification.src.js +1 -1
  216. package/es-modules/masters/modules/static-scale.src.js +1 -1
  217. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  218. package/es-modules/masters/modules/stock.src.js +1 -1
  219. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  220. package/es-modules/masters/modules/sunburst.src.js +1 -1
  221. package/es-modules/masters/modules/tilemap.src.js +1 -1
  222. package/es-modules/masters/modules/timeline.src.js +1 -1
  223. package/es-modules/masters/modules/treegrid.src.js +1 -1
  224. package/es-modules/masters/modules/treemap.src.js +5 -1
  225. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  226. package/es-modules/masters/modules/variwide.src.js +1 -1
  227. package/es-modules/masters/modules/vector.src.js +1 -1
  228. package/es-modules/masters/modules/venn.src.js +1 -1
  229. package/es-modules/masters/modules/windbarb.src.js +1 -1
  230. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  231. package/es-modules/masters/modules/xrange.src.js +1 -1
  232. package/es-modules/masters/themes/avocado.src.js +1 -1
  233. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  234. package/es-modules/masters/themes/brand-light.src.js +1 -1
  235. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  236. package/es-modules/masters/themes/dark-green.src.js +1 -1
  237. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  238. package/es-modules/masters/themes/gray.src.js +1 -1
  239. package/es-modules/masters/themes/grid-light.src.js +1 -1
  240. package/es-modules/masters/themes/grid.src.js +1 -1
  241. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  242. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  243. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  244. package/es-modules/masters/themes/skies.src.js +1 -1
  245. package/es-modules/masters/themes/sunset.src.js +1 -1
  246. package/highcharts-3d.js +99 -98
  247. package/highcharts-3d.js.map +1 -1
  248. package/highcharts-3d.src.js +50 -20
  249. package/highcharts-gantt.js +800 -795
  250. package/highcharts-gantt.js.map +1 -1
  251. package/highcharts-gantt.src.js +528 -290
  252. package/highcharts-more.js +195 -194
  253. package/highcharts-more.js.map +1 -1
  254. package/highcharts-more.src.js +13 -2
  255. package/highcharts.d.ts +2162 -504
  256. package/highcharts.js +586 -581
  257. package/highcharts.js.map +1 -1
  258. package/highcharts.src.d.ts +2162 -504
  259. package/highcharts.src.js +494 -272
  260. package/highmaps.js +753 -723
  261. package/highmaps.js.map +1 -1
  262. package/highmaps.src.js +3603 -2117
  263. package/highstock.js +790 -786
  264. package/highstock.js.map +1 -1
  265. package/highstock.src.js +519 -283
  266. package/indicators/acceleration-bands.js +12 -11
  267. package/indicators/acceleration-bands.js.map +1 -1
  268. package/indicators/acceleration-bands.src.js +11 -2
  269. package/indicators/accumulation-distribution.js +5 -5
  270. package/indicators/accumulation-distribution.js.map +1 -1
  271. package/indicators/accumulation-distribution.src.js +11 -2
  272. package/indicators/ao.js +6 -6
  273. package/indicators/ao.js.map +1 -1
  274. package/indicators/ao.src.js +11 -2
  275. package/indicators/apo.js +5 -5
  276. package/indicators/apo.js.map +1 -1
  277. package/indicators/apo.src.js +11 -2
  278. package/indicators/aroon-oscillator.js +10 -10
  279. package/indicators/aroon-oscillator.js.map +1 -1
  280. package/indicators/aroon-oscillator.src.js +11 -2
  281. package/indicators/aroon.js +11 -11
  282. package/indicators/aroon.js.map +1 -1
  283. package/indicators/aroon.src.js +11 -2
  284. package/indicators/atr.js +5 -5
  285. package/indicators/atr.js.map +1 -1
  286. package/indicators/atr.src.js +11 -2
  287. package/indicators/bollinger-bands.js +12 -12
  288. package/indicators/bollinger-bands.js.map +1 -1
  289. package/indicators/bollinger-bands.src.js +11 -2
  290. package/indicators/cci.js +5 -5
  291. package/indicators/cci.js.map +1 -1
  292. package/indicators/cci.src.js +11 -2
  293. package/indicators/chaikin.js +8 -8
  294. package/indicators/chaikin.js.map +1 -1
  295. package/indicators/chaikin.src.js +11 -2
  296. package/indicators/cmf.js +6 -6
  297. package/indicators/cmf.js.map +1 -1
  298. package/indicators/cmf.src.js +11 -2
  299. package/indicators/cmo.js +5 -5
  300. package/indicators/cmo.js.map +1 -1
  301. package/indicators/cmo.src.js +11 -2
  302. package/indicators/dema.js +5 -5
  303. package/indicators/dema.js.map +1 -1
  304. package/indicators/dema.src.js +11 -2
  305. package/indicators/disparity-index.js +6 -6
  306. package/indicators/disparity-index.js.map +1 -1
  307. package/indicators/disparity-index.src.js +11 -2
  308. package/indicators/dmi.js +12 -12
  309. package/indicators/dmi.js.map +1 -1
  310. package/indicators/dmi.src.js +11 -2
  311. package/indicators/dpo.js +5 -5
  312. package/indicators/dpo.js.map +1 -1
  313. package/indicators/dpo.src.js +11 -2
  314. package/indicators/ema.js +2 -1
  315. package/indicators/ema.js.map +1 -1
  316. package/indicators/ema.src.js +10 -1
  317. package/indicators/ichimoku-kinko-hyo.js +16 -16
  318. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  319. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  320. package/indicators/indicators-all.js +195 -194
  321. package/indicators/indicators-all.js.map +1 -1
  322. package/indicators/indicators-all.src.js +21 -5
  323. package/indicators/indicators.js +13 -12
  324. package/indicators/indicators.js.map +1 -1
  325. package/indicators/indicators.src.js +21 -5
  326. package/indicators/keltner-channels.js +12 -11
  327. package/indicators/keltner-channels.js.map +1 -1
  328. package/indicators/keltner-channels.src.js +11 -2
  329. package/indicators/klinger.js +13 -13
  330. package/indicators/klinger.js.map +1 -1
  331. package/indicators/klinger.src.js +11 -2
  332. package/indicators/macd.js +12 -11
  333. package/indicators/macd.js.map +1 -1
  334. package/indicators/macd.src.js +11 -2
  335. package/indicators/mfi.js +6 -6
  336. package/indicators/mfi.js.map +1 -1
  337. package/indicators/mfi.src.js +11 -2
  338. package/indicators/momentum.js +5 -5
  339. package/indicators/momentum.js.map +1 -1
  340. package/indicators/momentum.src.js +11 -2
  341. package/indicators/natr.js +5 -4
  342. package/indicators/natr.js.map +1 -1
  343. package/indicators/natr.src.js +11 -2
  344. package/indicators/obv.js +5 -5
  345. package/indicators/obv.js.map +1 -1
  346. package/indicators/obv.src.js +11 -2
  347. package/indicators/pivot-points.js +11 -11
  348. package/indicators/pivot-points.js.map +1 -1
  349. package/indicators/pivot-points.src.js +11 -2
  350. package/indicators/ppo.js +5 -5
  351. package/indicators/ppo.js.map +1 -1
  352. package/indicators/ppo.src.js +11 -2
  353. package/indicators/price-channel.js +11 -11
  354. package/indicators/price-channel.js.map +1 -1
  355. package/indicators/price-channel.src.js +11 -2
  356. package/indicators/price-envelopes.js +8 -8
  357. package/indicators/price-envelopes.js.map +1 -1
  358. package/indicators/price-envelopes.src.js +11 -2
  359. package/indicators/psar.js +7 -6
  360. package/indicators/psar.js.map +1 -1
  361. package/indicators/psar.src.js +11 -2
  362. package/indicators/regressions.js +12 -12
  363. package/indicators/regressions.js.map +1 -1
  364. package/indicators/regressions.src.js +11 -2
  365. package/indicators/roc.js +5 -5
  366. package/indicators/roc.js.map +1 -1
  367. package/indicators/roc.src.js +11 -2
  368. package/indicators/rsi.js +6 -5
  369. package/indicators/rsi.js.map +1 -1
  370. package/indicators/rsi.src.js +11 -2
  371. package/indicators/slow-stochastic.js +5 -5
  372. package/indicators/slow-stochastic.js.map +1 -1
  373. package/indicators/slow-stochastic.src.js +11 -2
  374. package/indicators/stochastic.js +12 -12
  375. package/indicators/stochastic.js.map +1 -1
  376. package/indicators/stochastic.src.js +11 -2
  377. package/indicators/supertrend.js +10 -10
  378. package/indicators/supertrend.js.map +1 -1
  379. package/indicators/supertrend.src.js +11 -2
  380. package/indicators/tema.js +6 -6
  381. package/indicators/tema.js.map +1 -1
  382. package/indicators/tema.src.js +11 -2
  383. package/indicators/trendline.js +5 -5
  384. package/indicators/trendline.js.map +1 -1
  385. package/indicators/trendline.src.js +11 -2
  386. package/indicators/trix.js +4 -4
  387. package/indicators/trix.js.map +1 -1
  388. package/indicators/trix.src.js +11 -2
  389. package/indicators/volume-by-price.js +17 -17
  390. package/indicators/volume-by-price.js.map +1 -1
  391. package/indicators/volume-by-price.src.js +11 -2
  392. package/indicators/vwap.js +5 -5
  393. package/indicators/vwap.js.map +1 -1
  394. package/indicators/vwap.src.js +11 -2
  395. package/indicators/williams-r.js +6 -5
  396. package/indicators/williams-r.js.map +1 -1
  397. package/indicators/williams-r.src.js +11 -2
  398. package/indicators/wma.js +5 -5
  399. package/indicators/wma.js.map +1 -1
  400. package/indicators/wma.src.js +11 -2
  401. package/indicators/zigzag.js +6 -6
  402. package/indicators/zigzag.js.map +1 -1
  403. package/indicators/zigzag.src.js +11 -2
  404. package/lib/jspdf.js +299 -184
  405. package/lib/jspdf.src.js +25266 -18067
  406. package/lib/svg2pdf.js +35 -31
  407. package/lib/svg2pdf.src.js +5721 -4179
  408. package/modules/accessibility.js +231 -229
  409. package/modules/accessibility.js.map +1 -1
  410. package/modules/accessibility.src.js +278 -197
  411. package/modules/annotations-advanced.js +144 -144
  412. package/modules/annotations-advanced.js.map +1 -1
  413. package/modules/annotations-advanced.src.js +26 -8
  414. package/modules/annotations.js +79 -79
  415. package/modules/annotations.js.map +1 -1
  416. package/modules/annotations.src.js +21 -5
  417. package/modules/arc-diagram.js +25 -0
  418. package/modules/arc-diagram.js.map +1 -0
  419. package/modules/arc-diagram.src.js +770 -0
  420. package/modules/arrow-symbols.js +4 -3
  421. package/modules/arrow-symbols.js.map +1 -1
  422. package/modules/arrow-symbols.src.js +11 -2
  423. package/modules/boost-canvas.js +15 -15
  424. package/modules/boost-canvas.js.map +1 -1
  425. package/modules/boost-canvas.src.js +11 -2
  426. package/modules/boost.js +80 -79
  427. package/modules/boost.js.map +1 -1
  428. package/modules/boost.src.js +71 -43
  429. package/modules/broken-axis.js +13 -13
  430. package/modules/broken-axis.js.map +1 -1
  431. package/modules/broken-axis.src.js +11 -2
  432. package/modules/bullet.js +9 -9
  433. package/modules/bullet.js.map +1 -1
  434. package/modules/bullet.src.js +11 -2
  435. package/modules/coloraxis.js +24 -24
  436. package/modules/coloraxis.js.map +1 -1
  437. package/modules/coloraxis.src.js +33 -7
  438. package/modules/current-date-indicator.js +5 -4
  439. package/modules/current-date-indicator.js.map +1 -1
  440. package/modules/current-date-indicator.src.js +11 -2
  441. package/modules/cylinder.js +11 -11
  442. package/modules/cylinder.js.map +1 -1
  443. package/modules/cylinder.src.js +11 -2
  444. package/modules/data.js +34 -33
  445. package/modules/data.js.map +1 -1
  446. package/modules/data.src.js +59 -32
  447. package/modules/datagrouping.js +21 -20
  448. package/modules/datagrouping.js.map +1 -1
  449. package/modules/datagrouping.src.js +16 -4
  450. package/modules/debugger.js +6 -6
  451. package/modules/debugger.js.map +1 -1
  452. package/modules/debugger.src.js +11 -2
  453. package/modules/dependency-wheel.js +12 -11
  454. package/modules/dependency-wheel.js.map +1 -1
  455. package/modules/dependency-wheel.src.js +14 -5
  456. package/modules/dotplot.js +6 -6
  457. package/modules/dotplot.js.map +1 -1
  458. package/modules/dotplot.src.js +11 -2
  459. package/modules/drag-panes.js +10 -10
  460. package/modules/drag-panes.js.map +1 -1
  461. package/modules/drag-panes.src.js +11 -2
  462. package/modules/draggable-points.js +35 -34
  463. package/modules/draggable-points.js.map +1 -1
  464. package/modules/draggable-points.src.js +20 -9
  465. package/modules/drilldown.d.ts +19 -0
  466. package/modules/drilldown.js +37 -25
  467. package/modules/drilldown.js.map +1 -1
  468. package/modules/drilldown.src.d.ts +19 -0
  469. package/modules/drilldown.src.js +1090 -105
  470. package/modules/dumbbell.js +17 -17
  471. package/modules/dumbbell.js.map +1 -1
  472. package/modules/dumbbell.src.js +11 -2
  473. package/modules/export-data.js +21 -20
  474. package/modules/export-data.js.map +1 -1
  475. package/modules/export-data.src.js +11 -2
  476. package/modules/exporting.js +39 -39
  477. package/modules/exporting.js.map +1 -1
  478. package/modules/exporting.src.js +82 -18
  479. package/modules/full-screen.js +8 -7
  480. package/modules/full-screen.js.map +1 -1
  481. package/modules/full-screen.src.js +11 -2
  482. package/modules/funnel.js +12 -12
  483. package/modules/funnel.js.map +1 -1
  484. package/modules/funnel.src.js +11 -2
  485. package/modules/funnel3d.js +21 -21
  486. package/modules/funnel3d.js.map +1 -1
  487. package/modules/funnel3d.src.js +11 -2
  488. package/modules/gantt.js +217 -217
  489. package/modules/gantt.js.map +1 -1
  490. package/modules/gantt.src.js +45 -20
  491. package/modules/grid-axis.js +23 -23
  492. package/modules/grid-axis.js.map +1 -1
  493. package/modules/grid-axis.src.js +22 -11
  494. package/modules/heatmap.js +40 -39
  495. package/modules/heatmap.js.map +1 -1
  496. package/modules/heatmap.src.js +33 -7
  497. package/modules/heikinashi.js +8 -8
  498. package/modules/heikinashi.js.map +1 -1
  499. package/modules/heikinashi.src.js +11 -2
  500. package/modules/histogram-bellcurve.js +13 -13
  501. package/modules/histogram-bellcurve.js.map +1 -1
  502. package/modules/histogram-bellcurve.src.js +11 -2
  503. package/modules/hollowcandlestick.js +9 -9
  504. package/modules/hollowcandlestick.js.map +1 -1
  505. package/modules/hollowcandlestick.src.js +11 -2
  506. package/modules/item-series.js +12 -12
  507. package/modules/item-series.js.map +1 -1
  508. package/modules/item-series.src.js +11 -2
  509. package/modules/lollipop.js +7 -7
  510. package/modules/lollipop.js.map +1 -1
  511. package/modules/lollipop.src.js +12 -3
  512. package/modules/map.d.ts +80 -43
  513. package/modules/map.js +169 -144
  514. package/modules/map.js.map +1 -1
  515. package/modules/map.src.d.ts +80 -43
  516. package/modules/map.src.js +7960 -6687
  517. package/modules/marker-clusters.js +36 -36
  518. package/modules/marker-clusters.js.map +1 -1
  519. package/modules/marker-clusters.src.js +47 -23
  520. package/modules/networkgraph.d.ts +5 -0
  521. package/modules/networkgraph.js +49 -48
  522. package/modules/networkgraph.js.map +1 -1
  523. package/modules/networkgraph.src.d.ts +5 -0
  524. package/modules/networkgraph.src.js +77 -15
  525. package/modules/no-data-to-display.js +5 -5
  526. package/modules/no-data-to-display.js.map +1 -1
  527. package/modules/no-data-to-display.src.js +11 -2
  528. package/modules/offline-exporting.js +20 -18
  529. package/modules/offline-exporting.js.map +1 -1
  530. package/modules/offline-exporting.src.js +126 -25
  531. package/modules/oldie-polyfills.js +7 -7
  532. package/modules/oldie-polyfills.js.map +1 -1
  533. package/modules/oldie-polyfills.src.js +11 -2
  534. package/modules/oldie.js +30 -30
  535. package/modules/oldie.js.map +1 -1
  536. package/modules/oldie.src.js +12 -3
  537. package/modules/organization.js +16 -14
  538. package/modules/organization.js.map +1 -1
  539. package/modules/organization.src.js +166 -32
  540. package/modules/overlapping-datalabels.js +3 -2
  541. package/modules/overlapping-datalabels.js.map +1 -1
  542. package/modules/overlapping-datalabels.src.js +11 -2
  543. package/modules/parallel-coordinates.js +11 -11
  544. package/modules/parallel-coordinates.js.map +1 -1
  545. package/modules/parallel-coordinates.src.js +11 -2
  546. package/modules/pareto.js +7 -7
  547. package/modules/pareto.js.map +1 -1
  548. package/modules/pareto.src.js +11 -2
  549. package/modules/pathfinder.js +31 -31
  550. package/modules/pathfinder.js.map +1 -1
  551. package/modules/pathfinder.src.js +11 -2
  552. package/modules/pattern-fill.js +14 -14
  553. package/modules/pattern-fill.js.map +1 -1
  554. package/modules/pattern-fill.src.js +11 -2
  555. package/modules/price-indicator.js +5 -5
  556. package/modules/price-indicator.js.map +1 -1
  557. package/modules/price-indicator.src.js +11 -2
  558. package/modules/pyramid3d.js +4 -4
  559. package/modules/pyramid3d.js.map +1 -1
  560. package/modules/pyramid3d.src.js +11 -2
  561. package/modules/sankey.d.ts +5 -0
  562. package/modules/sankey.js +32 -29
  563. package/modules/sankey.js.map +1 -1
  564. package/modules/sankey.src.d.ts +5 -0
  565. package/modules/sankey.src.js +338 -156
  566. package/modules/series-label.js +18 -17
  567. package/modules/series-label.js.map +1 -1
  568. package/modules/series-label.src.js +11 -2
  569. package/modules/solid-gauge.js +10 -10
  570. package/modules/solid-gauge.js.map +1 -1
  571. package/modules/solid-gauge.src.js +11 -2
  572. package/modules/sonification.js +59 -59
  573. package/modules/sonification.js.map +1 -1
  574. package/modules/sonification.src.js +11 -2
  575. package/modules/static-scale.js +5 -4
  576. package/modules/static-scale.js.map +1 -1
  577. package/modules/static-scale.src.js +11 -2
  578. package/modules/stock-tools.js +78 -78
  579. package/modules/stock-tools.js.map +1 -1
  580. package/modules/stock-tools.src.js +21 -5
  581. package/modules/stock.js +162 -162
  582. package/modules/stock.js.map +1 -1
  583. package/modules/stock.src.js +36 -13
  584. package/modules/streamgraph.js +5 -4
  585. package/modules/streamgraph.js.map +1 -1
  586. package/modules/streamgraph.src.js +11 -2
  587. package/modules/sunburst.d.ts +3 -0
  588. package/modules/sunburst.js +73 -60
  589. package/modules/sunburst.js.map +1 -1
  590. package/modules/sunburst.src.d.ts +3 -0
  591. package/modules/sunburst.src.js +1049 -96
  592. package/modules/tilemap.js +17 -17
  593. package/modules/tilemap.js.map +1 -1
  594. package/modules/tilemap.src.js +11 -2
  595. package/modules/timeline.js +18 -18
  596. package/modules/timeline.js.map +1 -1
  597. package/modules/timeline.src.js +11 -2
  598. package/modules/treegrid.js +57 -56
  599. package/modules/treegrid.js.map +1 -1
  600. package/modules/treegrid.src.js +33 -11
  601. package/modules/treemap.d.ts +3 -0
  602. package/modules/treemap.js +53 -41
  603. package/modules/treemap.js.map +1 -1
  604. package/modules/treemap.src.d.ts +3 -0
  605. package/modules/treemap.src.js +1039 -95
  606. package/modules/variable-pie.js +9 -9
  607. package/modules/variable-pie.js.map +1 -1
  608. package/modules/variable-pie.src.js +11 -2
  609. package/modules/variwide.js +12 -12
  610. package/modules/variwide.js.map +1 -1
  611. package/modules/variwide.src.js +11 -2
  612. package/modules/vector.js +8 -7
  613. package/modules/vector.js.map +1 -1
  614. package/modules/vector.src.js +11 -2
  615. package/modules/venn.js +31 -31
  616. package/modules/venn.js.map +1 -1
  617. package/modules/venn.src.js +18 -6
  618. package/modules/windbarb.js +15 -15
  619. package/modules/windbarb.js.map +1 -1
  620. package/modules/windbarb.src.js +11 -2
  621. package/modules/wordcloud.js +23 -23
  622. package/modules/wordcloud.js.map +1 -1
  623. package/modules/wordcloud.src.js +18 -6
  624. package/modules/xrange.js +16 -16
  625. package/modules/xrange.js.map +1 -1
  626. package/modules/xrange.src.js +11 -2
  627. package/package.json +1 -1
  628. package/themes/avocado.js +4 -3
  629. package/themes/avocado.js.map +1 -1
  630. package/themes/avocado.src.js +11 -2
  631. package/themes/brand-dark.js +9 -8
  632. package/themes/brand-dark.js.map +1 -1
  633. package/themes/brand-dark.src.js +11 -2
  634. package/themes/brand-light.js +8 -8
  635. package/themes/brand-light.js.map +1 -1
  636. package/themes/brand-light.src.js +11 -2
  637. package/themes/dark-blue.js +9 -8
  638. package/themes/dark-blue.js.map +1 -1
  639. package/themes/dark-blue.src.js +11 -2
  640. package/themes/dark-green.js +9 -8
  641. package/themes/dark-green.js.map +1 -1
  642. package/themes/dark-green.src.js +11 -2
  643. package/themes/dark-unica.js +8 -7
  644. package/themes/dark-unica.js.map +1 -1
  645. package/themes/dark-unica.src.js +11 -2
  646. package/themes/gray.js +9 -8
  647. package/themes/gray.js.map +1 -1
  648. package/themes/gray.src.js +11 -2
  649. package/themes/grid-light.js +5 -4
  650. package/themes/grid-light.js.map +1 -1
  651. package/themes/grid-light.src.js +11 -2
  652. package/themes/grid.js +5 -5
  653. package/themes/grid.js.map +1 -1
  654. package/themes/grid.src.js +11 -2
  655. package/themes/high-contrast-dark.js +7 -7
  656. package/themes/high-contrast-dark.js.map +1 -1
  657. package/themes/high-contrast-dark.src.js +21 -12
  658. package/themes/high-contrast-light.js +3 -3
  659. package/themes/high-contrast-light.js.map +1 -1
  660. package/themes/high-contrast-light.src.js +21 -12
  661. package/themes/sand-signika.js +5 -5
  662. package/themes/sand-signika.js.map +1 -1
  663. package/themes/sand-signika.src.js +11 -2
  664. package/themes/skies.js +5 -5
  665. package/themes/skies.js.map +1 -1
  666. package/themes/skies.src.js +11 -2
  667. package/themes/sunset.js +3 -3
  668. package/themes/sunset.js.map +1 -1
  669. package/themes/sunset.src.js +11 -2
  670. package/es-modules/Maps/ProjectionDefinition.js +0 -9
@@ -0,0 +1,193 @@
1
+ import U from '../../Core/Utilities.js';
2
+ var defined = U.defined, relativeLength = U.relativeLength;
3
+ var SankeyColumnComposition;
4
+ (function (SankeyColumnComposition) {
5
+ /* *
6
+ *
7
+ * Declarations
8
+ *
9
+ * */
10
+ /**
11
+ * SankeyColumn Composition
12
+ * @private
13
+ * @function Highcharts.SankeyColumn#compose
14
+ *
15
+ * @param {Array<SankeyPoint>} points
16
+ * The array of nodes
17
+ * @param {SankeySeries} series
18
+ * Series connected to column
19
+ * @return {ArrayComposition} SankeyColumnArray
20
+ */
21
+ function compose(points, series) {
22
+ var sankeyColumnArray = points;
23
+ sankeyColumnArray.sankeyColumn =
24
+ new SankeyColumnAdditions(sankeyColumnArray, series);
25
+ return sankeyColumnArray;
26
+ }
27
+ SankeyColumnComposition.compose = compose;
28
+ /* *
29
+ *
30
+ * Classes
31
+ *
32
+ * */
33
+ var SankeyColumnAdditions = /** @class */ (function () {
34
+ function SankeyColumnAdditions(points, series) {
35
+ this.points = points;
36
+ this.series = series;
37
+ }
38
+ /**
39
+ * Calculate translation factor used in column and nodes distribution
40
+ * @private
41
+ * @function Highcharts.SankeyColumn#getTranslationFactor
42
+ *
43
+ * @param {SankeySeries} series
44
+ * The Series
45
+ * @return {number} TranslationFactor
46
+ * Translation Factor
47
+ */
48
+ SankeyColumnAdditions.prototype.getTranslationFactor = function (series) {
49
+ var column = this.points, nodes = column.slice(), chart = series.chart, minLinkWidth = series.options.minLinkWidth || 0;
50
+ var skipPoint, factor = 0, i, remainingHeight = ((chart.plotSizeY || 0) -
51
+ (series.options.borderWidth || 0) -
52
+ (column.length - 1) * series.nodePadding);
53
+ // Because the minLinkWidth option doesn't obey the direct
54
+ // translation, we need to run translation iteratively, check
55
+ // node heights, remove those nodes affected by minLinkWidth,
56
+ // check again, etc.
57
+ while (column.length) {
58
+ factor = remainingHeight / column.sankeyColumn.sum();
59
+ skipPoint = false;
60
+ i = column.length;
61
+ while (i--) {
62
+ if (column[i].getSum() * factor < minLinkWidth) {
63
+ column.splice(i, 1);
64
+ remainingHeight -= minLinkWidth;
65
+ skipPoint = true;
66
+ }
67
+ }
68
+ if (!skipPoint) {
69
+ break;
70
+ }
71
+ }
72
+ // Re-insert original nodes
73
+ column.length = 0;
74
+ nodes.forEach(function (node) {
75
+ column.push(node);
76
+ });
77
+ return factor;
78
+ };
79
+ /**
80
+ * Get the top position of the column in pixels
81
+ * @private
82
+ * @function Highcharts.SankeyColumn#top
83
+ *
84
+ * @param {number} factor
85
+ * The Translation Factor
86
+ * @return {number} top
87
+ * The top position of the column
88
+ */
89
+ SankeyColumnAdditions.prototype.top = function (factor) {
90
+ var series = this.series;
91
+ var nodePadding = series.nodePadding;
92
+ var height = this.points.reduce(function (height, node) {
93
+ if (height > 0) {
94
+ height += nodePadding;
95
+ }
96
+ var nodeHeight = Math.max(node.getSum() * factor, series.options.minLinkWidth || 0);
97
+ height += nodeHeight;
98
+ return height;
99
+ }, 0);
100
+ return ((series.chart.plotSizeY || 0) - height) / 2;
101
+ };
102
+ /**
103
+ * Get the left position of the column in pixels
104
+ * @private
105
+ * @function Highcharts.SankeyColumn#top
106
+ *
107
+ * @param {number} factor
108
+ * The Translation Factor
109
+ * @return {number} left
110
+ * The left position of the column
111
+ */
112
+ SankeyColumnAdditions.prototype.left = function (factor) {
113
+ var series = this.series, chart = series.chart, equalNodes = series.options.equalNodes;
114
+ var maxNodesLength = chart.inverted ?
115
+ chart.plotHeight : chart.plotWidth, nodePadding = series.nodePadding;
116
+ var width = this.points.reduce(function (width, node) {
117
+ if (width > 0) {
118
+ width += nodePadding;
119
+ }
120
+ var nodeWidth = equalNodes ?
121
+ maxNodesLength / node.series.nodes.length - nodePadding :
122
+ Math.max(node.getSum() * factor, series.options.minLinkWidth || 0);
123
+ width += nodeWidth;
124
+ return width;
125
+ }, 0);
126
+ return ((chart.plotSizeX || 0) - Math.round(width)) / 2;
127
+ };
128
+ /**
129
+ * Calculate sum of all nodes inside specific column
130
+ * @private
131
+ * @function Highcharts.SankeyColumn#sum
132
+ *
133
+ * @param {ArrayComposition} this
134
+ * Sankey Column Array
135
+ *
136
+ * @return {number} sum
137
+ * Sum of all nodes inside column
138
+ */
139
+ SankeyColumnAdditions.prototype.sum = function () {
140
+ return this.points.reduce(function (sum, node) {
141
+ return sum + node.getSum();
142
+ }, 0);
143
+ };
144
+ /**
145
+ * Get the offset in pixels of a node inside the column
146
+ * @private
147
+ * @function Highcharts.SankeyColumn#offset
148
+ *
149
+ * @param {SankeyPoint} node
150
+ * Sankey node
151
+ * @param {number} factor
152
+ * Translation Factor
153
+ * @return {number} offset
154
+ * Offset of a node inside column
155
+ */
156
+ SankeyColumnAdditions.prototype.offset = function (node, factor) {
157
+ var column = this.points, series = this.series, nodePadding = series.nodePadding;
158
+ var offset = 0, totalNodeOffset;
159
+ if (series.is('organization') && node.hangsFrom) {
160
+ return {
161
+ absoluteTop: node.hangsFrom.nodeY
162
+ };
163
+ }
164
+ for (var i = 0; i < column.length; i++) {
165
+ var sum = column[i].getSum();
166
+ var height = Math.max(sum * factor, series.options.minLinkWidth || 0);
167
+ var directionOffset = node.options[series.chart.inverted ?
168
+ 'offsetHorizontal' :
169
+ 'offsetVertical'], optionOffset = node.options.offset || 0;
170
+ if (sum) {
171
+ totalNodeOffset = height + nodePadding;
172
+ }
173
+ else {
174
+ // If node sum equals 0 nodePadding is missed #12453
175
+ totalNodeOffset = 0;
176
+ }
177
+ if (column[i] === node) {
178
+ return {
179
+ relativeTop: offset + (defined(directionOffset) ?
180
+ // directionOffset is a percent
181
+ // of the node height
182
+ relativeLength(directionOffset, height) :
183
+ relativeLength(optionOffset, totalNodeOffset))
184
+ };
185
+ }
186
+ offset += totalNodeOffset;
187
+ }
188
+ };
189
+ return SankeyColumnAdditions;
190
+ }());
191
+ SankeyColumnComposition.SankeyColumnAdditions = SankeyColumnAdditions;
192
+ })(SankeyColumnComposition || (SankeyColumnComposition = {}));
193
+ export default SankeyColumnComposition;
@@ -27,7 +27,7 @@ import Point from '../../Core/Series/Point.js';
27
27
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
28
28
  var ColumnSeries = SeriesRegistry.seriesTypes.column;
29
29
  import U from '../../Core/Utilities.js';
30
- var defined = U.defined, extend = U.extend;
30
+ var defined = U.defined;
31
31
  /* *
32
32
  *
33
33
  * Class
@@ -81,6 +81,42 @@ var SankeyPoint = /** @class */ (function (_super) {
81
81
  return (this.isNode ? 'highcharts-node ' : 'highcharts-link ') +
82
82
  Point.prototype.getClassName.call(this);
83
83
  };
84
+ /**
85
+ * If there are incoming links, place it to the right of the
86
+ * highest order column that links to this one.
87
+ *
88
+ * @private
89
+ */
90
+ SankeyPoint.prototype.getFromNode = function () {
91
+ var node = this;
92
+ var fromColumn = -1, fromNode;
93
+ for (var i = 0; i < node.linksTo.length; i++) {
94
+ var point = node.linksTo[i];
95
+ if (point.fromNode.column > fromColumn &&
96
+ point.fromNode !== node // #16080
97
+ ) {
98
+ fromNode = point.fromNode;
99
+ fromColumn = fromNode.column;
100
+ }
101
+ }
102
+ return { fromNode: fromNode, fromColumn: fromColumn };
103
+ };
104
+ /**
105
+ * Calculate node.column if it's not set by user
106
+ * @private
107
+ */
108
+ SankeyPoint.prototype.setNodeColumn = function () {
109
+ var node = this;
110
+ if (!defined(node.options.column)) {
111
+ // No links to this node, place it left
112
+ if (node.linksTo.length === 0) {
113
+ node.column = 0;
114
+ }
115
+ else {
116
+ node.column = node.getFromNode().fromColumn + 1;
117
+ }
118
+ }
119
+ };
84
120
  /**
85
121
  * @private
86
122
  */
@@ -28,11 +28,12 @@ import H from '../../Core/Globals.js';
28
28
  import NodesComposition from '../NodesComposition.js';
29
29
  import SankeyPoint from './SankeyPoint.js';
30
30
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
31
+ import SankeyColumnComposition from './SankeyColumnComposition.js';
31
32
  var Series = SeriesRegistry.series, ColumnSeries = SeriesRegistry.seriesTypes.column;
32
33
  import TU from '../TreeUtilities.js';
33
34
  var getLevelOptions = TU.getLevelOptions;
34
35
  import U from '../../Core/Utilities.js';
35
- var defined = U.defined, extend = U.extend, find = U.find, isObject = U.isObject, merge = U.merge, pick = U.pick, relativeLength = U.relativeLength, stableSort = U.stableSort;
36
+ var defined = U.defined, extend = U.extend, isObject = U.isObject, merge = U.merge, pick = U.pick, relativeLength = U.relativeLength, stableSort = U.stableSort;
36
37
  /* *
37
38
  *
38
39
  * Class
@@ -97,56 +98,6 @@ var SankeySeries = /** @class */ (function (_super) {
97
98
  *
98
99
  * */
99
100
  /* eslint-disable valid-jsdoc */
100
- /**
101
- * Create a node column.
102
- * @private
103
- */
104
- SankeySeries.prototype.createNodeColumn = function () {
105
- var series = this, chart = this.chart, column = [];
106
- column.sum = function () {
107
- return this.reduce(function (sum, node) {
108
- return sum + node.getSum();
109
- }, 0);
110
- };
111
- // Get the offset in pixels of a node inside the column.
112
- column.offset = function (node, factor) {
113
- var offset = 0, totalNodeOffset, nodePadding = series.nodePadding;
114
- for (var i = 0; i < column.length; i++) {
115
- var sum = column[i].getSum(), height = Math.max(sum * factor, series.options.minLinkWidth), directionOffset = node.options[chart.inverted ?
116
- 'offsetHorizontal' :
117
- 'offsetVertical'], optionOffset = node.options.offset || 0;
118
- if (sum) {
119
- totalNodeOffset = height + nodePadding;
120
- }
121
- else {
122
- // If node sum equals 0 nodePadding is missed #12453
123
- totalNodeOffset = 0;
124
- }
125
- if (column[i] === node) {
126
- return {
127
- relativeTop: offset + (defined(directionOffset) ?
128
- // directionOffset is a percent of the node height
129
- relativeLength(directionOffset, height) : relativeLength(optionOffset, totalNodeOffset))
130
- };
131
- }
132
- offset += totalNodeOffset;
133
- }
134
- };
135
- // Get the top position of the column in pixels.
136
- column.top = function (factor) {
137
- var nodePadding = series.nodePadding;
138
- var height = this.reduce(function (height, node) {
139
- if (height > 0) {
140
- height += nodePadding;
141
- }
142
- var nodeHeight = Math.max(node.getSum() * factor, series.options.minLinkWidth);
143
- height += nodeHeight;
144
- return height;
145
- }, 0);
146
- return (chart.plotSizeY - height) / 2;
147
- };
148
- return column;
149
- };
150
101
  /**
151
102
  * Create node columns by analyzing the nodes and the relations between
152
103
  * incoming and outgoing links.
@@ -155,50 +106,18 @@ var SankeySeries = /** @class */ (function (_super) {
155
106
  SankeySeries.prototype.createNodeColumns = function () {
156
107
  var columns = [];
157
108
  this.nodes.forEach(function (node) {
158
- var fromColumn = -1, fromNode;
159
- if (!defined(node.options.column)) {
160
- // No links to this node, place it left
161
- if (node.linksTo.length === 0) {
162
- node.column = 0;
163
- // There are incoming links, place it to the right of the
164
- // highest order column that links to this one.
165
- }
166
- else {
167
- for (var i = 0; i < node.linksTo.length; i++) {
168
- var point = node.linksTo[i];
169
- if (point.fromNode.column > fromColumn &&
170
- point.fromNode !== node // #16080
171
- ) {
172
- fromNode = point.fromNode;
173
- fromColumn = fromNode.column;
174
- }
175
- }
176
- node.column = fromColumn + 1;
177
- // Hanging layout for organization chart
178
- if (fromNode &&
179
- fromNode.options.layout === 'hanging') {
180
- node.hangsFrom = fromNode;
181
- var i_1 = -1;
182
- find(fromNode.linksFrom, function (link, index) {
183
- var found = link.toNode === node;
184
- if (found) {
185
- i_1 = index;
186
- }
187
- return found;
188
- });
189
- node.column += i_1;
190
- }
191
- }
192
- }
109
+ node.setNodeColumn();
193
110
  if (!columns[node.column]) {
194
- columns[node.column] = this.createNodeColumn();
111
+ columns[node.column] =
112
+ SankeyColumnComposition.compose([], this);
195
113
  }
196
114
  columns[node.column].push(node);
197
115
  }, this);
198
116
  // Fill in empty columns (#8865)
199
117
  for (var i = 0; i < columns.length; i++) {
200
118
  if (typeof columns[i] === 'undefined') {
201
- columns[i] = this.createNodeColumn();
119
+ columns[i] =
120
+ SankeyColumnComposition.compose([], this);
202
121
  }
203
122
  }
204
123
  return columns;
@@ -311,42 +230,6 @@ var SankeySeries = /** @class */ (function (_super) {
311
230
  * @private
312
231
  */
313
232
  SankeySeries.prototype.translate = function () {
314
- var _this = this;
315
- // Get the translation factor needed for each column to fill up the
316
- // plot height
317
- var getColumnTranslationFactor = function (column) {
318
- var nodes = column.slice();
319
- var minLinkWidth = _this.options.minLinkWidth || 0;
320
- var exceedsMinLinkWidth;
321
- var factor = 0;
322
- var i;
323
- var remainingHeight = (chart.plotSizeY -
324
- options.borderWidth -
325
- (column.length - 1) * series.nodePadding);
326
- // Because the minLinkWidth option doesn't obey the direct
327
- // translation, we need to run translation iteratively, check
328
- // node heights, remove those nodes affected by minLinkWidth,
329
- // check again, etc.
330
- while (column.length) {
331
- factor = remainingHeight / column.sum();
332
- exceedsMinLinkWidth = false;
333
- i = column.length;
334
- while (i--) {
335
- if (column[i].getSum() * factor < minLinkWidth) {
336
- column.splice(i, 1);
337
- remainingHeight -= minLinkWidth;
338
- exceedsMinLinkWidth = true;
339
- }
340
- }
341
- if (!exceedsMinLinkWidth) {
342
- break;
343
- }
344
- }
345
- // Re-insert original nodes
346
- column.length = 0;
347
- nodes.forEach(function (node) { return column.push(node); });
348
- return factor;
349
- };
350
233
  if (!this.processedXData) {
351
234
  this.processData();
352
235
  }
@@ -357,7 +240,7 @@ var SankeySeries = /** @class */ (function (_super) {
357
240
  this.nodePadding = this.getNodePadding();
358
241
  // Find out how much space is needed. Base it on the translation
359
242
  // factor of the most spaceous column.
360
- this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, getColumnTranslationFactor(column)); }, Infinity);
243
+ this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, column.sankeyColumn.getTranslationFactor(series)); }, Infinity);
361
244
  this.colDistance =
362
245
  (chart.plotSizeX - nodeWidth -
363
246
  options.borderWidth) / Math.max(1, nodeColumns.length - 1);
@@ -516,7 +399,7 @@ var SankeySeries = /** @class */ (function (_super) {
516
399
  * @private
517
400
  */
518
401
  SankeySeries.prototype.translateNode = function (node, column) {
519
- var translationFactor = this.translationFactor, chart = this.chart, options = this.options, sum = node.getSum(), nodeHeight = Math.max(Math.round(sum * translationFactor), this.options.minLinkWidth), nodeWidth = Math.round(this.nodeWidth), crisp = Math.round(options.borderWidth) % 2 / 2, nodeOffset = column.offset(node, translationFactor), fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.top(translationFactor) +
402
+ var translationFactor = this.translationFactor, chart = this.chart, options = this.options, sum = node.getSum(), nodeHeight = Math.max(Math.round(sum * translationFactor), this.options.minLinkWidth), nodeWidth = Math.round(this.nodeWidth), crisp = Math.round(options.borderWidth) % 2 / 2, nodeOffset = column.sankeyColumn.offset(node, translationFactor), fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.sankeyColumn.top(translationFactor) +
520
403
  nodeOffset.relativeTop))) + crisp, left = Math.floor(this.colDistance * node.column +
521
404
  options.borderWidth / 2) + relativeLength(node.options.offsetHorizontal || 0, nodeWidth) +
522
405
  crisp, nodeLeft = chart.inverted ?
@@ -835,7 +718,7 @@ extend(SankeySeries.prototype, {
835
718
  isCartesian: false,
836
719
  orderNodes: true,
837
720
  noSharedTooltip: true,
838
- pointArrayMap: ['from', 'to'],
721
+ pointArrayMap: ['from', 'to', 'weight'],
839
722
  pointClass: SankeyPoint,
840
723
  searchPoint: H.noop
841
724
  });
@@ -185,7 +185,7 @@ var ScatterSeries = /** @class */ (function (_super) {
185
185
  *
186
186
  * @type {boolean}
187
187
  * @default false
188
- * @product highcharts highstock
188
+ * @product highcharts highstock highmaps
189
189
  * @apioption plotOptions.scatter.stickyTracking
190
190
  */
191
191
  /**
@@ -539,7 +539,6 @@ var SunburstSeries = /** @class */ (function (_super) {
539
539
  // @todo Only if series.isDirtyData is true
540
540
  tree = series.tree = series.getTree();
541
541
  // Render traverseUpButton, after series.nodeMap i calculated.
542
- series.renderTraverseUpButton(rootId);
543
542
  mapIdToNode = series.nodeMap;
544
543
  nodeRoot = mapIdToNode[rootId];
545
544
  idTop = isString(nodeRoot.parent) ? nodeRoot.parent : '';
@@ -616,6 +615,15 @@ var SunburstSeries = /** @class */ (function (_super) {
616
615
  * @private
617
616
  */
618
617
  SunburstSeries.defaultOptions = merge(TreemapSeries.defaultOptions, {
618
+ /**
619
+ * Options for the breadcrumbs, the navigation at the top leading the
620
+ * way up through the traversed levels.
621
+ *
622
+ * @since 10.0.0
623
+ * @product highcharts
624
+ * @extends navigation.breadcrumbs
625
+ * @optionparent plotOptions.sunburst.breadcrumbs
626
+ */
619
627
  /**
620
628
  * Set options on specific levels. Takes precedence over series options,
621
629
  * but not point options.
@@ -812,11 +820,14 @@ var SunburstSeries = /** @class */ (function (_super) {
812
820
  unit: 'weight'
813
821
  },
814
822
  /**
815
- * Options for the button appearing when traversing down in a treemap.
823
+ * Options for the button appearing when traversing down in a sunburst.
824
+ * Since v9.3.3 the `traverseUpButton` is replaced by `breadcrumbs`.
816
825
  *
817
826
  * @extends plotOptions.treemap.traverseUpButton
818
827
  * @since 6.0.0
828
+ * @deprecated
819
829
  * @apioption plotOptions.sunburst.traverseUpButton
830
+ *
820
831
  */
821
832
  /**
822
833
  * If a point is sliced, moved out from the center, how many pixels