highcharts 10.0.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/A11yI18n.js +4 -4
  7. package/es-modules/Accessibility/Accessibility.js +8 -3
  8. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  9. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  10. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  11. package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
  12. package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
  13. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
  16. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
  17. package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
  18. package/es-modules/Accessibility/FocusBorder.js +6 -5
  19. package/es-modules/Accessibility/HighContrastMode.js +1 -1
  20. package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
  21. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
  22. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  23. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  24. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  25. package/es-modules/Core/Animation/Fx.js +1 -1
  26. package/es-modules/Core/Axis/Axis.js +51 -46
  27. package/es-modules/Core/Axis/Axis3D.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +9 -9
  29. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
  31. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  32. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  33. package/es-modules/Core/Axis/GridAxis.js +821 -822
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  35. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  36. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  39. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  40. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  43. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  44. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  45. package/es-modules/Core/Axis/ZAxis.js +76 -71
  46. package/es-modules/Core/Chart/Chart.js +42 -9
  47. package/es-modules/Core/Chart/Chart3D.js +2 -2
  48. package/es-modules/Core/Chart/ChartDefaults.js +165 -5
  49. package/es-modules/Core/Chart/GanttChart.js +3 -1
  50. package/es-modules/Core/Chart/MapChart.js +3 -1
  51. package/es-modules/Core/Chart/StockChart.js +12 -8
  52. package/es-modules/Core/Color/Color.js +1 -1
  53. package/es-modules/Core/DefaultOptions.js +19 -16
  54. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  55. package/es-modules/Core/Globals.js +2 -1
  56. package/es-modules/Core/HttpUtilities.js +39 -37
  57. package/es-modules/Core/Legend/Legend.js +4 -4
  58. package/es-modules/Core/MSPointer.js +3 -1
  59. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  60. package/es-modules/Core/Navigator.js +31 -14
  61. package/es-modules/Core/Pointer.js +8 -10
  62. package/es-modules/Core/Renderer/HTML/AST.js +13 -7
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  64. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
  66. package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
  67. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
  68. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  69. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  70. package/es-modules/Core/Scrollbar.js +12 -6
  71. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  72. package/es-modules/Core/Series/DataLabel.js +63 -40
  73. package/es-modules/Core/Series/Point.js +11 -2
  74. package/es-modules/Core/Series/Series.js +60 -43
  75. package/es-modules/Core/Series/Series3D.js +4 -2
  76. package/es-modules/Core/Series/SeriesDefaults.js +11 -6
  77. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  78. package/es-modules/Core/Time.js +6 -7
  79. package/es-modules/Core/Tooltip.js +17 -6
  80. package/es-modules/Core/Utilities.js +7 -9
  81. package/es-modules/Data/DataConverter.js +6 -1
  82. package/es-modules/Data/DataPromise.js +1 -1
  83. package/es-modules/Data/DataSeriesComposition.js +288 -0
  84. package/es-modules/Data/DataSeriesConverter.js +1 -1
  85. package/es-modules/Data/DataTable.js +14 -12
  86. package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
  87. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  88. package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
  89. package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
  90. package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
  91. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
  92. package/es-modules/Data/Modifiers/SortModifier.js +4 -2
  93. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  94. package/es-modules/Data/Parsers/DataParser.js +2 -2
  95. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  96. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  97. package/es-modules/Data/Stores/CSVStore.js +8 -5
  98. package/es-modules/Data/Stores/DataStore.js +1 -1
  99. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  100. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  101. package/es-modules/Extensions/Annotations/Annotation.js +652 -0
  102. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  103. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  104. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  105. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  106. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  107. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  108. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
  109. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  110. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  111. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  112. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  113. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  114. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  115. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
  116. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  117. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  118. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  119. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  120. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  121. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  122. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  123. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
  124. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
  125. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
  126. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
  127. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
  128. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
  129. package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
  130. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
  131. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
  132. package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
  133. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
  134. package/es-modules/Extensions/Boost/Boost.js +320 -15
  135. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  136. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  137. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  138. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  139. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  140. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  141. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  142. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  143. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  144. package/es-modules/Extensions/BoostCanvas.js +70 -48
  145. package/es-modules/Extensions/Breadcrumbs.js +37 -9
  146. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  147. package/es-modules/Extensions/Data.js +638 -602
  148. package/es-modules/Extensions/DataGrouping.js +68 -28
  149. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  150. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  151. package/es-modules/Extensions/DownloadURL.js +3 -3
  152. package/es-modules/Extensions/DragPanes.js +1 -1
  153. package/es-modules/Extensions/DraggablePoints.js +4 -3
  154. package/es-modules/Extensions/Drilldown.js +15 -14
  155. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
  156. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  157. package/es-modules/Extensions/Exporting/Exporting.js +30 -17
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
  159. package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
  160. package/es-modules/Extensions/GeoJSON.js +3 -4
  161. package/es-modules/Extensions/MarkerClusters.js +5 -3
  162. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  163. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  164. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  165. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  166. package/es-modules/Extensions/Pane.js +3 -3
  167. package/es-modules/Extensions/ParallelCoordinates.js +12 -8
  168. package/es-modules/Extensions/PatternFill.js +14 -2
  169. package/es-modules/Extensions/RangeSelector.js +29 -18
  170. package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
  171. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
  172. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  173. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  174. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  175. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  176. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  177. package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
  178. package/es-modules/Maps/MapNavigation.js +3 -7
  179. package/es-modules/Maps/MapPointer.js +1 -1
  180. package/es-modules/Maps/MapView.js +31 -19
  181. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
  182. package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
  183. package/es-modules/Maps/Projection.js +13 -11
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
  186. package/es-modules/Series/Area/AreaSeries.js +21 -14
  187. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  188. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  189. package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
  190. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  191. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  192. package/es-modules/Series/Bar/BarSeries.js +3 -1
  193. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  194. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  195. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  196. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  197. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  198. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  199. package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
  200. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  201. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  202. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  203. package/es-modules/Series/CenteredUtilities.js +8 -2
  204. package/es-modules/Series/ColorMapComposition.js +111 -0
  205. package/es-modules/Series/Column/ColumnSeries.js +8 -4
  206. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  207. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
  208. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  209. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  210. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  211. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  212. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  213. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
  214. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
  215. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  216. package/es-modules/Series/DragNodesComposition.js +166 -0
  217. package/es-modules/Series/DrawPointUtilities.js +87 -0
  218. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  219. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  220. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  221. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  222. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  223. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  224. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  225. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
  226. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  227. package/es-modules/Series/Gantt/GanttSeries.js +4 -2
  228. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  229. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  230. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  231. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  232. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  233. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  234. package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
  235. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  236. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  237. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  238. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  239. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  240. package/es-modules/Series/Item/ItemPoint.js +3 -1
  241. package/es-modules/Series/Item/ItemSeries.js +3 -1
  242. package/es-modules/Series/Line/LineSeries.js +4 -2
  243. package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
  244. package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
  245. package/es-modules/Series/Map/MapPoint.js +8 -6
  246. package/es-modules/Series/Map/MapSeries.js +115 -28
  247. package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
  248. package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
  249. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  250. package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
  251. package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
  252. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  253. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  254. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  255. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  256. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  257. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  258. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  259. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  260. package/es-modules/Series/NodesComposition.js +45 -40
  261. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  262. package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
  263. package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
  264. package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
  265. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  266. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
  267. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
  268. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
  269. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  270. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  271. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  272. package/es-modules/Series/Pie/PiePoint.js +3 -1
  273. package/es-modules/Series/Pie/PieSeries.js +54 -38
  274. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  275. package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
  276. package/es-modules/Series/PolarComposition.js +819 -0
  277. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  278. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  279. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  280. package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
  281. package/es-modules/Series/Sankey/SankeySeries.js +38 -10
  282. package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
  283. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  284. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
  285. package/es-modules/Series/SeriesOnPointComposition.js +395 -0
  286. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
  287. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  288. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
  291. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  292. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  293. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  294. package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
  295. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  296. package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
  297. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  298. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  299. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  300. package/es-modules/Series/Vector/VectorSeries.js +5 -5
  301. package/es-modules/Series/Venn/VennPoint.js +5 -5
  302. package/es-modules/Series/Venn/VennSeries.js +9 -6
  303. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  304. package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
  305. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  306. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  307. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  308. package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
  309. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  310. package/es-modules/Series/XRange/XRangePoint.js +57 -46
  311. package/es-modules/Series/XRange/XRangeSeries.js +124 -274
  312. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  313. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
  314. package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
  315. package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
  316. package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
  317. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
  318. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
  319. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
  320. package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
  321. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
  322. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
  323. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
  324. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
  325. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
  326. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
  327. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
  328. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  329. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
  330. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
  331. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
  332. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
  333. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
  334. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
  335. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
  336. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
  337. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
  338. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
  339. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
  340. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  341. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
  342. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
  343. package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
  344. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
  345. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
  346. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
  347. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
  348. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
  349. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
  350. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
  351. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
  352. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
  353. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
  354. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
  355. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  356. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
  357. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
  358. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
  359. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
  360. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
  361. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
  362. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
  363. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
  364. package/es-modules/Stock/StockToolbar.js +568 -0
  365. package/es-modules/Stock/StockTools.js +256 -0
  366. package/es-modules/Stock/StockToolsBindings.js +140 -647
  367. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  368. package/es-modules/Stock/StockToolsGui.js +150 -1771
  369. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  370. package/es-modules/masters/highcharts-3d.src.js +5 -4
  371. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  372. package/es-modules/masters/highcharts-more.src.js +7 -6
  373. package/es-modules/masters/highcharts.src.js +5 -2
  374. package/es-modules/masters/highmaps.src.js +1 -1
  375. package/es-modules/masters/highstock.src.js +1 -1
  376. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  377. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  378. package/es-modules/masters/indicators/ao.src.js +1 -1
  379. package/es-modules/masters/indicators/apo.src.js +1 -1
  380. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  381. package/es-modules/masters/indicators/aroon.src.js +1 -1
  382. package/es-modules/masters/indicators/atr.src.js +1 -1
  383. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  384. package/es-modules/masters/indicators/cci.src.js +1 -1
  385. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  386. package/es-modules/masters/indicators/cmf.src.js +1 -1
  387. package/es-modules/masters/indicators/cmo.src.js +1 -1
  388. package/es-modules/masters/indicators/dema.src.js +1 -1
  389. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  390. package/es-modules/masters/indicators/dmi.src.js +1 -1
  391. package/es-modules/masters/indicators/dpo.src.js +1 -1
  392. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  393. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  394. package/es-modules/masters/indicators/indicators.src.js +1 -1
  395. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  396. package/es-modules/masters/indicators/klinger.src.js +1 -1
  397. package/es-modules/masters/indicators/macd.src.js +1 -1
  398. package/es-modules/masters/indicators/mfi.src.js +1 -1
  399. package/es-modules/masters/indicators/momentum.src.js +1 -1
  400. package/es-modules/masters/indicators/natr.src.js +1 -1
  401. package/es-modules/masters/indicators/obv.src.js +1 -1
  402. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  403. package/es-modules/masters/indicators/ppo.src.js +1 -1
  404. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  405. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  406. package/es-modules/masters/indicators/psar.src.js +1 -1
  407. package/es-modules/masters/indicators/regressions.src.js +5 -5
  408. package/es-modules/masters/indicators/roc.src.js +1 -1
  409. package/es-modules/masters/indicators/rsi.src.js +1 -1
  410. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  411. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  412. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  413. package/es-modules/masters/indicators/tema.src.js +1 -1
  414. package/es-modules/masters/indicators/trendline.src.js +1 -1
  415. package/es-modules/masters/indicators/trix.src.js +1 -1
  416. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  417. package/es-modules/masters/indicators/vwap.src.js +1 -1
  418. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  419. package/es-modules/masters/indicators/wma.src.js +1 -1
  420. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  421. package/es-modules/masters/modules/accessibility.src.js +1 -1
  422. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  423. package/es-modules/masters/modules/annotations.src.js +6 -4
  424. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  425. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  426. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  427. package/es-modules/masters/modules/boost.src.js +6 -2
  428. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  429. package/es-modules/masters/modules/bullet.src.js +1 -1
  430. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  431. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  432. package/es-modules/masters/modules/cylinder.src.js +1 -1
  433. package/es-modules/masters/modules/data.src.js +2 -1
  434. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  435. package/es-modules/masters/modules/debugger.src.js +5 -3
  436. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  437. package/es-modules/masters/modules/dotplot.src.js +1 -1
  438. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  439. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  440. package/es-modules/masters/modules/drilldown.src.js +1 -1
  441. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  442. package/es-modules/masters/modules/export-data.src.js +5 -2
  443. package/es-modules/masters/modules/exporting.src.js +1 -2
  444. package/es-modules/masters/modules/full-screen.src.js +6 -2
  445. package/es-modules/masters/modules/funnel.src.js +1 -1
  446. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  447. package/es-modules/masters/modules/gantt.src.js +3 -2
  448. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  449. package/es-modules/masters/modules/heatmap.src.js +1 -1
  450. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  451. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  452. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  453. package/es-modules/masters/modules/item-series.src.js +1 -1
  454. package/es-modules/masters/modules/lollipop.src.js +1 -1
  455. package/es-modules/masters/modules/map.src.js +2 -2
  456. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  457. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  458. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  459. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  460. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  461. package/es-modules/masters/modules/oldie.src.js +1 -1
  462. package/es-modules/masters/modules/organization.src.js +1 -1
  463. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  464. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  465. package/es-modules/masters/modules/pareto.src.js +1 -1
  466. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  467. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  468. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  469. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  470. package/es-modules/masters/modules/sankey.src.js +1 -1
  471. package/es-modules/masters/modules/series-label.src.js +5 -2
  472. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  473. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  474. package/es-modules/masters/modules/sonification.src.js +2 -6
  475. package/es-modules/masters/modules/static-scale.src.js +1 -1
  476. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  477. package/es-modules/masters/modules/stock.src.js +1 -1
  478. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  479. package/es-modules/masters/modules/sunburst.src.js +1 -1
  480. package/es-modules/masters/modules/tilemap.src.js +1 -1
  481. package/es-modules/masters/modules/timeline.src.js +1 -1
  482. package/es-modules/masters/modules/treegrid.src.js +2 -2
  483. package/es-modules/masters/modules/treemap.src.js +1 -1
  484. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  485. package/es-modules/masters/modules/variwide.src.js +1 -1
  486. package/es-modules/masters/modules/vector.src.js +1 -1
  487. package/es-modules/masters/modules/venn.src.js +1 -1
  488. package/es-modules/masters/modules/windbarb.src.js +1 -1
  489. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  490. package/es-modules/masters/modules/xrange.src.js +5 -2
  491. package/es-modules/masters/themes/avocado.src.js +1 -1
  492. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  493. package/es-modules/masters/themes/brand-light.src.js +1 -1
  494. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  495. package/es-modules/masters/themes/dark-green.src.js +1 -1
  496. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  497. package/es-modules/masters/themes/gray.src.js +1 -1
  498. package/es-modules/masters/themes/grid-light.src.js +1 -1
  499. package/es-modules/masters/themes/grid.src.js +1 -1
  500. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  501. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  502. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  503. package/es-modules/masters/themes/skies.src.js +1 -1
  504. package/es-modules/masters/themes/sunset.src.js +1 -1
  505. package/highcharts-3d.js +98 -99
  506. package/highcharts-3d.js.map +1 -1
  507. package/highcharts-3d.src.js +233 -212
  508. package/highcharts-gantt.js +809 -805
  509. package/highcharts-gantt.js.map +1 -1
  510. package/highcharts-gantt.src.js +3817 -3470
  511. package/highcharts-more.d.ts +15 -8
  512. package/highcharts-more.js +201 -195
  513. package/highcharts-more.js.map +1 -1
  514. package/highcharts-more.src.d.ts +15 -8
  515. package/highcharts-more.src.js +7994 -7461
  516. package/highcharts.d.ts +11364 -1136
  517. package/highcharts.js +593 -591
  518. package/highcharts.js.map +1 -1
  519. package/highcharts.src.d.ts +11364 -1136
  520. package/highcharts.src.js +1408 -1117
  521. package/highmaps.js +762 -758
  522. package/highmaps.js.map +1 -1
  523. package/highmaps.src.js +2237 -1721
  524. package/highstock.js +796 -792
  525. package/highstock.js.map +1 -1
  526. package/highstock.src.js +1617 -1224
  527. package/indicators/acceleration-bands.d.ts +1 -17
  528. package/indicators/acceleration-bands.js +11 -12
  529. package/indicators/acceleration-bands.js.map +1 -1
  530. package/indicators/acceleration-bands.src.d.ts +1 -17
  531. package/indicators/acceleration-bands.src.js +99 -101
  532. package/indicators/accumulation-distribution.js +1 -1
  533. package/indicators/accumulation-distribution.js.map +1 -1
  534. package/indicators/accumulation-distribution.src.js +6 -1
  535. package/indicators/ao.js +6 -6
  536. package/indicators/ao.js.map +1 -1
  537. package/indicators/ao.src.js +25 -16
  538. package/indicators/apo.js +1 -1
  539. package/indicators/apo.js.map +1 -1
  540. package/indicators/apo.src.js +6 -1
  541. package/indicators/aroon-oscillator.d.ts +1 -17
  542. package/indicators/aroon-oscillator.js +10 -10
  543. package/indicators/aroon-oscillator.js.map +1 -1
  544. package/indicators/aroon-oscillator.src.d.ts +1 -17
  545. package/indicators/aroon-oscillator.src.js +95 -101
  546. package/indicators/aroon.d.ts +1 -17
  547. package/indicators/aroon.js +11 -11
  548. package/indicators/aroon.js.map +1 -1
  549. package/indicators/aroon.src.d.ts +1 -17
  550. package/indicators/aroon.src.js +104 -101
  551. package/indicators/atr.js +1 -1
  552. package/indicators/atr.js.map +1 -1
  553. package/indicators/atr.src.js +17 -4
  554. package/indicators/bollinger-bands.d.ts +1 -17
  555. package/indicators/bollinger-bands.js +11 -12
  556. package/indicators/bollinger-bands.js.map +1 -1
  557. package/indicators/bollinger-bands.src.d.ts +1 -17
  558. package/indicators/bollinger-bands.src.js +97 -103
  559. package/indicators/cci.js +1 -1
  560. package/indicators/cci.js.map +1 -1
  561. package/indicators/cci.src.js +17 -4
  562. package/indicators/chaikin.js +8 -8
  563. package/indicators/chaikin.js.map +1 -1
  564. package/indicators/chaikin.src.js +13 -5
  565. package/indicators/cmf.js +1 -1
  566. package/indicators/cmf.js.map +1 -1
  567. package/indicators/cmf.src.js +21 -1
  568. package/indicators/cmo.js +1 -1
  569. package/indicators/cmo.js.map +1 -1
  570. package/indicators/cmo.src.js +16 -2
  571. package/indicators/dema.js +1 -1
  572. package/indicators/dema.js.map +1 -1
  573. package/indicators/dema.src.js +26 -1
  574. package/indicators/disparity-index.js +1 -1
  575. package/indicators/disparity-index.src.js +1 -1
  576. package/indicators/dmi.js +12 -12
  577. package/indicators/dmi.js.map +1 -1
  578. package/indicators/dmi.src.js +104 -105
  579. package/indicators/dpo.js +1 -1
  580. package/indicators/dpo.js.map +1 -1
  581. package/indicators/dpo.src.js +20 -9
  582. package/indicators/ichimoku-kinko-hyo.js +1 -1
  583. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  584. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  585. package/indicators/indicators-all.d.ts +1 -17
  586. package/indicators/indicators-all.js +200 -199
  587. package/indicators/indicators-all.js.map +1 -1
  588. package/indicators/indicators-all.src.d.ts +1 -17
  589. package/indicators/indicators-all.src.js +882 -284
  590. package/indicators/indicators.js +1 -1
  591. package/indicators/indicators.js.map +1 -1
  592. package/indicators/indicators.src.js +12 -2
  593. package/indicators/keltner-channels.d.ts +1 -17
  594. package/indicators/keltner-channels.js +11 -12
  595. package/indicators/keltner-channels.js.map +1 -1
  596. package/indicators/keltner-channels.src.d.ts +1 -17
  597. package/indicators/keltner-channels.src.js +114 -99
  598. package/indicators/klinger.js +14 -14
  599. package/indicators/klinger.js.map +1 -1
  600. package/indicators/klinger.src.js +101 -102
  601. package/indicators/macd.js +10 -9
  602. package/indicators/macd.js.map +1 -1
  603. package/indicators/macd.src.js +46 -25
  604. package/indicators/mfi.js +1 -1
  605. package/indicators/mfi.js.map +1 -1
  606. package/indicators/mfi.src.js +24 -11
  607. package/indicators/momentum.js +1 -1
  608. package/indicators/momentum.js.map +1 -1
  609. package/indicators/momentum.src.js +31 -3
  610. package/indicators/natr.js +1 -1
  611. package/indicators/natr.js.map +1 -1
  612. package/indicators/natr.src.js +17 -3
  613. package/indicators/obv.js +1 -1
  614. package/indicators/obv.js.map +1 -1
  615. package/indicators/obv.src.js +11 -1
  616. package/indicators/pivot-points.js +1 -1
  617. package/indicators/pivot-points.js.map +1 -1
  618. package/indicators/pivot-points.src.js +32 -19
  619. package/indicators/ppo.js +1 -1
  620. package/indicators/ppo.js.map +1 -1
  621. package/indicators/ppo.src.js +15 -5
  622. package/indicators/price-channel.d.ts +1 -17
  623. package/indicators/price-channel.js +11 -11
  624. package/indicators/price-channel.js.map +1 -1
  625. package/indicators/price-channel.src.d.ts +1 -17
  626. package/indicators/price-channel.src.js +102 -107
  627. package/indicators/price-envelopes.js +1 -1
  628. package/indicators/price-envelopes.js.map +1 -1
  629. package/indicators/price-envelopes.src.js +26 -1
  630. package/indicators/psar.js +1 -1
  631. package/indicators/psar.js.map +1 -1
  632. package/indicators/psar.src.js +17 -4
  633. package/indicators/regressions.js +12 -11
  634. package/indicators/regressions.js.map +1 -1
  635. package/indicators/regressions.src.js +50 -15
  636. package/indicators/roc.js +1 -1
  637. package/indicators/roc.js.map +1 -1
  638. package/indicators/roc.src.js +16 -3
  639. package/indicators/rsi.js +1 -1
  640. package/indicators/rsi.js.map +1 -1
  641. package/indicators/rsi.src.js +21 -3
  642. package/indicators/slow-stochastic.js +1 -1
  643. package/indicators/slow-stochastic.js.map +1 -1
  644. package/indicators/slow-stochastic.src.js +26 -1
  645. package/indicators/stochastic.d.ts +1 -17
  646. package/indicators/stochastic.js +12 -12
  647. package/indicators/stochastic.js.map +1 -1
  648. package/indicators/stochastic.src.d.ts +1 -17
  649. package/indicators/stochastic.src.js +104 -99
  650. package/indicators/supertrend.js +7 -7
  651. package/indicators/supertrend.js.map +1 -1
  652. package/indicators/supertrend.src.js +21 -9
  653. package/indicators/tema.js +1 -1
  654. package/indicators/tema.src.js +1 -1
  655. package/indicators/trendline.js +1 -1
  656. package/indicators/trendline.js.map +1 -1
  657. package/indicators/trendline.src.js +15 -5
  658. package/indicators/trix.js +1 -1
  659. package/indicators/trix.js.map +1 -1
  660. package/indicators/trix.src.js +26 -1
  661. package/indicators/volume-by-price.js +17 -17
  662. package/indicators/volume-by-price.js.map +1 -1
  663. package/indicators/volume-by-price.src.js +38 -10
  664. package/indicators/vwap.js +1 -1
  665. package/indicators/vwap.js.map +1 -1
  666. package/indicators/vwap.src.js +12 -2
  667. package/indicators/williams-r.js +1 -1
  668. package/indicators/williams-r.js.map +1 -1
  669. package/indicators/williams-r.src.js +11 -1
  670. package/indicators/wma.js +1 -1
  671. package/indicators/wma.js.map +1 -1
  672. package/indicators/wma.src.js +31 -3
  673. package/indicators/zigzag.js +1 -1
  674. package/indicators/zigzag.js.map +1 -1
  675. package/indicators/zigzag.src.js +12 -2
  676. package/modules/accessibility.js +246 -242
  677. package/modules/accessibility.js.map +1 -1
  678. package/modules/accessibility.src.js +797 -664
  679. package/modules/annotations-advanced.d.ts +1 -1
  680. package/modules/annotations-advanced.js +193 -192
  681. package/modules/annotations-advanced.js.map +1 -1
  682. package/modules/annotations-advanced.src.d.ts +1 -1
  683. package/modules/annotations-advanced.src.js +9229 -8589
  684. package/modules/annotations.d.ts +1 -1
  685. package/modules/annotations.js +128 -126
  686. package/modules/annotations.js.map +1 -1
  687. package/modules/annotations.src.d.ts +1 -1
  688. package/modules/annotations.src.js +6190 -5528
  689. package/modules/arc-diagram.js +7 -7
  690. package/modules/arc-diagram.js.map +1 -1
  691. package/modules/arc-diagram.src.js +10 -2
  692. package/modules/arrow-symbols.js +1 -1
  693. package/modules/arrow-symbols.src.js +1 -1
  694. package/modules/boost-canvas.d.ts +19 -0
  695. package/modules/boost-canvas.js +81 -15
  696. package/modules/boost-canvas.js.map +1 -1
  697. package/modules/boost-canvas.src.d.ts +19 -0
  698. package/modules/boost-canvas.src.js +3342 -52
  699. package/modules/boost.d.ts +8 -26
  700. package/modules/boost.js +88 -80
  701. package/modules/boost.js.map +1 -1
  702. package/modules/boost.src.d.ts +8 -26
  703. package/modules/boost.src.js +2435 -1889
  704. package/modules/broken-axis.js +2 -2
  705. package/modules/broken-axis.js.map +1 -1
  706. package/modules/broken-axis.src.js +2 -2
  707. package/modules/bullet.js +1 -1
  708. package/modules/bullet.js.map +1 -1
  709. package/modules/bullet.src.js +2 -5
  710. package/modules/coloraxis.js +2 -2
  711. package/modules/coloraxis.js.map +1 -1
  712. package/modules/coloraxis.src.js +9 -5
  713. package/modules/current-date-indicator.js +1 -1
  714. package/modules/current-date-indicator.src.js +2 -2
  715. package/modules/cylinder.js +9 -9
  716. package/modules/cylinder.js.map +1 -1
  717. package/modules/cylinder.src.js +2 -2
  718. package/modules/data.d.ts +12 -12
  719. package/modules/data.js +33 -34
  720. package/modules/data.js.map +1 -1
  721. package/modules/data.src.d.ts +12 -12
  722. package/modules/data.src.js +862 -829
  723. package/modules/datagrouping.d.ts +22 -0
  724. package/modules/datagrouping.js +9 -9
  725. package/modules/datagrouping.js.map +1 -1
  726. package/modules/datagrouping.src.d.ts +22 -0
  727. package/modules/datagrouping.src.js +69 -29
  728. package/modules/debugger.js +8 -6
  729. package/modules/debugger.js.map +1 -1
  730. package/modules/debugger.src.js +85 -40
  731. package/modules/dependency-wheel.js +12 -12
  732. package/modules/dependency-wheel.js.map +1 -1
  733. package/modules/dependency-wheel.src.js +41 -14
  734. package/modules/dotplot.js +1 -1
  735. package/modules/dotplot.src.js +1 -1
  736. package/modules/drag-panes.js +1 -1
  737. package/modules/drag-panes.src.js +2 -2
  738. package/modules/draggable-points.js +5 -5
  739. package/modules/draggable-points.js.map +1 -1
  740. package/modules/draggable-points.src.js +5 -4
  741. package/modules/drilldown.d.ts +0 -10
  742. package/modules/drilldown.js +37 -37
  743. package/modules/drilldown.js.map +1 -1
  744. package/modules/drilldown.src.d.ts +0 -10
  745. package/modules/drilldown.src.js +59 -25
  746. package/modules/dumbbell.d.ts +4 -0
  747. package/modules/dumbbell.js +17 -17
  748. package/modules/dumbbell.js.map +1 -1
  749. package/modules/dumbbell.src.d.ts +4 -0
  750. package/modules/dumbbell.src.js +24 -12
  751. package/modules/export-data.js +25 -22
  752. package/modules/export-data.js.map +1 -1
  753. package/modules/export-data.src.js +641 -469
  754. package/modules/exporting.d.ts +8 -8
  755. package/modules/exporting.js +39 -39
  756. package/modules/exporting.js.map +1 -1
  757. package/modules/exporting.src.d.ts +8 -8
  758. package/modules/exporting.src.js +442 -319
  759. package/modules/full-screen.js +8 -8
  760. package/modules/full-screen.js.map +1 -1
  761. package/modules/full-screen.src.js +196 -78
  762. package/modules/funnel.js +1 -1
  763. package/modules/funnel.src.js +3 -3
  764. package/modules/funnel3d.js +2 -2
  765. package/modules/funnel3d.js.map +1 -1
  766. package/modules/funnel3d.src.js +2 -2
  767. package/modules/gantt.js +219 -217
  768. package/modules/gantt.js.map +1 -1
  769. package/modules/gantt.src.js +2420 -2364
  770. package/modules/grid-axis.js +23 -23
  771. package/modules/grid-axis.js.map +1 -1
  772. package/modules/grid-axis.src.js +890 -891
  773. package/modules/heatmap.js +40 -40
  774. package/modules/heatmap.js.map +1 -1
  775. package/modules/heatmap.src.js +137 -108
  776. package/modules/heikinashi.js +1 -1
  777. package/modules/heikinashi.src.js +1 -1
  778. package/modules/histogram-bellcurve.js +1 -1
  779. package/modules/histogram-bellcurve.src.js +1 -1
  780. package/modules/hollowcandlestick.js +1 -1
  781. package/modules/hollowcandlestick.src.js +9 -9
  782. package/modules/item-series.js +1 -1
  783. package/modules/item-series.src.js +1 -1
  784. package/modules/lollipop.js +6 -6
  785. package/modules/lollipop.js.map +1 -1
  786. package/modules/lollipop.src.js +37 -22
  787. package/modules/map.d.ts +3 -3
  788. package/modules/map.js +171 -169
  789. package/modules/map.js.map +1 -1
  790. package/modules/map.src.d.ts +3 -3
  791. package/modules/map.src.js +830 -605
  792. package/modules/marker-clusters.js +1 -1
  793. package/modules/marker-clusters.js.map +1 -1
  794. package/modules/marker-clusters.src.js +4 -6
  795. package/modules/networkgraph.d.ts +1 -17
  796. package/modules/networkgraph.js +55 -50
  797. package/modules/networkgraph.js.map +1 -1
  798. package/modules/networkgraph.src.d.ts +1 -17
  799. package/modules/networkgraph.src.js +2339 -2008
  800. package/modules/no-data-to-display.js +1 -1
  801. package/modules/no-data-to-display.src.js +2 -2
  802. package/modules/offline-exporting.js +3 -3
  803. package/modules/offline-exporting.js.map +1 -1
  804. package/modules/offline-exporting.src.js +5 -5
  805. package/modules/oldie-polyfills.js +1 -1
  806. package/modules/oldie-polyfills.src.js +1 -1
  807. package/modules/oldie.js +2 -2
  808. package/modules/oldie.src.js +3 -3
  809. package/modules/organization.js +15 -15
  810. package/modules/organization.js.map +1 -1
  811. package/modules/organization.src.js +12 -4
  812. package/modules/overlapping-datalabels.js +1 -1
  813. package/modules/overlapping-datalabels.src.js +1 -1
  814. package/modules/parallel-coordinates.js +11 -11
  815. package/modules/parallel-coordinates.js.map +1 -1
  816. package/modules/parallel-coordinates.src.js +14 -9
  817. package/modules/pareto.js +1 -1
  818. package/modules/pareto.src.js +1 -1
  819. package/modules/pathfinder.js +1 -1
  820. package/modules/pathfinder.src.js +1 -1
  821. package/modules/pattern-fill.js +15 -14
  822. package/modules/pattern-fill.js.map +1 -1
  823. package/modules/pattern-fill.src.js +15 -2
  824. package/modules/price-indicator.js +1 -1
  825. package/modules/price-indicator.src.js +1 -1
  826. package/modules/pyramid3d.js +1 -1
  827. package/modules/pyramid3d.src.js +1 -1
  828. package/modules/sankey.d.ts +1 -17
  829. package/modules/sankey.js +32 -32
  830. package/modules/sankey.js.map +1 -1
  831. package/modules/sankey.src.d.ts +1 -17
  832. package/modules/sankey.src.js +102 -57
  833. package/modules/series-label.js +18 -18
  834. package/modules/series-label.js.map +1 -1
  835. package/modules/series-label.src.js +474 -387
  836. package/modules/series-on-point.js +18 -0
  837. package/modules/series-on-point.js.map +1 -0
  838. package/modules/series-on-point.src.js +468 -0
  839. package/modules/solid-gauge.js +4 -4
  840. package/modules/solid-gauge.js.map +1 -1
  841. package/modules/solid-gauge.src.js +6 -6
  842. package/modules/sonification.d.ts +2 -2
  843. package/modules/sonification.js +1 -1
  844. package/modules/sonification.js.map +1 -1
  845. package/modules/sonification.src.d.ts +2 -2
  846. package/modules/sonification.src.js +4 -8
  847. package/modules/static-scale.js +1 -1
  848. package/modules/static-scale.src.js +1 -1
  849. package/modules/stock-tools.d.ts +1 -23
  850. package/modules/stock-tools.js +109 -179
  851. package/modules/stock-tools.js.map +1 -1
  852. package/modules/stock-tools.src.d.ts +1 -23
  853. package/modules/stock-tools.src.js +2652 -6347
  854. package/modules/stock.d.ts +8 -0
  855. package/modules/stock.js +205 -204
  856. package/modules/stock.js.map +1 -1
  857. package/modules/stock.src.d.ts +8 -0
  858. package/modules/stock.src.js +208 -106
  859. package/modules/streamgraph.js +1 -1
  860. package/modules/streamgraph.src.js +1 -1
  861. package/modules/sunburst.js +73 -73
  862. package/modules/sunburst.js.map +1 -1
  863. package/modules/sunburst.src.js +251 -193
  864. package/modules/tilemap.js +1 -1
  865. package/modules/tilemap.src.js +1 -1
  866. package/modules/timeline.js +1 -1
  867. package/modules/timeline.js.map +1 -1
  868. package/modules/timeline.src.js +6 -4
  869. package/modules/treegrid.js +57 -57
  870. package/modules/treegrid.js.map +1 -1
  871. package/modules/treegrid.src.js +1908 -1901
  872. package/modules/treemap.js +54 -53
  873. package/modules/treemap.js.map +1 -1
  874. package/modules/treemap.src.js +217 -183
  875. package/modules/variable-pie.js +1 -1
  876. package/modules/variable-pie.src.js +1 -1
  877. package/modules/variwide.js +1 -1
  878. package/modules/variwide.src.js +1 -1
  879. package/modules/vector.js +2 -2
  880. package/modules/vector.js.map +1 -1
  881. package/modules/vector.src.js +3 -5
  882. package/modules/venn.js +31 -31
  883. package/modules/venn.js.map +1 -1
  884. package/modules/venn.src.js +82 -111
  885. package/modules/windbarb.js +1 -1
  886. package/modules/windbarb.src.js +1 -1
  887. package/modules/wordcloud.js +23 -23
  888. package/modules/wordcloud.js.map +1 -1
  889. package/modules/wordcloud.src.js +84 -113
  890. package/modules/xrange.js +17 -17
  891. package/modules/xrange.js.map +1 -1
  892. package/modules/xrange.src.js +411 -397
  893. package/package.json +1 -1
  894. package/themes/avocado.js +1 -1
  895. package/themes/avocado.src.js +1 -1
  896. package/themes/brand-dark.js +1 -1
  897. package/themes/brand-dark.src.js +1 -1
  898. package/themes/brand-light.js +1 -1
  899. package/themes/brand-light.src.js +1 -1
  900. package/themes/dark-blue.js +1 -1
  901. package/themes/dark-blue.src.js +1 -1
  902. package/themes/dark-green.js +1 -1
  903. package/themes/dark-green.src.js +1 -1
  904. package/themes/dark-unica.js +1 -1
  905. package/themes/dark-unica.src.js +1 -1
  906. package/themes/gray.js +1 -1
  907. package/themes/gray.src.js +1 -1
  908. package/themes/grid-light.js +1 -1
  909. package/themes/grid-light.src.js +1 -1
  910. package/themes/grid.js +1 -1
  911. package/themes/grid.src.js +1 -1
  912. package/themes/high-contrast-dark.js +2 -2
  913. package/themes/high-contrast-dark.src.js +11 -11
  914. package/themes/high-contrast-light.js +2 -2
  915. package/themes/high-contrast-light.src.js +10 -10
  916. package/themes/sand-signika.js +1 -1
  917. package/themes/sand-signika.src.js +1 -1
  918. package/themes/skies.js +1 -1
  919. package/themes/skies.src.js +1 -1
  920. package/themes/sunset.js +1 -1
  921. package/themes/sunset.src.js +1 -1
  922. package/es-modules/Core/Axis/StackingAxis.js +0 -216
  923. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  924. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  925. package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
  926. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  927. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  928. package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
  929. package/es-modules/Extensions/Boost/BoostInit.js +0 -323
  930. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  931. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  932. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  933. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  934. package/es-modules/Extensions/FullScreen.js +0 -240
  935. package/es-modules/Extensions/Polar.js +0 -740
  936. package/es-modules/Extensions/Stacking.js +0 -517
  937. package/es-modules/Series/ColorMapMixin.js +0 -84
  938. package/es-modules/Series/DrawPointComposition.js +0 -114
  939. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  940. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  941. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
  942. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v10.0.0 (2022-03-07)
