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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v9.3.3 (2022-02-01)
2
+ * @license Highcharts JS v10.0.0 (2022-03-07)
3
3
  *
4
4
  * Sankey diagram module
5
5
  *
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * License: www.highcharts.com/license
9
9
  */
10
- 'use strict';
11
10
  (function (factory) {
12
11
  if (typeof module === 'object' && module.exports) {
13
12
  factory['default'] = factory;
@@ -22,10 +21,20 @@
22
21
  factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
23
22
  }
24
23
  }(function (Highcharts) {
24
+ 'use strict';
25
25
  var _modules = Highcharts ? Highcharts._modules : {};
26
26
  function _registerModule(obj, path, args, fn) {
27
27
  if (!obj.hasOwnProperty(path)) {
28
28
  obj[path] = fn.apply(null, args);
29
+
30
+ if (typeof CustomEvent === 'function') {
31
+ window.dispatchEvent(
32
+ new CustomEvent(
33
+ 'HighchartsModuleLoaded',
34
+ { detail: { path: path, module: obj[path] }
35
+ })
36
+ );
37
+ }
29
38
  }
30
39
  }
31
40
  _registerModule(_modules, 'Series/NodesComposition.js', [_modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Point, Series, U) {
@@ -37,6 +46,7 @@
37
46
  var defined = U.defined,
38
47
  extend = U.extend,
39
48
  find = U.find,
49
+ merge = U.merge,
40
50
  pick = U.pick;
41
51
  /* *
42
52
  *
@@ -71,6 +81,7 @@
71
81
  var pointProto = PointClass.prototype;
72
82
  pointProto.setNodeState = setNodeState;
73
83
  pointProto.setState = setNodeState;
84
+ pointProto.update = updateNode;
74
85
  }
75
86
  if (composedClasses.indexOf(SeriesClass) === -1) {
76
87
  composedClasses.push(SeriesClass);
@@ -104,17 +115,6 @@
104
115
  }, options));
105
116
  node.linksTo = [];
106
117
  node.linksFrom = [];
107
- node.formatPrefix = 'node';
108
- // for use in formats
109
- node.name = node.name || node.options.id || '';
110
- // Mass is used in networkgraph:
111
- node.mass = pick(
112
- // Node:
113
- node.options.mass, node.options.marker && node.options.marker.radius,
114
- // Series:
115
- this.options.marker && this.options.marker.radius,
116
- // Default:
117
- 4);
118
118
  /**
119
119
  * Return the largest sum of either the incoming or outgoing links.
120
120
  * @private
@@ -155,8 +155,19 @@
155
155
  return (!node.linksTo.length ||
156
156
  outgoing !== node.linksTo.length);
157
157
  };
158
- this.nodes.push(node);
158
+ node.index = this.nodes.push(node) - 1;
159
159
  }
160
+ node.formatPrefix = 'node';
161
+ // for use in formats
162
+ node.name = node.name || node.options.id || '';
163
+ // Mass is used in networkgraph:
164
+ node.mass = pick(
165
+ // Node:
166
+ node.options.mass, node.options.marker && node.options.marker.radius,
167
+ // Series:
168
+ this.options.marker && this.options.marker.radius,
169
+ // Default:
170
+ 4);
160
171
  return node;
161
172
  }
162
173
  NodesComposition.createNode = createNode;
@@ -259,6 +270,57 @@
259
270
  Point.prototype.setState.apply(this, args);
260
271
  }
261
272
  NodesComposition.setNodeState = setNodeState;
273
+ /**
274
+ * When updating a node, don't update `series.options.data`, but `series.options.nodes`
275
+ */
276
+ function updateNode(options, redraw, animation, runEvent) {
277
+ var _this = this;
278
+ var nodes = this.series.options.nodes,
279
+ data = this.series.options.data,
280
+ dataLength = data && data.length || 0,
281
+ linkConfig = data && data[this.index];
282
+ Point.prototype.update.call(this, options, this.isNode ? false : redraw, // Hold the redraw for nodes
283
+ animation, runEvent);
284
+ if (this.isNode) {
285
+ // this.index refers to `series.nodes`, not `options.nodes` array
286
+ var nodeIndex = (nodes || [])
287
+ .reduce(// Array.findIndex needs a polyfill
288
+ function (prevIndex,
289
+ n,
290
+ index) {
291
+ return (_this.id === n.id ? index : prevIndex);
292
+ }, -1),
293
+ // Merge old config with new config. New config is stored in
294
+ // options.data, because of default logic in point.update()
295
+ nodeConfig = merge(nodes && nodes[nodeIndex] || {}, data && data[this.index] || {});
296
+ // Restore link config
297
+ if (data) {
298
+ if (linkConfig) {
299
+ data[this.index] = linkConfig;
300
+ }
301
+ else {
302
+ // Remove node from config if there's more nodes than links
303
+ data.length = dataLength;
304
+ }
305
+ }
306
+ // Set node config
307
+ if (nodes) {
308
+ if (nodeIndex >= 0) {
309
+ nodes[nodeIndex] = nodeConfig;
310
+ }
311
+ else {
312
+ nodes.push(nodeConfig);
313
+ }
314
+ }
315
+ else {
316
+ this.series.options.nodes = [nodeConfig];
317
+ }
318
+ if (pick(redraw, true)) {
319
+ this.series.chart.redraw(animation);
320
+ }
321
+ }
322
+ }
323
+ NodesComposition.updateNode = updateNode;
262
324
  })(NodesComposition || (NodesComposition = {}));
263
325
  /* *
264
326
  *
@@ -297,8 +359,7 @@
297
359
  };
298
360
  })();
299
361
  var ColumnSeries = SeriesRegistry.seriesTypes.column;
300
- var defined = U.defined,
301
- extend = U.extend;
362
+ var defined = U.defined;
302
363
  /* *
303
364
  *
304
365
  * Class
@@ -353,6 +414,43 @@
353
414
  return (this.isNode ? 'highcharts-node ' : 'highcharts-link ') +
354
415
  Point.prototype.getClassName.call(this);
355
416
  };
417
+ /**
418
+ * If there are incoming links, place it to the right of the
419
+ * highest order column that links to this one.
420
+ *
421
+ * @private
422
+ */
423
+ SankeyPoint.prototype.getFromNode = function () {
424
+ var node = this;
425
+ var fromColumn = -1,
426
+ fromNode;
427
+ for (var i = 0; i < node.linksTo.length; i++) {
428
+ var point = node.linksTo[i];
429
+ if (point.fromNode.column > fromColumn &&
430
+ point.fromNode !== node // #16080
431
+ ) {
432
+ fromNode = point.fromNode;
433
+ fromColumn = fromNode.column;
434
+ }
435
+ }
436
+ return { fromNode: fromNode, fromColumn: fromColumn };
437
+ };
438
+ /**
439
+ * Calculate node.column if it's not set by user
440
+ * @private
441
+ */
442
+ SankeyPoint.prototype.setNodeColumn = function () {
443
+ var node = this;
444
+ if (!defined(node.options.column)) {
445
+ // No links to this node, place it left
446
+ if (node.linksTo.length === 0) {
447
+ node.column = 0;
448
+ }
449
+ else {
450
+ node.column = node.getFromNode().fromColumn + 1;
451
+ }
452
+ }
453
+ };
356
454
  /**
357
455
  * @private
358
456
  */
@@ -369,6 +467,220 @@
369
467
 
370
468
  return SankeyPoint;
371
469
  });
470
+ _registerModule(_modules, 'Series/Sankey/SankeyColumnComposition.js', [_modules['Core/Utilities.js']], function (U) {
471
+ var defined = U.defined,
472
+ relativeLength = U.relativeLength;
473
+ var SankeyColumnComposition;
474
+ (function (SankeyColumnComposition) {
475
+ /* *
476
+ *
477
+ * Declarations
478
+ *
479
+ * */
480
+ /**
481
+ * SankeyColumn Composition
482
+ * @private
483
+ * @function Highcharts.SankeyColumn#compose
484
+ *
485
+ * @param {Array<SankeyPoint>} points
486
+ * The array of nodes
487
+ * @param {SankeySeries} series
488
+ * Series connected to column
489
+ * @return {ArrayComposition} SankeyColumnArray
490
+ */
491
+ function compose(points, series) {
492
+ var sankeyColumnArray = points;
493
+ sankeyColumnArray.sankeyColumn =
494
+ new SankeyColumnAdditions(sankeyColumnArray, series);
495
+ return sankeyColumnArray;
496
+ }
497
+ SankeyColumnComposition.compose = compose;
498
+ /* *
499
+ *
500
+ * Classes
501
+ *
502
+ * */
503
+ var SankeyColumnAdditions = /** @class */ (function () {
504
+ function SankeyColumnAdditions(points, series) {
505
+ this.points = points;
506
+ this.series = series;
507
+ }
508
+ /**
509
+ * Calculate translation factor used in column and nodes distribution
510
+ * @private
511
+ * @function Highcharts.SankeyColumn#getTranslationFactor
512
+ *
513
+ * @param {SankeySeries} series
514
+ * The Series
515
+ * @return {number} TranslationFactor
516
+ * Translation Factor
517
+ */
518
+ SankeyColumnAdditions.prototype.getTranslationFactor = function (series) {
519
+ var column = this.points,
520
+ nodes = column.slice(),
521
+ chart = series.chart,
522
+ minLinkWidth = series.options.minLinkWidth || 0;
523
+ var skipPoint,
524
+ factor = 0,
525
+ i,
526
+ remainingHeight = ((chart.plotSizeY || 0) -
527
+ (series.options.borderWidth || 0) -
528
+ (column.length - 1) * series.nodePadding);
529
+ // Because the minLinkWidth option doesn't obey the direct
530
+ // translation, we need to run translation iteratively, check
531
+ // node heights, remove those nodes affected by minLinkWidth,
532
+ // check again, etc.
533
+ while (column.length) {
534
+ factor = remainingHeight / column.sankeyColumn.sum();
535
+ skipPoint = false;
536
+ i = column.length;
537
+ while (i--) {
538
+ if (column[i].getSum() * factor < minLinkWidth) {
539
+ column.splice(i, 1);
540
+ remainingHeight -= minLinkWidth;
541
+ skipPoint = true;
542
+ }
543
+ }
544
+ if (!skipPoint) {
545
+ break;
546
+ }
547
+ }
548
+ // Re-insert original nodes
549
+ column.length = 0;
550
+ nodes.forEach(function (node) {
551
+ column.push(node);
552
+ });
553
+ return factor;
554
+ };
555
+ /**
556
+ * Get the top position of the column in pixels
557
+ * @private
558
+ * @function Highcharts.SankeyColumn#top
559
+ *
560
+ * @param {number} factor
561
+ * The Translation Factor
562
+ * @return {number} top
563
+ * The top position of the column
564
+ */
565
+ SankeyColumnAdditions.prototype.top = function (factor) {
566
+ var series = this.series;
567
+ var nodePadding = series.nodePadding;
568
+ var height = this.points.reduce(function (height,
569
+ node) {
570
+ if (height > 0) {
571
+ height += nodePadding;
572
+ }
573
+ var nodeHeight = Math.max(node.getSum() * factor,
574
+ series.options.minLinkWidth || 0);
575
+ height += nodeHeight;
576
+ return height;
577
+ }, 0);
578
+ return ((series.chart.plotSizeY || 0) - height) / 2;
579
+ };
580
+ /**
581
+ * Get the left position of the column in pixels
582
+ * @private
583
+ * @function Highcharts.SankeyColumn#top
584
+ *
585
+ * @param {number} factor
586
+ * The Translation Factor
587
+ * @return {number} left
588
+ * The left position of the column
589
+ */
590
+ SankeyColumnAdditions.prototype.left = function (factor) {
591
+ var series = this.series,
592
+ chart = series.chart,
593
+ equalNodes = series.options.equalNodes;
594
+ var maxNodesLength = chart.inverted ?
595
+ chart.plotHeight : chart.plotWidth,
596
+ nodePadding = series.nodePadding;
597
+ var width = this.points.reduce(function (width,
598
+ node) {
599
+ if (width > 0) {
600
+ width += nodePadding;
601
+ }
602
+ var nodeWidth = equalNodes ?
603
+ maxNodesLength / node.series.nodes.length - nodePadding :
604
+ Math.max(node.getSum() * factor,
605
+ series.options.minLinkWidth || 0);
606
+ width += nodeWidth;
607
+ return width;
608
+ }, 0);
609
+ return ((chart.plotSizeX || 0) - Math.round(width)) / 2;
610
+ };
611
+ /**
612
+ * Calculate sum of all nodes inside specific column
613
+ * @private
614
+ * @function Highcharts.SankeyColumn#sum
615
+ *
616
+ * @param {ArrayComposition} this
617
+ * Sankey Column Array
618
+ *
619
+ * @return {number} sum
620
+ * Sum of all nodes inside column
621
+ */
622
+ SankeyColumnAdditions.prototype.sum = function () {
623
+ return this.points.reduce(function (sum, node) {
624
+ return sum + node.getSum();
625
+ }, 0);
626
+ };
627
+ /**
628
+ * Get the offset in pixels of a node inside the column
629
+ * @private
630
+ * @function Highcharts.SankeyColumn#offset
631
+ *
632
+ * @param {SankeyPoint} node
633
+ * Sankey node
634
+ * @param {number} factor
635
+ * Translation Factor
636
+ * @return {number} offset
637
+ * Offset of a node inside column
638
+ */
639
+ SankeyColumnAdditions.prototype.offset = function (node, factor) {
640
+ var column = this.points,
641
+ series = this.series,
642
+ nodePadding = series.nodePadding;
643
+ var offset = 0,
644
+ totalNodeOffset;
645
+ if (series.is('organization') && node.hangsFrom) {
646
+ return {
647
+ absoluteTop: node.hangsFrom.nodeY
648
+ };
649
+ }
650
+ for (var i = 0; i < column.length; i++) {
651
+ var sum = column[i].getSum();
652
+ var height = Math.max(sum * factor,
653
+ series.options.minLinkWidth || 0);
654
+ var directionOffset = node.options[series.chart.inverted ?
655
+ 'offsetHorizontal' :
656
+ 'offsetVertical'],
657
+ optionOffset = node.options.offset || 0;
658
+ if (sum) {
659
+ totalNodeOffset = height + nodePadding;
660
+ }
661
+ else {
662
+ // If node sum equals 0 nodePadding is missed #12453
663
+ totalNodeOffset = 0;
664
+ }
665
+ if (column[i] === node) {
666
+ return {
667
+ relativeTop: offset + (defined(directionOffset) ?
668
+ // directionOffset is a percent
669
+ // of the node height
670
+ relativeLength(directionOffset, height) :
671
+ relativeLength(optionOffset, totalNodeOffset))
672
+ };
673
+ }
674
+ offset += totalNodeOffset;
675
+ }
676
+ };
677
+ return SankeyColumnAdditions;
678
+ }());
679
+ SankeyColumnComposition.SankeyColumnAdditions = SankeyColumnAdditions;
680
+ })(SankeyColumnComposition || (SankeyColumnComposition = {}));
681
+
682
+ return SankeyColumnComposition;
683
+ });
372
684
  _registerModule(_modules, 'Series/TreeUtilities.js', [_modules['Core/Color/Color.js'], _modules['Core/Utilities.js']], function (Color, U) {
373
685
  /* *
374
686
  *
@@ -599,7 +911,7 @@
599
911
 
600
912
  return TreeUtilities;
601
913
  });
602
- _registerModule(_modules, 'Series/Sankey/SankeySeries.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Series/NodesComposition.js'], _modules['Series/Sankey/SankeyPoint.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/TreeUtilities.js'], _modules['Core/Utilities.js']], function (Color, H, NodesComposition, SankeyPoint, SeriesRegistry, TU, U) {
914
+ _registerModule(_modules, 'Series/Sankey/SankeySeries.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Series/NodesComposition.js'], _modules['Series/Sankey/SankeyPoint.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/Sankey/SankeyColumnComposition.js'], _modules['Series/TreeUtilities.js'], _modules['Core/Utilities.js']], function (Color, H, NodesComposition, SankeyPoint, SeriesRegistry, SankeyColumnComposition, TU, U) {
603
915
  /* *
604
916
  *
605
917
  * Sankey diagram module
@@ -632,7 +944,6 @@
632
944
  var getLevelOptions = TU.getLevelOptions;
633
945
  var defined = U.defined,
634
946
  extend = U.extend,
635
- find = U.find,
636
947
  isObject = U.isObject,
637
948
  merge = U.merge,
638
949
  pick = U.pick,
@@ -707,66 +1018,6 @@
707
1018
  *
708
1019
  * */
709
1020
  /* eslint-disable valid-jsdoc */
710
- /**
711
- * Create a node column.
712
- * @private
713
- */
714
- SankeySeries.prototype.createNodeColumn = function () {
715
- var series = this,
716
- chart = this.chart,
717
- column = [];
718
- column.sum = function () {
719
- return this.reduce(function (sum, node) {
720
- return sum + node.getSum();
721
- }, 0);
722
- };
723
- // Get the offset in pixels of a node inside the column.
724
- column.offset = function (node, factor) {
725
- var offset = 0,
726
- totalNodeOffset,
727
- nodePadding = series.nodePadding;
728
- for (var i = 0; i < column.length; i++) {
729
- var sum = column[i].getSum(),
730
- height = Math.max(sum * factor,
731
- series.options.minLinkWidth),
732
- directionOffset = node.options[chart.inverted ?
733
- 'offsetHorizontal' :
734
- 'offsetVertical'],
735
- optionOffset = node.options.offset || 0;
736
- if (sum) {
737
- totalNodeOffset = height + nodePadding;
738
- }
739
- else {
740
- // If node sum equals 0 nodePadding is missed #12453
741
- totalNodeOffset = 0;
742
- }
743
- if (column[i] === node) {
744
- return {
745
- relativeTop: offset + (defined(directionOffset) ?
746
- // directionOffset is a percent of the node height
747
- relativeLength(directionOffset, height) : relativeLength(optionOffset, totalNodeOffset))
748
- };
749
- }
750
- offset += totalNodeOffset;
751
- }
752
- };
753
- // Get the top position of the column in pixels.
754
- column.top = function (factor) {
755
- var nodePadding = series.nodePadding;
756
- var height = this.reduce(function (height,
757
- node) {
758
- if (height > 0) {
759
- height += nodePadding;
760
- }
761
- var nodeHeight = Math.max(node.getSum() * factor,
762
- series.options.minLinkWidth);
763
- height += nodeHeight;
764
- return height;
765
- }, 0);
766
- return (chart.plotSizeY - height) / 2;
767
- };
768
- return column;
769
- };
770
1021
  /**
771
1022
  * Create node columns by analyzing the nodes and the relations between
772
1023
  * incoming and outgoing links.
@@ -775,51 +1026,18 @@
775
1026
  SankeySeries.prototype.createNodeColumns = function () {
776
1027
  var columns = [];
777
1028
  this.nodes.forEach(function (node) {
778
- var fromColumn = -1,
779
- fromNode;
780
- if (!defined(node.options.column)) {
781
- // No links to this node, place it left
782
- if (node.linksTo.length === 0) {
783
- node.column = 0;
784
- // There are incoming links, place it to the right of the
785
- // highest order column that links to this one.
786
- }
787
- else {
788
- for (var i = 0; i < node.linksTo.length; i++) {
789
- var point = node.linksTo[i];
790
- if (point.fromNode.column > fromColumn &&
791
- point.fromNode !== node // #16080
792
- ) {
793
- fromNode = point.fromNode;
794
- fromColumn = fromNode.column;
795
- }
796
- }
797
- node.column = fromColumn + 1;
798
- // Hanging layout for organization chart
799
- if (fromNode &&
800
- fromNode.options.layout === 'hanging') {
801
- node.hangsFrom = fromNode;
802
- var i_1 = -1;
803
- find(fromNode.linksFrom, function (link, index) {
804
- var found = link.toNode === node;
805
- if (found) {
806
- i_1 = index;
807
- }
808
- return found;
809
- });
810
- node.column += i_1;
811
- }
812
- }
813
- }
1029
+ node.setNodeColumn();
814
1030
  if (!columns[node.column]) {
815
- columns[node.column] = this.createNodeColumn();
1031
+ columns[node.column] =
1032
+ SankeyColumnComposition.compose([], this);
816
1033
  }
817
1034
  columns[node.column].push(node);
818
1035
  }, this);
819
1036
  // Fill in empty columns (#8865)
820
1037
  for (var i = 0; i < columns.length; i++) {
821
1038
  if (typeof columns[i] === 'undefined') {
822
- columns[i] = this.createNodeColumn();
1039
+ columns[i] =
1040
+ SankeyColumnComposition.compose([], this);
823
1041
  }
824
1042
  }
825
1043
  return columns;
@@ -934,42 +1152,6 @@
934
1152
  * @private
935
1153
  */
936
1154
  SankeySeries.prototype.translate = function () {
937
- var _this = this;
938
- // Get the translation factor needed for each column to fill up the
939
- // plot height
940
- var getColumnTranslationFactor = function (column) {
941
- var nodes = column.slice();
942
- var minLinkWidth = _this.options.minLinkWidth || 0;
943
- var exceedsMinLinkWidth;
944
- var factor = 0;
945
- var i;
946
- var remainingHeight = (chart.plotSizeY -
947
- options.borderWidth -
948
- (column.length - 1) * series.nodePadding);
949
- // Because the minLinkWidth option doesn't obey the direct
950
- // translation, we need to run translation iteratively, check
951
- // node heights, remove those nodes affected by minLinkWidth,
952
- // check again, etc.
953
- while (column.length) {
954
- factor = remainingHeight / column.sum();
955
- exceedsMinLinkWidth = false;
956
- i = column.length;
957
- while (i--) {
958
- if (column[i].getSum() * factor < minLinkWidth) {
959
- column.splice(i, 1);
960
- remainingHeight -= minLinkWidth;
961
- exceedsMinLinkWidth = true;
962
- }
963
- }
964
- if (!exceedsMinLinkWidth) {
965
- break;
966
- }
967
- }
968
- // Re-insert original nodes
969
- column.length = 0;
970
- nodes.forEach(function (node) { return column.push(node); });
971
- return factor;
972
- };
973
1155
  if (!this.processedXData) {
974
1156
  this.processData();
975
1157
  }
@@ -984,7 +1166,7 @@
984
1166
  this.nodePadding = this.getNodePadding();
985
1167
  // Find out how much space is needed. Base it on the translation
986
1168
  // factor of the most spaceous column.
987
- this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, getColumnTranslationFactor(column)); }, Infinity);
1169
+ this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, column.sankeyColumn.getTranslationFactor(series)); }, Infinity);
988
1170
  this.colDistance =
