highcharts 9.3.3 → 10.2.0

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