2
+ * @license Highcharts JS v10.2.1 (2022-08-29)
3
3
  *
4
4
  * (c) 2009-2021 Torstein Honsi
5
5
  *
@@ -35,7 +35,7 @@
35
35
  }
36
36
  }
37
37
  }
38
- _registerModule(_modules, 'Extensions/SeriesLabel.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/FormatUtilities.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Series/Series.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (A, Chart, F, D, Series, SVGRenderer, U) {
38
+ _registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabelDefaults.js', [], function () {
39
39
  /* *
40
40
  *
41
41
  * (c) 2009-2021 Torstein Honsi
@@ -45,162 +45,149 @@
45
45
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
46
46
  *
47
47
  * */
48
- var animObject = A.animObject;
49
- var format = F.format;
50
- var setOptions = D.setOptions;
51
- var symbols = SVGRenderer.prototype.symbols;
52
- var addEvent = U.addEvent,
53
- extend = U.extend,
54
- fireEvent = U.fireEvent,
55
- isNumber = U.isNumber,
56
- pick = U.pick,
57
- syncTimeout = U.syncTimeout;
48
+ /* *
49
+ *
50
+ * Constants
51
+ *
52
+ * */
58
53
  /**
59
- * Containing the position of a box that should be avoided by labels.
54
+ * Series labels are placed as close to the series as possible in a
55
+ * natural way, seeking to avoid other series. The goal of this
56
+ * feature is to make the chart more easily readable, like if a
57
+ * human designer placed the labels in the optimal position.
60
58
  *
61
- * @interface Highcharts.LabelIntersectBoxObject
62
- */ /**
63
- * @name Highcharts.LabelIntersectBoxObject#bottom
64
- * @type {number}
65
- */ /**
66
- * @name Highcharts.LabelIntersectBoxObject#left
67
- * @type {number}
68
- */ /**
69
- * @name Highcharts.LabelIntersectBoxObject#right
70
- * @type {number}
71
- */ /**
72
- * @name Highcharts.LabelIntersectBoxObject#top
73
- * @type {number}
74
- */
75
- /*
76
- * Highcharts module to place labels next to a series in a natural position.
59
+ * The series labels currently work with series types having a
60
+ * `graph` or an `area`.
77
61
  *
78
- * TODO:
79
- * - add column support (box collision detection, boxesToAvoid logic)
80
- * - avoid data labels, when data labels above, show series label below.
81
- * - add more options (connector, format, formatter)
62
+ * @sample highcharts/series-label/line-chart
63
+ * Line chart
64
+ * @sample highcharts/demo/streamgraph
65
+ * Stream graph
66
+ * @sample highcharts/series-label/stock-chart
67
+ * Stock chart
82
68
  *
83
- * https://jsfiddle.net/highcharts/L2u9rpwr/
84
- * https://jsfiddle.net/highcharts/y5A37/
85
- * https://jsfiddle.net/highcharts/264Nm/
86
- * https://jsfiddle.net/highcharts/y5A37/
69
+ * @declare Highcharts.SeriesLabelOptionsObject
70
+ * @since 6.0.0
71
+ * @product highcharts highstock gantt
72
+ * @requires modules/series-label
73
+ * @optionparent plotOptions.series.label
87
74
  */
88
- ''; // detach doclets above
89
- var labelDistance = 3;
90
- setOptions({
91
- /**
92
- * @optionparent plotOptions
93
- *
94
- * @private
95
- */
96
- plotOptions: {
97
- series: {
98
- /**
99
- * Series labels are placed as close to the series as possible in a
100
- * natural way, seeking to avoid other series. The goal of this
101
- * feature is to make the chart more easily readable, like if a
102
- * human designer placed the labels in the optimal position.
103
- *
104
- * The series labels currently work with series types having a
105
- * `graph` or an `area`.
106
- *
107
- * @sample highcharts/series-label/line-chart
108
- * Line chart
109
- * @sample highcharts/demo/streamgraph
110
- * Stream graph
111
- * @sample highcharts/series-label/stock-chart
112
- * Stock chart
113
- *
114
- * @declare Highcharts.SeriesLabelOptionsObject
115
- * @since 6.0.0
116
- * @product highcharts highstock gantt
117
- * @requires modules/series-label
118
- */
119
- label: {
120
- /**
121
- * Enable the series label per series.
122
- */
123
- enabled: true,
124
- /**
125
- * Allow labels to be placed distant to the graph if necessary,
126
- * and draw a connector line to the graph. Setting this option
127
- * to true may decrease the performance significantly, since the
128
- * algorithm with systematically search for open spaces in the
129
- * whole plot area. Visually, it may also result in a more
130
- * cluttered chart, though more of the series will be labeled.
131
- */
132
- connectorAllowed: false,
133
- /**
134
- * If the label is closer than this to a neighbour graph, draw a
135
- * connector.
136
- */
137
- connectorNeighbourDistance: 24,
138
- /**
139
- * A format string for the label, with support for a subset of
140
- * HTML. Variables are enclosed by curly brackets. Available
141
- * variables are `name`, `options.xxx`, `color` and other
142
- * members from the `series` object. Use this option also to set
143
- * a static text for the label.
144
- *
145
- * @type string
146
- * @since 8.1.0
147
- */
148
- format: void 0,
149
- /**
150
- * Callback function to format each of the series' labels. The
151
- * `this` keyword refers to the series object. By default the
152
- * `formatter` is undefined and the `series.name` is rendered.
153
- *
154
- * @type {Highcharts.FormatterCallbackFunction<Series>}
155
- * @since 8.1.0
156
- */
157
- formatter: void 0,
158
- /**
159
- * For area-like series, allow the font size to vary so that
160
- * small areas get a smaller font size. The default applies this
161
- * effect to area-like series but not line-like series.
162
- *
163
- * @type {number|null}
164
- */
165
- minFontSize: null,
166
- /**
167
- * For area-like series, allow the font size to vary so that
168
- * small areas get a smaller font size. The default applies this
169
- * effect to area-like series but not line-like series.
170
- *
171
- * @type {number|null}
172
- */
173
- maxFontSize: null,
174
- /**
175
- * Draw the label on the area of an area series. By default it
176
- * is drawn on the area. Set it to `false` to draw it next to
177
- * the graph instead.
178
- *
179
- * @type {boolean|null}
180
- */
181
- onArea: null,
182
- /**
183
- * Styles for the series label. The color defaults to the series
184
- * color, or a contrast color if `onArea`.
185
- *
186
- * @type {Highcharts.CSSObject}
187
- */
188
- style: {
189
- /** @internal */
190
- fontWeight: 'bold'
191
- },
192
- /**
193
- * An array of boxes to avoid when laying out the labels. Each
194
- * item has a `left`, `right`, `top` and `bottom` property.
195
- *
196
- * @type {Array<Highcharts.LabelIntersectBoxObject>}
197
- */
198
- boxesToAvoid: []
199
- }
200
- }
201
- }
202
- });
203
- /* eslint-disable valid-jsdoc */
75
+ var SeriesLabelDefaults = {
76
+ /**
77
+ * Enable the series label per series.
78
+ */
79
+ enabled: true,
80
+ /**
81
+ * Allow labels to be placed distant to the graph if necessary,
82
+ * and draw a connector line to the graph. Setting this option
83
+ * to true may decrease the performance significantly,
84
+ since the
85
+ * algorithm with systematically search for open spaces in the
86
+ * whole plot area. Visually,
87
+ it may also result in a more
88
+ * cluttered chart,
89
+ though more of the series will be labeled.
90
+ */
91
+ connectorAllowed: false,
92
+ /**
93
+ * If the label is closer than this to a neighbour graph,
94
+ draw a
95
+ * connector.
96
+ */
97
+ connectorNeighbourDistance: 24,
98
+ /**
99
+ * A format string for the label,
100
+ with support for a subset of
101
+ * HTML. Variables are enclosed by curly brackets. Available
102
+ * variables are `name`,
103
+ `options.xxx`,
104
+ `color` and other
105
+ * members from the `series` object. Use this option also to set
106
+ * a static text for the label.
107
+ *
108
+ * @type string
109
+ * @since 8.1.0
110
+ */
111
+ format: void 0,
112
+ /**
113
+ * Callback function to format each of the series' labels. The
114
+ * `this` keyword refers to the series object. By default the
115
+ * `formatter` is undefined and the `series.name` is rendered.
116
+ *
117
+ * @type {Highcharts.FormatterCallbackFunction<Series>}
118
+ * @since 8.1.0
119
+ */
120
+ formatter: void 0,
121
+ /**
122
+ * For area-like series,
123
+ allow the font size to vary so that
124
+ * small areas get a smaller font size. The default applies this
125
+ * effect to area-like series but not line-like series.
126
+ *
127
+ * @type {number|null}
128
+ */
129
+ minFontSize: null,
130
+ /**
131
+ * For area-like series,
132
+ allow the font size to vary so that
133
+ * small areas get a smaller font size. The default applies this
134
+ * effect to area-like series but not line-like series.
135
+ *
136
+ * @type {number|null}
137
+ */
138
+ maxFontSize: null,
139
+ /**
140
+ * Draw the label on the area of an area series. By default it
141
+ * is drawn on the area. Set it to `false` to draw it next to
142
+ * the graph instead.
143
+ *
144
+ * @type {boolean|null}
145
+ */
146
+ onArea: null,
147
+ /**
148
+ * Styles for the series label. The color defaults to the series
149
+ * color,
150
+ or a contrast color if `onArea`.
151
+ *
152
+ * @type {Highcharts.CSSObject}
153
+ */
154
+ style: {
155
+ /** @internal */
156
+ fontWeight: 'bold'
157
+ },
158
+ /**
159
+ * An array of boxes to avoid when laying out the labels. Each
160
+ * item has a `left`,
161
+ `right`,
162
+ `top` and `bottom` property.
163
+ *
164
+ * @type {Array<Highcharts.LabelIntersectBoxObject>}
165
+ */
166
+ boxesToAvoid: []
167
+ };
168
+ /* *
169
+ *
170
+ * Default Export
171
+ *
172
+ * */
173
+
174
+ return SeriesLabelDefaults;
175
+ });
176
+ _registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabelUtilities.js', [], function () {
177
+ /* *
178
+ *
179
+ * (c) 2009-2021 Torstein Honsi
180
+ *
181
+ * License: www.highcharts.com/license
182
+ *
183
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
184
+ *
185
+ * */
186
+ /* *
187
+ *
188
+ * Functions
189
+ *
190
+ * */
204
191
  /**
205
192
  * Counter-clockwise, part of the fast line intersection logic.
206
193
  *
@@ -235,224 +222,92 @@
235
222
  );
236
223
  }
237
224
  /**
238
- * General symbol definition for labels with connector.
239
- */
240
- symbols.connector = function (x, y, w, h, options) {
241
- var anchorX = options && options.anchorX,
242
- anchorY = options && options.anchorY;
243
- var path,
244
- yOffset,
245
- lateral = w / 2;
246
- if (isNumber(anchorX) && isNumber(anchorY)) {
247
- path = [['M', anchorX, anchorY]];
248
- // Prefer 45 deg connectors
249
- yOffset = y - anchorY;
250
- if (yOffset < 0) {
251
- yOffset = -h - yOffset;
252
- }
253
- if (yOffset < w) {
254
- lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;
255
- }
256
- // Anchor below label
257
- if (anchorY > y + h) {
258
- path.push(['L', x + lateral, y + h]);
259
- // Anchor above label
260
- }
261
- else if (anchorY < y) {
262
- path.push(['L', x + lateral, y]);
263
- // Anchor left of label
264
- }
265
- else if (anchorX < x) {
266
- path.push(['L', x, y + h / 2]);
267
- // Anchor right of label
268
- }
269
- else if (anchorX > x + w) {
270
- path.push(['L', x + w, y + h / 2]);
271
- }
272
- }
273
- return path || [];
274
- };
275
- /**
276
- * Points to avoid. In addition to actual data points, the label should avoid
277
- * interpolated positions.
278
- *
279
225
  * @private
280
- * @function Highcharts.Series#getPointsOnGraph
281
226
  */