989
1171
  (chart.plotSizeX - nodeWidth -
990
1172
  options.borderWidth) / Math.max(1, nodeColumns.length - 1);
@@ -1174,9 +1356,9 @@
1174
1356
  this.options.minLinkWidth),
1175
1357
  nodeWidth = Math.round(this.nodeWidth),
1176
1358
  crisp = Math.round(options.borderWidth) % 2 / 2,
1177
- nodeOffset = column.offset(node,
1359
+ nodeOffset = column.sankeyColumn.offset(node,
1178
1360
  translationFactor),
1179
- fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.top(translationFactor) +
1361
+ fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.sankeyColumn.top(translationFactor) +
1180
1362
  nodeOffset.relativeTop))) + crisp,
1181
1363
  left = Math.floor(this.colDistance * node.column +
1182
1364
  options.borderWidth / 2) + relativeLength(node.options.offsetHorizontal || 0,
@@ -1501,7 +1683,7 @@
1501
1683
  isCartesian: false,
1502
1684
  orderNodes: true,
1503
1685
  noSharedTooltip: true,
1504
- pointArrayMap: ['from', 'to'],
1686
+ pointArrayMap: ['from', 'to', 'weight'],
1505
1687
  pointClass: SankeyPoint,
1506
1688
  searchPoint: H.noop
1507
1689
  });