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