282
- Series.prototype.getPointsOnGraph = function () {
283
- if (!this.xAxis && !this.yAxis) {
284
- return;
285
- }
286
- var distance = 16,
287
- points = this.points,
288
- interpolated = [],
289
- graph = this.graph || this.area,
290
- node = graph.element,
291
- inverted = this.chart.inverted,
292
- xAxis = this.xAxis,
293
- yAxis = this.yAxis,
294
- paneLeft = inverted ? yAxis.pos : xAxis.pos,
295
- paneTop = inverted ? xAxis.pos : yAxis.pos,
296
- onArea = pick(this.options.label.onArea, !!this.area),
297
- translatedThreshold = yAxis.getThreshold(this.options.threshold),
298
- grid = {};
299
- var point,
300
- last,
301
- i,
302
- deltaX,
303
- deltaY,
304
- delta,
305
- len,
306
- n,
307
- j,
308
- d;
309
- /**
310
- * Push the point to the interpolated points, but only if that position in
311
- * the grid has not been occupied. As a performance optimization, we divide
312
- * the plot area into a grid and only add one point per series (#9815).
313
- * @private
314
- */
315
- function pushDiscrete(point) {
316
- var cellSize = 8, key = Math.round(point.plotX / cellSize) + ',' +
317
- Math.round(point.plotY / cellSize);
318
- if (!grid[key]) {
319
- grid[key] = 1;
320
- interpolated.push(point);
321
- }
322
- }
323
- // For splines, get the point at length (possible caveat: peaks are not
324
- // correctly detected)
325
- if (this.getPointSpline &&
326
- node.getPointAtLength &&
327
- !onArea &&
328
- // Not performing well on complex series, node.getPointAtLength is too
329
- // heavy (#9815)
330
- points.length < this.chart.plotSizeX / distance) {
331
- // If it is animating towards a path definition, use that briefly, and
332
- // reset
333
- if (graph.toD) {
334
- d = graph.attr('d');
335
- graph.attr({ d: graph.toD });
336
- }
337
- len = node.getTotalLength();
338
- for (i = 0; i < len; i += distance) {
339
- point = node.getPointAtLength(i);
340
- pushDiscrete({
341
- chartX: paneLeft + point.x,
342
- chartY: paneTop + point.y,
343
- plotX: point.x,
344
- plotY: point.y
345
- });
346
- }
347
- if (d) {
348
- graph.attr({ d: d });
349
- }
350
- // Last point
351
- point = points[points.length - 1];
352
- point.chartX = paneLeft + point.plotX;
353
- point.chartY = paneTop + point.plotY;
354
- pushDiscrete(point);
355
- // Interpolate
356
- }
357
- else {
358
- len = points.length;
359
- for (i = 0; i < len; i += 1) {
360
- point = points[i];
361
- last = points[i - 1];
362
- // Absolute coordinates so we can compare different panes
363
- point.chartX = paneLeft + point.plotX;
364
- point.chartY = paneTop + point.plotY;
365
- if (onArea) {
366
- // Vertically centered inside area
367
- point.chartCenterY = paneTop + (point.plotY +
368
- pick(point.yBottom, translatedThreshold)) / 2;
369
- }
370
- // Add interpolated points
371
- if (i > 0) {
372
- deltaX = Math.abs(point.chartX - last.chartX);
373
- deltaY = Math.abs(point.chartY - last.chartY);
374
- delta = Math.max(deltaX, deltaY);
375
- if (delta > distance) {
376
- n = Math.ceil(delta / distance);
377
- for (j = 1; j < n; j += 1) {
378
- pushDiscrete({
379
- chartX: last.chartX +
380
- (point.chartX - last.chartX) *
381
- (j / n),
382
- chartY: last.chartY +
383
- (point.chartY - last.chartY) *
384
- (j / n),
385
- chartCenterY: last.chartCenterY +
386
- (point.chartCenterY -
387
- last.chartCenterY) * (j / n),
388
- plotX: last.plotX +
389
- (point.plotX - last.plotX) *
390
- (j / n),
391
- plotY: last.plotY +
392
- (point.plotY - last.plotY) *
393
- (j / n)
394
- });
395
- }
396
- }
397
- }
398
- // Add the real point in order to find positive and negative peaks
399
- if (isNumber(point.plotY)) {
400
- pushDiscrete(point);
401
- }
402
- }
403
- }
404
- // Get the bounding box so we can do a quick check first if the bounding
405
- // boxes overlap.
406
- /*
407
- interpolated.bBox = node.getBBox();
408
- interpolated.bBox.x += paneLeft;
409
- interpolated.bBox.y += paneTop;
410
- */
411
- return interpolated;
412
- };
413
- /**
414
- * Overridable function to return series-specific font sizes for the labels. By
415
- * default it returns bigger font sizes for series with the greater sum of y
416
- * values.
227
+ function intersectRect(r1, r2) {
228
+ return !(r2.left > r1.right ||
229
+ r2.right < r1.left ||
230
+ r2.top > r1.bottom ||
231
+ r2.bottom < r1.top);
232
+ }
233
+ /* *
417
234
  *
418
- * @private
419
- * @function Highcharts.Series#labelFontSize
235
+ * Default Export
236
+ *
237
+ * */
238
+ var SeriesLabelUtilities = {
239
+ boxIntersectLine: boxIntersectLine,
240
+ intersectRect: intersectRect
241
+ };
242
+
243
+ return SeriesLabelUtilities;
244
+ });
245
+ _registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabel.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/FormatUtilities.js'], _modules['Core/DefaultOptions.js'], _modules['Extensions/SeriesLabel/SeriesLabelDefaults.js'], _modules['Extensions/SeriesLabel/SeriesLabelUtilities.js'], _modules['Core/Utilities.js']], function (A, Chart, FU, D, SeriesLabelDefaults, SLU, U) {
246
+ /* *
247
+ *
248
+ * (c) 2009-2021 Torstein Honsi
249
+ *
250
+ * License: www.highcharts.com/license
251
+ *
252
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
253
+ *
254
+ * */
255
+ /*
256
+ * Highcharts module to place labels next to a series in a natural position.
257
+ *
258
+ * TODO:
259
+ * - add column support (box collision detection, boxesToAvoid logic)
260
+ * - avoid data labels, when data labels above, show series label below.
261
+ * - add more options (connector, format, formatter)
262
+ *
263
+ * https://jsfiddle.net/highcharts/L2u9rpwr/
264
+ * https://jsfiddle.net/highcharts/y5A37/
265
+ * https://jsfiddle.net/highcharts/264Nm/
266
+ * https://jsfiddle.net/highcharts/y5A37/
420
267
  */
