highcharts 9.3.3 → 10.2.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 (917) 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/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +3 -4
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  10. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  12. package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
  13. package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
  14. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  16. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  19. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
  20. package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
  21. package/es-modules/Accessibility/FocusBorder.js +6 -5
  22. package/es-modules/Accessibility/HighContrastMode.js +3 -3
  23. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  24. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
  25. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  26. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  27. package/es-modules/Accessibility/ProxyElement.js +14 -6
  28. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  29. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  30. package/es-modules/Core/Animation/Fx.js +1 -1
  31. package/es-modules/Core/Axis/Axis.js +197 -91
  32. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  33. package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
  34. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  35. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  36. package/es-modules/Core/Axis/GridAxis.js +821 -821
  37. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  38. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  39. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  40. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGridTick.js +13 -2
  43. package/es-modules/Core/Axis/ZAxis.js +3 -1
  44. package/es-modules/Core/Chart/Chart.js +27 -8
  45. package/es-modules/Core/Chart/Chart3D.js +1 -11
  46. package/es-modules/Core/Chart/ChartDefaults.js +46 -14
  47. package/es-modules/Core/Chart/GanttChart.js +3 -1
  48. package/es-modules/Core/Chart/MapChart.js +4 -7
  49. package/es-modules/Core/Chart/StockChart.js +7 -5
  50. package/es-modules/Core/Color/Color.js +1 -1
  51. package/es-modules/Core/DefaultOptions.js +19 -15
  52. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  53. package/es-modules/Core/Globals.js +4 -18
  54. package/es-modules/Core/HttpUtilities.js +46 -39
  55. package/es-modules/Core/Legend/Legend.js +14 -12
  56. package/es-modules/Core/MSPointer.js +3 -1
  57. package/es-modules/Core/Navigator.js +16 -13
  58. package/es-modules/Core/Pointer.js +16 -12
  59. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  60. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  61. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  62. package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
  63. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  64. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
  66. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
  67. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  68. package/es-modules/Core/Scrollbar.js +9 -5
  69. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  70. package/es-modules/Core/Series/DataLabel.js +67 -38
  71. package/es-modules/Core/Series/Point.js +11 -2
  72. package/es-modules/Core/Series/Series.js +57 -27
  73. package/es-modules/Core/Series/Series3D.js +3 -1
  74. package/es-modules/Core/Series/SeriesDefaults.js +7 -4
  75. package/es-modules/Core/Time.js +6 -7
  76. package/es-modules/Core/Tooltip.js +17 -34
  77. package/es-modules/Core/Utilities.js +33 -33
  78. package/es-modules/Data/DataConverter.js +1 -1
  79. package/es-modules/Data/DataTable.js +12 -10
  80. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  81. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  82. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  83. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  85. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  86. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  87. package/es-modules/Data/Parsers/DataParser.js +1 -1
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  90. package/es-modules/Data/Stores/CSVStore.js +8 -5
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
  94. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  97. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
  99. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  102. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  103. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  104. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  105. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  106. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  108. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  109. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  110. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  111. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  112. package/es-modules/Extensions/Boost/BoostInit.js +9 -3
  113. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  114. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  115. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  116. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  117. package/es-modules/Extensions/BoostCanvas.js +11 -5
  118. package/es-modules/Extensions/Breadcrumbs.js +898 -0
  119. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  120. package/es-modules/Extensions/Data.js +661 -613
  121. package/es-modules/Extensions/DataGrouping.js +8 -3
  122. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  123. package/es-modules/Extensions/DownloadURL.js +3 -3
  124. package/es-modules/Extensions/DragPanes.js +1 -1
  125. package/es-modules/Extensions/DraggablePoints.js +9 -7
  126. package/es-modules/Extensions/Drilldown.js +152 -97
  127. package/es-modules/Extensions/ExportData.js +58 -9
  128. package/es-modules/Extensions/Exporting/Exporting.js +34 -23
  129. package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
  130. package/es-modules/Extensions/FullScreen.js +121 -54
  131. package/es-modules/Extensions/GeoJSON.js +149 -125
  132. package/es-modules/Extensions/MarkerClusters.js +36 -22
  133. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  134. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  135. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  136. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  137. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  138. package/es-modules/Extensions/Pane.js +3 -3
  139. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  140. package/es-modules/Extensions/PatternFill.js +14 -2
  141. package/es-modules/Extensions/RangeSelector.js +29 -18
  142. package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
  143. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  144. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  145. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  146. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  147. package/es-modules/Extensions/Stacking.js +5 -4
  148. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  149. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  150. package/es-modules/Maps/MapNavigation.js +49 -12
  151. package/es-modules/Maps/MapPointer.js +16 -0
  152. package/es-modules/Maps/MapUtilities.js +56 -0
  153. package/es-modules/Maps/MapView.js +619 -137
  154. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  155. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  156. package/es-modules/Maps/Projection.js +182 -88
  157. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  158. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  159. package/es-modules/Maps/Projections/Miller.js +23 -10
  160. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  161. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  162. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
  163. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
  164. package/es-modules/Series/Area/AreaSeries.js +21 -14
  165. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  166. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  167. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  168. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  169. package/es-modules/Series/Bar/BarSeries.js +3 -1
  170. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  171. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  172. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  173. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  174. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  175. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  176. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  177. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  178. package/es-modules/Series/CenteredUtilities.js +8 -2
  179. package/es-modules/Series/ColorMapComposition.js +111 -0
  180. package/es-modules/Series/Column/ColumnSeries.js +10 -7
  181. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  182. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  183. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  184. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  185. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  186. package/es-modules/Series/DataModifyComposition.js +1 -0
  187. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  188. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
  189. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  190. package/es-modules/Series/DrawPointUtilities.js +87 -0
  191. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  192. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  193. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  194. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  195. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  196. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  197. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  198. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  199. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  200. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  201. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  202. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  203. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  204. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  205. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  206. package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
  207. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  208. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  209. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  210. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  211. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  212. package/es-modules/Series/Item/ItemPoint.js +3 -1
  213. package/es-modules/Series/Item/ItemSeries.js +3 -1
  214. package/es-modules/Series/Line/LineSeries.js +4 -2
  215. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
  217. package/es-modules/Series/Map/MapPoint.js +32 -7
  218. package/es-modules/Series/Map/MapSeries.js +298 -189
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
  221. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
  224. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  225. package/es-modules/Series/NodesComposition.js +101 -49
  226. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  227. package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
  228. package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
  229. package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
  230. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  231. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  232. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  233. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  234. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  235. package/es-modules/Series/Pie/PiePoint.js +15 -6
  236. package/es-modules/Series/Pie/PieSeries.js +51 -37
  237. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  238. package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
  239. package/es-modules/Series/PolarComposition.js +819 -0
  240. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  241. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  242. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  243. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  244. package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
  245. package/es-modules/Series/Sankey/SankeySeries.js +35 -136
  246. package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
  247. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  248. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  249. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  250. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  251. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  252. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  253. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
  255. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  257. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  258. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  259. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  260. package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
  261. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  262. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  263. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  264. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  265. package/es-modules/Series/Venn/VennPoint.js +5 -5
  266. package/es-modules/Series/Venn/VennSeries.js +9 -6
  267. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  268. package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
  269. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  271. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  272. package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
  273. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  274. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  275. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  278. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  283. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  284. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  285. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  286. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  287. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  288. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  289. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  290. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  291. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  292. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  293. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  294. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  295. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  296. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  297. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  298. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  299. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  300. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  301. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  302. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  303. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  304. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  305. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  306. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  307. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  308. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  309. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  310. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  311. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  312. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  313. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
  314. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  315. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  316. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  317. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  318. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  319. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  320. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  321. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  322. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  323. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  324. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  325. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  326. package/es-modules/Stock/StockToolsBindings.js +51 -43
  327. package/es-modules/Stock/StockToolsGui.js +1 -1
  328. package/es-modules/masters/highcharts-3d.src.js +1 -1
  329. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  330. package/es-modules/masters/highcharts-more.src.js +4 -4
  331. package/es-modules/masters/highcharts.src.js +1 -1
  332. package/es-modules/masters/highmaps.src.js +1 -1
  333. package/es-modules/masters/highstock.src.js +1 -1
  334. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  335. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  336. package/es-modules/masters/indicators/ao.src.js +1 -1
  337. package/es-modules/masters/indicators/apo.src.js +1 -1
  338. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  339. package/es-modules/masters/indicators/aroon.src.js +1 -1
  340. package/es-modules/masters/indicators/atr.src.js +1 -1
  341. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  342. package/es-modules/masters/indicators/cci.src.js +1 -1
  343. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  344. package/es-modules/masters/indicators/cmf.src.js +1 -1
  345. package/es-modules/masters/indicators/cmo.src.js +1 -1
  346. package/es-modules/masters/indicators/dema.src.js +1 -1
  347. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  348. package/es-modules/masters/indicators/dmi.src.js +1 -1
  349. package/es-modules/masters/indicators/dpo.src.js +1 -1
  350. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  351. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  352. package/es-modules/masters/indicators/indicators.src.js +1 -1
  353. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  354. package/es-modules/masters/indicators/klinger.src.js +1 -1
  355. package/es-modules/masters/indicators/macd.src.js +1 -1
  356. package/es-modules/masters/indicators/mfi.src.js +1 -1
  357. package/es-modules/masters/indicators/momentum.src.js +1 -1
  358. package/es-modules/masters/indicators/natr.src.js +1 -1
  359. package/es-modules/masters/indicators/obv.src.js +1 -1
  360. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  361. package/es-modules/masters/indicators/ppo.src.js +1 -1
  362. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  363. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  364. package/es-modules/masters/indicators/psar.src.js +1 -1
  365. package/es-modules/masters/indicators/regressions.src.js +1 -1
  366. package/es-modules/masters/indicators/roc.src.js +1 -1
  367. package/es-modules/masters/indicators/rsi.src.js +1 -1
  368. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  369. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  370. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  371. package/es-modules/masters/indicators/tema.src.js +1 -1
  372. package/es-modules/masters/indicators/trendline.src.js +1 -1
  373. package/es-modules/masters/indicators/trix.src.js +1 -1
  374. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  375. package/es-modules/masters/indicators/vwap.src.js +1 -1
  376. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  377. package/es-modules/masters/indicators/wma.src.js +1 -1
  378. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  379. package/es-modules/masters/modules/accessibility.src.js +1 -1
  380. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  381. package/es-modules/masters/modules/annotations.src.js +2 -2
  382. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  383. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  384. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  385. package/es-modules/masters/modules/boost.src.js +1 -1
  386. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  387. package/es-modules/masters/modules/bullet.src.js +1 -1
  388. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  389. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  390. package/es-modules/masters/modules/cylinder.src.js +1 -1
  391. package/es-modules/masters/modules/data.src.js +2 -1
  392. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  393. package/es-modules/masters/modules/debugger.src.js +1 -1
  394. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  395. package/es-modules/masters/modules/dotplot.src.js +1 -1
  396. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  397. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  398. package/es-modules/masters/modules/drilldown.src.js +2 -1
  399. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  400. package/es-modules/masters/modules/export-data.src.js +1 -1
  401. package/es-modules/masters/modules/exporting.src.js +1 -1
  402. package/es-modules/masters/modules/full-screen.src.js +1 -1
  403. package/es-modules/masters/modules/funnel.src.js +1 -1
  404. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  405. package/es-modules/masters/modules/gantt.src.js +1 -1
  406. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  407. package/es-modules/masters/modules/heatmap.src.js +1 -1
  408. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  409. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  410. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  411. package/es-modules/masters/modules/item-series.src.js +1 -1
  412. package/es-modules/masters/modules/lollipop.src.js +1 -1
  413. package/es-modules/masters/modules/map.src.js +5 -1
  414. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  415. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  416. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  417. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  418. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  419. package/es-modules/masters/modules/oldie.src.js +1 -1
  420. package/es-modules/masters/modules/organization.src.js +1 -1
  421. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  422. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  423. package/es-modules/masters/modules/pareto.src.js +1 -1
  424. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  425. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  426. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  427. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  428. package/es-modules/masters/modules/sankey.src.js +1 -1
  429. package/es-modules/masters/modules/series-label.src.js +5 -2
  430. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  431. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  432. package/es-modules/masters/modules/sonification.src.js +2 -6
  433. package/es-modules/masters/modules/static-scale.src.js +1 -1
  434. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  435. package/es-modules/masters/modules/stock.src.js +1 -1
  436. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  437. package/es-modules/masters/modules/sunburst.src.js +1 -1
  438. package/es-modules/masters/modules/tilemap.src.js +1 -1
  439. package/es-modules/masters/modules/timeline.src.js +1 -1
  440. package/es-modules/masters/modules/treegrid.src.js +1 -1
  441. package/es-modules/masters/modules/treemap.src.js +5 -1
  442. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  443. package/es-modules/masters/modules/variwide.src.js +1 -1
  444. package/es-modules/masters/modules/vector.src.js +1 -1
  445. package/es-modules/masters/modules/venn.src.js +1 -1
  446. package/es-modules/masters/modules/windbarb.src.js +1 -1
  447. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  448. package/es-modules/masters/modules/xrange.src.js +1 -1
  449. package/es-modules/masters/themes/avocado.src.js +1 -1
  450. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  451. package/es-modules/masters/themes/brand-light.src.js +1 -1
  452. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  453. package/es-modules/masters/themes/dark-green.src.js +1 -1
  454. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  455. package/es-modules/masters/themes/gray.src.js +1 -1
  456. package/es-modules/masters/themes/grid-light.src.js +1 -1
  457. package/es-modules/masters/themes/grid.src.js +1 -1
  458. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  459. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  460. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  461. package/es-modules/masters/themes/skies.src.js +1 -1
  462. package/es-modules/masters/themes/sunset.src.js +1 -1
  463. package/highcharts-3d.js +99 -98
  464. package/highcharts-3d.js.map +1 -1
  465. package/highcharts-3d.src.js +51 -21
  466. package/highcharts-gantt.js +811 -801
  467. package/highcharts-gantt.js.map +1 -1
  468. package/highcharts-gantt.src.js +2020 -1607
  469. package/highcharts-more.d.ts +10 -0
  470. package/highcharts-more.js +194 -194
  471. package/highcharts-more.js.map +1 -1
  472. package/highcharts-more.src.d.ts +10 -0
  473. package/highcharts-more.src.js +3512 -3364
  474. package/highcharts.d.ts +12336 -965
  475. package/highcharts.js +595 -586
  476. package/highcharts.js.map +1 -1
  477. package/highcharts.src.d.ts +12336 -965
  478. package/highcharts.src.js +1047 -665
  479. package/highmaps.js +763 -728
  480. package/highmaps.js.map +1 -1
  481. package/highmaps.src.js +4482 -2639
  482. package/highstock.js +798 -788
  483. package/highstock.js.map +1 -1
  484. package/highstock.src.js +1177 -739
  485. package/indicators/acceleration-bands.d.ts +1 -17
  486. package/indicators/acceleration-bands.js +11 -11
  487. package/indicators/acceleration-bands.js.map +1 -1
  488. package/indicators/acceleration-bands.src.d.ts +1 -17
  489. package/indicators/acceleration-bands.src.js +99 -100
  490. package/indicators/accumulation-distribution.js +5 -5
  491. package/indicators/accumulation-distribution.js.map +1 -1
  492. package/indicators/accumulation-distribution.src.js +11 -2
  493. package/indicators/ao.js +6 -6
  494. package/indicators/ao.js.map +1 -1
  495. package/indicators/ao.src.js +13 -4
  496. package/indicators/apo.js +5 -5
  497. package/indicators/apo.js.map +1 -1
  498. package/indicators/apo.src.js +11 -2
  499. package/indicators/aroon-oscillator.d.ts +1 -17
  500. package/indicators/aroon-oscillator.js +10 -10
  501. package/indicators/aroon-oscillator.js.map +1 -1
  502. package/indicators/aroon-oscillator.src.d.ts +1 -17
  503. package/indicators/aroon-oscillator.src.js +99 -100
  504. package/indicators/aroon.d.ts +1 -17
  505. package/indicators/aroon.js +11 -11
  506. package/indicators/aroon.js.map +1 -1
  507. package/indicators/aroon.src.d.ts +1 -17
  508. package/indicators/aroon.src.js +99 -100
  509. package/indicators/atr.js +5 -5
  510. package/indicators/atr.js.map +1 -1
  511. package/indicators/atr.src.js +11 -2
  512. package/indicators/bollinger-bands.d.ts +1 -17
  513. package/indicators/bollinger-bands.js +11 -12
  514. package/indicators/bollinger-bands.js.map +1 -1
  515. package/indicators/bollinger-bands.src.d.ts +1 -17
  516. package/indicators/bollinger-bands.src.js +102 -103
  517. package/indicators/cci.js +5 -5
  518. package/indicators/cci.js.map +1 -1
  519. package/indicators/cci.src.js +11 -2
  520. package/indicators/chaikin.js +8 -8
  521. package/indicators/chaikin.js.map +1 -1
  522. package/indicators/chaikin.src.js +11 -2
  523. package/indicators/cmf.js +6 -6
  524. package/indicators/cmf.js.map +1 -1
  525. package/indicators/cmf.src.js +11 -2
  526. package/indicators/cmo.js +5 -5
  527. package/indicators/cmo.js.map +1 -1
  528. package/indicators/cmo.src.js +11 -2
  529. package/indicators/dema.js +5 -5
  530. package/indicators/dema.js.map +1 -1
  531. package/indicators/dema.src.js +11 -2
  532. package/indicators/disparity-index.js +6 -6
  533. package/indicators/disparity-index.js.map +1 -1
  534. package/indicators/disparity-index.src.js +11 -2
  535. package/indicators/dmi.js +12 -12
  536. package/indicators/dmi.js.map +1 -1
  537. package/indicators/dmi.src.js +109 -106
  538. package/indicators/dpo.js +5 -5
  539. package/indicators/dpo.js.map +1 -1
  540. package/indicators/dpo.src.js +11 -2
  541. package/indicators/ema.js +2 -1
  542. package/indicators/ema.js.map +1 -1
  543. package/indicators/ema.src.js +10 -1
  544. package/indicators/ichimoku-kinko-hyo.js +16 -16
  545. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  546. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  547. package/indicators/indicators-all.d.ts +1 -17
  548. package/indicators/indicators-all.js +198 -196
  549. package/indicators/indicators-all.js.map +1 -1
  550. package/indicators/indicators-all.src.d.ts +1 -17
  551. package/indicators/indicators-all.src.js +151 -129
  552. package/indicators/indicators.js +13 -12
  553. package/indicators/indicators.js.map +1 -1
  554. package/indicators/indicators.src.js +21 -5
  555. package/indicators/keltner-channels.d.ts +1 -17
  556. package/indicators/keltner-channels.js +11 -11
  557. package/indicators/keltner-channels.js.map +1 -1
  558. package/indicators/keltner-channels.src.d.ts +1 -17
  559. package/indicators/keltner-channels.src.js +99 -100
  560. package/indicators/klinger.js +14 -14
  561. package/indicators/klinger.js.map +1 -1
  562. package/indicators/klinger.src.js +99 -100
  563. package/indicators/macd.js +13 -11
  564. package/indicators/macd.js.map +1 -1
  565. package/indicators/macd.src.js +35 -14
  566. package/indicators/mfi.js +6 -6
  567. package/indicators/mfi.js.map +1 -1
  568. package/indicators/mfi.src.js +11 -2
  569. package/indicators/momentum.js +5 -5
  570. package/indicators/momentum.js.map +1 -1
  571. package/indicators/momentum.src.js +11 -2
  572. package/indicators/natr.js +5 -4
  573. package/indicators/natr.js.map +1 -1
  574. package/indicators/natr.src.js +11 -2
  575. package/indicators/obv.js +5 -5
  576. package/indicators/obv.js.map +1 -1
  577. package/indicators/obv.src.js +11 -2
  578. package/indicators/pivot-points.js +11 -11
  579. package/indicators/pivot-points.js.map +1 -1
  580. package/indicators/pivot-points.src.js +11 -2
  581. package/indicators/ppo.js +5 -5
  582. package/indicators/ppo.js.map +1 -1
  583. package/indicators/ppo.src.js +11 -2
  584. package/indicators/price-channel.d.ts +1 -17
  585. package/indicators/price-channel.js +11 -11
  586. package/indicators/price-channel.js.map +1 -1
  587. package/indicators/price-channel.src.d.ts +1 -17
  588. package/indicators/price-channel.src.js +99 -100
  589. package/indicators/price-envelopes.js +8 -8
  590. package/indicators/price-envelopes.js.map +1 -1
  591. package/indicators/price-envelopes.src.js +11 -2
  592. package/indicators/psar.js +7 -6
  593. package/indicators/psar.js.map +1 -1
  594. package/indicators/psar.src.js +11 -2
  595. package/indicators/regressions.js +12 -12
  596. package/indicators/regressions.js.map +1 -1
  597. package/indicators/regressions.src.js +11 -2
  598. package/indicators/roc.js +5 -5
  599. package/indicators/roc.js.map +1 -1
  600. package/indicators/roc.src.js +11 -2
  601. package/indicators/rsi.js +6 -5
  602. package/indicators/rsi.js.map +1 -1
  603. package/indicators/rsi.src.js +11 -2
  604. package/indicators/slow-stochastic.js +5 -5
  605. package/indicators/slow-stochastic.js.map +1 -1
  606. package/indicators/slow-stochastic.src.js +11 -2
  607. package/indicators/stochastic.d.ts +1 -17
  608. package/indicators/stochastic.js +12 -12
  609. package/indicators/stochastic.js.map +1 -1
  610. package/indicators/stochastic.src.d.ts +1 -17
  611. package/indicators/stochastic.src.js +99 -100
  612. package/indicators/supertrend.js +10 -10
  613. package/indicators/supertrend.js.map +1 -1
  614. package/indicators/supertrend.src.js +14 -5
  615. package/indicators/tema.js +6 -6
  616. package/indicators/tema.js.map +1 -1
  617. package/indicators/tema.src.js +11 -2
  618. package/indicators/trendline.js +5 -5
  619. package/indicators/trendline.js.map +1 -1
  620. package/indicators/trendline.src.js +11 -2
  621. package/indicators/trix.js +4 -4
  622. package/indicators/trix.js.map +1 -1
  623. package/indicators/trix.src.js +11 -2
  624. package/indicators/volume-by-price.js +17 -17
  625. package/indicators/volume-by-price.js.map +1 -1
  626. package/indicators/volume-by-price.src.js +11 -2
  627. package/indicators/vwap.js +5 -5
  628. package/indicators/vwap.js.map +1 -1
  629. package/indicators/vwap.src.js +11 -2
  630. package/indicators/williams-r.js +6 -5
  631. package/indicators/williams-r.js.map +1 -1
  632. package/indicators/williams-r.src.js +11 -2
  633. package/indicators/wma.js +5 -5
  634. package/indicators/wma.js.map +1 -1
  635. package/indicators/wma.src.js +11 -2
  636. package/indicators/zigzag.js +6 -6
  637. package/indicators/zigzag.js.map +1 -1
  638. package/indicators/zigzag.src.js +11 -2
  639. package/lib/jspdf.js +299 -184
  640. package/lib/jspdf.src.js +25266 -18067
  641. package/lib/svg2pdf.js +35 -31
  642. package/lib/svg2pdf.src.js +5721 -4179
  643. package/modules/accessibility.js +242 -237
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.js +599 -390
  646. package/modules/annotations-advanced.js +192 -192
  647. package/modules/annotations-advanced.js.map +1 -1
  648. package/modules/annotations-advanced.src.js +96 -47
  649. package/modules/annotations.js +126 -126
  650. package/modules/annotations.js.map +1 -1
  651. package/modules/annotations.src.js +67 -25
  652. package/modules/arc-diagram.js +25 -0
  653. package/modules/arc-diagram.js.map +1 -0
  654. package/modules/arc-diagram.src.js +778 -0
  655. package/modules/arrow-symbols.js +4 -3
  656. package/modules/arrow-symbols.js.map +1 -1
  657. package/modules/arrow-symbols.src.js +11 -2
  658. package/modules/boost-canvas.js +16 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +22 -7
  661. package/modules/boost.js +81 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +90 -51
  664. package/modules/broken-axis.js +13 -13
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +11 -2
  667. package/modules/bullet.js +9 -9
  668. package/modules/bullet.js.map +1 -1
  669. package/modules/bullet.src.js +12 -6
  670. package/modules/coloraxis.js +24 -24
  671. package/modules/coloraxis.js.map +1 -1
  672. package/modules/coloraxis.src.js +37 -11
  673. package/modules/current-date-indicator.js +5 -4
  674. package/modules/current-date-indicator.js.map +1 -1
  675. package/modules/current-date-indicator.src.js +12 -3
  676. package/modules/cylinder.js +11 -11
  677. package/modules/cylinder.js.map +1 -1
  678. package/modules/cylinder.src.js +11 -2
  679. package/modules/data.d.ts +12 -12
  680. package/modules/data.js +33 -33
  681. package/modules/data.js.map +1 -1
  682. package/modules/data.src.d.ts +12 -12
  683. package/modules/data.src.js +906 -846
  684. package/modules/datagrouping.js +21 -20
  685. package/modules/datagrouping.js.map +1 -1
  686. package/modules/datagrouping.src.js +19 -5
  687. package/modules/debugger.js +8 -7
  688. package/modules/debugger.js.map +1 -1
  689. package/modules/debugger.src.js +15 -2
  690. package/modules/dependency-wheel.js +12 -11
  691. package/modules/dependency-wheel.js.map +1 -1
  692. package/modules/dependency-wheel.src.js +14 -5
  693. package/modules/dotplot.js +6 -6
  694. package/modules/dotplot.js.map +1 -1
  695. package/modules/dotplot.src.js +11 -2
  696. package/modules/drag-panes.js +10 -10
  697. package/modules/drag-panes.js.map +1 -1
  698. package/modules/drag-panes.src.js +12 -3
  699. package/modules/draggable-points.js +35 -34
  700. package/modules/draggable-points.js.map +1 -1
  701. package/modules/draggable-points.src.js +20 -9
  702. package/modules/drilldown.d.ts +19 -0
  703. package/modules/drilldown.js +37 -25
  704. package/modules/drilldown.js.map +1 -1
  705. package/modules/drilldown.src.d.ts +19 -0
  706. package/modules/drilldown.src.js +1124 -108
  707. package/modules/dumbbell.d.ts +4 -0
  708. package/modules/dumbbell.js +17 -17
  709. package/modules/dumbbell.js.map +1 -1
  710. package/modules/dumbbell.src.d.ts +4 -0
  711. package/modules/dumbbell.src.js +34 -13
  712. package/modules/export-data.js +24 -21
  713. package/modules/export-data.js.map +1 -1
  714. package/modules/export-data.src.js +87 -14
  715. package/modules/exporting.d.ts +8 -8
  716. package/modules/exporting.js +39 -39
  717. package/modules/exporting.js.map +1 -1
  718. package/modules/exporting.src.d.ts +8 -8
  719. package/modules/exporting.src.js +270 -135
  720. package/modules/full-screen.js +8 -7
  721. package/modules/full-screen.js.map +1 -1
  722. package/modules/full-screen.src.js +135 -58
  723. package/modules/funnel.js +12 -12
  724. package/modules/funnel.js.map +1 -1
  725. package/modules/funnel.src.js +13 -4
  726. package/modules/funnel3d.js +21 -21
  727. package/modules/funnel3d.js.map +1 -1
  728. package/modules/funnel3d.src.js +11 -2
  729. package/modules/gantt.js +218 -217
  730. package/modules/gantt.js.map +1 -1
  731. package/modules/gantt.src.js +983 -943
  732. package/modules/grid-axis.js +23 -23
  733. package/modules/grid-axis.js.map +1 -1
  734. package/modules/grid-axis.src.js +900 -890
  735. package/modules/heatmap.js +40 -39
  736. package/modules/heatmap.js.map +1 -1
  737. package/modules/heatmap.src.js +160 -113
  738. package/modules/heikinashi.js +8 -8
  739. package/modules/heikinashi.js.map +1 -1
  740. package/modules/heikinashi.src.js +11 -2
  741. package/modules/histogram-bellcurve.js +13 -13
  742. package/modules/histogram-bellcurve.js.map +1 -1
  743. package/modules/histogram-bellcurve.src.js +11 -2
  744. package/modules/hollowcandlestick.js +9 -9
  745. package/modules/hollowcandlestick.js.map +1 -1
  746. package/modules/hollowcandlestick.src.js +19 -10
  747. package/modules/item-series.js +12 -12
  748. package/modules/item-series.js.map +1 -1
  749. package/modules/item-series.src.js +11 -2
  750. package/modules/lollipop.js +7 -7
  751. package/modules/lollipop.js.map +1 -1
  752. package/modules/lollipop.src.js +12 -3
  753. package/modules/map.d.ts +80 -43
  754. package/modules/map.js +171 -144
  755. package/modules/map.js.map +1 -1
  756. package/modules/map.src.d.ts +80 -43
  757. package/modules/map.src.js +8292 -6822
  758. package/modules/marker-clusters.js +36 -36
  759. package/modules/marker-clusters.js.map +1 -1
  760. package/modules/marker-clusters.src.js +48 -28
  761. package/modules/networkgraph.d.ts +1 -12
  762. package/modules/networkgraph.js +46 -45
  763. package/modules/networkgraph.js.map +1 -1
  764. package/modules/networkgraph.src.d.ts +1 -12
  765. package/modules/networkgraph.src.js +127 -55
  766. package/modules/no-data-to-display.js +5 -5
  767. package/modules/no-data-to-display.js.map +1 -1
  768. package/modules/no-data-to-display.src.js +12 -3
  769. package/modules/offline-exporting.js +20 -18
  770. package/modules/offline-exporting.js.map +1 -1
  771. package/modules/offline-exporting.src.js +129 -28
  772. package/modules/oldie-polyfills.js +7 -7
  773. package/modules/oldie-polyfills.js.map +1 -1
  774. package/modules/oldie-polyfills.src.js +11 -2
  775. package/modules/oldie.js +30 -30
  776. package/modules/oldie.js.map +1 -1
  777. package/modules/oldie.src.js +13 -4
  778. package/modules/organization.js +16 -14
  779. package/modules/organization.js.map +1 -1
  780. package/modules/organization.src.js +168 -34
  781. package/modules/overlapping-datalabels.js +3 -2
  782. package/modules/overlapping-datalabels.js.map +1 -1
  783. package/modules/overlapping-datalabels.src.js +11 -2
  784. package/modules/parallel-coordinates.js +11 -11
  785. package/modules/parallel-coordinates.js.map +1 -1
  786. package/modules/parallel-coordinates.src.js +12 -3
  787. package/modules/pareto.js +7 -7
  788. package/modules/pareto.js.map +1 -1
  789. package/modules/pareto.src.js +11 -2
  790. package/modules/pathfinder.js +31 -31
  791. package/modules/pathfinder.js.map +1 -1
  792. package/modules/pathfinder.src.js +11 -2
  793. package/modules/pattern-fill.js +15 -14
  794. package/modules/pattern-fill.js.map +1 -1
  795. package/modules/pattern-fill.src.js +25 -3
  796. package/modules/price-indicator.js +5 -5
  797. package/modules/price-indicator.js.map +1 -1
  798. package/modules/price-indicator.src.js +11 -2
  799. package/modules/pyramid3d.js +4 -4
  800. package/modules/pyramid3d.js.map +1 -1
  801. package/modules/pyramid3d.src.js +11 -2
  802. package/modules/sankey.d.ts +1 -12
  803. package/modules/sankey.js +32 -29
  804. package/modules/sankey.js.map +1 -1
  805. package/modules/sankey.src.d.ts +1 -12
  806. package/modules/sankey.src.js +422 -207
  807. package/modules/series-label.js +18 -17
  808. package/modules/series-label.js.map +1 -1
  809. package/modules/series-label.src.js +482 -386
  810. package/modules/series-on-point.js +18 -0
  811. package/modules/series-on-point.js.map +1 -0
  812. package/modules/series-on-point.src.js +464 -0
  813. package/modules/solid-gauge.js +10 -10
  814. package/modules/solid-gauge.js.map +1 -1
  815. package/modules/solid-gauge.src.js +15 -6
  816. package/modules/sonification.js +59 -59
  817. package/modules/sonification.js.map +1 -1
  818. package/modules/sonification.src.js +13 -8
  819. package/modules/static-scale.js +5 -4
  820. package/modules/static-scale.js.map +1 -1
  821. package/modules/static-scale.src.js +11 -2
  822. package/modules/stock-tools.js +167 -167
  823. package/modules/stock-tools.js.map +1 -1
  824. package/modules/stock-tools.src.js +118 -67
  825. package/modules/stock.js +205 -204
  826. package/modules/stock.js.map +1 -1
  827. package/modules/stock.src.js +141 -76
  828. package/modules/streamgraph.js +5 -4
  829. package/modules/streamgraph.js.map +1 -1
  830. package/modules/streamgraph.src.js +11 -2
  831. package/modules/sunburst.d.ts +3 -0
  832. package/modules/sunburst.js +73 -60
  833. package/modules/sunburst.js.map +1 -1
  834. package/modules/sunburst.src.d.ts +3 -0
  835. package/modules/sunburst.src.js +1391 -406
  836. package/modules/tilemap.js +17 -17
  837. package/modules/tilemap.js.map +1 -1
  838. package/modules/tilemap.src.js +11 -2
  839. package/modules/timeline.js +18 -18
  840. package/modules/timeline.js.map +1 -1
  841. package/modules/timeline.src.js +14 -5
  842. package/modules/treegrid.js +57 -56
  843. package/modules/treegrid.js.map +1 -1
  844. package/modules/treegrid.src.js +913 -892
  845. package/modules/treemap.d.ts +3 -0
  846. package/modules/treemap.js +54 -41
  847. package/modules/treemap.js.map +1 -1
  848. package/modules/treemap.src.d.ts +3 -0
  849. package/modules/treemap.src.js +1229 -255
  850. package/modules/variable-pie.js +9 -9
  851. package/modules/variable-pie.js.map +1 -1
  852. package/modules/variable-pie.src.js +11 -2
  853. package/modules/variwide.js +12 -12
  854. package/modules/variwide.js.map +1 -1
  855. package/modules/variwide.src.js +11 -2
  856. package/modules/vector.js +8 -7
  857. package/modules/vector.js.map +1 -1
  858. package/modules/vector.src.js +11 -2
  859. package/modules/venn.js +31 -31
  860. package/modules/venn.js.map +1 -1
  861. package/modules/venn.src.js +88 -105
  862. package/modules/windbarb.js +15 -15
  863. package/modules/windbarb.js.map +1 -1
  864. package/modules/windbarb.src.js +11 -2
  865. package/modules/wordcloud.js +23 -23
  866. package/modules/wordcloud.js.map +1 -1
  867. package/modules/wordcloud.src.js +92 -109
  868. package/modules/xrange.js +16 -16
  869. package/modules/xrange.js.map +1 -1
  870. package/modules/xrange.src.js +11 -2
  871. package/package.json +1 -1
  872. package/themes/avocado.js +4 -3
  873. package/themes/avocado.js.map +1 -1
  874. package/themes/avocado.src.js +11 -2
  875. package/themes/brand-dark.js +9 -8
  876. package/themes/brand-dark.js.map +1 -1
  877. package/themes/brand-dark.src.js +11 -2
  878. package/themes/brand-light.js +8 -8
  879. package/themes/brand-light.js.map +1 -1
  880. package/themes/brand-light.src.js +11 -2
  881. package/themes/dark-blue.js +9 -8
  882. package/themes/dark-blue.js.map +1 -1
  883. package/themes/dark-blue.src.js +11 -2
  884. package/themes/dark-green.js +9 -8
  885. package/themes/dark-green.js.map +1 -1
  886. package/themes/dark-green.src.js +11 -2
  887. package/themes/dark-unica.js +8 -7
  888. package/themes/dark-unica.js.map +1 -1
  889. package/themes/dark-unica.src.js +11 -2
  890. package/themes/gray.js +9 -8
  891. package/themes/gray.js.map +1 -1
  892. package/themes/gray.src.js +11 -2
  893. package/themes/grid-light.js +5 -4
  894. package/themes/grid-light.js.map +1 -1
  895. package/themes/grid-light.src.js +11 -2
  896. package/themes/grid.js +5 -5
  897. package/themes/grid.js.map +1 -1
  898. package/themes/grid.src.js +11 -2
  899. package/themes/high-contrast-dark.js +7 -7
  900. package/themes/high-contrast-dark.js.map +1 -1
  901. package/themes/high-contrast-dark.src.js +21 -12
  902. package/themes/high-contrast-light.js +3 -3
  903. package/themes/high-contrast-light.js.map +1 -1
  904. package/themes/high-contrast-light.src.js +21 -12
  905. package/themes/sand-signika.js +5 -5
  906. package/themes/sand-signika.js.map +1 -1
  907. package/themes/sand-signika.src.js +11 -2
  908. package/themes/skies.js +5 -5
  909. package/themes/skies.js.map +1 -1
  910. package/themes/skies.src.js +11 -2
  911. package/themes/sunset.js +3 -3
  912. package/themes/sunset.js.map +1 -1
  913. package/themes/sunset.src.js +11 -2
  914. package/es-modules/Extensions/Polar.js +0 -740
  915. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  916. package/es-modules/Series/ColorMapMixin.js +0 -84
  917. package/es-modules/Series/DrawPointComposition.js +0 -111
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v9.3.3 (2022-02-01)
2
+ * @license Highcharts JS v10.2.0 (2022-07-05)
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,21 +21,35 @@
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
- _registerModule(_modules, 'Series/NodesComposition.js', [_modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Point, Series, U) {
40
+ _registerModule(_modules, 'Series/NodesComposition.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, U) {
32
41
  /* *
33
42
  *
34
43
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
35
44
  *
36
45
  * */
46
+ var _a = SeriesRegistry.series,
47
+ seriesProto = _a.prototype,
48
+ pointProto = _a.prototype.pointClass.prototype;
37
49
  var defined = U.defined,
38
50
  extend = U.extend,
39
51
  find = U.find,
52
+ merge = U.merge,
40
53
  pick = U.pick;
41
54
  /* *
42
55
  *
@@ -61,22 +74,22 @@
61
74
  * Functions
62
75
  *
63
76
  * */
64
- /* eslint-disable valid-jsdoc */
65
77
  /**
66
78
  * @private
67
79
  */
68
80
  function compose(PointClass, SeriesClass) {
69
81
  if (composedClasses.indexOf(PointClass) === -1) {
70
82
  composedClasses.push(PointClass);
71
- var pointProto = PointClass.prototype;
72
- pointProto.setNodeState = setNodeState;
73
- pointProto.setState = setNodeState;
83
+ var pointProto_1 = PointClass.prototype;
84
+ pointProto_1.setNodeState = setNodeState;
85
+ pointProto_1.setState = setNodeState;
86
+ pointProto_1.update = updateNode;
74
87
  }
75
88
  if (composedClasses.indexOf(SeriesClass) === -1) {
76
89
  composedClasses.push(SeriesClass);
77
- var seriesProto = SeriesClass.prototype;
78
- seriesProto.destroy = destroy;
79
- seriesProto.setData = setData;
90
+ var seriesProto_1 = SeriesClass.prototype;
91
+ seriesProto_1.destroy = destroy;
92
+ seriesProto_1.setData = setData;
80
93
  }
81
94
  return SeriesClass;
82
95
  }
@@ -96,37 +109,28 @@
96
109
  options;
97
110
  if (!node) {
98
111
  options = this.options.nodes && findById(this.options.nodes, id);
99
- node = (new PointClass()).init(this, extend({
100
- className: 'highcharts-node',
101
- isNode: true,
102
- id: id,
103
- y: 1 // Pass isNull test
104
- }, options));
105
- node.linksTo = [];
106
- 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);
112
+ var newNode_1 = (new PointClass()).init(this,
113
+ extend({
114
+ className: 'highcharts-node',
115
+ isNode: true,
116
+ id: id,
117
+ y: 1 // Pass isNull test
118
+ },
119
+ options));
120
+ newNode_1.linksTo = [];
121
+ newNode_1.linksFrom = [];
118
122
  /**
119
123
  * Return the largest sum of either the incoming or outgoing links.
120
124
  * @private
121
125
  */
122
- node.getSum = function () {
126
+ newNode_1.getSum = function () {
123
127
  var sumTo = 0,
124
128
  sumFrom = 0;
125
- node.linksTo.forEach(function (link) {
126
- sumTo += link.weight;
129
+ newNode_1.linksTo.forEach(function (link) {
130
+ sumTo += link.weight || 0;
127
131
  });
128
- node.linksFrom.forEach(function (link) {
129
- sumFrom += link.weight;
132
+ newNode_1.linksFrom.forEach(function (link) {
133
+ sumFrom += link.weight || 0;
130
134
  });
131
135
  return Math.max(sumTo, sumFrom);
132
136
  };
@@ -134,29 +138,41 @@
134
138
  * Get the offset in weight values of a point/link.
135
139
  * @private
136
140
  */
137
- node.offset = function (point, coll) {
141
+ newNode_1.offset = function (point, coll) {
138
142
  var offset = 0;
139
- for (var i = 0; i < node[coll].length; i++) {
140
- if (node[coll][i] === point) {
143
+ for (var i = 0; i < newNode_1[coll].length; i++) {
144
+ if (newNode_1[coll][i] === point) {
141
145
  return offset;
142
146
  }
143
- offset += node[coll][i].weight;
147
+ offset += newNode_1[coll][i].weight;
144
148
  }
145
149
  };
146
150
  // Return true if the node has a shape, otherwise all links are
147
151
  // outgoing.
148
- node.hasShape = function () {
152
+ newNode_1.hasShape = function () {
149
153
  var outgoing = 0;
150
- node.linksTo.forEach(function (link) {
154
+ newNode_1.linksTo.forEach(function (link) {
151
155
  if (link.outgoing) {
152
156
  outgoing++;
153
157
  }
154
158
  });
155
- return (!node.linksTo.length ||
156
- outgoing !== node.linksTo.length);
159
+ return (!newNode_1.linksTo.length ||
160
+ outgoing !== newNode_1.linksTo.length);
157
161
  };
158
- this.nodes.push(node);
162
+ newNode_1.index = this.nodes.push(newNode_1) - 1;
163
+ node = newNode_1;
159
164
  }
165
+ node.formatPrefix = 'node';
166
+ // for use in formats
167
+ node.name = node.name || node.options.id || '';
168
+ // Mass is used in networkgraph:
169
+ node.mass = pick(
170
+ // Node:
171
+ node.options.mass, node.options.marker && node.options.marker.radius,
172
+ // Series:
173
+ this.options.marker && this.options.marker.radius,
174
+ // Default:
175
+ 4);
160
176
  return node;
161
177
  }
162
178
  NodesComposition.createNode = createNode;
@@ -168,17 +184,19 @@
168
184
  // Nodes must also be destroyed (#8682, #9300)
169
185
  this.data = []
170
186
  .concat(this.points || [], this.nodes);
171
- return Series.prototype.destroy.apply(this, arguments);
187
+ return seriesProto.destroy.apply(this, arguments);
172
188
  }
173
189
  NodesComposition.destroy = destroy;
174
190
  /**
175
- * Extend generatePoints by adding the nodes, which are Point objects
176
- * but pushed to the this.nodes array.
191
+ * Extend generatePoints by adding the nodes, which are Point objects but
192
+ * pushed to the this.nodes array.
193
+ * @private
177
194
  */
178
195
  function generatePoints() {
196
+ var _this = this;
179
197
  var chart = this.chart,
180
198
  nodeLookup = {};
181
- Series.prototype.generatePoints.call(this);
199
+ seriesProto.generatePoints.call(this);
182
200
  if (!this.nodes) {
183
201
  this.nodes = []; // List of Point-like node items
184
202
  }
@@ -193,7 +211,7 @@
193
211
  this.points.forEach(function (point) {
194
212
  if (defined(point.from)) {
195
213
  if (!nodeLookup[point.from]) {
196
- nodeLookup[point.from] = this.createNode(point.from);
214
+ nodeLookup[point.from] = _this.createNode(point.from);
197
215
  }
198
216
  nodeLookup[point.from].linksFrom.push(point);
199
217
  point.fromNode = nodeLookup[point.from];
@@ -208,7 +226,7 @@
208
226
  }
209
227
  if (defined(point.to)) {
210
228
  if (!nodeLookup[point.to]) {
211
- nodeLookup[point.to] = this.createNode(point.to);
229
+ nodeLookup[point.to] = _this.createNode(point.to);
212
230
  }
213
231
  nodeLookup[point.to].linksTo.push(point);
214
232
  point.toNode = nodeLookup[point.to];
@@ -230,11 +248,12 @@
230
248
  });
231
249
  this.nodes.length = 0;
232
250
  }
233
- Series.prototype.setData.apply(this, arguments);
251
+ seriesProto.setData.apply(this, arguments);
234
252
  }
235
253
  /**
236
254
  * When hovering node, highlight all connected links. When hovering a link,
237
255
  * highlight all connected nodes.
256
+ * @private
238
257
  */
239
258
  function setNodeState(state) {
240
259
  var args = arguments,
@@ -244,21 +263,74 @@
244
263
  if (state !== 'select') {
245
264
  others.forEach(function (linkOrNode) {
246
265
  if (linkOrNode && linkOrNode.series) {
247
- Point.prototype.setState.apply(linkOrNode, args);
266
+ pointProto.setState.apply(linkOrNode, args);
248
267
  if (!linkOrNode.isNode) {
249
268
  if (linkOrNode.fromNode.graphic) {
250
- Point.prototype.setState.apply(linkOrNode.fromNode, args);
269
+ pointProto.setState.apply(linkOrNode.fromNode, args);
251
270
  }
252
271
  if (linkOrNode.toNode && linkOrNode.toNode.graphic) {
253
- Point.prototype.setState.apply(linkOrNode.toNode, args);
272
+ pointProto.setState.apply(linkOrNode.toNode, args);
254
273
  }
255
274
  }
256
275
  }
257
276
  });
258
277
  }
259
- Point.prototype.setState.apply(this, args);
278
+ pointProto.setState.apply(this, args);
260
279
  }
261
280
  NodesComposition.setNodeState = setNodeState;
281
+ /**
282
+ * When updating a node, don't update `series.options.data`, but
283
+ * `series.options.nodes`
284
+ * @private
285
+ */
286
+ function updateNode(options, redraw, animation, runEvent) {
287
+ var _this = this;
288
+ var nodes = this.series.options.nodes,
289
+ data = this.series.options.data,
290
+ dataLength = data && data.length || 0,
291
+ linkConfig = data && data[this.index];
292
+ pointProto.update.call(this, options, this.isNode ? false : redraw, // Hold the redraw for nodes
293
+ animation, runEvent);
294
+ if (this.isNode) {
295
+ // this.index refers to `series.nodes`, not `options.nodes` array
296
+ var nodeIndex = (nodes || [])
297
+ .reduce(// Array.findIndex needs a polyfill
298
+ function (prevIndex,
299
+ n,
300
+ index) {
301
+ return (_this.id === n.id ? index : prevIndex);
302
+ }, -1),
303
+ // Merge old config with new config. New config is stored in
304
+ // options.data, because of default logic in point.update()
305
+ nodeConfig = merge(nodes && nodes[nodeIndex] || {}, data && data[this.index] || {});
306
+ // Restore link config
307
+ if (data) {
308
+ if (linkConfig) {
309
+ data[this.index] = linkConfig;
310
+ }
311
+ else {
312
+ // Remove node from config if there's more nodes than links
313
+ data.length = dataLength;
314
+ }
315
+ }
316
+ // Set node config
317
+ if (nodes) {
318
+ if (nodeIndex >= 0) {
319
+ nodes[nodeIndex] = nodeConfig;
320
+ }
321
+ else {
322
+ nodes.push(nodeConfig);
323
+ }
324
+ }
325
+ else {
326
+ this.series.options.nodes = [nodeConfig];
327
+ }
328
+ if (pick(redraw, true)) {
329
+ this.series.chart.redraw(animation);
330
+ }
331
+ }
332
+ }
333
+ NodesComposition.updateNode = updateNode;
262
334
  })(NodesComposition || (NodesComposition = {}));
263
335
  /* *
264
336
  *
@@ -297,8 +369,7 @@
297
369
  };
298
370
  })();
299
371
  var ColumnSeries = SeriesRegistry.seriesTypes.column;
300
- var defined = U.defined,
301
- extend = U.extend;
372
+ var defined = U.defined;
302
373
  /* *
303
374
  *
304
375
  * Class
@@ -353,6 +424,43 @@
353
424
  return (this.isNode ? 'highcharts-node ' : 'highcharts-link ') +
354
425
  Point.prototype.getClassName.call(this);
355
426
  };
427
+ /**
428
+ * If there are incoming links, place it to the right of the
429
+ * highest order column that links to this one.
430
+ *
431
+ * @private
432
+ */
433
+ SankeyPoint.prototype.getFromNode = function () {
434
+ var node = this;
435
+ var fromColumn = -1,
436
+ fromNode;
437
+ for (var i = 0; i < node.linksTo.length; i++) {
438
+ var point = node.linksTo[i];
439
+ if (point.fromNode.column > fromColumn &&
440
+ point.fromNode !== node // #16080
441
+ ) {
442
+ fromNode = point.fromNode;
443
+ fromColumn = fromNode.column;
444
+ }
445
+ }
446
+ return { fromNode: fromNode, fromColumn: fromColumn };
447
+ };
448
+ /**
449
+ * Calculate node.column if it's not set by user
450
+ * @private
451
+ */
452
+ SankeyPoint.prototype.setNodeColumn = function () {
453
+ var node = this;
454
+ if (!defined(node.options.column)) {
455
+ // No links to this node, place it left
456
+ if (node.linksTo.length === 0) {
457
+ node.column = 0;
458
+ }
459
+ else {
460
+ node.column = node.getFromNode().fromColumn + 1;
461
+ }
462
+ }
463
+ };
356
464
  /**
357
465
  * @private
358
466
  */
@@ -369,6 +477,220 @@
369
477
 
370
478
  return SankeyPoint;
371
479
  });
480
+ _registerModule(_modules, 'Series/Sankey/SankeyColumnComposition.js', [_modules['Core/Utilities.js']], function (U) {
481
+ var defined = U.defined,
482
+ relativeLength = U.relativeLength;
483
+ var SankeyColumnComposition;
484
+ (function (SankeyColumnComposition) {
485
+ /* *
486
+ *
487
+ * Declarations
488
+ *
489
+ * */
490
+ /**
491
+ * SankeyColumn Composition
492
+ * @private
493
+ * @function Highcharts.SankeyColumn#compose
494
+ *
495
+ * @param {Array<SankeyPoint>} points
496
+ * The array of nodes
497
+ * @param {SankeySeries} series
498
+ * Series connected to column
499
+ * @return {ArrayComposition} SankeyColumnArray
500
+ */
501
+ function compose(points, series) {
502
+ var sankeyColumnArray = points;
503
+ sankeyColumnArray.sankeyColumn =
504
+ new SankeyColumnAdditions(sankeyColumnArray, series);
505
+ return sankeyColumnArray;
506
+ }
507
+ SankeyColumnComposition.compose = compose;
508
+ /* *
509
+ *
510
+ * Classes
511
+ *
512
+ * */
513
+ var SankeyColumnAdditions = /** @class */ (function () {
514
+ function SankeyColumnAdditions(points, series) {
515
+ this.points = points;
516
+ this.series = series;
517
+ }
518
+ /**
519
+ * Calculate translation factor used in column and nodes distribution
520
+ * @private
521
+ * @function Highcharts.SankeyColumn#getTranslationFactor
522
+ *
523
+ * @param {SankeySeries} series
524
+ * The Series
525
+ * @return {number} TranslationFactor
526
+ * Translation Factor
527
+ */
528
+ SankeyColumnAdditions.prototype.getTranslationFactor = function (series) {
529
+ var column = this.points,
530
+ nodes = column.slice(),
531
+ chart = series.chart,
532
+ minLinkWidth = series.options.minLinkWidth || 0;
533
+ var skipPoint,
534
+ factor = 0,
535
+ i,
536
+ remainingHeight = ((chart.plotSizeY || 0) -
537
+ (series.options.borderWidth || 0) -
538
+ (column.length - 1) * series.nodePadding);
539
+ // Because the minLinkWidth option doesn't obey the direct
540
+ // translation, we need to run translation iteratively, check
541
+ // node heights, remove those nodes affected by minLinkWidth,
542
+ // check again, etc.
543
+ while (column.length) {
544
+ factor = remainingHeight / column.sankeyColumn.sum();
545
+ skipPoint = false;
546
+ i = column.length;
547
+ while (i--) {
548
+ if (column[i].getSum() * factor < minLinkWidth) {
549
+ column.splice(i, 1);
550
+ remainingHeight -= minLinkWidth;
551
+ skipPoint = true;
552
+ }
553
+ }
554
+ if (!skipPoint) {
555
+ break;
556
+ }
557
+ }
558
+ // Re-insert original nodes
559
+ column.length = 0;
560
+ nodes.forEach(function (node) {
561
+ column.push(node);
562
+ });
563
+ return factor;
564
+ };
565
+ /**
566
+ * Get the top position of the column in pixels
567
+ * @private
568
+ * @function Highcharts.SankeyColumn#top
569
+ *
570
+ * @param {number} factor
571
+ * The Translation Factor
572
+ * @return {number} top
573
+ * The top position of the column
574
+ */
575
+ SankeyColumnAdditions.prototype.top = function (factor) {
576
+ var series = this.series;
577
+ var nodePadding = series.nodePadding;
578
+ var height = this.points.reduce(function (height,
579
+ node) {
580
+ if (height > 0) {
581
+ height += nodePadding;
582
+ }
583
+ var nodeHeight = Math.max(node.getSum() * factor,
584
+ series.options.minLinkWidth || 0);
585
+ height += nodeHeight;
586
+ return height;
587
+ }, 0);
588
+ return ((series.chart.plotSizeY || 0) - height) / 2;
589
+ };
590
+ /**
591
+ * Get the left position of the column in pixels
592
+ * @private
593
+ * @function Highcharts.SankeyColumn#top
594
+ *
595
+ * @param {number} factor
596
+ * The Translation Factor
597
+ * @return {number} left
598
+ * The left position of the column
599
+ */
600
+ SankeyColumnAdditions.prototype.left = function (factor) {
601
+ var series = this.series,
602
+ chart = series.chart,
603
+ equalNodes = series.options.equalNodes;
604
+ var maxNodesLength = chart.inverted ?
605
+ chart.plotHeight : chart.plotWidth,
606
+ nodePadding = series.nodePadding;
607
+ var width = this.points.reduce(function (width,
608
+ node) {
609
+ if (width > 0) {
610
+ width += nodePadding;
611
+ }
612
+ var nodeWidth = equalNodes ?
613
+ maxNodesLength / node.series.nodes.length - nodePadding :
614
+ Math.max(node.getSum() * factor,
615
+ series.options.minLinkWidth || 0);
616
+ width += nodeWidth;
617
+ return width;
618
+ }, 0);
619
+ return ((chart.plotSizeX || 0) - Math.round(width)) / 2;
620
+ };
621
+ /**
622
+ * Calculate sum of all nodes inside specific column
623
+ * @private
624
+ * @function Highcharts.SankeyColumn#sum
625
+ *
626
+ * @param {ArrayComposition} this
627
+ * Sankey Column Array
628
+ *
629
+ * @return {number} sum
630
+ * Sum of all nodes inside column
631
+ */
632
+ SankeyColumnAdditions.prototype.sum = function () {
633
+ return this.points.reduce(function (sum, node) {
634
+ return sum + node.getSum();
635
+ }, 0);
636
+ };
637
+ /**
638
+ * Get the offset in pixels of a node inside the column
639
+ * @private
640
+ * @function Highcharts.SankeyColumn#offset
641
+ *
642
+ * @param {SankeyPoint} node
643
+ * Sankey node
644
+ * @param {number} factor
645
+ * Translation Factor
646
+ * @return {number} offset
647
+ * Offset of a node inside column
648
+ */
649
+ SankeyColumnAdditions.prototype.offset = function (node, factor) {
650
+ var column = this.points,
651
+ series = this.series,
652
+ nodePadding = series.nodePadding;
653
+ var offset = 0,
654
+ totalNodeOffset;
655
+ if (series.is('organization') && node.hangsFrom) {
656
+ return {
657
+ absoluteTop: node.hangsFrom.nodeY
658
+ };
659
+ }
660
+ for (var i = 0; i < column.length; i++) {
661
+ var sum = column[i].getSum();
662
+ var height = Math.max(sum * factor,
663
+ series.options.minLinkWidth || 0);
664
+ var directionOffset = node.options[series.chart.inverted ?
665
+ 'offsetHorizontal' :
666
+ 'offsetVertical'],
667
+ optionOffset = node.options.offset || 0;
668
+ if (sum) {
669
+ totalNodeOffset = height + nodePadding;
670
+ }
671
+ else {
672
+ // If node sum equals 0 nodePadding is missed #12453
673
+ totalNodeOffset = 0;
674
+ }
675
+ if (column[i] === node) {
676
+ return {
677
+ relativeTop: offset + (defined(directionOffset) ?
678
+ // directionOffset is a percent
679
+ // of the node height
680
+ relativeLength(directionOffset, height) :
681
+ relativeLength(optionOffset, totalNodeOffset))
682
+ };
683
+ }
684
+ offset += totalNodeOffset;
685
+ }
686
+ };
687
+ return SankeyColumnAdditions;
688
+ }());
689
+ SankeyColumnComposition.SankeyColumnAdditions = SankeyColumnAdditions;
690
+ })(SankeyColumnComposition || (SankeyColumnComposition = {}));
691
+
692
+ return SankeyColumnComposition;
693
+ });
372
694
  _registerModule(_modules, 'Series/TreeUtilities.js', [_modules['Core/Color/Color.js'], _modules['Core/Utilities.js']], function (Color, U) {
373
695
  /* *
374
696
  *
@@ -599,7 +921,7 @@
599
921
 
600
922
  return TreeUtilities;
601
923
  });
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) {
924
+ _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
925
  /* *
604
926
  *
605
927
  * Sankey diagram module
@@ -632,7 +954,6 @@
632
954
  var getLevelOptions = TU.getLevelOptions;
633
955
  var defined = U.defined,
634
956
  extend = U.extend,
635
- find = U.find,
636
957
  isObject = U.isObject,
637
958
  merge = U.merge,
638
959
  pick = U.pick,
@@ -707,66 +1028,6 @@
707
1028
  *
708
1029
  * */
709
1030
  /* 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
1031
  /**
771
1032
  * Create node columns by analyzing the nodes and the relations between
772
1033
  * incoming and outgoing links.
@@ -775,51 +1036,18 @@
775
1036
  SankeySeries.prototype.createNodeColumns = function () {
776
1037
  var columns = [];
777
1038
  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
- }
1039
+ node.setNodeColumn();
814
1040
  if (!columns[node.column]) {
815
- columns[node.column] = this.createNodeColumn();
1041
+ columns[node.column] =
1042
+ SankeyColumnComposition.compose([], this);
816
1043
  }
817
1044
  columns[node.column].push(node);
818
1045
  }, this);
819
1046
  // Fill in empty columns (#8865)
820
1047
  for (var i = 0; i < columns.length; i++) {
821
1048
  if (typeof columns[i] === 'undefined') {
822
- columns[i] = this.createNodeColumn();
1049
+ columns[i] =
1050
+ SankeyColumnComposition.compose([], this);
823
1051
  }
824
1052
  }
825
1053
  return columns;
@@ -899,10 +1127,23 @@
899
1127
  if (!point) {
900
1128
  return {};
901
1129
  }
902
- var series = this, level = point.isNode ? point.level : point.fromNode.level, levelOptions = series.mapOptionsToLevel[level || 0] || {}, options = point.options, stateOptions = (levelOptions.states && levelOptions.states[state || '']) || {}, values = [
903
- 'colorByPoint', 'borderColor', 'borderWidth', 'linkOpacity'
904
- ].reduce(function (obj, key) {
905
- obj[key] = pick(stateOptions[key], options[key], levelOptions[key], series.options[key]);
1130
+ var series = this,
1131
+ level = point.isNode ? point.level : point.fromNode.level,
1132
+ levelOptions = series.mapOptionsToLevel[level || 0] || {},
1133
+ options = point.options,
1134
+ stateOptions = (levelOptions.states && levelOptions.states[state || '']) || {},
1135
+ values = [
1136
+ 'colorByPoint',
1137
+ 'borderColor',
1138
+ 'borderWidth',
1139
+ 'linkOpacity',
1140
+ 'opacity'
1141
+ ].reduce(function (obj,
1142
+ key) {
1143
+ obj[key] = pick(stateOptions[key],
1144
+ options[key],
1145
+ levelOptions[key],
1146
+ series.options[key]);
906
1147
  return obj;
907
1148
  }, {}), color = pick(stateOptions.color, options.color, values.colorByPoint ? point.color : levelOptions.color);
908
1149
  // Node attributes
@@ -910,7 +1151,8 @@
910
1151
  return {
911
1152
  fill: color,
912
1153
  stroke: values.borderColor,
913
- 'stroke-width': values.borderWidth
1154
+ 'stroke-width': values.borderWidth,
1155
+ opacity: values.opacity
914
1156
  };
915
1157
  }
916
1158
  // Link attributes
@@ -934,42 +1176,6 @@
934
1176
  * @private
935
1177
  */
936
1178
  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
1179
  if (!this.processedXData) {
974
1180
  this.processData();
975
1181
  }
@@ -984,7 +1190,7 @@
984
1190
  this.nodePadding = this.getNodePadding();
985
1191
  // Find out how much space is needed. Base it on the translation
986
1192
  // factor of the most spaceous column.
987
- this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, getColumnTranslationFactor(column)); }, Infinity);
1193
+ this.translationFactor = nodeColumns.reduce(function (translationFactor, column) { return Math.min(translationFactor, column.sankeyColumn.getTranslationFactor(series)); }, Infinity);
988
1194
  this.colDistance =
989
1195
  (chart.plotSizeX - nodeWidth -
990
1196
  options.borderWidth) / Math.max(1, nodeColumns.length - 1);
@@ -1155,8 +1361,10 @@
1155
1361
  point.dlBox.x,
1156
1362
  point.dlBox.y + linkHeight / 2
1157
1363
  ];
1158
- // Pass test in drawPoints
1364
+ // Pass test in drawPoints. plotX/Y needs to be defined for dataLabels.
1365
+ // #15863
1159
1366
  point.y = point.plotY = 1;
1367
+ point.x = point.plotX = 1;
1160
1368
  if (!point.color) {
1161
1369
  point.color = fromNode.color;
1162
1370
  }
@@ -1174,9 +1382,9 @@
1174
1382
  this.options.minLinkWidth),
1175
1383
  nodeWidth = Math.round(this.nodeWidth),
1176
1384
  crisp = Math.round(options.borderWidth) % 2 / 2,
1177
- nodeOffset = column.offset(node,
1385
+ nodeOffset = column.sankeyColumn.offset(node,
1178
1386
  translationFactor),
1179
- fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.top(translationFactor) +
1387
+ fromNodeTop = Math.floor(pick(nodeOffset.absoluteTop, (column.sankeyColumn.top(translationFactor) +
1180
1388
  nodeOffset.relativeTop))) + crisp,
1181
1389
  left = Math.floor(this.colDistance * node.column +
1182
1390
  options.borderWidth / 2) + relativeLength(node.options.offsetHorizontal || 0,
@@ -1391,6 +1599,12 @@
1391
1599
  * @private
1392
1600
  */
1393
1601
  linkOpacity: 0.5,
1602
+ /**
1603
+ * Opacity for the nodes in the sankey diagram.
1604
+ *
1605
+ * @private
1606
+ */
1607
+ opacity: 1,
1394
1608
  /**
1395
1609
  * The minimal width for a line of a sankey. By default,
1396
1610
  * 0 values are not shown.
@@ -1431,7 +1645,11 @@
1431
1645
  * Opacity for the links between nodes in the sankey diagram in
1432
1646
  * hover mode.
1433
1647
  */
1434
- linkOpacity: 1
1648
+ linkOpacity: 1,
1649
+ /**
1650
+ * Opacity for the nodes in the sankey diagram in hover mode.
1651
+ */
1652
+ opacity: 1
1435
1653
  },
1436
1654
  /**
1437
1655
  * The opposite state of a hover for a single point node/link.
@@ -1445,10 +1663,7 @@
1445
1663
  */
1446
1664
  linkOpacity: 0.1,
1447
1665
  /**
1448
- * Opacity of inactive markers.
1449
- *
1450
- * @type {number}
1451
- * @apioption plotOptions.series.states.inactive.opacity
1666
+ * Opacity of the nodes in the sankey diagram in inactive mode.
1452
1667
  */
1453
1668
  opacity: 0.1,
1454
1669
  /**
@@ -1501,7 +1716,7 @@
1501
1716
  isCartesian: false,
1502
1717
  orderNodes: true,
1503
1718
  noSharedTooltip: true,
1504
- pointArrayMap: ['from', 'to'],
1719
+ pointArrayMap: ['from', 'to', 'weight'],
1505
1720
  pointClass: SankeyPoint,
1506
1721
  searchPoint: H.noop
1507
1722
  });