highcharts 10.2.0 → 10.2.1

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 (763) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/Accessibility.js +6 -0
  7. package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
  9. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  10. package/es-modules/Core/Axis/Axis.js +3 -0
  11. package/es-modules/Core/Axis/Axis3D.js +1 -1
  12. package/es-modules/Core/Axis/AxisDefaults.js +1 -1
  13. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
  15. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  16. package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
  17. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  19. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  22. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  23. package/es-modules/Core/Axis/ZAxis.js +73 -70
  24. package/es-modules/Core/Chart/Chart.js +16 -2
  25. package/es-modules/Core/Chart/Chart3D.js +2 -2
  26. package/es-modules/Core/Chart/ChartDefaults.js +151 -2
  27. package/es-modules/Core/Chart/StockChart.js +5 -3
  28. package/es-modules/Core/DefaultOptions.js +2 -1
  29. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  30. package/es-modules/Core/Globals.js +2 -1
  31. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  32. package/es-modules/Core/Navigator.js +24 -7
  33. package/es-modules/Core/Pointer.js +7 -9
  34. package/es-modules/Core/Renderer/HTML/AST.js +4 -1
  35. package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
  36. package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
  37. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  40. package/es-modules/Core/Scrollbar.js +3 -1
  41. package/es-modules/Core/Series/DataLabel.js +8 -6
  42. package/es-modules/Core/Series/Point.js +2 -2
  43. package/es-modules/Core/Series/Series.js +36 -31
  44. package/es-modules/Core/Series/Series3D.js +1 -1
  45. package/es-modules/Core/Series/SeriesDefaults.js +8 -3
  46. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  47. package/es-modules/Core/Tooltip.js +14 -3
  48. package/es-modules/Core/Utilities.js +1 -3
  49. package/es-modules/Data/DataConverter.js +5 -0
  50. package/es-modules/Data/DataPromise.js +1 -1
  51. package/es-modules/Data/DataSeriesComposition.js +288 -0
  52. package/es-modules/Data/DataSeriesConverter.js +1 -1
  53. package/es-modules/Data/DataTable.js +2 -2
  54. package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
  55. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  56. package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
  57. package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
  58. package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
  59. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
  60. package/es-modules/Data/Modifiers/SortModifier.js +1 -1
  61. package/es-modules/Data/Parsers/DataParser.js +1 -1
  62. package/es-modules/Data/Stores/DataStore.js +1 -1
  63. package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
  64. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  65. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  66. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  67. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  68. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  69. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  70. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
  71. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  72. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  73. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  74. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  75. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  76. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
  78. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  79. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  80. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  81. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  82. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  83. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  84. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  85. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
  86. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
  87. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
  88. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
  89. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
  90. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
  91. package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
  92. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
  93. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
  94. package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
  95. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
  96. package/es-modules/Extensions/Boost/Boost.js +320 -15
  97. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  98. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  99. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  100. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  101. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  102. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  103. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  104. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  105. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  106. package/es-modules/Extensions/BoostCanvas.js +62 -46
  107. package/es-modules/Extensions/Breadcrumbs.js +4 -0
  108. package/es-modules/Extensions/DataGrouping.js +65 -27
  109. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  110. package/es-modules/Extensions/DraggablePoints.js +4 -3
  111. package/es-modules/Extensions/Drilldown.js +7 -8
  112. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
  113. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  114. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  115. package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
  116. package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
  117. package/es-modules/Extensions/MarkerClusters.js +2 -0
  118. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  119. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  120. package/es-modules/Extensions/ParallelCoordinates.js +11 -7
  121. package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
  122. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  123. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  124. package/es-modules/Maps/MapPointer.js +1 -1
  125. package/es-modules/Maps/MapView.js +2 -1
  126. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  127. package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
  128. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  129. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  130. package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
  131. package/es-modules/Series/Column/ColumnSeries.js +2 -0
  132. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  133. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
  134. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  135. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
  136. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
  137. package/es-modules/Series/DragNodesComposition.js +166 -0
  138. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
  139. package/es-modules/Series/Gantt/GanttSeries.js +1 -1
  140. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  141. package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
  142. package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
  143. package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
  144. package/es-modules/Series/Map/MapSeries.js +6 -1
  145. package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
  146. package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
  147. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  148. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  149. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  150. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  151. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  152. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  153. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  154. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  155. package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
  156. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  157. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
  158. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
  159. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
  160. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  161. package/es-modules/Series/Pie/PieSeries.js +3 -1
  162. package/es-modules/Series/PolarComposition.js +12 -12
  163. package/es-modules/Series/Sankey/SankeySeries.js +13 -1
  164. package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
  165. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
  166. package/es-modules/Series/SeriesOnPointComposition.js +5 -1
  167. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
  168. package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
  169. package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
  170. package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
  171. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  172. package/es-modules/Series/Vector/VectorSeries.js +2 -4
  173. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
  174. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  175. package/es-modules/Series/XRange/XRangePoint.js +54 -45
  176. package/es-modules/Series/XRange/XRangeSeries.js +121 -273
  177. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  178. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
  179. package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
  181. package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
  182. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
  183. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
  184. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
  185. package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
  186. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
  187. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
  188. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
  189. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
  190. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
  191. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
  192. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
  193. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
  194. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
  195. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
  196. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
  197. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
  198. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
  199. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
  200. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
  201. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
  202. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
  203. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
  204. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
  205. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
  206. package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
  207. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
  208. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
  209. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
  210. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
  211. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
  212. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
  213. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
  214. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  215. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
  216. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
  217. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
  218. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
  219. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
  220. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
  221. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
  222. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
  223. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
  224. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
  225. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
  226. package/es-modules/Stock/StockToolbar.js +568 -0
  227. package/es-modules/Stock/StockTools.js +256 -0
  228. package/es-modules/Stock/StockToolsBindings.js +114 -629
  229. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  230. package/es-modules/Stock/StockToolsGui.js +150 -1771
  231. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  232. package/es-modules/masters/highcharts-3d.src.js +5 -4
  233. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  234. package/es-modules/masters/highcharts-more.src.js +4 -3
  235. package/es-modules/masters/highcharts.src.js +5 -2
  236. package/es-modules/masters/highmaps.src.js +1 -1
  237. package/es-modules/masters/highstock.src.js +1 -1
  238. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  239. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  240. package/es-modules/masters/indicators/ao.src.js +1 -1
  241. package/es-modules/masters/indicators/apo.src.js +1 -1
  242. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  243. package/es-modules/masters/indicators/aroon.src.js +1 -1
  244. package/es-modules/masters/indicators/atr.src.js +1 -1
  245. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  246. package/es-modules/masters/indicators/cci.src.js +1 -1
  247. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  248. package/es-modules/masters/indicators/cmf.src.js +1 -1
  249. package/es-modules/masters/indicators/cmo.src.js +1 -1
  250. package/es-modules/masters/indicators/dema.src.js +1 -1
  251. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  252. package/es-modules/masters/indicators/dmi.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  255. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  256. package/es-modules/masters/indicators/indicators.src.js +1 -1
  257. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  258. package/es-modules/masters/indicators/klinger.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/obv.src.js +1 -1
  264. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  265. package/es-modules/masters/indicators/ppo.src.js +1 -1
  266. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  267. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  268. package/es-modules/masters/indicators/psar.src.js +1 -1
  269. package/es-modules/masters/indicators/regressions.src.js +5 -5
  270. package/es-modules/masters/indicators/roc.src.js +1 -1
  271. package/es-modules/masters/indicators/rsi.src.js +1 -1
  272. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  274. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  275. package/es-modules/masters/indicators/tema.src.js +1 -1
  276. package/es-modules/masters/indicators/trendline.src.js +1 -1
  277. package/es-modules/masters/indicators/trix.src.js +1 -1
  278. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  279. package/es-modules/masters/indicators/vwap.src.js +1 -1
  280. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  281. package/es-modules/masters/indicators/wma.src.js +1 -1
  282. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  283. package/es-modules/masters/modules/accessibility.src.js +1 -1
  284. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  285. package/es-modules/masters/modules/annotations.src.js +6 -4
  286. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  287. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  288. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  289. package/es-modules/masters/modules/boost.src.js +6 -2
  290. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  291. package/es-modules/masters/modules/bullet.src.js +1 -1
  292. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  293. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  294. package/es-modules/masters/modules/cylinder.src.js +1 -1
  295. package/es-modules/masters/modules/data.src.js +1 -1
  296. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  297. package/es-modules/masters/modules/debugger.src.js +5 -3
  298. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  299. package/es-modules/masters/modules/dotplot.src.js +1 -1
  300. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  301. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  302. package/es-modules/masters/modules/drilldown.src.js +1 -1
  303. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  304. package/es-modules/masters/modules/export-data.src.js +5 -2
  305. package/es-modules/masters/modules/exporting.src.js +1 -2
  306. package/es-modules/masters/modules/full-screen.src.js +6 -2
  307. package/es-modules/masters/modules/funnel.src.js +1 -1
  308. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  309. package/es-modules/masters/modules/gantt.src.js +3 -2
  310. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  311. package/es-modules/masters/modules/heatmap.src.js +1 -1
  312. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  313. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  314. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  315. package/es-modules/masters/modules/item-series.src.js +1 -1
  316. package/es-modules/masters/modules/lollipop.src.js +1 -1
  317. package/es-modules/masters/modules/map.src.js +2 -2
  318. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  319. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  320. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  321. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  322. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  323. package/es-modules/masters/modules/oldie.src.js +1 -1
  324. package/es-modules/masters/modules/organization.src.js +1 -1
  325. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  326. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  327. package/es-modules/masters/modules/pareto.src.js +1 -1
  328. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  329. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  330. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  331. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  332. package/es-modules/masters/modules/sankey.src.js +1 -1
  333. package/es-modules/masters/modules/series-label.src.js +1 -1
  334. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  335. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  336. package/es-modules/masters/modules/sonification.src.js +1 -1
  337. package/es-modules/masters/modules/static-scale.src.js +1 -1
  338. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  339. package/es-modules/masters/modules/stock.src.js +1 -1
  340. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  341. package/es-modules/masters/modules/sunburst.src.js +1 -1
  342. package/es-modules/masters/modules/tilemap.src.js +1 -1
  343. package/es-modules/masters/modules/timeline.src.js +1 -1
  344. package/es-modules/masters/modules/treegrid.src.js +2 -2
  345. package/es-modules/masters/modules/treemap.src.js +1 -1
  346. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  347. package/es-modules/masters/modules/variwide.src.js +1 -1
  348. package/es-modules/masters/modules/vector.src.js +1 -1
  349. package/es-modules/masters/modules/venn.src.js +1 -1
  350. package/es-modules/masters/modules/windbarb.src.js +1 -1
  351. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  352. package/es-modules/masters/modules/xrange.src.js +5 -2
  353. package/es-modules/masters/themes/avocado.src.js +1 -1
  354. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  355. package/es-modules/masters/themes/brand-light.src.js +1 -1
  356. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  357. package/es-modules/masters/themes/dark-green.src.js +1 -1
  358. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  359. package/es-modules/masters/themes/gray.src.js +1 -1
  360. package/es-modules/masters/themes/grid-light.src.js +1 -1
  361. package/es-modules/masters/themes/grid.src.js +1 -1
  362. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  363. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  364. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  365. package/es-modules/masters/themes/skies.src.js +1 -1
  366. package/es-modules/masters/themes/sunset.src.js +1 -1
  367. package/highcharts-3d.js +98 -99
  368. package/highcharts-3d.js.map +1 -1
  369. package/highcharts-3d.src.js +232 -211
  370. package/highcharts-gantt.js +808 -809
  371. package/highcharts-gantt.js.map +1 -1
  372. package/highcharts-gantt.src.js +2308 -2136
  373. package/highcharts-more.d.ts +5 -8
  374. package/highcharts-more.js +201 -194
  375. package/highcharts-more.js.map +1 -1
  376. package/highcharts-more.src.d.ts +5 -8
  377. package/highcharts-more.src.js +3671 -3275
  378. package/highcharts.d.ts +1400 -885
  379. package/highcharts.js +593 -595
  380. package/highcharts.js.map +1 -1
  381. package/highcharts.src.d.ts +1400 -885
  382. package/highcharts.src.js +847 -716
  383. package/highmaps.js +762 -763
  384. package/highmaps.js.map +1 -1
  385. package/highmaps.src.js +1288 -1129
  386. package/highstock.js +796 -798
  387. package/highstock.js.map +1 -1
  388. package/highstock.src.js +953 -762
  389. package/indicators/acceleration-bands.js +1 -1
  390. package/indicators/acceleration-bands.js.map +1 -1
  391. package/indicators/acceleration-bands.src.js +11 -3
  392. package/indicators/accumulation-distribution.js +1 -1
  393. package/indicators/accumulation-distribution.js.map +1 -1
  394. package/indicators/accumulation-distribution.src.js +6 -1
  395. package/indicators/ao.js +6 -6
  396. package/indicators/ao.js.map +1 -1
  397. package/indicators/ao.src.js +23 -14
  398. package/indicators/apo.js +1 -1
  399. package/indicators/apo.js.map +1 -1
  400. package/indicators/apo.src.js +6 -1
  401. package/indicators/aroon-oscillator.js +10 -10
  402. package/indicators/aroon-oscillator.js.map +1 -1
  403. package/indicators/aroon-oscillator.src.js +7 -3
  404. package/indicators/aroon.js +1 -1
  405. package/indicators/aroon.js.map +1 -1
  406. package/indicators/aroon.src.js +16 -3
  407. package/indicators/atr.js +1 -1
  408. package/indicators/atr.js.map +1 -1
  409. package/indicators/atr.src.js +17 -4
  410. package/indicators/bollinger-bands.js +1 -1
  411. package/indicators/bollinger-bands.js.map +1 -1
  412. package/indicators/bollinger-bands.src.js +6 -2
  413. package/indicators/cci.js +1 -1
  414. package/indicators/cci.js.map +1 -1
  415. package/indicators/cci.src.js +17 -4
  416. package/indicators/chaikin.js +8 -8
  417. package/indicators/chaikin.js.map +1 -1
  418. package/indicators/chaikin.src.js +13 -5
  419. package/indicators/cmf.js +1 -1
  420. package/indicators/cmf.js.map +1 -1
  421. package/indicators/cmf.src.js +21 -1
  422. package/indicators/cmo.js +1 -1
  423. package/indicators/cmo.js.map +1 -1
  424. package/indicators/cmo.src.js +16 -2
  425. package/indicators/dema.js +1 -1
  426. package/indicators/dema.js.map +1 -1
  427. package/indicators/dema.src.js +26 -1
  428. package/indicators/disparity-index.js +1 -1
  429. package/indicators/disparity-index.src.js +1 -1
  430. package/indicators/dmi.js +1 -1
  431. package/indicators/dmi.js.map +1 -1
  432. package/indicators/dmi.src.js +6 -1
  433. package/indicators/dpo.js +1 -1
  434. package/indicators/dpo.js.map +1 -1
  435. package/indicators/dpo.src.js +20 -9
  436. package/indicators/ichimoku-kinko-hyo.js +1 -1
  437. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  438. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  439. package/indicators/indicators-all.js +199 -199
  440. package/indicators/indicators-all.js.map +1 -1
  441. package/indicators/indicators-all.src.js +754 -162
  442. package/indicators/indicators.js +1 -1
  443. package/indicators/indicators.js.map +1 -1
  444. package/indicators/indicators.src.js +12 -2
  445. package/indicators/keltner-channels.js +1 -1
  446. package/indicators/keltner-channels.js.map +1 -1
  447. package/indicators/keltner-channels.src.js +26 -1
  448. package/indicators/klinger.js +12 -12
  449. package/indicators/klinger.js.map +1 -1
  450. package/indicators/klinger.src.js +13 -4
  451. package/indicators/macd.js +1 -1
  452. package/indicators/macd.js.map +1 -1
  453. package/indicators/macd.src.js +22 -13
  454. package/indicators/mfi.js +1 -1
  455. package/indicators/mfi.js.map +1 -1
  456. package/indicators/mfi.src.js +24 -11
  457. package/indicators/momentum.js +1 -1
  458. package/indicators/momentum.js.map +1 -1
  459. package/indicators/momentum.src.js +31 -3
  460. package/indicators/natr.js +1 -1
  461. package/indicators/natr.js.map +1 -1
  462. package/indicators/natr.src.js +17 -3
  463. package/indicators/obv.js +1 -1
  464. package/indicators/obv.js.map +1 -1
  465. package/indicators/obv.src.js +11 -1
  466. package/indicators/pivot-points.js +1 -1
  467. package/indicators/pivot-points.js.map +1 -1
  468. package/indicators/pivot-points.src.js +32 -19
  469. package/indicators/ppo.js +1 -1
  470. package/indicators/ppo.js.map +1 -1
  471. package/indicators/ppo.src.js +15 -5
  472. package/indicators/price-channel.js +1 -1
  473. package/indicators/price-channel.js.map +1 -1
  474. package/indicators/price-channel.src.js +14 -9
  475. package/indicators/price-envelopes.js +1 -1
  476. package/indicators/price-envelopes.js.map +1 -1
  477. package/indicators/price-envelopes.src.js +26 -1
  478. package/indicators/psar.js +1 -1
  479. package/indicators/psar.js.map +1 -1
  480. package/indicators/psar.src.js +17 -4
  481. package/indicators/regressions.js +12 -11
  482. package/indicators/regressions.js.map +1 -1
  483. package/indicators/regressions.src.js +50 -15
  484. package/indicators/roc.js +1 -1
  485. package/indicators/roc.js.map +1 -1
  486. package/indicators/roc.src.js +16 -3
  487. package/indicators/rsi.js +1 -1
  488. package/indicators/rsi.js.map +1 -1
  489. package/indicators/rsi.src.js +21 -3
  490. package/indicators/slow-stochastic.js +1 -1
  491. package/indicators/slow-stochastic.js.map +1 -1
  492. package/indicators/slow-stochastic.src.js +26 -1
  493. package/indicators/stochastic.js +1 -1
  494. package/indicators/stochastic.js.map +1 -1
  495. package/indicators/stochastic.src.js +16 -1
  496. package/indicators/supertrend.js +7 -7
  497. package/indicators/supertrend.js.map +1 -1
  498. package/indicators/supertrend.src.js +18 -6
  499. package/indicators/tema.js +1 -1
  500. package/indicators/tema.src.js +1 -1
  501. package/indicators/trendline.js +1 -1
  502. package/indicators/trendline.js.map +1 -1
  503. package/indicators/trendline.src.js +15 -5
  504. package/indicators/trix.js +1 -1
  505. package/indicators/trix.js.map +1 -1
  506. package/indicators/trix.src.js +26 -1
  507. package/indicators/volume-by-price.js +17 -17
  508. package/indicators/volume-by-price.js.map +1 -1
  509. package/indicators/volume-by-price.src.js +38 -10
  510. package/indicators/vwap.js +1 -1
  511. package/indicators/vwap.js.map +1 -1
  512. package/indicators/vwap.src.js +12 -2
  513. package/indicators/williams-r.js +1 -1
  514. package/indicators/williams-r.js.map +1 -1
  515. package/indicators/williams-r.src.js +11 -1
  516. package/indicators/wma.js +1 -1
  517. package/indicators/wma.js.map +1 -1
  518. package/indicators/wma.src.js +31 -3
  519. package/indicators/zigzag.js +1 -1
  520. package/indicators/zigzag.js.map +1 -1
  521. package/indicators/zigzag.src.js +12 -2
  522. package/modules/accessibility.js +183 -182
  523. package/modules/accessibility.js.map +1 -1
  524. package/modules/accessibility.src.js +559 -554
  525. package/modules/annotations-advanced.d.ts +1 -1
  526. package/modules/annotations-advanced.js +193 -192
  527. package/modules/annotations-advanced.js.map +1 -1
  528. package/modules/annotations-advanced.src.d.ts +1 -1
  529. package/modules/annotations-advanced.src.js +9263 -8654
  530. package/modules/annotations.d.ts +1 -1
  531. package/modules/annotations.js +128 -126
  532. package/modules/annotations.js.map +1 -1
  533. package/modules/annotations.src.d.ts +1 -1
  534. package/modules/annotations.src.js +6699 -6063
  535. package/modules/arc-diagram.js +1 -1
  536. package/modules/arc-diagram.src.js +1 -1
  537. package/modules/arrow-symbols.js +1 -1
  538. package/modules/arrow-symbols.src.js +1 -1
  539. package/modules/boost-canvas.d.ts +19 -0
  540. package/modules/boost-canvas.js +81 -16
  541. package/modules/boost-canvas.js.map +1 -1
  542. package/modules/boost-canvas.src.d.ts +19 -0
  543. package/modules/boost-canvas.src.js +3334 -50
  544. package/modules/boost.d.ts +8 -26
  545. package/modules/boost.js +84 -77
  546. package/modules/boost.js.map +1 -1
  547. package/modules/boost.src.d.ts +8 -26
  548. package/modules/boost.src.js +2423 -1888
  549. package/modules/broken-axis.js +2 -2
  550. package/modules/broken-axis.js.map +1 -1
  551. package/modules/broken-axis.src.js +2 -2
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +1 -1
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +5 -1
  557. package/modules/current-date-indicator.js +1 -1
  558. package/modules/current-date-indicator.src.js +1 -1
  559. package/modules/cylinder.js +9 -9
  560. package/modules/cylinder.js.map +1 -1
  561. package/modules/cylinder.src.js +2 -2
  562. package/modules/data.js +1 -1
  563. package/modules/data.src.js +1 -1
  564. package/modules/datagrouping.d.ts +22 -0
  565. package/modules/datagrouping.js +4 -4
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.d.ts +22 -0
  568. package/modules/datagrouping.src.js +66 -28
  569. package/modules/debugger.js +6 -5
  570. package/modules/debugger.js.map +1 -1
  571. package/modules/debugger.src.js +81 -40
  572. package/modules/dependency-wheel.js +12 -12
  573. package/modules/dependency-wheel.js.map +1 -1
  574. package/modules/dependency-wheel.src.js +41 -14
  575. package/modules/dotplot.js +1 -1
  576. package/modules/dotplot.src.js +1 -1
  577. package/modules/drag-panes.js +1 -1
  578. package/modules/drag-panes.src.js +1 -1
  579. package/modules/draggable-points.js +5 -5
  580. package/modules/draggable-points.js.map +1 -1
  581. package/modules/draggable-points.src.js +5 -4
  582. package/modules/drilldown.d.ts +0 -10
  583. package/modules/drilldown.js +29 -29
  584. package/modules/drilldown.js.map +1 -1
  585. package/modules/drilldown.src.d.ts +0 -10
  586. package/modules/drilldown.src.js +12 -9
  587. package/modules/dumbbell.js +1 -1
  588. package/modules/dumbbell.src.js +1 -1
  589. package/modules/export-data.js +25 -24
  590. package/modules/export-data.js.map +1 -1
  591. package/modules/export-data.src.js +607 -499
  592. package/modules/exporting.js +38 -38
  593. package/modules/exporting.js.map +1 -1
  594. package/modules/exporting.src.js +559 -507
  595. package/modules/full-screen.js +8 -8
  596. package/modules/full-screen.js.map +1 -1
  597. package/modules/full-screen.src.js +76 -26
  598. package/modules/funnel.js +1 -1
  599. package/modules/funnel.src.js +1 -1
  600. package/modules/funnel3d.js +2 -2
  601. package/modules/funnel3d.js.map +1 -1
  602. package/modules/funnel3d.src.js +2 -2
  603. package/modules/gantt.js +217 -216
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +1481 -1440
  606. package/modules/grid-axis.js +1 -1
  607. package/modules/grid-axis.src.js +1 -1
  608. package/modules/heatmap.js +1 -1
  609. package/modules/heatmap.js.map +1 -1
  610. package/modules/heatmap.src.js +10 -2
  611. package/modules/heikinashi.js +1 -1
  612. package/modules/heikinashi.src.js +1 -1
  613. package/modules/histogram-bellcurve.js +1 -1
  614. package/modules/histogram-bellcurve.src.js +1 -1
  615. package/modules/hollowcandlestick.js +1 -1
  616. package/modules/hollowcandlestick.src.js +1 -1
  617. package/modules/item-series.js +1 -1
  618. package/modules/item-series.src.js +1 -1
  619. package/modules/lollipop.js +6 -6
  620. package/modules/lollipop.js.map +1 -1
  621. package/modules/lollipop.src.js +37 -22
  622. package/modules/map.d.ts +3 -3
  623. package/modules/map.js +171 -171
  624. package/modules/map.js.map +1 -1
  625. package/modules/map.src.d.ts +3 -3
  626. package/modules/map.src.js +442 -414
  627. package/modules/marker-clusters.js +1 -1
  628. package/modules/marker-clusters.js.map +1 -1
  629. package/modules/marker-clusters.src.js +3 -1
  630. package/modules/networkgraph.js +55 -50
  631. package/modules/networkgraph.js.map +1 -1
  632. package/modules/networkgraph.src.js +2259 -1938
  633. package/modules/no-data-to-display.js +1 -1
  634. package/modules/no-data-to-display.src.js +1 -1
  635. package/modules/offline-exporting.js +2 -2
  636. package/modules/offline-exporting.src.js +2 -2
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.src.js +2 -2
  641. package/modules/organization.js +15 -15
  642. package/modules/organization.js.map +1 -1
  643. package/modules/organization.src.js +10 -2
  644. package/modules/overlapping-datalabels.js +1 -1
  645. package/modules/overlapping-datalabels.src.js +1 -1
  646. package/modules/parallel-coordinates.js +11 -11
  647. package/modules/parallel-coordinates.js.map +1 -1
  648. package/modules/parallel-coordinates.src.js +13 -8
  649. package/modules/pareto.js +1 -1
  650. package/modules/pareto.src.js +1 -1
  651. package/modules/pathfinder.js +1 -1
  652. package/modules/pathfinder.src.js +1 -1
  653. package/modules/pattern-fill.js +1 -1
  654. package/modules/pattern-fill.src.js +1 -1
  655. package/modules/price-indicator.js +1 -1
  656. package/modules/price-indicator.src.js +1 -1
  657. package/modules/pyramid3d.js +1 -1
  658. package/modules/pyramid3d.src.js +1 -1
  659. package/modules/sankey.js +1 -1
  660. package/modules/sankey.js.map +1 -1
  661. package/modules/sankey.src.js +14 -2
  662. package/modules/series-label.js +5 -5
  663. package/modules/series-label.js.map +1 -1
  664. package/modules/series-label.src.js +3 -3
  665. package/modules/series-on-point.js +1 -1
  666. package/modules/series-on-point.js.map +1 -1
  667. package/modules/series-on-point.src.js +6 -2
  668. package/modules/solid-gauge.js +1 -1
  669. package/modules/solid-gauge.src.js +2 -2
  670. package/modules/sonification.d.ts +2 -2
  671. package/modules/sonification.js +1 -1
  672. package/modules/sonification.src.d.ts +2 -2
  673. package/modules/sonification.src.js +2 -2
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.d.ts +1 -23
  677. package/modules/stock-tools.js +109 -179
  678. package/modules/stock-tools.js.map +1 -1
  679. package/modules/stock-tools.src.d.ts +1 -23
  680. package/modules/stock-tools.src.js +2605 -6335
  681. package/modules/stock.d.ts +8 -0
  682. package/modules/stock.js +105 -105
  683. package/modules/stock.js.map +1 -1
  684. package/modules/stock.src.d.ts +8 -0
  685. package/modules/stock.src.js +105 -45
  686. package/modules/streamgraph.js +1 -1
  687. package/modules/streamgraph.src.js +1 -1
  688. package/modules/sunburst.js +72 -72
  689. package/modules/sunburst.js.map +1 -1
  690. package/modules/sunburst.src.js +38 -12
  691. package/modules/tilemap.js +1 -1
  692. package/modules/tilemap.src.js +1 -1
  693. package/modules/timeline.js +1 -1
  694. package/modules/timeline.js.map +1 -1
  695. package/modules/timeline.src.js +3 -1
  696. package/modules/treegrid.js +57 -57
  697. package/modules/treegrid.js.map +1 -1
  698. package/modules/treegrid.src.js +1022 -1014
  699. package/modules/treemap.js +1 -1
  700. package/modules/treemap.js.map +1 -1
  701. package/modules/treemap.src.js +8 -4
  702. package/modules/variable-pie.js +1 -1
  703. package/modules/variable-pie.src.js +1 -1
  704. package/modules/variwide.js +1 -1
  705. package/modules/variwide.src.js +1 -1
  706. package/modules/vector.js +2 -2
  707. package/modules/vector.js.map +1 -1
  708. package/modules/vector.src.js +3 -5
  709. package/modules/venn.js +1 -1
  710. package/modules/venn.src.js +5 -5
  711. package/modules/windbarb.js +1 -1
  712. package/modules/windbarb.src.js +1 -1
  713. package/modules/wordcloud.js +1 -1
  714. package/modules/wordcloud.src.js +3 -3
  715. package/modules/xrange.js +17 -17
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +411 -397
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +1 -1
  722. package/themes/brand-dark.src.js +1 -1
  723. package/themes/brand-light.js +1 -1
  724. package/themes/brand-light.src.js +1 -1
  725. package/themes/dark-blue.js +1 -1
  726. package/themes/dark-blue.src.js +1 -1
  727. package/themes/dark-green.js +1 -1
  728. package/themes/dark-green.src.js +1 -1
  729. package/themes/dark-unica.js +1 -1
  730. package/themes/dark-unica.src.js +1 -1
  731. package/themes/gray.js +1 -1
  732. package/themes/gray.src.js +1 -1
  733. package/themes/grid-light.js +1 -1
  734. package/themes/grid-light.src.js +1 -1
  735. package/themes/grid.js +1 -1
  736. package/themes/grid.src.js +1 -1
  737. package/themes/high-contrast-dark.js +1 -1
  738. package/themes/high-contrast-dark.src.js +1 -1
  739. package/themes/high-contrast-light.js +1 -1
  740. package/themes/high-contrast-light.src.js +1 -1
  741. package/themes/sand-signika.js +1 -1
  742. package/themes/sand-signika.src.js +1 -1
  743. package/themes/skies.js +1 -1
  744. package/themes/skies.src.js +1 -1
  745. package/themes/sunset.js +1 -1
  746. package/themes/sunset.src.js +1 -1
  747. package/es-modules/Core/Axis/StackingAxis.js +0 -215
  748. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  749. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  750. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  751. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  752. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  753. package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
  754. package/es-modules/Extensions/Boost/BoostInit.js +0 -324
  755. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  756. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  757. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  758. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  759. package/es-modules/Extensions/Stacking.js +0 -517
  760. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  761. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  762. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
  763. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -1,1180 +0,0 @@