421
- Series.prototype.labelFontSize = function (minFontSize, maxFontSize) {
422
- return minFontSize + ((this.sum / this.chart.labelSeriesMaxSum) *
423
- (maxFontSize - minFontSize)) + 'px';
424
- };
268
+ var animObject = A.animObject;
269
+ var format = FU.format;
270
+ var setOptions = D.setOptions;
271
+ var boxIntersectLine = SLU.boxIntersectLine,
272
+ intersectRect = SLU.intersectRect;
273
+ var addEvent = U.addEvent,
274
+ extend = U.extend,
275
+ fireEvent = U.fireEvent,
276
+ isNumber = U.isNumber,
277
+ pick = U.pick,
278
+ syncTimeout = U.syncTimeout;
279
+ /* *
280
+ *
281
+ * Constants
282
+ *
283
+ * */
284
+ var composedClasses = [];
285
+ var labelDistance = 3;
286
+ /* *
287
+ *
288
+ * Functions
289
+ *
290
+ * */
425
291
  /**
426
292
  * Check whether a proposed label position is clear of other elements.
427
- *
428
293
  * @private
429
- * @function Highcharts.Series#checkClearPoint
430
294
  */
431
- Series.prototype.checkClearPoint = function (x, y, bBox, checkDistance) {
432
- var chart = this.chart,
433
- onArea = pick(this.options.label.onArea, !!this.area),
434
- findDistanceToOthers = (onArea || this.options.label.connectorAllowed),
295
+ function checkClearPoint(series, x, y, bBox, checkDistance) {
296
+ var chart = series.chart,
297
+ onArea = pick(series.options.label.onArea, !!series.area),
298
+ findDistanceToOthers = (onArea || series.options.label.connectorAllowed),
435
299
  leastDistance = 16;
436
300
  var distToOthersSquared = Number.MAX_VALUE, // distance to other graphs
437
301
  distToPointSquared = Number.MAX_VALUE,
438
302
  dist,
439
303
  connectorPoint,
440
- series,
304
+ serie,
441
305
  points,
442
306
  withinRange,
443
307
  xDist,
444
308
  yDist,
445
309
  i,
446
310
  j;
447
- /**
448
- * @private
449
- */
450
- function intersectRect(r1, r2) {
451
- return !(r2.left > r1.right ||
452
- r2.right < r1.left ||
453
- r2.top > r1.bottom ||
454
- r2.bottom < r1.top);
455
- }
456
311
  /**
457
312
  * Get the weight in order to determine the ideal position. Larger distance
458
313
  * to other series gives more weight. Smaller distance to the actual point
@@ -476,9 +331,9 @@
476
331
  // For each position, check if the lines around the label intersect with any
477
332
  // of the graphs.
478
333
  for (i = 0; i < chart.series.length; i += 1) {
479
- series = chart.series[i];
480
- points = series.interpolatedPoints;
481
- if (series.visible && points) {
334
+ serie = chart.series[i];
335
+ points = serie.interpolatedPoints;
336
+ if (serie.visible && points) {
482
337
  for (j = 1; j < points.length; j += 1) {
483
338
  if (
484
339
  // To avoid processing, only check intersection if the X
@@ -501,14 +356,14 @@
501
356
  }
502
357
  // But if it is too far away (a padded box doesn't
503
358
  // intersect), also return.
504
- if (this === series && !withinRange && checkDistance) {
359
+ if (series === serie && !withinRange && checkDistance) {
505
360
  withinRange = boxIntersectLine(x - leastDistance, y - leastDistance, bBox.width + 2 * leastDistance, bBox.height + 2 * leastDistance, points[j - 1].chartX, points[j - 1].chartY, points[j].chartX, points[j].chartY);
506
361
  }
507
362
  }
508
363
  // Find the squared distance from the center of the label. On
509
364
  // area series, avoid its own graph.
510
365
  if ((findDistanceToOthers || withinRange) &&
511
- (this !== series || onArea)) {
366
+ (series !== serie || onArea)) {
512
367
  xDist = x + bBox.width / 2 - points[j].chartX;
513
368
  yDist = y + bBox.height / 2 - points[j].chartY;
514
369
  distToOthersSquared = Math.min(distToOthersSquared, xDist * xDist + yDist * yDist);
@@ -517,9 +372,10 @@
517
372
  // Do we need a connector?
518
373
  if (!onArea &&
519
374
  findDistanceToOthers &&
520
- this === series &&
375
+ series === serie &&
521
376
  ((checkDistance && !withinRange) ||
522
- distToOthersSquared < Math.pow(this.options.label.connectorNeighbourDistance, 2))) {
377
+ distToOthersSquared < Math.pow(series.options.label
378
+ .connectorNeighbourDistance, 2))) {
523
379
  for (j = 1; j < points.length; j += 1) {
524
380
  dist = Math.min((Math.pow(x + bBox.width / 2 - points[j].chartX, 2) +
525
381
  Math.pow(y + bBox.height / 2 - points[j].chartY, 2)), (Math.pow(x - points[j].chartX, 2) +
@@ -542,7 +398,26 @@
542
398
  weight: getWeight(distToOthersSquared, connectorPoint ? distToPointSquared : 0),
543
399
  connectorPoint: connectorPoint
544
400
  } : false;
545
- };
401
+ }
402
+ /**
403
+ * @private
404
+ */
405
+ function compose(ChartClass, SVGRendererClass) {
406
+ if (composedClasses.indexOf(ChartClass) === -1) {
407
+ composedClasses.push(ChartClass);
408
+ // Leave both events, we handle animation differently (#9815)
409
+ addEvent(Chart, 'load', onChartRedraw);
410
+ addEvent(Chart, 'redraw', onChartRedraw);
411
+ }
412
+ if (composedClasses.indexOf(SVGRendererClass) === -1) {
413
+ composedClasses.push(SVGRendererClass);
414
+ SVGRendererClass.prototype.symbols.connector = symbolConnector;
415
+ }
416
+ if (composedClasses.indexOf(setOptions) === -1) {
417
+ composedClasses.push(setOptions);
418
+ setOptions({ plotOptions: { series: { label: SeriesLabelDefaults } } });
419
+ }
420
+ }
546
421
  /**
547
422
  * The main initialize method that runs on chart level after initialization and
548
423
  * redraw. It runs in a timeout to prevent locking, and loops over all series,
@@ -551,14 +426,13 @@
551
426
  * @private
552
427
  * @function Highcharts.Chart#drawSeriesLabels
553
428
  */
554
- Chart.prototype.drawSeriesLabels = function () {
429
+ function drawSeriesLabels(chart) {
555
430
  // console.time('drawSeriesLabels');
556
- var chart = this,
557
- labelSeries = this.labelSeries;
431
+ var labelSeries = chart.labelSeries;
558
432
  chart.boxesToAvoid = [];
559
433
  // Build the interpolated points
560
434
  labelSeries.forEach(function (series) {
561
- series.interpolatedPoints = series.getPointsOnGraph();
435
+ series.interpolatedPoints = getPointsOnGraph(series);
562
436
  (series.options.label.boxesToAvoid || []).forEach(function (box) {
563
437
  chart.boxesToAvoid.push(box);
564
438
  });
@@ -610,7 +484,7 @@
610
484
  series.labelBySeries = label.destroy();
611
485
  }
612
486
  }
613
- if (series.visible && !series.isSeriesBoosting && points) {
487
+ if (series.visible && !series.boosted && points) {
614
488
  if (!label) {
615
489
  var labelText = series.name;
616
490
  if (typeof labelOptions.format === 'string') {
@@ -620,7 +494,7 @@
620
494
  labelText = labelOptions.formatter.call(series);
621
495
  }
622
496
  series.labelBySeries = label = chart.renderer
623
- .label(labelText, 0, -9999, 'connector')
497
+ .label(labelText, 0, 0, 'connector')
624
498
  .addClass('highcharts-series-label ' +
625
499
  'highcharts-series-label-' + series.index + ' ' +
626
500
  (series.options.className || '') + ' ' +
@@ -640,7 +514,7 @@
640
514
  // Adapt label sizes to the sum of the data
641
515
  if (minFontSize && maxFontSize) {
642
516
  label.css({
643
- fontSize: series.labelFontSize(minFontSize, maxFontSize)
517
+ fontSize: labelFontSize(series, minFontSize, maxFontSize)
644
518
  });
645
519
  }
646
520
  label
@@ -660,7 +534,7 @@
660
534
  x = points[i].chartX - bBox.width / 2;
661
535
  y = points[i].chartCenterY - bBox.height / 2;
662
536
  if (insidePane(x, y, bBox)) {
663
- best = series.checkClearPoint(x, y, bBox);
537
+ best = checkClearPoint(series, x, y, bBox);
664
538
  }
665
539
  if (best) {
666
540
  results.push(best);
@@ -671,7 +545,7 @@
671
545
  x = points[i].chartX + labelDistance;
672
546
  y = points[i].chartY - bBox.height - labelDistance;
673
547
  if (insidePane(x, y, bBox)) {
674
- best = series.checkClearPoint(x, y, bBox, true);
548
+ best = checkClearPoint(series, x, y, bBox, true);
675
549
  }
676
550
  if (best) {
677
551
  results.push(best);
@@ -680,7 +554,7 @@
680
554
  x = points[i].chartX + labelDistance;
681
555
  y = points[i].chartY + labelDistance;
682
556
  if (insidePane(x, y, bBox)) {
683
- best = series.checkClearPoint(x, y, bBox, true);
557
+ best = checkClearPoint(series, x, y, bBox, true);
684
558
  }
685
559
  if (best) {
686
560
  results.push(best);
@@ -689,7 +563,7 @@
689
563
  x = points[i].chartX - bBox.width - labelDistance;
690
564
  y = points[i].chartY + labelDistance;
691
565
  if (insidePane(x, y, bBox)) {
692
- best = series.checkClearPoint(x, y, bBox, true);
566
+ best = checkClearPoint(series, x, y, bBox, true);
693
567
  }
694
568
  if (best) {
695
569
  results.push(best);
@@ -698,7 +572,7 @@
698
572
  x = points[i].chartX - bBox.width - labelDistance;
699
573
  y = points[i].chartY - bBox.height - labelDistance;
700
574
  if (insidePane(x, y, bBox)) {
701
- best = series.checkClearPoint(x, y, bBox, true);
575
+ best = checkClearPoint(series, x, y, bBox, true);
702
576
  }
703
577
  if (best) {
704
578
  results.push(best);
@@ -709,7 +583,7 @@
709
583
  if (labelOptions.connectorAllowed && !results.length && !onArea) {
710
584
  for (x = paneLeft + paneWidth - bBox.width; x >= paneLeft; x -= 16) {
711
585
  for (y = paneTop; y < paneTop + paneHeight - bBox.height; y += 16) {
712
- clearPoint = series.checkClearPoint(x, y, bBox, true);
586
+ clearPoint = checkClearPoint(series, x, y, bBox, true);
713
587
  if (clearPoint) {
714
588
  results.push(clearPoint);
715
589
  }
@@ -717,9 +591,7 @@
717
591
  }
718
592
  }
719
593
  if (results.length) {
720
- results.sort(function (a, b) {
721
- return b.weight - a.weight;
722
- });
594
+ results.sort(function (a, b) { return b.weight - a.weight; });
723
595
  best = results[0];
724
596
  chart.boxesToAvoid.push({
725
597
  left: best.x,
@@ -792,15 +664,160 @@
792
664
  });
793
665
  fireEvent(chart, 'afterDrawSeriesLabels');
794
666
  // console.timeEnd('drawSeriesLabels');
795
- };
796
- /* eslint-disable no-invalid-this */
667
+ }
797
668
  /**
798
- * Prepare drawing series labels.
669
+ * Points to avoid. In addition to actual data points, the label should avoid
670
+ * interpolated positions.
799
671
  *
800
672
  * @private
801
- * @function drawLabels
673
+ * @function Highcharts.Series#getPointsOnGraph
674
+ */
675
+ function getPointsOnGraph(series) {
676
+ if (!series.xAxis && !series.yAxis) {
677
+ return;
678
+ }
679
+ var distance = 16,
680
+ points = series.points,
681
+ interpolated = [],
682
+ graph = series.graph || series.area,
683
+ node = graph.element,
684
+ inverted = series.chart.inverted,
685
+ xAxis = series.xAxis,
686
+ yAxis = series.yAxis,
687
+ paneLeft = inverted ? yAxis.pos : xAxis.pos,
688
+ paneTop = inverted ? xAxis.pos : yAxis.pos,
689
+ onArea = pick(series.options.label.onArea, !!series.area),
690
+ translatedThreshold = yAxis.getThreshold(series.options.threshold),
691
+ grid = {};
692
+ var point,
693
+ last,
694
+ i,
695
+ deltaX,
696
+ deltaY,
697
+ delta,
698
+ len,
699
+ n,
700
+ j,
701
+ d;
702
+ /**
703
+ * Push the point to the interpolated points, but only if that position in
704
+ * the grid has not been occupied. As a performance optimization, we divide
705
+ * the plot area into a grid and only add one point per series (#9815).
706
+ * @private
707
+ */
708
+ function pushDiscrete(point) {
709
+ var cellSize = 8, key = Math.round(point.plotX / cellSize) + ',' +
710
+ Math.round(point.plotY / cellSize);
711
+ if (!grid[key]) {
712
+ grid[key] = 1;
713
+ interpolated.push(point);
714
+ }
715
+ }
716
+ // For splines, get the point at length (possible caveat: peaks are not
717
+ // correctly detected)
718
+ if (series.getPointSpline &&
719
+ (node.getPointAtLength) &&
720
+ !onArea &&
721
+ // Not performing well on complex series, node.getPointAtLength is too
722
+ // heavy (#9815)
723
+ points.length < series.chart.plotSizeX / distance) {
724
+ // If it is animating towards a path definition, use that briefly, and
725
+ // reset
726
+ if (graph.toD) {
727
+ d = graph.attr('d');
728
+ graph.attr({ d: graph.toD });
729
+ }
730
+ len = node.getTotalLength();
731
+ for (i = 0; i < len; i += distance) {
732
+ point = node.getPointAtLength(i);
733
+ pushDiscrete({
734
+ chartX: paneLeft + point.x,
735
+ chartY: paneTop + point.y,
736
+ plotX: point.x,
737
+ plotY: point.y
738
+ });
739
+ }
740
+ if (d) {
741
+ graph.attr({ d: d });
742
+ }
743
+ // Last point
744
+ point = points[points.length - 1];
745
+ point.chartX = paneLeft + point.plotX;
746
+ point.chartY = paneTop + point.plotY;
747
+ pushDiscrete(point);
748
+ // Interpolate
749
+ }
750
+ else {
751
+ len = points.length;
752
+ for (i = 0; i < len; i += 1) {
753
+ point = points[i];
754
+ last = points[i - 1];
755
+ // Absolute coordinates so we can compare different panes
756
+ point.chartX = paneLeft + point.plotX;
757
+ point.chartY = paneTop + point.plotY;
758
+ if (onArea) {
759
+ // Vertically centered inside area
760
+ point.chartCenterY = paneTop + (point.plotY +
761
+ pick(point.yBottom, translatedThreshold)) / 2;
762
+ }
763
+ // Add interpolated points
764
+ if (i > 0) {
765
+ deltaX = Math.abs(point.chartX - last.chartX);
766
+ deltaY = Math.abs(point.chartY - last.chartY);
767
+ delta = Math.max(deltaX, deltaY);
768
+ if (delta > distance) {
769
+ n = Math.ceil(delta / distance);
770
+ for (j = 1; j < n; j += 1) {
771
+ pushDiscrete({
772
+ chartX: last.chartX +
773
+ (point.chartX - last.chartX) *
774
+ (j / n),
775
+ chartY: last.chartY +
776
+ (point.chartY - last.chartY) *
777
+ (j / n),
778
+ chartCenterY: last.chartCenterY +
779
+ (point.chartCenterY -
780
+ last.chartCenterY) * (j / n),
781
+ plotX: last.plotX +
782
+ (point.plotX - last.plotX) *
783
+ (j / n),
784
+ plotY: last.plotY +
785
+ (point.plotY - last.plotY) *
786
+ (j / n)
787
+ });
788
+ }
789
+ }
790
+ }
791
+ // Add the real point in order to find positive and negative peaks
792
+ if (isNumber(point.plotY)) {
793
+ pushDiscrete(point);
794
+ }
795
+ }
796
+ }
797
+ // Get the bounding box so we can do a quick check first if the bounding
798
+ // boxes overlap.
799
+ /*
800
+ interpolated.bBox = node.getBBox();
801
+ interpolated.bBox.x += paneLeft;
802
+ interpolated.bBox.y += paneTop;
803
+ */
804
+ return interpolated;
805
+ }
806
+ /**
807
+ * Overridable function to return series-specific font sizes for the labels. By
808
+ * default it returns bigger font sizes for series with the greater sum of y
809
+ * values.
810
+ * @private
811
+ */
812
+ function labelFontSize(series, minFontSize, maxFontSize) {
813
+ return minFontSize + ((series.sum / series.chart.labelSeriesMaxSum) *
814
+ (maxFontSize - minFontSize)) + 'px';
815
+ }
816
+ /**
817
+ * Prepare drawing series labels.
818
+ * @private
802
819
  */
803
- function drawLabels(e) {
820
+ function onChartRedraw(e) {
804
821
  if (this.renderer) {
805
822
  var chart_1 = this;
806
823
  var delay_1 = animObject(chart_1.renderer.globalAnimation).duration;
@@ -815,7 +832,7 @@
815
832
  if (options.enabled &&
816
833
  series.visible &&
817
834
  (series.graph || series.area) &&
818
- !series.isSeriesBoosting) {
835
+ !series.boosted) {
819
836
  chart_1.labelSeries.push(series);
820
837
  if (options.minFontSize && options.maxFontSize) {
821
838
  series.sum = series.yData.reduce(function (pv, cv) {
@@ -844,18 +861,88 @@
844
861
  });
845
862
  chart_1.seriesLabelTimer = syncTimeout(function () {
846
863
  if (chart_1.series && chart_1.labelSeries) { // #7931, chart destroyed
847
- chart_1.drawSeriesLabels();
864
+ drawSeriesLabels(chart_1);
848
865
  }
849
866
  }, chart_1.renderer.forExport || !delay_1 ? 0 : delay_1);
850
867
  }
851
868
  }
852
- // Leave both events, we handle animation differently (#9815)
853
- addEvent(Chart, 'load', drawLabels);
854
- addEvent(Chart, 'redraw', drawLabels);
869
+ /**
870
+ * General symbol definition for labels with connector.
871
+ * @private
872
+ */
873
+ function symbolConnector(x, y, w, h, options) {
874
+ var anchorX = options && options.anchorX,
875
+ anchorY = options && options.anchorY;
876
+ var path,
877
+ yOffset,
878
+ lateral = w / 2;
879
+ if (isNumber(anchorX) && isNumber(anchorY)) {
880
+ path = [['M', anchorX, anchorY]];
881
+ // Prefer 45 deg connectors
882
+ yOffset = y - anchorY;
883
+ if (yOffset < 0) {
884
+ yOffset = -h - yOffset;
885
+ }
886
+ if (yOffset < w) {
887
+ lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;
888
+ }
889
+ // Anchor below label
890
+ if (anchorY > y + h) {
891
+ path.push(['L', x + lateral, y + h]);
892
+ // Anchor above label
893
+ }
894
+ else if (anchorY < y) {
895
+ path.push(['L', x + lateral, y]);
896
+ // Anchor left of label
897
+ }
898
+ else if (anchorX < x) {
899
+ path.push(['L', x, y + h / 2]);
900
+ // Anchor right of label
901
+ }
902
+ else if (anchorX > x + w) {
903
+ path.push(['L', x + w, y + h / 2]);
904
+ }
905
+ }
906
+ return path || [];
907
+ }
908
+ /* *
909
+ *
910
+ * Default Export
911
+ *
912
+ * */
913
+ var SeriesLabel = {
914
+ compose: compose
915
+ };
916
+ /* *
917
+ *
918
+ * API Declarations
919
+ *
920
+ * */
921
+ /**
922
+ * Containing the position of a box that should be avoided by labels.
923
+ *
924
+ * @interface Highcharts.LabelIntersectBoxObject
925
+ */ /**
926
+ * @name Highcharts.LabelIntersectBoxObject#bottom
927
+ * @type {number}
928
+ */ /**
929
+ * @name Highcharts.LabelIntersectBoxObject#left
930
+ * @type {number}
931
+ */ /**
932
+ * @name Highcharts.LabelIntersectBoxObject#right
933
+ * @type {number}
934
+ */ /**
935
+ * @name Highcharts.LabelIntersectBoxObject#top
936
+ * @type {number}
937
+ */
938
+ (''); // keeps doclets above in JS file
855
939
 
940
+ return SeriesLabel;
856
941
  });
857
- _registerModule(_modules, 'masters/modules/series-label.src.js', [], function () {
942
+ _registerModule(_modules, 'masters/modules/series-label.src.js', [_modules['Core/Globals.js'], _modules['Extensions/SeriesLabel/SeriesLabel.js']], function (Highcharts, SeriesLabel) {
858
943
 
944
+ var G = Highcharts;
945
+ SeriesLabel.compose(G.Chart, G.SVGRenderer);
859
946
 
860
947
  });
861
948
  }));