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
@@ -12,10 +12,12 @@ var __extends = (this && this.__extends) || (function () {
12
12
  var extendStatics = function (d, b) {
13
13
  extendStatics = Object.setPrototypeOf ||
14
14
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
15
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
16
16
  return extendStatics(d, b);
17
17
  };
18
18
  return function (d, b) {
19
+ if (typeof b !== "function" && b !== null)
20
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
19
21
  extendStatics(d, b);
20
22
  function __() { this.constructor = d; }
21
23
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -23,15 +25,17 @@ var __extends = (this && this.__extends) || (function () {
23
25
  })();
24
26
  import Color from '../../Core/Color/Color.js';
25
27
  var color = Color.parse;
28
+ import DragNodesComposition from '../DragNodesComposition.js';
29
+ import GraphLayout from '../GraphLayoutComposition.js';
26
30
  import H from '../../Core/Globals.js';
31
+ var noop = H.noop;
27
32
  import PackedBubblePoint from './PackedBubblePoint.js';
33
+ import PackedBubbleSeriesDefaults from './PackedBubbleSeriesDefaults.js';
34
+ import PackedBubbleLayout from './PackedBubbleLayout.js';
28
35
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
29
- var Series = SeriesRegistry.series, BubbleSeries = SeriesRegistry.seriesTypes.bubble;
36
+ var seriesProto = SeriesRegistry.series.prototype, BubbleSeries = SeriesRegistry.seriesTypes.bubble;
30
37
  import U from '../../Core/Utilities.js';
31
38
  var addEvent = U.addEvent, clamp = U.clamp, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, merge = U.merge, pick = U.pick;
32
- import '../../Series/Networkgraph/DraggableNodes.js';
33
- var dragNodesMixin = H.dragNodesMixin;
34
- import './PackedBubbleComposition.js';
35
39
  /* *
36
40
  *
37
41
  * Class
@@ -62,11 +66,21 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
62
66
  _this.data = void 0;
63
67
  _this.layout = void 0;
64
68
  _this.options = void 0;
69
+ _this.parentNodeMass = 0;
65
70
  _this.points = void 0;
66
71
  _this.xData = void 0;
67
72
  return _this;
68
73
  /* eslint-enable valid-jsdoc */
69
74
  }
75
+ /* *
76
+ *
77
+ * Static Functions
78
+ *
79
+ * */
80
+ PackedBubbleSeries.compose = function (AxisClass, ChartClass, LegendClass, SeriesClass) {
81
+ BubbleSeries.compose(AxisClass, ChartClass, LegendClass, SeriesClass);
82
+ PackedBubbleLayout.compose(ChartClass);
83
+ };
70
84
  /* *
71
85
  *
72
86
  * Functions
@@ -77,18 +91,20 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
77
91
  * Create a single array of all points from all series
78
92
  * @private
79
93
  */
80
- PackedBubbleSeries.prototype.accumulateAllPoints = function (series) {
81
- var chart = series.chart, allDataPoints = [], i, j;
82
- for (i = 0; i < chart.series.length; i++) {
83
- series = chart.series[i];
94
+ PackedBubbleSeries.prototype.accumulateAllPoints = function () {
95
+ var chart = this.chart, allDataPoints = [];
96
+ var yData;
97
+ for (var _i = 0, _a = chart.series; _i < _a.length; _i++) {
98
+ var series = _a[_i];
84
99
  if (series.is('packedbubble') && // #13574
85
100
  series.visible ||
86
101
  !chart.options.chart.ignoreHiddenSeries) {
102
+ yData = series.yData || [];
87
103
  // add data to array only if series is visible
88
- for (j = 0; j < series.yData.length; j++) {
104
+ for (var j = 0; j < yData.length; j++) {
89
105
  allDataPoints.push([
90
106
  null, null,
91
- series.yData[j],
107
+ yData[j],
92
108
  series.index,
93
109
  j,
94
110
  {
@@ -108,49 +124,51 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
108
124
  * @private
109
125
  */
110
126
  PackedBubbleSeries.prototype.addLayout = function () {
111
- var series = this, layoutOptions = series.options.layoutAlgorithm, graphLayoutsStorage = series.chart.graphLayoutsStorage, graphLayoutsLookup = series.chart.graphLayoutsLookup, chartOptions = series.chart.options.chart, layout;
127
+ var layoutOptions = this.options.layoutAlgorithm =
128
+ this.options.layoutAlgorithm || {}, layoutType = layoutOptions.type || 'packedbubble', chartOptions = this.chart.options.chart;
129
+ var graphLayoutsStorage = this.chart.graphLayoutsStorage, graphLayoutsLookup = this.chart.graphLayoutsLookup, layout;
112
130
  if (!graphLayoutsStorage) {
113
- series.chart.graphLayoutsStorage = graphLayoutsStorage = {};
114
- series.chart.graphLayoutsLookup = graphLayoutsLookup = [];
131
+ this.chart.graphLayoutsStorage = graphLayoutsStorage = {};
132
+ this.chart.graphLayoutsLookup = graphLayoutsLookup = [];
115
133
  }
116
- layout = graphLayoutsStorage[layoutOptions.type];
134
+ layout = graphLayoutsStorage[layoutType];
117
135
  if (!layout) {
118
136
  layoutOptions.enableSimulation =
119
137
  !defined(chartOptions.forExport) ?
120
138
  layoutOptions.enableSimulation :
121
139
  !chartOptions.forExport;
122
- graphLayoutsStorage[layoutOptions.type] = layout =
123
- new H.layouts[layoutOptions.type]();
140
+ graphLayoutsStorage[layoutType] = layout =
141
+ new GraphLayout.layouts[layoutType]();
124
142
  layout.init(layoutOptions);
125
143
  graphLayoutsLookup.splice(layout.index, 0, layout);
126
144
  }
127
- series.layout = layout;
128
- series.points.forEach(function (node) {
145
+ this.layout = layout;
146
+ this.points.forEach(function (node) {
129
147
  node.mass = 2;
130
148
  node.degree = 1;
131
149
  node.collisionNmb = 1;
132
150
  });
133
- layout.setArea(0, 0, series.chart.plotWidth, series.chart.plotHeight);
134
- layout.addElementsToCollection([series], layout.series);
135
- layout.addElementsToCollection(series.points, layout.nodes);
151
+ layout.setArea(0, 0, this.chart.plotWidth, this.chart.plotHeight);
152
+ layout.addElementsToCollection([this], layout.series);
153
+ layout.addElementsToCollection(this.points, layout.nodes);
136
154
  };
137
155
  /**
138
156
  * Function responsible for adding series layout, used for parent nodes.
139
157
  * @private
140
158
  */
141
159
  PackedBubbleSeries.prototype.addSeriesLayout = function () {
142
- var series = this, layoutOptions = series.options.layoutAlgorithm, graphLayoutsStorage = series.chart.graphLayoutsStorage, graphLayoutsLookup = series.chart.graphLayoutsLookup, parentNodeOptions = merge(layoutOptions, layoutOptions.parentNodeOptions, {
143
- enableSimulation: series.layout.options.enableSimulation
144
- }), parentNodeLayout;
145
- parentNodeLayout = graphLayoutsStorage[layoutOptions.type + '-series'];
146
- if (!parentNodeLayout) {
147
- graphLayoutsStorage[layoutOptions.type + '-series'] =
148
- parentNodeLayout =
149
- new H.layouts[layoutOptions.type]();
150
- parentNodeLayout.init(parentNodeOptions);
151
- graphLayoutsLookup.splice(parentNodeLayout.index, 0, parentNodeLayout);
152
- }
153
- series.parentNodeLayout = parentNodeLayout;
160
+ var layoutOptions = this.options.layoutAlgorithm =
161
+ this.options.layoutAlgorithm || {}, layoutType = (layoutOptions.type || 'packedbubble'), graphLayoutsStorage = this.chart.graphLayoutsStorage, graphLayoutsLookup = this.chart.graphLayoutsLookup, parentNodeOptions = merge(layoutOptions, layoutOptions.parentNodeOptions, {
162
+ enableSimulation: this.layout.options.enableSimulation
163
+ });
164
+ var seriesLayout = graphLayoutsStorage[layoutType + '-series'];
165
+ if (!seriesLayout) {
166
+ graphLayoutsStorage[layoutType + '-series'] = seriesLayout =
167
+ new GraphLayout.layouts[layoutType]();
168
+ seriesLayout.init(parentNodeOptions);
169
+ graphLayoutsLookup.splice(seriesLayout.index, 0, seriesLayout);
170
+ }
171
+ this.parentNodeLayout = seriesLayout;
154
172
  this.createParentNodes();
155
173
  };
156
174
  /**
@@ -159,15 +177,14 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
159
177
  * @private
160
178
  */
161
179
  PackedBubbleSeries.prototype.calculateParentRadius = function () {
162
- var series = this, bBox, parentPadding = 20, minParentRadius = 20;
163
- bBox = series.seriesBox();
164
- series.parentNodeRadius = clamp(Math.sqrt(2 * series.parentNodeMass / Math.PI) + parentPadding, minParentRadius, bBox ?
180
+ var bBox = this.seriesBox(), parentPadding = 20, minParentRadius = 20;
181
+ this.parentNodeRadius = clamp(Math.sqrt(2 * this.parentNodeMass / Math.PI) + parentPadding, minParentRadius, bBox ?
165
182
  Math.max(Math.sqrt(Math.pow(bBox.width, 2) +
166
183
  Math.pow(bBox.height, 2)) / 2 + parentPadding, minParentRadius) :
167
- Math.sqrt(2 * series.parentNodeMass / Math.PI) + parentPadding);
168
- if (series.parentNode) {
169
- series.parentNode.marker.radius =
170
- series.parentNode.radius = series.parentNodeRadius;
184
+ Math.sqrt(2 * this.parentNodeMass / Math.PI) + parentPadding);
185
+ if (this.parentNode) {
186
+ this.parentNode.marker.radius =
187
+ this.parentNode.radius = this.parentNodeRadius;
171
188
  }
172
189
  };
173
190
  /**
@@ -175,20 +192,21 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
175
192
  * @private
176
193
  */
177
194
  PackedBubbleSeries.prototype.calculateZExtremes = function () {
178
- var chart = this.chart, zMin = this.options.zMin, zMax = this.options.zMax, valMin = Infinity, valMax = -Infinity;
195
+ var chart = this.chart, allSeries = chart.series;
196
+ var zMin = this.options.zMin, zMax = this.options.zMax, valMin = Infinity, valMax = -Infinity;
179
197
  if (zMin && zMax) {
180
198
  return [zMin, zMax];
181
199
  }
182
200
  // it is needed to deal with null
183
201
  // and undefined values
184
- chart.series.forEach(function (s) {
185
- s.yData.forEach(function (p) {
186
- if (defined(p)) {
187
- if (p > valMax) {
188
- valMax = p;
202
+ allSeries.forEach(function (series) {
203
+ series.yData.forEach(function (y) {
204
+ if (defined(y)) {
205
+ if (y > valMax) {
206
+ valMax = y;
189
207
  }
190
- if (p < valMin) {
191
- valMin = p;
208
+ if (y < valMin) {
209
+ valMin = y;
192
210
  }
193
211
  }
194
212
  });
@@ -214,22 +232,24 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
214
232
  * @private
215
233
  */
216
234
  PackedBubbleSeries.prototype.createParentNodes = function () {
217
- var series = this, chart = series.chart, parentNodeLayout = series.parentNodeLayout, nodeAdded, parentNode = series.parentNode, PackedBubblePoint = series.pointClass, layoutOptions = series.layout.options, parentMarkerOptions = {
218
- radius: series.parentNodeRadius,
219
- lineColor: series.color,
220
- fillColor: color(series.color).brighten(0.4).get()
235
+ var _this = this;
236
+ var PackedBubblePoint = this.pointClass, chart = this.chart, parentNodeLayout = this.parentNodeLayout, layoutOptions = this.layout.options;
237
+ var nodeAdded, parentNode = this.parentNode, parentMarkerOptions = {
238
+ radius: this.parentNodeRadius,
239
+ lineColor: this.color,
240
+ fillColor: color(this.color).brighten(0.4).get()
221
241
  };
222
242
  if (layoutOptions.parentNodeOptions) {
223
243
  parentMarkerOptions = merge(layoutOptions.parentNodeOptions.marker || {}, parentMarkerOptions);
224
244
  }
225
- series.parentNodeMass = 0;
226
- series.points.forEach(function (p) {
227
- series.parentNodeMass +=
245
+ this.parentNodeMass = 0;
246
+ this.points.forEach(function (p) {
247
+ _this.parentNodeMass +=
228
248
  Math.PI * Math.pow(p.marker.radius, 2);
229
249
  });
230
- series.calculateParentRadius();
250
+ this.calculateParentRadius();
231
251
  parentNodeLayout.nodes.forEach(function (node) {
232
- if (node.seriesIndex === series.index) {
252
+ if (node.seriesIndex === _this.index) {
233
253
  nodeAdded = true;
234
254
  }
235
255
  });
@@ -237,7 +257,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
237
257
  if (!nodeAdded) {
238
258
  if (!parentNode) {
239
259
  parentNode = (new PackedBubblePoint()).init(this, {
240
- mass: series.parentNodeRadius / 2,
260
+ mass: this.parentNodeRadius / 2,
241
261
  marker: parentMarkerOptions,
242
262
  dataLabels: {
243
263
  inside: false
@@ -251,17 +271,17 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
251
271
  }
252
272
  },
253
273
  dataLabelOnNull: true,
254
- degree: series.parentNodeRadius,
274
+ degree: this.parentNodeRadius,
255
275
  isParentNode: true,
256
- seriesIndex: series.index
276
+ seriesIndex: this.index
257
277
  });
258
278
  }
259
- if (series.parentNode) {
260
- parentNode.plotX = series.parentNode.plotX;
261
- parentNode.plotY = series.parentNode.plotY;
279
+ if (this.parentNode) {
280
+ parentNode.plotX = this.parentNode.plotX;
281
+ parentNode.plotY = this.parentNode.plotY;
262
282
  }
263
- series.parentNode = parentNode;
264
- parentNodeLayout.addElementsToCollection([series], parentNodeLayout.series);
283
+ this.parentNode = parentNode;
284
+ parentNodeLayout.addElementsToCollection([this], parentNodeLayout.series);
265
285
  parentNodeLayout.addElementsToCollection([parentNode], parentNodeLayout.nodes);
266
286
  }
267
287
  };
@@ -271,21 +291,22 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
271
291
  */
272
292
  PackedBubbleSeries.prototype.deferLayout = function () {
273
293
  // TODO split layouts to independent methods
274
- var series = this, layoutOptions = series.options.layoutAlgorithm;
275
- if (!series.visible) {
294
+ var layoutOptions = this.options.layoutAlgorithm;
295
+ if (!this.visible) {
276
296
  return;
277
297
  }
278
298
  // layout is using nodes for position calculation
279
- series.addLayout();
299
+ this.addLayout();
280
300
  if (layoutOptions.splitSeries) {
281
- series.addSeriesLayout();
301
+ this.addSeriesLayout();
282
302
  }
283
303
  };
284
304
  PackedBubbleSeries.prototype.destroy = function () {
305
+ var _this = this;
285
306
  // Remove the series from all layouts series collections #11469
286
307
  if (this.chart.graphLayoutsLookup) {
287
308
  this.chart.graphLayoutsLookup.forEach(function (layout) {
288
- layout.removeElementFromCollection(this, layout.series);
309
+ layout.removeElementFromCollection(_this, layout.series);
289
310
  }, this);
290
311
  }
291
312
  if (this.parentNode &&
@@ -296,7 +317,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
296
317
  this.parentNode.dataLabel.destroy();
297
318
  }
298
319
  }
299
- Series.prototype.destroy.apply(this, arguments);
320
+ seriesProto.destroy.apply(this, arguments);
300
321
  };
301
322
  /**
302
323
  * Packedbubble has two separate collecions of nodes if split, render
@@ -306,14 +327,14 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
306
327
  PackedBubbleSeries.prototype.drawDataLabels = function () {
307
328
  var textPath = this.options.dataLabels.textPath, points = this.points;
308
329
  // Render node labels:
309
- Series.prototype.drawDataLabels.apply(this, arguments);
330
+ seriesProto.drawDataLabels.apply(this, arguments);
310
331
  // Render parentNode labels:
311
332
  if (this.parentNode) {
312
333
  this.parentNode.formatPrefix = 'parentNode';
313
334
  this.points = [this.parentNode];
314
335
  this.options.dataLabels.textPath =
315
336
  this.options.dataLabels.parentNodeTextPath;
316
- Series.prototype.drawDataLabels.apply(this, arguments);
337
+ seriesProto.drawDataLabels.apply(this, arguments);
317
338
  // Restore nodes
318
339
  this.points = points;
319
340
  this.options.dataLabels.textPath = textPath;
@@ -328,49 +349,49 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
328
349
  if (!this.layout || !this.layout.options.splitSeries) {
329
350
  return;
330
351
  }
331
- var series = this, chart = series.chart, parentAttribs = {}, nodeMarker = this.layout.options.parentNodeOptions.marker, parentOptions = {
352
+ var chart = this.chart, nodeMarker = this.layout.options.parentNodeOptions.marker, parentOptions = {
332
353
  fill: (nodeMarker.fillColor ||
333
- color(series.color).brighten(0.4).get()),
354
+ color(this.color).brighten(0.4).get()),
334
355
  opacity: nodeMarker.fillOpacity,
335
- stroke: nodeMarker.lineColor || series.color,
336
- 'stroke-width': pick(nodeMarker.lineWidth, series.options.lineWidth)
356
+ stroke: nodeMarker.lineColor || this.color,
357
+ 'stroke-width': pick(nodeMarker.lineWidth, this.options.lineWidth)
337
358
  };
359
+ var parentAttribs = {};
338
360
  // create the group for parent Nodes if doesn't exist
339
361
  if (!this.parentNodesGroup) {
340
- series.parentNodesGroup = series.plotGroup('parentNodesGroup', 'parentNode', series.visible ? 'inherit' : 'hidden', 0.1, chart.seriesGroup);
341
- series.group.attr({
362
+ this.parentNodesGroup = this.plotGroup('parentNodesGroup', 'parentNode', this.visible ? 'inherit' : 'hidden', 0.1, chart.seriesGroup);
363
+ this.group.attr({
342
364
  zIndex: 2
343
365
  });
344
366
  }
345
367
  this.calculateParentRadius();
346
368
  parentAttribs = merge({
347
- x: series.parentNode.plotX -
348
- series.parentNodeRadius,
349
- y: series.parentNode.plotY -
350
- series.parentNodeRadius,
351
- width: series.parentNodeRadius * 2,
352
- height: series.parentNodeRadius * 2
369
+ x: this.parentNode.plotX -
370
+ this.parentNodeRadius,
371
+ y: this.parentNode.plotY -
372
+ this.parentNodeRadius,
373
+ width: this.parentNodeRadius * 2,
374
+ height: this.parentNodeRadius * 2
353
375
  }, parentOptions);
354
- if (!series.parentNode.graphic) {
355
- series.graph = series.parentNode.graphic =
376
+ if (!this.parentNode.graphic) {
377
+ this.graph = this.parentNode.graphic =
356
378
  chart.renderer.symbol(parentOptions.symbol)
357
- .add(series.parentNodesGroup);
379
+ .add(this.parentNodesGroup);
358
380
  }
359
- series.parentNode.graphic.attr(parentAttribs);
381
+ this.parentNode.graphic.attr(parentAttribs);
360
382
  };
361
383
  PackedBubbleSeries.prototype.drawTracker = function () {
362
- var series = this,
363
- /* chart = series.chart,
364
- pointer = chart.pointer,
365
- onMouseOver = function (e: PointerEvent): void {
366
- const point = pointer.getPointFromEvent(e);
367
- // undefined on graph in scatterchart
368
- if (typeof point !== 'undefined') {
369
- pointer.isDirectTouch = true;
370
- point.onMouseOver(e);
371
- }
372
- }, */
373
- parentNode = series.parentNode;
384
+ var parentNode = this.parentNode;
385
+ // chart = series.chart,
386
+ // pointer = chart.pointer,
387
+ // onMouseOver = function (e: PointerEvent): void {
388
+ // const point = pointer.getPointFromEvent(e);
389
+ // // undefined on graph in scatterchart
390
+ // if (typeof point !== 'undefined') {
391
+ // pointer.isDirectTouch = true;
392
+ // point.onMouseOver(e);
393
+ // }
394
+ // };
374
395
  var dataLabels;
375
396
  _super.prototype.drawTracker.call(this);
376
397
  // Add reference to the point
@@ -396,40 +417,43 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
396
417
  * @private
397
418
  */
398
419
  PackedBubbleSeries.prototype.getPointRadius = function () {
399
- var series = this, chart = series.chart, plotWidth = chart.plotWidth, plotHeight = chart.plotHeight, seriesOptions = series.options, useSimulation = seriesOptions.useSimulation, smallestSize = Math.min(plotWidth, plotHeight), extremes = {}, radii = [], allDataPoints = chart.allDataPoints, minSize, maxSize, value, radius, zExtremes;
420
+ var _this = this;
421
+ var chart = this.chart, plotWidth = chart.plotWidth, plotHeight = chart.plotHeight, seriesOptions = this.options, useSimulation = seriesOptions.useSimulation, smallestSize = Math.min(plotWidth, plotHeight), extremes = {}, radii = [], allDataPoints = chart.allDataPoints || [], allDataPointsLength = allDataPoints.length;
422
+ var minSize, maxSize, value, radius;
400
423
  ['minSize', 'maxSize'].forEach(function (prop) {
401
424
  var length = parseInt(seriesOptions[prop], 10), isPercent = /%$/.test(seriesOptions[prop]);
402
425
  extremes[prop] = isPercent ?
403
426
  smallestSize * length / 100 :
404
- length * Math.sqrt(allDataPoints.length);
427
+ length * Math.sqrt(allDataPointsLength);
405
428
  });
406
429
  chart.minRadius = minSize = extremes.minSize /
407
- Math.sqrt(allDataPoints.length);
430
+ Math.sqrt(allDataPointsLength);
408
431
  chart.maxRadius = maxSize = extremes.maxSize /
409
- Math.sqrt(allDataPoints.length);
410
- zExtremes = useSimulation ?
411
- series.calculateZExtremes() :
432
+ Math.sqrt(allDataPointsLength);
433
+ var zExtremes = useSimulation ?
434
+ this.calculateZExtremes() :
412
435
  [minSize, maxSize];
413
- (allDataPoints || []).forEach(function (point, i) {
436
+ allDataPoints.forEach(function (point, i) {
414
437
  value = useSimulation ?
415
438
  clamp(point[2], zExtremes[0], zExtremes[1]) :
416
439
  point[2];
417
- radius = series.getRadius(zExtremes[0], zExtremes[1], minSize, maxSize, value);
440
+ radius = _this.getRadius(zExtremes[0], zExtremes[1], minSize, maxSize, value);
418
441
  if (radius === 0) {
419
442
  radius = null;
420
443
  }
421
444
  allDataPoints[i][2] = radius;
422
445
  radii.push(radius);
423
446
  });
424
- series.radii = radii;
447
+ this.radii = radii;
425
448
  };
426
449
  PackedBubbleSeries.prototype.init = function () {
427
- Series.prototype.init.apply(this, arguments);
450
+ seriesProto.init.apply(this, arguments);
428
451
  /* eslint-disable no-invalid-this */
429
452
  // When one series is modified, the others need to be recomputed
430
453
  this.eventsToUnbind.push(addEvent(this, 'updatedData', function () {
454
+ var _this = this;
431
455
  this.chart.series.forEach(function (s) {
432
- if (s.type === this.type) {
456
+ if (s.type === _this.type) {
433
457
  s.isDirty = true;
434
458
  }
435
459
  }, this);
@@ -442,9 +466,11 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
442
466
  * @private
443
467
  * @param {Highcharts.Point} point The point that event occured.
444
468
  */
445
- PackedBubbleSeries.prototype.onMouseUp = function (point) {
469
+ PackedBubbleSeries.prototype.onMouseUp = function (dnPoint) {
470
+ var point = dnPoint;
446
471
  if (point.fixedPosition && !point.removed) {
447
- var distanceXY_1, distanceR_1, layout_1 = this.layout, parentNodeLayout = this.parentNodeLayout;
472
+ var layout_1 = this.layout, parentNodeLayout = this.parentNodeLayout;
473
+ var distanceXY_1, distanceR_1;
448
474
  if (parentNodeLayout && layout_1.options.dragBetweenSeries) {
449
475
  parentNodeLayout.nodes.forEach(function (node) {
450
476
  if (point && point.marker &&
@@ -464,7 +490,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
464
490
  }
465
491
  });
466
492
  }
467
- dragNodesMixin.onMouseUp.apply(this, arguments);
493
+ DragNodesComposition.onMouseUp.apply(this, arguments);
468
494
  }
469
495
  };
470
496
  /**
@@ -478,9 +504,10 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
478
504
  * @return {Array<Highcharts.PackedBubbleData>} Positions of all bubbles
479
505
  */
480
506
  PackedBubbleSeries.prototype.placeBubbles = function (allDataPoints) {
481
- var series = this, checkOverlap = series.checkOverlap, positionBubble = series.positionBubble, bubblePos = [], stage = 1, j = 0, k = 0, calculatedBubble, sortedArr, arr = [], i;
507
+ var checkOverlap = this.checkOverlap, positionBubble = this.positionBubble, bubblePos = [];
508
+ var stage = 1, j = 0, k = 0, calculatedBubble, arr = [], i;
482
509
  // sort all points
483
- sortedArr = allDataPoints.sort(function (a, b) {
510
+ var sortedArr = allDataPoints.sort(function (a, b) {
484
511
  return b[2] - a[2];
485
512
  });
486
513
  if (sortedArr.length) {
@@ -546,15 +573,15 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
546
573
  }
547
574
  }
548
575
  }
549
- series.chart.stages = bubblePos;
576
+ this.chart.stages = bubblePos;
550
577
  // it may not be necessary but adding it just in case -
551
578
  // it is containing all of the bubble levels
552
- series.chart.rawPositions =
579
+ this.chart.rawPositions =
553
580
  []
554
581
  .concat.apply([], bubblePos);
555
582
  // bubble positions merged into one array
556
- series.resizeRadius();
557
- arr = series.chart.rawPositions;
583
+ this.resizeRadius();
584
+ arr = this.chart.rawPositions;
558
585
  }
559
586
  return arr;
560
587
  };
@@ -572,14 +599,13 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
572
599
  */
573
600
  PackedBubbleSeries.prototype.pointAttribs = function (point, state) {
574
601
  var options = this.options, hasParentMarker = point && point.isParentNode;
575
- var attr, fillOpacity, markerOptions = options.marker;
602
+ var markerOptions = options.marker;
576
603
  if (hasParentMarker &&
577
604
  options.layoutAlgorithm &&
578
605
  options.layoutAlgorithm.parentNodeOptions) {
579
606
  markerOptions = options.layoutAlgorithm.parentNodeOptions.marker;
580
607
  }
581
- fillOpacity = markerOptions.fillOpacity;
582
- attr = Series.prototype.pointAttribs.call(this, point, state);
608
+ var fillOpacity = markerOptions.fillOpacity, attr = seriesProto.pointAttribs.call(this, point, state);
583
609
  if (fillOpacity !== 1) {
584
610
  attr['fill-opacity'] = fillOpacity;
585
611
  }
@@ -628,12 +654,12 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
628
654
  ]; // the same as described before
629
655
  };
630
656
  PackedBubbleSeries.prototype.render = function () {
631
- var series = this, dataLabels = [];
632
- Series.prototype.render.apply(this, arguments);
657
+ var dataLabels = [];
658
+ seriesProto.render.apply(this, arguments);
633
659
  // #10823 - dataLabels should stay visible
634
660
  // when enabled allowOverlap.
635
- if (!series.options.dataLabels.allowOverlap) {
636
- series.data.forEach(function (point) {
661
+ if (!this.options.dataLabels.allowOverlap) {
662
+ this.data.forEach(function (point) {
637
663
  if (isArray(point.dataLabels)) {
638
664
  point.dataLabels.forEach(function (dataLabel) {
639
665
  dataLabels.push(dataLabel);
@@ -643,8 +669,8 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
643
669
  // Only hide overlapping dataLabels for layouts that
644
670
  // use simulation. Spiral packedbubble don't need
645
671
  // additional dataLabel hiding on every simulation step
646
- if (series.options.useSimulation) {
647
- series.chart.hideOverlappingLabels(dataLabels);
672
+ if (this.options.useSimulation) {
673
+ this.chart.hideOverlappingLabels(dataLabels);
648
674
  }
649
675
  }
650
676
  };
@@ -659,27 +685,28 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
659
685
  * @private
660
686
  */
661
687
  PackedBubbleSeries.prototype.resizeRadius = function () {
662
- var chart = this.chart, positions = chart.rawPositions, min = Math.min, max = Math.max, plotLeft = chart.plotLeft, plotTop = chart.plotTop, chartHeight = chart.plotHeight, chartWidth = chart.plotWidth, minX, maxX, minY, maxY, radius, bBox, spaceRatio, smallerDimension, i;
688
+ var chart = this.chart, positions = chart.rawPositions, min = Math.min, max = Math.max, plotLeft = chart.plotLeft, plotTop = chart.plotTop, chartHeight = chart.plotHeight, chartWidth = chart.plotWidth;
689
+ var minX, maxX, minY, maxY, radius;
663
690
  minX = minY = Number.POSITIVE_INFINITY; // set initial values
664
691
  maxX = maxY = Number.NEGATIVE_INFINITY;
665
- for (i = 0; i < positions.length; i++) {
666
- radius = positions[i][2];
667
- minX = min(minX, positions[i][0] - radius);
692
+ for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {
693
+ var position = positions_1[_i];
694
+ radius = position[2];
695
+ minX = min(minX, position[0] - radius);
668
696
  // (x center-radius) is the min x value used by specific bubble
669
- maxX = max(maxX, positions[i][0] + radius);
670
- minY = min(minY, positions[i][1] - radius);
671
- maxY = max(maxY, positions[i][1] + radius);
697
+ maxX = max(maxX, position[0] + radius);
698
+ minY = min(minY, position[1] - radius);
699
+ maxY = max(maxY, position[1] + radius);
672
700
  }
673
- bBox = [maxX - minX, maxY - minY];
674
- spaceRatio = [
701
+ var bBox = [maxX - minX, maxY - minY], spaceRatio = [
675
702
  (chartWidth - plotLeft) / bBox[0],
676
703
  (chartHeight - plotTop) / bBox[1]
677
- ];
678
- smallerDimension = min.apply([], spaceRatio);
704
+ ], smallerDimension = min.apply([], spaceRatio);
679
705
  if (Math.abs(smallerDimension - 1) > 1e-10) {
680
706
  // if bBox is considered not the same width as possible size
681
- for (i = 0; i < positions.length; i++) {
682
- positions[i][2] *= smallerDimension;
707
+ for (var _a = 0, positions_2 = positions; _a < positions_2.length; _a++) {
708
+ var position = positions_2[_a];
709
+ position[2] *= smallerDimension;
683
710
  }
684
711
  this.placeBubbles(positions);
685
712
  }
@@ -703,7 +730,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
703
730
  * @private
704
731
  */
705
732
  PackedBubbleSeries.prototype.seriesBox = function () {
706
- var series = this, chart = series.chart, data = series.data, max = Math.max, min = Math.min, radius,
733
+ var chart = this.chart, data = this.data, max = Math.max, min = Math.min,
707
734
  // bBox = [xMin, xMax, yMin, yMax]
708
735
  bBox = [
709
736
  chart.plotLeft,
@@ -711,6 +738,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
711
738
  chart.plotTop,
712
739
  chart.plotTop + chart.plotHeight
713
740
  ];
741
+ var radius;
714
742
  data.forEach(function (p) {
715
743
  if (defined(p.plotX) &&
716
744
  defined(p.plotY) &&
@@ -732,7 +760,7 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
732
760
  */
733
761
  PackedBubbleSeries.prototype.setVisible = function () {
734
762
  var series = this;
735
- Series.prototype.setVisible.apply(series, arguments);
763
+ seriesProto.setVisible.apply(series, arguments);
736
764
  if (series.parentNodeLayout && series.graph) {
737
765
  if (series.visible) {
738
766
  series.graph.show();
@@ -766,34 +794,36 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
766
794
  * @private
767
795
  */
768
796
  PackedBubbleSeries.prototype.translate = function () {
769
- var series = this, chart = series.chart, data = series.data, index = series.index, point, radius, positions, i, useSimulation = series.options.useSimulation;
770
- series.processedXData = series.xData;
771
- series.generatePoints();
797
+ var chart = this.chart, data = this.data, index = this.index, useSimulation = this.options.useSimulation;
798
+ var point, radius, positions;
799
+ this.processedXData = this.xData;
800
+ this.generatePoints();
772
801
  // merged data is an array with all of the data from all series
773
802
  if (!defined(chart.allDataPoints)) {
774
- chart.allDataPoints = series.accumulateAllPoints(series);
803
+ chart.allDataPoints = this.accumulateAllPoints();
775
804
  // calculate radius for all added data
776
- series.getPointRadius();
805
+ this.getPointRadius();
777
806
  }
778
807
  // after getting initial radius, calculate bubble positions
779
808
  if (useSimulation) {
780
809
  positions = chart.allDataPoints;
781
810
  }
782
811
  else {
783
- positions = series.placeBubbles(chart.allDataPoints);
784
- series.options.draggable = false;
812
+ positions = this.placeBubbles(chart.allDataPoints);
813
+ this.options.draggable = false;
785
814
  }
786
815
  // Set the shape and arguments to be picked up in drawPoints
787
- for (i = 0; i < positions.length; i++) {
788
- if (positions[i][3] === index) {
816
+ for (var _i = 0, positions_3 = positions; _i < positions_3.length; _i++) {
817
+ var position = positions_3[_i];
818
+ if (position[3] === index) {
789
819
  // update the series points with the val from positions
790
820
  // array
791
- point = data[positions[i][4]];
792
- radius = pick(positions[i][2], void 0);
821
+ point = data[position[4]];
822
+ radius = pick(position[2], void 0);
793
823
  if (!useSimulation) {
794
- point.plotX = (positions[i][0] - chart.plotLeft +
824
+ point.plotX = (position[0] - chart.plotLeft +
795
825
  chart.diffX);
796
- point.plotY = (positions[i][1] - chart.plotTop +
826
+ point.plotY = (position[1] - chart.plotTop +
797
827
  chart.diffY);
798
828
  }
799
829
  if (isNumber(radius)) {
@@ -807,369 +837,31 @@ var PackedBubbleSeries = /** @class */ (function (_super) {
807
837
  }
808
838
  }
809
839
  if (useSimulation) {
810
- series.deferLayout();
840
+ this.deferLayout();
811
841
  }
812
- fireEvent(series, 'afterTranslate');
842
+ fireEvent(this, 'afterTranslate');
813
843
  };
814
- /**
815
- * A packed bubble series is a two dimensional series type, where each point
816
- * renders a value in X, Y position. Each point is drawn as a bubble
817
- * where the bubbles don't overlap with each other and the radius
818
- * of the bubble relates to the value.
819
- *
820
- * @sample highcharts/demo/packed-bubble/
821
- * Packed bubble chart
822
- * @sample highcharts/demo/packed-bubble-split/
823
- * Split packed bubble chart
824
-
825
- * @extends plotOptions.bubble
826
- * @excluding connectEnds, connectNulls, cropThreshold, dragDrop, jitter,
827
- * keys, pointPlacement, sizeByAbsoluteValue, step, xAxis,
828
- * yAxis, zMax, zMin, dataSorting, boostThreshold,
829
- * boostBlending
830
- * @product highcharts
831
- * @since 7.0.0
832
- * @requires highcharts-more
833
- * @optionparent plotOptions.packedbubble
834
- */
835
- PackedBubbleSeries.defaultOptions = merge(BubbleSeries.defaultOptions, {
836
- /**
837
- * Minimum bubble size. Bubbles will automatically size between the
838
- * `minSize` and `maxSize` to reflect the value of each bubble.
839
- * Can be either pixels (when no unit is given), or a percentage of
840
- * the smallest one of the plot width and height, divided by the square
841
- * root of total number of points.
842
- *
843
- * @sample highcharts/plotoptions/bubble-size/
844
- * Bubble size
845
- *
846
- * @type {number|string}
847
- *
848
- * @private
849
- */
850
- minSize: '10%',
851
- /**
852
- * Maximum bubble size. Bubbles will automatically size between the
853
- * `minSize` and `maxSize` to reflect the value of each bubble.
854
- * Can be either pixels (when no unit is given), or a percentage of
855
- * the smallest one of the plot width and height, divided by the square
856
- * root of total number of points.
857
- *
858
- * @sample highcharts/plotoptions/bubble-size/
859
- * Bubble size
860
- *
861
- * @type {number|string}
862
- *
863
- * @private
864
- */
865
- maxSize: '50%',
866
- sizeBy: 'area',
867
- zoneAxis: 'y',
868
- crisp: false,
869
- tooltip: {
870
- pointFormat: 'Value: {point.value}'
871
- },
872
- /**
873
- * Flag to determine if nodes are draggable or not. Available for
874
- * graph with useSimulation set to true only.
875
- *
876
- * @since 7.1.0
877
- *
878
- * @private
879
- */
880
- draggable: true,
881
- /**
882
- * An option is giving a possibility to choose between using simulation
883
- * for calculating bubble positions. These reflects in both animation
884
- * and final position of bubbles. Simulation is also adding options to
885
- * the series graph based on used layout. In case of big data sets, with
886
- * any performance issues, it is possible to disable animation and pack
887
- * bubble in a simple circular way.
888
- *
889
- * @sample highcharts/series-packedbubble/spiral/
890
- * useSimulation set to false
891
- *
892
- * @since 7.1.0
893
- *
894
- * @private
895
- */
896
- useSimulation: true,
897
- /**
898
- * Series options for parent nodes.
899
- *
900
- * @since 8.1.1
901
- *
902
- * @private
903
- */
904
- parentNode: {
905
- /**
906
- * Allow this series' parent nodes to be selected
907
- * by clicking on the graph.
908
- *
909
- * @since 8.1.1
910
- */
911
- allowPointSelect: false
912
- },
913
- /**
914
- /**
915
- *
916
- * @declare Highcharts.SeriesPackedBubbleDataLabelsOptionsObject
917
- *
918
- * @private
919
- */
920
- dataLabels: {
921
- /**
922
- * The
923
- * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
924
- * specifying what to show for _node_ in the networkgraph. In v7.0
925
- * defaults to `{key}`, since v7.1 defaults to `undefined` and
926
- * `formatter` is used instead.
927
- *
928
- * @type {string}
929
- * @since 7.0.0
930
- * @apioption plotOptions.packedbubble.dataLabels.format
931
- */
932
- // eslint-disable-next-line valid-jsdoc
933
- /**
934
- * Callback JavaScript function to format the data label for a node.
935
- * Note that if a `format` is defined, the format takes precedence
936
- * and the formatter is ignored.
937
- *
938
- * @type {Highcharts.SeriesPackedBubbleDataLabelsFormatterCallbackFunction}
939
- * @since 7.0.0
940
- */
941
- formatter: function () {
942
- var numberFormatter = this.series.chart.numberFormatter;
943
- var value = this.point.value;
944
- return isNumber(value) ? numberFormatter(value, -1) : '';
945
- },
946
- /**
947
- * @type {string}
948
- * @since 7.1.0
949
- * @apioption plotOptions.packedbubble.dataLabels.parentNodeFormat
950
- */
951
- // eslint-disable-next-line valid-jsdoc
952
- /**
953
- * @type {Highcharts.SeriesPackedBubbleDataLabelsFormatterCallbackFunction}
954
- * @since 7.1.0
955
- */
956
- parentNodeFormatter: function () {
957
- return this.name;
958
- },
959
- /**
960
- * @sample {highcharts} highcharts/series-packedbubble/packed-dashboard
961
- * Dashboard with dataLabels on parentNodes
962
- *
963
- * @declare Highcharts.SeriesPackedBubbleDataLabelsTextPathOptionsObject
964
- * @since 7.1.0
965
- */
966
- parentNodeTextPath: {
967
- /**
968
- * Presentation attributes for the text path.
969
- *
970
- * @type {Highcharts.SVGAttributes}
971
- * @since 7.1.0
972
- * @apioption plotOptions.packedbubble.dataLabels.attributes
973
- */
974
- /**
975
- * Enable or disable `textPath` option for link's or marker's
976
- * data labels.
977
- *
978
- * @since 7.1.0
979
- */
980
- enabled: true
981
- },
982
- /**
983
- * Options for a _node_ label text which should follow marker's
984
- * shape.
985
- *
986
- * **Note:** Only SVG-based renderer supports this option.
987
- *
988
- * @extends plotOptions.series.dataLabels.textPath
989
- * @apioption plotOptions.packedbubble.dataLabels.textPath
990
- */
991
- padding: 0,
992
- style: {
993
- transition: 'opacity 2000ms'
994
- }
995
- },
996
- /**
997
- * Options for layout algorithm when simulation is enabled. Inside there
998
- * are options to change the speed, padding, initial bubbles positions
999
- * and more.
1000
- *
1001
- * @extends plotOptions.networkgraph.layoutAlgorithm
1002
- * @excluding approximation, attractiveForce, repulsiveForce, theta
1003
- * @since 7.1.0
1004
- *
1005
- * @private
1006
- */
1007
- layoutAlgorithm: {
1008
- /**
1009
- * Initial layout algorithm for positioning nodes. Can be one of
1010
- * the built-in options ("circle", "random") or a function where
1011
- * positions should be set on each node (`this.nodes`) as
1012
- * `node.plotX` and `node.plotY`.
1013
- *
1014
- * @sample highcharts/series-networkgraph/initial-positions/
1015
- * Initial positions with callback
1016
- *
1017
- * @type {"circle"|"random"|Function}
1018
- */
1019
- initialPositions: 'circle',
1020
- /**
1021
- * @sample highcharts/series-packedbubble/initial-radius/
1022
- * Initial radius set to 200
1023
- *
1024
- * @extends plotOptions.networkgraph.layoutAlgorithm.initialPositionRadius
1025
- * @excluding states
1026
- */
1027
- initialPositionRadius: 20,
1028
- /**
1029
- * The distance between two bubbles, when the algorithm starts to
1030
- * treat two bubbles as overlapping. The `bubblePadding` is also the
1031
- * expected distance between all the bubbles on simulation end.
1032
- */
1033
- bubblePadding: 5,
1034
- /**
1035
- * Whether bubbles should interact with their parentNode to keep
1036
- * them inside.
1037
- */
1038
- parentNodeLimit: false,
1039
- /**
1040
- * Whether series should interact with each other or not. When
1041
- * `parentNodeLimit` is set to true, thi option should be set to
1042
- * false to avoid sticking points in wrong series parentNode.
1043
- */
1044
- seriesInteraction: true,
1045
- /**
1046
- * In case of split series, this option allows user to drag and
1047
- * drop points between series, for changing point related series.
1048
- *
1049
- * @sample highcharts/series-packedbubble/packed-dashboard/
1050
- * Example of drag'n drop bubbles for bubble kanban
1051
- */
1052
- dragBetweenSeries: false,
1053
- /**
1054
- * Layout algorithm options for parent nodes.
1055
- *
1056
- * @extends plotOptions.networkgraph.layoutAlgorithm
1057
- * @excluding approximation, attractiveForce, enableSimulation,
1058
- * repulsiveForce, theta
1059
- */
1060
- parentNodeOptions: {
1061
- maxIterations: 400,
1062
- gravitationalConstant: 0.03,
1063
- maxSpeed: 50,
1064
- initialPositionRadius: 100,
1065
- seriesInteraction: true,
1066
- /**
1067
- * Styling options for parentNodes markers. Similar to
1068
- * line.marker options.
1069
- *
1070
- * @sample highcharts/series-packedbubble/parentnode-style/
1071
- * Bubble size
1072
- *
1073
- * @extends plotOptions.series.marker
1074
- * @excluding states
1075
- */
1076
- marker: {
1077
- fillColor: null,
1078
- fillOpacity: 1,
1079
- lineWidth: null,
1080
- lineColor: null,
1081
- symbol: 'circle'
1082
- }
1083
- },
1084
- enableSimulation: true,
1085
- /**
1086
- * Type of the algorithm used when positioning bubbles.
1087
- * @ignore-option
1088
- */
1089
- type: 'packedbubble',
1090
- /**
1091
- * Integration type. Integration determines how forces are applied
1092
- * on particles. The `packedbubble` integration is based on
1093
- * the networkgraph `verlet` integration, where the new position
1094
- * is based on a previous position without velocity:
1095
- * `newPosition += previousPosition - newPosition`.
1096
- *
1097
- * @sample highcharts/series-networkgraph/forces/
1098
- *
1099
- * @ignore-option
1100
- */
1101
- integration: 'packedbubble',
1102
- maxIterations: 1000,
1103
- /**
1104
- * Whether to split series into individual groups or to mix all
1105
- * series together.
1106
- *
1107
- * @since 7.1.0
1108
- * @default false
1109
- */
1110
- splitSeries: false,
1111
- /**
1112
- * Max speed that node can get in one iteration. In terms of
1113
- * simulation, it's a maximum translation (in pixels) that a node
1114
- * can move (in both, x and y, dimensions). While `friction` is
1115
- * applied on all nodes, max speed is applied only for nodes that
1116
- * move very fast, for example small or disconnected ones.
1117
- *
1118
- * @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
1119
- *
1120
- * @see [layoutAlgorithm.friction](#series.networkgraph.layoutAlgorithm.friction)
1121
- */
1122
- maxSpeed: 5,
1123
- gravitationalConstant: 0.01,
1124
- friction: -0.981
1125
- }
1126
- });
844
+ PackedBubbleSeries.defaultOptions = merge(BubbleSeries.defaultOptions, PackedBubbleSeriesDefaults);
1127
845
  return PackedBubbleSeries;
1128
846
  }(BubbleSeries));
1129
847
  extend(PackedBubbleSeries.prototype, {
1130
- alignDataLabel: Series.prototype.alignDataLabel,
848
+ pointClass: PackedBubblePoint,
1131
849
  axisTypes: [],
1132
850
  directTouch: true,
1133
- /**
1134
- * Array of internal forces. Each force should be later defined in
1135
- * integrations.js.
1136
- * @private
1137
- */
1138
851
  forces: ['barycenter', 'repulsive'],
1139
- /**
1140
- * An internal option used for allowing nodes dragging.
1141
- * @private
1142
- */
1143
852
  hasDraggableNodes: true,
1144
853
  isCartesian: false,
1145
854
  noSharedTooltip: true,
1146
- /**
1147
- * Mouse down action, initializing drag&drop mode.
1148
- * @private
1149
- * @param {global.Event} event Browser event, before normalization.
1150
- * @param {Highcharts.Point} point The point that event occured.
1151
- */
1152
- onMouseDown: dragNodesMixin.onMouseDown,
1153
- /**
1154
- * Mouse move action during drag&drop.
1155
- * @private
1156
- * @param {global.Event} event Browser event, before normalization.
1157
- * @param {Highcharts.Point} point The point that event occured.
1158
- */
1159
- onMouseMove: dragNodesMixin.onMouseMove,
1160
855
  pointArrayMap: ['value'],
1161
- pointClass: PackedBubblePoint,
1162
856
  pointValKey: 'value',
1163
- /**
1164
- * Redraw halo on mousemove during the drag&drop action.
1165
- * @private
1166
- * @param {Highcharts.Point} point The point that should show halo.
1167
- */
1168
- redrawHalo: dragNodesMixin.redrawHalo,
1169
857
  requireSorting: false,
1170
- // solving #12287
1171
- searchPoint: H.noop,
1172
- trackerGroups: ['group', 'dataLabelsGroup', 'parentNodesGroup']
858
+ trackerGroups: ['group', 'dataLabelsGroup', 'parentNodesGroup'],
859
+ alignDataLabel: seriesProto.alignDataLabel,
860
+ indexateNodes: noop,
861
+ onMouseDown: DragNodesComposition.onMouseDown,
862
+ onMouseMove: DragNodesComposition.onMouseMove,
863
+ redrawHalo: DragNodesComposition.redrawHalo,
864
+ searchPoint: noop // solving #12287
1173
865
  });
1174
866
  SeriesRegistry.registerSeriesType('packedbubble', PackedBubbleSeries);
1175
867
  /* *
@@ -1219,66 +911,3 @@ export default PackedBubbleSeries;
1219
911
  * @since 7.0.0
1220
912
  */
1221
913
  ''; // detach doclets above
1222
- /* *
1223
- *
1224
- * API Options
1225
- *
1226
- * */
1227
- /**
1228
- * A `packedbubble` series. If the [type](#series.packedbubble.type) option is
1229
- * not specified, it is inherited from [chart.type](#chart.type).
1230
- *
1231
- * @type {Object}
1232
- * @extends series,plotOptions.packedbubble
1233
- * @excluding cropThreshold, dataParser, dataSorting, dataURL, dragDrop, stack,
1234
- * boostThreshold, boostBlending
1235
- * @product highcharts
1236
- * @requires highcharts-more
1237
- * @apioption series.packedbubble
1238
- */
1239
- /**
1240
- * An array of data points for the series. For the `packedbubble` series type,
1241
- * points can be given in the following ways:
1242
- *
1243
- * 1. An array of `values`.
1244
- *
1245
- * ```js
1246
- * data: [5, 1, 20]
1247
- * ```
1248
- *
1249
- * 2. An array of objects with named values. The objects are point
1250
- * configuration objects as seen below. If the total number of data points
1251
- * exceeds the series' [turboThreshold](#series.packedbubble.turboThreshold),
1252
- * this option is not available.
1253
- *
1254
- * ```js
1255
- * data: [{
1256
- * value: 1,
1257
- * name: "Point2",
1258
- * color: "#00FF00"
1259
- * }, {
1260
- * value: 5,
1261
- * name: "Point1",
1262
- * color: "#FF00FF"
1263
- * }]
1264
- * ```
1265
- *
1266
- * @type {Array<Object|Array>}
1267
- * @extends series.line.data
1268
- * @excluding marker, x, y
1269
- * @sample {highcharts} highcharts/series/data-array-of-objects/
1270
- * Config objects
1271
- * @product highcharts
1272
- * @apioption series.packedbubble.data
1273
- */
1274
- /**
1275
- * @type {Highcharts.SeriesPackedBubbleDataLabelsOptionsObject|Array<Highcharts.SeriesPackedBubbleDataLabelsOptionsObject>}
1276
- * @product highcharts
1277
- * @apioption series.packedbubble.data.dataLabels
1278
- */
1279
- /**
1280
- * @excluding enabled,enabledThreshold,height,radius,width
1281
- * @product highcharts
1282
- * @apioption series.packedbubble.marker
1283
- */
1284
- ''; // adds doclets above to transpiled file