1
- /* *
2
- *
3
- * Networkgraph series
4
- *
5
- * (c) 2010-2021 Paweł Fus
6
- *
7
- * License: www.highcharts.com/license
8
- *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
- *
11
- * */
12
- 'use strict';
13
- var __extends = (this && this.__extends) || (function () {
14
- var extendStatics = function (d, b) {
15
- extendStatics = Object.setPrototypeOf ||
16
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
18
- return extendStatics(d, b);
19
- };
20
- return function (d, b) {
21
- if (typeof b !== "function" && b !== null)
22
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
23
- extendStatics(d, b);
24
- function __() { this.constructor = d; }
25
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
26
- };
27
- })();
28
- import H from '../../Core/Globals.js';
29
- import NodesComposition from '../NodesComposition.js';
30
- import Point from '../../Core/Series/Point.js';
31
- import Series from '../../Core/Series/Series.js';
32
- import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
33
- var seriesTypes = SeriesRegistry.seriesTypes;
34
- import U from '../../Core/Utilities.js';
35
- var addEvent = U.addEvent, css = U.css, defined = U.defined, extend = U.extend, merge = U.merge, pick = U.pick;
36
- import '../../Core/DefaultOptions.js';
37
- import './Layouts.js';
38
- import './DraggableNodes.js';
39
- var dragNodesMixin = H.dragNodesMixin;
40
- /**
41
- * Formatter callback function.
42
- *
43
- * @callback Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction
44
- *
45
- * @param {Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject|Highcharts.PointLabelObject} this
46
- * Data label context to format
47
- *
48
- * @return {string}
49
- * Formatted data label text
50
- */
51
- /**
52
- * Context for the formatter function.
53
- *
54
- * @interface Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject
55
- * @extends Highcharts.PointLabelObject
56
- * @since 7.0.0
57
- */ /**
58
- * The color of the node.
59
- * @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#color
60
- * @type {Highcharts.ColorString}
61
- * @since 7.0.0
62
- */ /**
63
- * The point (node) object. The node name, if defined, is available through
64
- * `this.point.name`. Arrays: `this.point.linksFrom` and `this.point.linksTo`
65
- * contains all nodes connected to this point.
66
- * @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#point
67
- * @type {Highcharts.Point}
68
- * @since 7.0.0
69
- */ /**
70
- * The ID of the node.
71
- * @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#key
72
- * @type {string}
73
- * @since 7.0.0
74
- */
75
- ''; // detach doclets above
76
- /* *
77
- *
78
- * Class
79
- *
80
- * */
81
- /**
82
- * @private
83
- * @class
84
- * @name Highcharts.seriesTypes.networkgraph
85
- *
86
- * @extends Highcharts.Series
87
- */
88
- var NetworkgraphSeries = /** @class */ (function (_super) {
89
- __extends(NetworkgraphSeries, _super);
90
- function NetworkgraphSeries() {
91
- /* *
92
- *
93
- * Static Properties
94
- *
95
- * */
96
- var _this = _super !== null && _super.apply(this, arguments) || this;
97
- /* *
98
- *
99
- * Properties
100
- *
101
- * */
102
- _this.data = void 0;
103
- _this.nodes = void 0;
104
- _this.options = void 0;
105
- _this.points = void 0;
106
- return _this;
107
- }
108
- /**
109
- * A networkgraph is a type of relationship chart, where connnections
110
- * (links) attracts nodes (points) and other nodes repulse each other.
111
- *
112
- * @extends plotOptions.line
113
- * @product highcharts
114
- * @sample highcharts/demo/network-graph/
115
- * Networkgraph
116
- * @since 7.0.0
117
- * @excluding boostThreshold, animation, animationLimit, connectEnds,
118
- * colorAxis, colorKey, connectNulls, cropThreshold, dragDrop,
119
- * getExtremesFromAll, label, linecap, negativeColor,
120
- * pointInterval, pointIntervalUnit, pointPlacement,
121
- * pointStart, softThreshold, stack, stacking, step,
122
- * threshold, xAxis, yAxis, zoneAxis, dataSorting,
123
- * boostBlending
124
- * @requires modules/networkgraph
125
- * @optionparent plotOptions.networkgraph
126
- */
127
- NetworkgraphSeries.defaultOptions = merge(Series.defaultOptions, {
128
- stickyTracking: false,
129
- /**
130
- * @ignore-option
131
- * @private
132
- */
133
- inactiveOtherPoints: true,
134
- marker: {
135
- enabled: true,
136
- states: {
137
- /**
138
- * The opposite state of a hover for a single point node.
139
- * Applied to all not connected nodes to the hovered one.
140
- *
141
- * @declare Highcharts.PointStatesInactiveOptionsObject
142
- */
143
- inactive: {
144
- /**
145
- * Opacity of inactive markers.
146
- */
147
- opacity: 0.3,
148
- /**
149
- * Animation when not hovering over the node.
150
- *
151
- * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
152
- */
153
- animation: {
154
- /** @internal */
155
- duration: 50
156
- }
157
- }
158
- }
159
- },
160
- states: {
161
- /**
162
- * The opposite state of a hover for a single point link. Applied
163
- * to all links that are not comming from the hovered node.
164
- *
165
- * @declare Highcharts.SeriesStatesInactiveOptionsObject
166
- */
167
- inactive: {
168
- /**
169
- * Opacity of inactive links.
170
- */
171
- linkOpacity: 0.3,
172
- /**
173
- * Animation when not hovering over the node.
174
- *
175
- * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
176
- */
177
- animation: {
178
- /** @internal */
179
- duration: 50
180
- }
181
- }
182
- },
183
- /**
184
- * @sample highcharts/series-networkgraph/link-datalabels
185
- * Networkgraph with labels on links
186
- * @sample highcharts/series-networkgraph/textpath-datalabels
187
- * Networkgraph with labels around nodes
188
- * @sample highcharts/series-networkgraph/link-datalabels
189
- * Data labels moved into the nodes
190
- * @sample highcharts/series-networkgraph/link-datalabels
191
- * Data labels moved under the links
192
- *
193
- * @declare Highcharts.SeriesNetworkgraphDataLabelsOptionsObject
194
- *
195
- * @private
196
- */
197
- dataLabels: {
198
- /**
199
- * The
200
- * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
201
- * specifying what to show for _node_ in the networkgraph. In v7.0
202
- * defaults to `{key}`, since v7.1 defaults to `undefined` and
203
- * `formatter` is used instead.
204
- *
205
- * @type {string}
206
- * @since 7.0.0
207
- * @apioption plotOptions.networkgraph.dataLabels.format
208
- */
209
- // eslint-disable-next-line valid-jsdoc
210
- /**
211
- * Callback JavaScript function to format the data label for a node.
212
- * Note that if a `format` is defined, the format takes precedence
213
- * and the formatter is ignored.
214
- *
215
- * @type {Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction}
216
- * @since 7.0.0
217
- */
218
- formatter: function () {
219
- return this.key;
220
- },
221
- /**
222
- * The
223
- * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
224
- * specifying what to show for _links_ in the networkgraph.
225
- * (Default: `undefined`)
226
- *
227
- * @type {string}
228
- * @since 7.1.0
229
- * @apioption plotOptions.networkgraph.dataLabels.linkFormat
230
- */
231
- // eslint-disable-next-line valid-jsdoc
232
- /**
233
- * Callback to format data labels for _links_ in the sankey diagram.
234
- * The `linkFormat` option takes precedence over the
235
- * `linkFormatter`.
236
- *
237
- * @type {Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction}
238
- * @since 7.1.0
239
- */
240
- linkFormatter: function () {
241
- return (this.point.fromNode.name +
242
- '<br>' +
243
- this.point.toNode.name);
244
- },
245
- /**
246
- * Options for a _link_ label text which should follow link
247
- * connection. Border and background are disabled for a label that
248
- * follows a path.
249
- *
250
- * **Note:** Only SVG-based renderer supports this option. Setting
251
- * `useHTML` to true will disable this option.
252
- *
253
- * @extends plotOptions.networkgraph.dataLabels.textPath
254
- * @since 7.1.0
255
- */
256
- linkTextPath: {
257
- enabled: true
258
- },
259
- textPath: {
260
- enabled: false
261
- },
262
- style: {
263
- transition: 'opacity 2000ms'
264
- }
265
- },
266
- /**
267
- * Link style options
268
- * @private
269
- */
270
- link: {
271
- /**
272
- * A name for the dash style to use for links.
273
- *
274
- * @type {string}
275
- * @apioption plotOptions.networkgraph.link.dashStyle
276
- */
277
- /**
278
- * Color of the link between two nodes.
279
- */
280
- color: 'rgba(100, 100, 100, 0.5)',
281
- /**
282
- * Width (px) of the link between two nodes.
283
- */
284
- width: 1
285
- },
286
- /**
287
- * Flag to determine if nodes are draggable or not.
288
- * @private
289
- */
290
- draggable: true,
291
- layoutAlgorithm: {
292
- /**
293
- * Repulsive force applied on a node. Passed are two arguments:
294
- * - `d` - which is current distance between two nodes
295
- * - `k` - which is desired distance between two nodes
296
- *
297
- * In `verlet` integration, defaults to:
298
- * `function (d, k) { return (k - d) / d * (k > d ? 1 : 0) }`
299
- *
300
- * @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
301
- *
302
- * @sample highcharts/series-networkgraph/forces/
303
- * Custom forces with Euler integration
304
- * @sample highcharts/series-networkgraph/cuboids/
305
- * Custom forces with Verlet integration
306
- *
307
- * @type {Function}
308
- * @default function (d, k) { return k * k / d; }
309
- * @apioption plotOptions.networkgraph.layoutAlgorithm.repulsiveForce
310
- */
311
- /**
312
- * Attraction force applied on a node which is conected to another
313
- * node by a link. Passed are two arguments:
314
- * - `d` - which is current distance between two nodes
315
- * - `k` - which is desired distance between two nodes
316
- *
317
- * In `verlet` integration, defaults to:
318
- * `function (d, k) { return (k - d) / d; }`
319
- *
320
- * @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
321
- *
322
- * @sample highcharts/series-networkgraph/forces/
323
- * Custom forces with Euler integration
324
- * @sample highcharts/series-networkgraph/cuboids/
325
- * Custom forces with Verlet integration
326
- *
327
- * @type {Function}
328
- * @default function (d, k) { return k * k / d; }
329
- * @apioption plotOptions.networkgraph.layoutAlgorithm.attractiveForce
330
- */
331
- /**
332
- * Ideal length (px) of the link between two nodes. When not
333
- * defined, length is calculated as:
334
- * `Math.pow(availableWidth * availableHeight / nodesLength, 0.4);`
335
- *
336
- * Note: Because of the algorithm specification, length of each link
337
- * might be not exactly as specified.
338
- *
339
- * @sample highcharts/series-networkgraph/styled-links/
340
- * Numerical values
341
- *
342
- * @type {number}
343
- * @apioption plotOptions.networkgraph.layoutAlgorithm.linkLength
344
- */
345
- /**
346
- * Initial layout algorithm for positioning nodes. Can be one of
347
- * built-in options ("circle", "random") or a function where
348
- * positions should be set on each node (`this.nodes`) as
349
- * `node.plotX` and `node.plotY`
350
- *
351
- * @sample highcharts/series-networkgraph/initial-positions/
352
- * Initial positions with callback
353
- *
354
- * @type {"circle"|"random"|Function}
355
- */
356
- initialPositions: 'circle',
357
- /**
358
- * When `initialPositions` are set to 'circle',
359
- * `initialPositionRadius` is a distance from the center of circle,
360
- * in which nodes are created.
361
- *
362
- * @type {number}
363
- * @default 1
364
- * @since 7.1.0
365
- */
366
- initialPositionRadius: 1,
367
- /**
368
- * Experimental. Enables live simulation of the algorithm
369
- * implementation. All nodes are animated as the forces applies on
370
- * them.
371
- *
372
- * @sample highcharts/demo/network-graph/
373
- * Live simulation enabled
374
- */
375
- enableSimulation: false,
376
- /**
377
- * Barnes-Hut approximation only.
378
- * Deteremines when distance between cell and node is small enough
379
- * to caculate forces. Value of `theta` is compared directly with
380
- * quotient `s / d`, where `s` is the size of the cell, and `d` is
381
- * distance between center of cell's mass and currently compared
382
- * node.
383
- *
384
- * @see [layoutAlgorithm.approximation](#series.networkgraph.layoutAlgorithm.approximation)
385
- *
386
- * @since 7.1.0
387
- */
388
- theta: 0.5,
389
- /**
390
- * Verlet integration only.
391
- * Max speed that node can get in one iteration. In terms of
392
- * simulation, it's a maximum translation (in pixels) that node can
393
- * move (in both, x and y, dimensions). While `friction` is applied
394
- * on all nodes, max speed is applied only for nodes that move very
395
- * fast, for example small or disconnected ones.
396
- *
397
- * @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
398
- * @see [layoutAlgorithm.friction](#series.networkgraph.layoutAlgorithm.friction)
399
- *
400
- * @since 7.1.0
401
- */
402
- maxSpeed: 10,
403
- /**
404
- * Approximation used to calculate repulsive forces affecting nodes.
405
- * By default, when calculateing net force, nodes are compared
406
- * against each other, which gives O(N^2) complexity. Using
407
- * Barnes-Hut approximation, we decrease this to O(N log N), but the
408
- * resulting graph will have different layout. Barnes-Hut
409
- * approximation divides space into rectangles via quad tree, where
410
- * forces exerted on nodes are calculated directly for nearby cells,
411
- * and for all others, cells are treated as a separate node with
412
- * center of mass.
413
- *
414
- * @see [layoutAlgorithm.theta](#series.networkgraph.layoutAlgorithm.theta)
415
- *
416
- * @sample highcharts/series-networkgraph/barnes-hut-approximation/
417
- * A graph with Barnes-Hut approximation
418
- *
419
- * @type {string}
420
- * @validvalue ["barnes-hut", "none"]
421
- * @since 7.1.0
422
- */
423
- approximation: 'none',
424
- /**
425
- * Type of the algorithm used when positioning nodes.
426
- *
427
- * @type {string}
428
- * @validvalue ["reingold-fruchterman"]
429
- */
430
- type: 'reingold-fruchterman',
431
- /**
432
- * Integration type. Available options are `'euler'` and `'verlet'`.
433
- * Integration determines how forces are applied on particles. In
434
- * Euler integration, force is applied direct as
435
- * `newPosition += velocity;`.
436
- * In Verlet integration, new position is based on a previous
437
- * posittion without velocity:
438
- * `newPosition += previousPosition - newPosition`.
439
- *
440
- * Note that different integrations give different results as forces
441
- * are different.
442
- *
443
- * In Highcharts v7.0.x only `'euler'` integration was supported.
444
- *
445
- * @sample highcharts/series-networkgraph/integration-comparison/
446
- * Comparison of Verlet and Euler integrations
447
- *
448
- * @type {string}
449
- * @validvalue ["euler", "verlet"]
450
- * @since 7.1.0
451
- */
452
- integration: 'euler',
453
- /**
454
- * Max number of iterations before algorithm will stop. In general,
455
- * algorithm should find positions sooner, but when rendering huge
456
- * number of nodes, it is recommended to increase this value as
457
- * finding perfect graph positions can require more time.
458
- */
459
- maxIterations: 1000,
460
- /**
461
- * Gravitational const used in the barycenter force of the
462
- * algorithm.
463
- *
464
- * @sample highcharts/series-networkgraph/forces/
465
- * Custom forces with Euler integration
466
- */
467
- gravitationalConstant: 0.0625,
468
- /**
469
- * Friction applied on forces to prevent nodes rushing to fast to
470
- * the desired positions.
471
- */
472
- friction: -0.981
473
- },
474
- showInLegend: false
475
- });
476
- return NetworkgraphSeries;
477
- }(Series));
478
- extend(NetworkgraphSeries.prototype, {
479
- /**
480
- * Array of internal forces. Each force should be later defined in
481
- * integrations.js.
482
- * @private
483
- */
484
- forces: ['barycenter', 'repulsive', 'attractive'],
485
- hasDraggableNodes: true,
486
- drawGraph: void 0,
487
- isCartesian: false,
488
- requireSorting: false,
489
- directTouch: true,
490
- noSharedTooltip: true,
491
- pointArrayMap: ['from', 'to'],
492
- trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
493
- drawTracker: seriesTypes.column.prototype.drawTracker,
494
- // Animation is run in `series.simulation`.
495
- animate: void 0,
496
- buildKDTree: H.noop,
497
- /**
498
- * Create a single node that holds information on incoming and outgoing
499
- * links.
500
- * @private
501
- */
502
- createNode: NodesComposition.createNode,
503
- destroy: function () {
504
- if (this.layout) {
505
- this.layout.removeElementFromCollection(this, this.layout.series);
506
- }
507
- NodesComposition.destroy.call(this);
508
- },
509
- /* eslint-disable no-invalid-this, valid-jsdoc */
510
- /**
511
- * Extend init with base event, which should stop simulation during
512
- * update. After data is updated, `chart.render` resumes the simulation.
513
- * @private
514
- */
515
- init: function () {
516
- var _this = this;
517
- Series.prototype.init.apply(this, arguments);
518
- addEvent(this, 'updatedData', function () {
519
- if (_this.layout) {
520
- _this.layout.stop();
521
- }
522
- });
523
- addEvent(this, 'afterUpdate', function () {
524
- _this.nodes.forEach(function (node) {
525
- if (node && node.series) {
526
- node.resolveColor();
527
- }
528
- });
529
- });
530
- return this;
531
- },
532
- /**
533
- * Extend generatePoints by adding the nodes, which are Point objects
534
- * but pushed to the this.nodes array.
535
- * @private
536
- */
537
- generatePoints: function () {
538
- var node, i;
539
- NodesComposition.generatePoints.apply(this, arguments);
540
- // In networkgraph, it's fine to define stanalone nodes, create
541
- // them:
542
- if (this.options.nodes) {
543
- this.options.nodes.forEach(function (nodeOptions) {
544
- if (!this.nodeLookup[nodeOptions.id]) {
545
- this.nodeLookup[nodeOptions.id] =
546
- this.createNode(nodeOptions.id);
547
- }
548
- }, this);
549
- }
550
- for (i = this.nodes.length - 1; i >= 0; i--) {
551
- node = this.nodes[i];
552
- node.degree = node.getDegree();
553
- node.radius = pick(node.marker && node.marker.radius, this.options.marker && this.options.marker.radius, 0);
554
- // If node exists, but it's not available in nodeLookup,
555
- // then it's leftover from previous runs (e.g. setData)
556
- if (!this.nodeLookup[node.id]) {
557
- node.remove();
558
- }
559
- }
560
- this.data.forEach(function (link) {
561
- link.formatPrefix = 'link';
562
- });
563
- this.indexateNodes();
564
- },
565
- /**
566
- * In networkgraph, series.points refers to links,
567
- * but series.nodes refers to actual points.
568
- * @private
569
- */
570
- getPointsCollection: function () {
571
- return this.nodes || [];
572
- },
573
- /**
574
- * Set index for each node. Required for proper `node.update()`.
575
- * Note that links are indexated out of the box in `generatePoints()`.
576
- *
577
- * @private
578
- */
579
- indexateNodes: function () {
580
- this.nodes.forEach(function (node, index) {
581
- node.index = index;
582
- });
583
- },
584
- /**
585
- * Extend the default marker attribs by using a non-rounded X position,
586
- * otherwise the nodes will jump from pixel to pixel which looks a bit
587
- * jaggy when approaching equilibrium.
588
- * @private
589
- */
590
- markerAttribs: function (point, state) {
591
- var attribs = Series.prototype.markerAttribs.call(this, point, state);
592
- // series.render() is called before initial positions are set:
593
- if (!defined(point.plotY)) {
594
- attribs.y = 0;
595
- }
596
- attribs.x = (point.plotX || 0) - (attribs.width || 0) / 2;
597
- return attribs;
598
- },
599
- /**
600
- * Run pre-translation and register nodes&links to the deffered layout.
601
- * @private
602
- */
603
- translate: function () {
604
- if (!this.processedXData) {
605
- this.processData();
606
- }
607
- this.generatePoints();
608
- this.deferLayout();
609
- this.nodes.forEach(function (node) {
610
- // Draw the links from this node
611
- node.isInside = true;
612
- node.linksFrom.forEach(function (point) {
613
- point.shapeType = 'path';
614
- // Pass test in drawPoints
615
- point.y = 1;
616
- });
617
- });
618
- },
619
- /**
620
- * Defer the layout.
621
- * Each series first registers all nodes and links, then layout
622
- * calculates all nodes positions and calls `series.render()` in every
623
- * simulation step.
624
- *
625
- * Note:
626
- * Animation is done through `requestAnimationFrame` directly, without
627
- * `Highcharts.animate()` use.
628
- * @private
629
- */
630
- deferLayout: function () {
631
- var layoutOptions = this.options.layoutAlgorithm, graphLayoutsStorage = this.chart.graphLayoutsStorage, graphLayoutsLookup = this.chart.graphLayoutsLookup, chartOptions = this.chart.options.chart, layout;
632
- if (!this.visible) {
633
- return;
634
- }
635
- if (!graphLayoutsStorage) {
636
- this.chart.graphLayoutsStorage = graphLayoutsStorage = {};
637
- this.chart.graphLayoutsLookup = graphLayoutsLookup = [];
638
- }
639
- layout = graphLayoutsStorage[layoutOptions.type];
640
- if (!layout) {
641
- layoutOptions.enableSimulation =
642
- !defined(chartOptions.forExport) ?
643
- layoutOptions.enableSimulation :
644
- !chartOptions.forExport;
645
- graphLayoutsStorage[layoutOptions.type] = layout =
646
- new H.layouts[layoutOptions.type]();
647
- layout.init(layoutOptions);
648
- graphLayoutsLookup.splice(layout.index, 0, layout);
649
- }
650
- this.layout = layout;
651
- layout.setArea(0, 0, this.chart.plotWidth, this.chart.plotHeight);
652
- layout.addElementsToCollection([this], layout.series);
653
- layout.addElementsToCollection(this.nodes, layout.nodes);
654
- layout.addElementsToCollection(this.points, layout.links);
655
- },
656
- /**
657
- * Extend the render function to also render this.nodes together with
658
- * the points.
659
- * @private
660
- */
661
- render: function () {
662
- var series = this, points = series.points, hoverPoint = series.chart.hoverPoint, dataLabels = [];
663
- // Render markers:
664
- series.points = series.nodes;
665
- seriesTypes.line.prototype.render.call(this);
666
- series.points = points;
667
- points.forEach(function (point) {
668
- if (point.fromNode && point.toNode) {
669
- point.renderLink();
670
- point.redrawLink();
671
- }
672
- });
673
- if (hoverPoint && hoverPoint.series === series) {
674
- series.redrawHalo(hoverPoint);
675
- }
676
- if (series.chart.hasRendered &&
677
- !series.options.dataLabels.allowOverlap) {
678
- series.nodes.concat(series.points).forEach(function (node) {
679
- if (node.dataLabel) {
680
- dataLabels.push(node.dataLabel);
681
- }
682
- });
683
- series.chart.hideOverlappingLabels(dataLabels);
684
- }
685
- },
686
- // Networkgraph has two separate collecions of nodes and lines, render
687
- // dataLabels for both sets:
688
- drawDataLabels: function () {
689
- var textPath = this.options.dataLabels.textPath;
690
- // Render node labels:
691
- Series.prototype.drawDataLabels.apply(this, arguments);
692
- // Render link labels:
693
- this.points = this.data;
694
- this.options.dataLabels.textPath =
695
- this.options.dataLabels.linkTextPath;
696
- Series.prototype.drawDataLabels.apply(this, arguments);
697
- // Restore nodes
698
- this.points = this.nodes;
699
- this.options.dataLabels.textPath = textPath;
700
- },
701
- // Return the presentational attributes.
702
- pointAttribs: function (point, state) {
703
- // By default, only `selected` state is passed on
704
- var pointState = state || point && point.state || 'normal', attribs = Series.prototype.pointAttribs.call(this, point, pointState), stateOptions = this.options.states[pointState];
705
- if (point && !point.isNode) {
706
- attribs = point.getLinkAttributes();
707
- // For link, get prefixed names:
708
- if (stateOptions) {
709
- attribs = {
710
- // TO DO: API?
711
- stroke: stateOptions.linkColor || attribs.stroke,
712
- dashstyle: (stateOptions.linkDashStyle || attribs.dashstyle),
713
- opacity: pick(stateOptions.linkOpacity, attribs.opacity),
714
- 'stroke-width': stateOptions.linkColor ||
715
- attribs['stroke-width']
716
- };
717
- }
718
- }
719
- return attribs;
720
- },
721
- // Draggable mode:
722
- /**
723
- * Redraw halo on mousemove during the drag&drop action.
724
- * @private
725
- * @param {Highcharts.Point} point The point that should show halo.
726
- */
727
- redrawHalo: dragNodesMixin.redrawHalo,
728
- /**
729
- * Mouse down action, initializing drag&drop mode.
730
- * @private
731
- * @param {global.Event} event Browser event, before normalization.
732
- * @param {Highcharts.Point} point The point that event occured.
733
- */
734
- onMouseDown: dragNodesMixin.onMouseDown,
735
- /**
736
- * Mouse move action during drag&drop.
737
- * @private
738
- * @param {global.Event} event Browser event, before normalization.
739
- * @param {Highcharts.Point} point The point that event occured.
740
- */
741
- onMouseMove: dragNodesMixin.onMouseMove,
742
- /**
743
- * Mouse up action, finalizing drag&drop.
744
- * @private
745
- * @param {Highcharts.Point} point The point that event occured.
746
- */
747
- onMouseUp: dragNodesMixin.onMouseUp,
748
- /**
749
- * When state should be passed down to all points, concat nodes and
750
- * links and apply this state to all of them.
751
- * @private
752
- */
753
- setState: function (state, inherit) {
754
- if (inherit) {
755
- this.points = this.nodes.concat(this.data);
756
- Series.prototype.setState.apply(this, arguments);
757
- this.points = this.data;
758
- }
759
- else {
760
- Series.prototype.setState.apply(this, arguments);
761
- }
762
- // If simulation is done, re-render points with new states:
763
- if (!this.layout.simulation && !state) {
764
- this.render();
765
- }
766
- }
767
- });
768
- /* *
769
- *
770
- * Class
771
- *
772
- * */
773
- var NetworkgraphPoint = /** @class */ (function (_super) {
774
- __extends(NetworkgraphPoint, _super);
775
- function NetworkgraphPoint() {
776
- /* *
777
- *
778
- * Properties
779
- *
780
- * */
781
- var _this = _super !== null && _super.apply(this, arguments) || this;
782
- _this.degree = void 0;
783
- _this.linksFrom = void 0;
784
- _this.linksTo = void 0;
785
- _this.options = void 0;
786
- _this.radius = void 0;
787
- _this.series = void 0;
788
- _this.toNode = void 0;
789
- return _this;
790
- }
791
- return NetworkgraphPoint;
792
- }(Series.prototype.pointClass));
793
- extend(NetworkgraphPoint.prototype, {
794
- setState: NodesComposition.setNodeState,
795
- /**
796
- * Basic `point.init()` and additional styles applied when
797
- * `series.draggable` is enabled.
798
- * @private
799
- */
800
- init: function () {
801
- Point.prototype.init.apply(this, arguments);
802
- if (this.series.options.draggable &&
803
- !this.series.chart.styledMode) {
804
- addEvent(this, 'mouseOver', function () {
805
- css(this.series.chart.container, { cursor: 'move' });
806
- });
807
- addEvent(this, 'mouseOut', function () {
808
- css(this.series.chart.container, { cursor: 'default' });
809
- });
810
- }
811
- return this;
812
- },
813
- /**
814
- * Return degree of a node. If node has no connections, it still has
815
- * deg=1.
816
- * @private
817
- */
818
- getDegree: function () {
819
- var deg = this.isNode ?
820
- this.linksFrom.length + this.linksTo.length :
821
- 0;
822
- return deg === 0 ? 1 : deg;
823
- },
824
- // Links:
825
- /**
826
- * Get presentational attributes of link connecting two nodes.
827
- * @private
828
- */
829
- getLinkAttributes: function () {
830
- var linkOptions = this.series.options.link, pointOptions = this.options;
831
- return {
832
- 'stroke-width': pick(pointOptions.width, linkOptions.width),
833
- stroke: (pointOptions.color || linkOptions.color),
834
- dashstyle: (pointOptions.dashStyle || linkOptions.dashStyle),
835
- opacity: pick(pointOptions.opacity, linkOptions.opacity, 1)
836
- };
837
- },
838
- /**
839
- * Render link and add it to the DOM.
840
- * @private
841
- */
842
- renderLink: function () {
843
- var attribs;
844
- if (!this.graphic) {
845
- this.graphic = this.series.chart.renderer
846
- .path(this.getLinkPath())
847
- .addClass(this.getClassName(), true)
848
- .add(this.series.group);
849
- if (!this.series.chart.styledMode) {
850
- attribs = this.series.pointAttribs(this);
851
- this.graphic.attr(attribs);
852
- (this.dataLabels || []).forEach(function (label) {
853
- if (label) {
854
- label.attr({
855
- opacity: attribs.opacity
856
- });
857
- }
858
- });
859
- }
860
- }
861
- },
862
- /**
863
- * Redraw link's path.
864
- * @private
865
- */
866
- redrawLink: function () {
867
- var path = this.getLinkPath(), attribs;
868
- if (this.graphic) {
869
- this.shapeArgs = {
870
- d: path
871
- };
872
- if (!this.series.chart.styledMode) {
873
- attribs = this.series.pointAttribs(this);
874
- this.graphic.attr(attribs);
875
- (this.dataLabels || []).forEach(function (label) {
876
- if (label) {
877
- label.attr({
878
- opacity: attribs.opacity
879
- });
880
- }
881
- });
882
- }
883
- this.graphic.animate(this.shapeArgs);
884
- // Required for dataLabels
885
- var start = path[0];
886
- var end = path[1];
887
- if (start[0] === 'M' && end[0] === 'L') {
888
- this.plotX = (start[1] + end[1]) / 2;
889
- this.plotY = (start[2] + end[2]) / 2;
890
- }
891
- }
892
- },
893
- /**
894
- * Get mass fraction applied on two nodes connected to each other. By
895
- * default, when mass is equal to `1`, mass fraction for both nodes
896
- * equal to 0.5.
897
- * @private
898
- * @return {Highcharts.Dictionary<number>}
899
- * For example `{ fromNode: 0.5, toNode: 0.5 }`
900
- */
901
- getMass: function () {
902
- var m1 = this.fromNode.mass, m2 = this.toNode.mass, sum = m1 + m2;
903
- return {
904
- fromNode: 1 - m1 / sum,
905
- toNode: 1 - m2 / sum
906
- };
907
- },
908
- /**
909
- * Get link path connecting two nodes.
910
- * @private
911
- * @return {Array<Highcharts.SVGPathArray>}
912
- * Path: `['M', x, y, 'L', x, y]`
913
- */
914
- getLinkPath: function () {
915
- var left = this.fromNode, right = this.toNode;
916
- // Start always from left to the right node, to prevent rendering
917
- // labels upside down
918
- if (left.plotX > right.plotX) {
919
- left = this.toNode;
920
- right = this.fromNode;
921
- }
922
- return [
923
- ['M', left.plotX || 0, left.plotY || 0],
924
- ['L', right.plotX || 0, right.plotY || 0]
925
- ];
926
- /*
927
- IDEA: different link shapes?
928
- return [
929
- 'M',
930
- from.plotX,
931
- from.plotY,
932
- 'Q',
933
- (to.plotX + from.plotX) / 2,
934
- (to.plotY + from.plotY) / 2 + 15,
935
- to.plotX,
936
- to.plotY
937
- ];*/
938
- },
939
- isValid: function () {
940
- return !this.isNode || defined(this.id);
941
- },
942
- /**
943
- * Common method for removing points and nodes in networkgraph. To
944
- * remove `link`, use `series.data[index].remove()`. To remove `node`
945
- * with all connections, use `series.nodes[index].remove()`.
946
- * @private
947
- * @param {boolean} [redraw=true]
948
- * Whether to redraw the chart or wait for an explicit call. When
949
- * doing more operations on the chart, for example running
950
- * `point.remove()` in a loop, it is best practice to set
951
- * `redraw` to false and call `chart.redraw()` after.
952
- * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation=false]
953
- * Whether to apply animation, and optionally animation
954
- * configuration.
955
- */
956
- remove: function (redraw, animation) {
957
- var point = this, series = point.series, nodesOptions = series.options.nodes || [], index, i = nodesOptions.length;
958
- // For nodes, remove all connected links:
959
- if (point.isNode) {
960
- // Temporary disable series.points array, because
961
- // Series.removePoint() modifies it
962
- series.points = [];
963
- // Remove link from all nodes collections:
964
- []
965
- .concat(point.linksFrom)
966
- .concat(point.linksTo)
967
- .forEach(function (linkFromTo) {
968
- // Incoming links
969
- index = linkFromTo.fromNode.linksFrom.indexOf(linkFromTo);
970
- if (index > -1) {
971
- linkFromTo.fromNode.linksFrom.splice(index, 1);
972
- }
973
- // Outcoming links
974
- index = linkFromTo.toNode.linksTo.indexOf(linkFromTo);
975
- if (index > -1) {
976
- linkFromTo.toNode.linksTo.splice(index, 1);
977
- }
978
- // Remove link from data/points collections
979
- Series.prototype.removePoint.call(series, series.data.indexOf(linkFromTo), false, false);
980
- });
981
- // Restore points array, after links are removed
982
- series.points = series.data.slice();
983
- // Proceed with removing node. It's similar to
984
- // Series.removePoint() method, but doesn't modify other arrays
985
- series.nodes.splice(series.nodes.indexOf(point), 1);
986
- // Remove node options from config
987
- while (i--) {
988
- if (nodesOptions[i].id === point.options.id) {
989
- series.options.nodes.splice(i, 1);
990
- break;
991
- }
992
- }
993
- if (point) {
994
- point.destroy();
995
- }
996
- // Run redraw if requested
997
- series.isDirty = true;
998
- series.isDirtyData = true;
999
- if (redraw) {
1000
- series.chart.redraw(redraw);
1001
- }
1002
- }
1003
- else {
1004
- series.removePoint(series.data.indexOf(point), redraw, animation);
1005
- }
1006
- },
1007
- /**
1008
- * Destroy point. If it's a node, remove all links coming out of this
1009
- * node. Then remove point from the layout.
1010
- * @private
1011
- */
1012
- destroy: function () {
1013
- if (this.isNode) {
1014
- this.linksFrom.concat(this.linksTo).forEach(function (link) {
1015
- // Removing multiple nodes at the same time
1016
- // will try to remove link between nodes twice
1017
- if (link.destroyElements) {
1018
- link.destroyElements();
1019
- }
1020
- });
1021
- }
1022
- this.series.layout.removeElementFromCollection(this, this.series.layout[this.isNode ? 'nodes' : 'links']);
1023
- return Point.prototype.destroy.apply(this, arguments);
1024
- }
1025
- });
1026
- NetworkgraphSeries.prototype.pointClass = NetworkgraphPoint;
1027
- SeriesRegistry.registerSeriesType('networkgraph', NetworkgraphSeries);
1028
- /* *
1029
- *
1030
- * Default Export
1031
- *
1032
- * */
1033
- export default NetworkgraphSeries;
1034
- /* *
1035
- *
1036
- * API Options
1037
- *
1038
- * */
1039
- /**
1040
- * A `networkgraph` series. If the [type](#series.networkgraph.type) option is
1041
- * not specified, it is inherited from [chart.type](#chart.type).
1042
- *
1043
- * @extends series,plotOptions.networkgraph
1044
- * @excluding boostThreshold, animation, animationLimit, connectEnds,
1045
- * connectNulls, cropThreshold, dragDrop, getExtremesFromAll, label,
1046
- * linecap, negativeColor, pointInterval, pointIntervalUnit,
1047
- * pointPlacement, pointStart, softThreshold, stack, stacking,
1048
- * step, threshold, xAxis, yAxis, zoneAxis, dataSorting,
1049
- * boostBlending
1050
- * @product highcharts
1051
- * @requires modules/networkgraph
1052
- * @apioption series.networkgraph
1053
- */
1054
- /**
1055
- * An array of data points for the series. For the `networkgraph` series type,
1056
- * points can be given in the following way:
1057
- *
1058
- * An array of objects with named values. The following snippet shows only a
1059
- * few settings, see the complete options set below. If the total number of
1060
- * data points exceeds the series'
1061
- * [turboThreshold](#series.area.turboThreshold), this option is not available.
1062
- *
1063
- * ```js
1064
- * data: [{
1065
- * from: 'Category1',
1066
- * to: 'Category2'
1067
- * }, {
1068
- * from: 'Category1',
1069
- * to: 'Category3'
1070
- * }]
1071
- * ```
1072
- *
1073
- * @type {Array<Object|Array|number>}
1074
- * @extends series.line.data
1075
- * @excluding drilldown,marker,x,y,draDrop
1076
- * @sample {highcharts} highcharts/chart/reflow-true/
1077
- * Numerical values
1078
- * @sample {highcharts} highcharts/series/data-array-of-arrays/
1079
- * Arrays of numeric x and y
1080
- * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
1081
- * Arrays of datetime x and y
1082
- * @sample {highcharts} highcharts/series/data-array-of-name-value/
1083
- * Arrays of point.name and y
1084
- * @sample {highcharts} highcharts/series/data-array-of-objects/
1085
- * Config objects
1086
- * @product highcharts
1087
- * @apioption series.networkgraph.data
1088
- */
1089
- /**
1090
- * @type {Highcharts.SeriesNetworkgraphDataLabelsOptionsObject|Array<Highcharts.SeriesNetworkgraphDataLabelsOptionsObject>}
1091
- * @product highcharts
1092
- * @apioption series.networkgraph.data.dataLabels
1093
- */
1094
- /**
1095
- * The node that the link runs from.
1096
- *
1097
- * @type {string}
1098
- * @product highcharts
1099
- * @apioption series.networkgraph.data.from
1100
- */
1101
- /**
1102
- * The node that the link runs to.
1103
- *
1104
- * @type {string}
1105
- * @product highcharts
1106
- * @apioption series.networkgraph.data.to
1107
- */
1108
- /**
1109
- * A collection of options for the individual nodes. The nodes in a
1110
- * networkgraph diagram are auto-generated instances of `Highcharts.Point`,
1111
- * but options can be applied here and linked by the `id`.
1112
- *
1113
- * @sample highcharts/series-networkgraph/data-options/
1114
- * Networkgraph diagram with node options
1115
- *
1116
- * @type {Array<*>}
1117
- * @product highcharts
1118
- * @apioption series.networkgraph.nodes
1119
- */
1120
- /**
1121
- * The id of the auto-generated node, refering to the `from` or `to` setting of
1122
- * the link.
1123
- *
1124
- * @type {string}
1125
- * @product highcharts
1126
- * @apioption series.networkgraph.nodes.id
1127
- */
1128
- /**
1129
- * The color of the auto generated node.
1130
- *
1131
- * @type {Highcharts.ColorString}
1132
- * @product highcharts
1133
- * @apioption series.networkgraph.nodes.color
1134
- */
1135
- /**
1136
- * The color index of the auto generated node, especially for use in styled
1137
- * mode.
1138
- *
1139
- * @type {number}
1140
- * @product highcharts
1141
- * @apioption series.networkgraph.nodes.colorIndex
1142
- */
1143
- /**
1144
- * The name to display for the node in data labels and tooltips. Use this when
1145
- * the name is different from the `id`. Where the id must be unique for each
1146
- * node, this is not necessary for the name.
1147
- *
1148
- * @sample highcharts/series-networkgraph/data-options/
1149
- * Networkgraph diagram with node options
1150
- *
1151
- * @type {string}
1152
- * @product highcharts
1153
- * @apioption series.networkgraph.nodes.name
1154
- */
1155
- /**
1156
- * Mass of the node. By default, each node has mass equal to it's marker radius
1157
- * . Mass is used to determine how two connected nodes should affect
1158
- * each other:
1159
- *
1160
- * Attractive force is multiplied by the ratio of two connected
1161
- * nodes; if a big node has weights twice as the small one, then the small one
1162
- * will move towards the big one twice faster than the big one to the small one
1163
- * .
1164
- *
1165
- * @sample highcharts/series-networkgraph/ragdoll/
1166
- * Mass determined by marker.radius
1167
- *
1168
- * @type {number}
1169
- * @product highcharts
1170
- * @apioption series.networkgraph.nodes.mass
1171
- */
1172
- /**
1173
- * Individual data label for each node. The options are the same as
1174
- * the ones for [series.networkgraph.dataLabels](#series.networkgraph.dataLabels).
1175
- *
1176
- * @type {Highcharts.SeriesNetworkgraphDataLabelsOptionsObject|Array<Highcharts.SeriesNetworkgraphDataLabelsOptionsObject>}
1177
- *
1178
- * @apioption series.networkgraph.nodes.dataLabels
1179
- */
1180
- ''; // adds doclets above to transpiled file