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
@@ -0,0 +1,819 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import A from '../Core/Animation/AnimationUtilities.js';
12
+ var animObject = A.animObject;
13
+ import H from '../Core/Globals.js';
14
+ import Pane from '../Extensions/Pane.js';
15
+ import RadialAxis from '../Core/Axis/RadialAxis.js';
16
+ import U from '../Core/Utilities.js';
17
+ var addEvent = U.addEvent, defined = U.defined, find = U.find, isNumber = U.isNumber, pick = U.pick, splat = U.splat, uniqueKey = U.uniqueKey, wrap = U.wrap;
18
+ /* *
19
+ *
20
+ * Constants
21
+ *
22
+ * */
23
+ var composedClasses = [];
24
+ /* *
25
+ *
26
+ * Functions
27
+ *
28
+ * */
29
+ /**
30
+ * @private
31
+ */
32
+ function clipCircle(renderer, x, y, r, innerR) {
33
+ var id = uniqueKey(), clipPath = renderer.createElement('clipPath').attr({
34
+ id: id
35
+ }).add(renderer.defs), wrapper = innerR ?
36
+ renderer.arc(x, y, r, innerR, 0, 2 * Math.PI).add(clipPath) :
37
+ renderer.circle(x, y, r).add(clipPath);
38
+ wrapper.id = id;
39
+ wrapper.clipPath = clipPath;
40
+ return wrapper;
41
+ }
42
+ /**
43
+ * Find correct align and vertical align based on an angle in polar chart
44
+ * @private
45
+ */
46
+ function findAlignments(angle, options) {
47
+ var align, verticalAlign;
48
+ if (options.align === null) {
49
+ if (angle > 20 && angle < 160) {
50
+ align = 'left'; // right hemisphere
51
+ }
52
+ else if (angle > 200 && angle < 340) {
53
+ align = 'right'; // left hemisphere
54
+ }
55
+ else {
56
+ align = 'center'; // top or bottom
57
+ }
58
+ options.align = align;
59
+ }
60
+ if (options.verticalAlign === null) {
61
+ if (angle < 45 || angle > 315) {
62
+ verticalAlign = 'bottom'; // top part
63
+ }
64
+ else if (angle > 135 && angle < 225) {
65
+ verticalAlign = 'top'; // bottom part
66
+ }
67
+ else {
68
+ verticalAlign = 'middle'; // left or right
69
+ }
70
+ options.verticalAlign = verticalAlign;
71
+ }
72
+ return options;
73
+ }
74
+ /**
75
+ * #6212 Calculate connectors for spline series in polar chart.
76
+ * @private
77
+ * @param {boolean} calculateNeighbours
78
+ * Check if connectors should be calculated for neighbour points as
79
+ * well allows short recurence
80
+ */
81
+ function getConnectors(segment, index, calculateNeighbours, connectEnds) {
82
+ var smoothing = 1.5, denom = smoothing + 1, addedNumber = connectEnds ? 1 : 0;
83
+ var i, leftContX, leftContY, rightContX, rightContY, jointAngle;
84
+ // Calculate final index of points depending on the initial index value.
85
+ // Because of calculating neighbours, index may be outisde segment
86
+ // array.
87
+ if (index >= 0 && index <= segment.length - 1) {
88
+ i = index;
89
+ }
90
+ else if (index < 0) {
91
+ i = segment.length - 1 + index;
92
+ }
93
+ else {
94
+ i = 0;
95
+ }
96
+ // 1 means control points midway between points, 2 means 1/3 from
97
+ // the point, 3 is 1/4 etc;
98
+ var prevPointInd = ((i - 1 < 0) ? segment.length - (1 + addedNumber) : i - 1), nextPointInd = (i + 1 > segment.length - 1) ? addedNumber : i + 1, previousPoint = segment[prevPointInd], nextPoint = segment[nextPointInd], previousX = previousPoint.plotX, previousY = previousPoint.plotY, nextX = nextPoint.plotX, nextY = nextPoint.plotY, plotX = segment[i].plotX, // actual point
99
+ plotY = segment[i].plotY;
100
+ leftContX = (smoothing * plotX + previousX) / denom;
101
+ leftContY = (smoothing * plotY + previousY) / denom;
102
+ rightContX = (smoothing * plotX + nextX) / denom;
103
+ rightContY = (smoothing * plotY + nextY) / denom;
104
+ // distance left control point
105
+ var dLControlPoint = Math.sqrt(Math.pow(leftContX - plotX, 2) + Math.pow(leftContY - plotY, 2)), dRControlPoint = Math.sqrt(Math.pow(rightContX - plotX, 2) + Math.pow(rightContY - plotY, 2)), leftContAngle = Math.atan2(leftContY - plotY, leftContX - plotX), rightContAngle = Math.atan2(rightContY - plotY, rightContX - plotX);
106
+ jointAngle = (Math.PI / 2) + ((leftContAngle + rightContAngle) / 2);
107
+ // Ensure the right direction, jointAngle should be in the same quadrant
108
+ // as leftContAngle
109
+ if (Math.abs(leftContAngle - jointAngle) > Math.PI / 2) {
110
+ jointAngle -= Math.PI;
111
+ }
112
+ // Find the corrected control points for a spline straight through the
113
+ // point
114
+ leftContX = plotX + Math.cos(jointAngle) * dLControlPoint;
115
+ leftContY = plotY + Math.sin(jointAngle) * dLControlPoint;
116
+ rightContX = plotX + Math.cos(Math.PI + jointAngle) * dRControlPoint;
117
+ rightContY = plotY + Math.sin(Math.PI + jointAngle) * dRControlPoint;
118
+ // push current point's connectors into returned object
119
+ var ret = {
120
+ rightContX: rightContX,
121
+ rightContY: rightContY,
122
+ leftContX: leftContX,
123
+ leftContY: leftContY,
124
+ plotX: plotX,
125
+ plotY: plotY
126
+ };
127
+ // calculate connectors for previous and next point and push them inside
128
+ // returned object
129
+ if (calculateNeighbours) {
130
+ ret.prevPointCont = getConnectors(segment, prevPointInd, false, connectEnds);
131
+ }
132
+ return ret;
133
+ }
134
+ function onChartAfterDrawChartBox() {
135
+ (this.pane || []).forEach(function (pane) {
136
+ pane.render();
137
+ });
138
+ }
139
+ function onChartGetAxes() {
140
+ var _this = this;
141
+ if (!this.pane) {
142
+ this.pane = [];
143
+ }
144
+ this.options.pane = splat(this.options.pane);
145
+ this.options.pane.forEach(function (paneOptions) {
146
+ new Pane(// eslint-disable-line no-new
147
+ paneOptions, _this);
148
+ }, this);
149
+ }
150
+ /**
151
+ * @private
152
+ */
153
+ function onSeriesAfterInit() {
154
+ var chart = this.chart;
155
+ if (chart.polar) {
156
+ this.polar = new PolarAdditions(this);
157
+ // Add flags that identifies radial inverted series
158
+ if (chart.inverted) {
159
+ this.isRadialSeries = true;
160
+ if (this.is('column')) {
161
+ this.isRadialBar = true;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Extend translate. The plotX and plotY values are computed as if the polar
168
+ * chart were a cartesian plane, where plotX denotes the angle in radians
169
+ * and (yAxis.len - plotY) is the pixel distance from center.
170
+ * @private
171
+ */
172
+ function onSeriesAfterTranslate() {
173
+ if (this.chart.polar && this.xAxis) {
174
+ var series = this, chart_1 = series.chart;
175
+ // Prepare k-d-tree handling. It searches by angle (clientX) in
176
+ // case of shared tooltip, and by two dimensional distance in case
177
+ // of non-shared.
178
+ series.kdByAngle = chart_1.tooltip && chart_1.tooltip.shared;
179
+ if (series.kdByAngle) {
180
+ series.searchPoint = series.polar.searchPointByAngle;
181
+ }
182
+ else {
183
+ series.options.findNearestPointBy = 'xy';
184
+ }
185
+ // Postprocess plot coordinates
186
+ if (!series.preventPostTranslate) {
187
+ var points = series.points;
188
+ var i = points.length, point = void 0;
189
+ while (i--) {
190
+ point = points[i];
191
+ // Translate plotX, plotY from angle and radius to true plot
192
+ // coordinates
193
+ series.polar.toXY(point);
194
+ // Treat points below Y axis min as null (#10082)
195
+ if (!chart_1.hasParallelCoordinates &&
196
+ !series.yAxis.reversed &&
197
+ point.y < series.yAxis.min) {
198
+ point.isNull = true;
199
+ }
200
+ }
201
+ }
202
+ // Perform clip after render
203
+ if (!this.hasClipCircleSetter) {
204
+ this.hasClipCircleSetter = !!series.eventsToUnbind.push(addEvent(series, 'afterRender', function () {
205
+ var circ;
206
+ if (chart_1.polar) {
207
+ // For clipping purposes there is a need for
208
+ // coordinates from the absolute center
209
+ circ = this.yAxis.pane.center;
210
+ if (!this.clipCircle) {
211
+ this.clipCircle = clipCircle(chart_1.renderer, circ[0], circ[1], circ[2] / 2, circ[3] / 2);
212
+ }
213
+ else {
214
+ this.clipCircle.animate({
215
+ x: circ[0],
216
+ y: circ[1],
217
+ r: circ[2] / 2,
218
+ innerR: circ[3] / 2
219
+ });
220
+ }
221
+ this.group.clip(this.clipCircle);
222
+ this.setClip = H.noop;
223
+ }
224
+ }));
225
+ }
226
+ }
227
+ }
228
+ /**
229
+ * Extend chart.get to also search in panes. Used internally in
230
+ * responsiveness and chart.update.
231
+ * @private
232
+ */
233
+ function wrapChartGet(proceed, id) {
234
+ return find(this.pane || [], function (pane) {
235
+ // @todo remove id or define id type:
236
+ return pane.options.id === id;
237
+ }) || proceed.call(this, id);
238
+ }
239
+ /**
240
+ * Align column data labels outside the columns. #1199.
241
+ * @private
242
+ */
243
+ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alignTo, isNew) {
244
+ var chart = this.chart, inside = pick(options.inside, !!this.options.stacking);
245
+ var angle, shapeArgs, labelPos;
246
+ if (chart.polar) {
247
+ angle = point.rectPlotX / Math.PI * 180;
248
+ if (!chart.inverted) {
249
+ // Align nicely outside the perimeter of the columns
250
+ options = findAlignments(angle, options);
251
+ }
252
+ else { // Required corrections for data labels of inverted bars
253
+ // The plotX and plotY are correctly set therefore they
254
+ // don't need to be swapped (inverted argument is false)
255
+ this.forceDL = chart.isInsidePlot(point.plotX, Math.round(point.plotY));
256
+ // Checks if labels should be positioned inside
257
+ if (inside && point.shapeArgs) {
258
+ shapeArgs = point.shapeArgs;
259
+ // Calculates pixel positions for a data label to be
260
+ // inside
261
+ labelPos =
262
+ this.yAxis.postTranslate(
263
+ // angle
264
+ ((shapeArgs.start || 0) + (shapeArgs.end || 0)) / 2 -
265
+ this
266
+ .xAxis.startAngleRad,
267
+ // radius
268
+ point.barX +
269
+ point.pointWidth / 2);
270
+ alignTo = {
271
+ x: labelPos.x - chart.plotLeft,
272
+ y: labelPos.y - chart.plotTop
273
+ };
274
+ }
275
+ else if (point.tooltipPos) {
276
+ alignTo = {
277
+ x: point.tooltipPos[0],
278
+ y: point.tooltipPos[1]
279
+ };
280
+ }
281
+ options.align = pick(options.align, 'center');
282
+ options.verticalAlign =
283
+ pick(options.verticalAlign, 'middle');
284
+ }
285
+ Object
286
+ .getPrototypeOf(Object.getPrototypeOf(this))
287
+ .alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);
288
+ // Hide label of a point (only inverted) that is outside the
289
+ // visible y range
290
+ if (this.isRadialBar && point.shapeArgs &&
291
+ point.shapeArgs.start === point.shapeArgs.end) {
292
+ dataLabel.hide();
293
+ }
294
+ else {
295
+ dataLabel.show();
296
+ }
297
+ }
298
+ else {
299
+ proceed.call(this, point, dataLabel, options, alignTo, isNew);
300
+ }
301
+ }
302
+ /**
303
+ * Extend the column prototype's translate method
304
+ * @private
305
+ */
306
+ function wrapColumnSeriesTranslate(proceed) {
307
+ var series = this, options = series.options, stacking = options.stacking, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, reversed = yAxis.reversed, center = yAxis.center, startAngleRad = xAxis.startAngleRad, endAngleRad = xAxis.endAngleRad, visibleRange = endAngleRad - startAngleRad;
308
+ var threshold = options.threshold, thresholdAngleRad = 0, points, point, i, yMin, yMax, start = 0, end = 0, tooltipPos, pointX, pointY, stackValues, stack, barX, innerR, r;
309
+ series.preventPostTranslate = true;
310
+ // Run uber method
311
+ proceed.call(series);
312
+ // Postprocess plot coordinates
313
+ if (xAxis.isRadial) {
314
+ points = series.points;
315
+ i = points.length;
316
+ yMin = yAxis.translate(yAxis.min);
317
+ yMax = yAxis.translate(yAxis.max);
318
+ threshold = options.threshold || 0;
319
+ if (chart.inverted) {
320
+ // Finding a correct threshold
321
+ if (isNumber(threshold)) {
322
+ thresholdAngleRad = yAxis.translate(threshold);
323
+ // Checks if threshold is outside the visible range
324
+ if (defined(thresholdAngleRad)) {
325
+ if (thresholdAngleRad < 0) {
326
+ thresholdAngleRad = 0;
327
+ }
328
+ else if (thresholdAngleRad > visibleRange) {
329
+ thresholdAngleRad = visibleRange;
330
+ }
331
+ // Adding start angle offset
332
+ series.translatedThreshold =
333
+ thresholdAngleRad + startAngleRad;
334
+ }
335
+ }
336
+ }
337
+ while (i--) {
338
+ point = points[i];
339
+ barX = point.barX;
340
+ pointX = point.x;
341
+ pointY = point.y;
342
+ point.shapeType = 'arc';
343
+ if (chart.inverted) {
344
+ point.plotY = yAxis.translate(pointY);
345
+ if (stacking && yAxis.stacking) {
346
+ stack = yAxis.stacking.stacks[(pointY < 0 ? '-' : '') +
347
+ series.stackKey];
348
+ if (series.visible && stack && stack[pointX]) {
349
+ if (!point.isNull) {
350
+ stackValues = stack[pointX].points[series.getStackIndicator(void 0, pointX, series.index).key];
351
+ // Translating to radial values
352
+ start = yAxis.translate(stackValues[0]);
353
+ end = yAxis.translate(stackValues[1]);
354
+ // If starting point is beyond the
355
+ // range, set it to 0
356
+ if (defined(start)) {
357
+ start = U.clamp(start, 0, visibleRange);
358
+ }
359
+ }
360
+ }
361
+ }
362
+ else {
363
+ // Initial start and end angles for radial bar
364
+ start = thresholdAngleRad;
365
+ end = point.plotY;
366
+ }
367
+ if (start > end) {
368
+ // Swapping start and end
369
+ end = [start, start = end][0];
370
+ }
371
+ // Prevent from rendering point outside the
372
+ // acceptable circular range
373
+ if (!reversed) {
374
+ if (start < yMin) {
375
+ start = yMin;
376
+ }
377
+ else if (end > yMax) {
378
+ end = yMax;
379
+ }
380
+ else if (end < yMin || start > yMax) {
381
+ start = end = 0;
382
+ }
383
+ }
384
+ else {
385
+ if (end > yMin) {
386
+ end = yMin;
387
+ }
388
+ else if (start < yMax) {
389
+ start = yMax;
390
+ }
391
+ else if (start > yMin || end < yMax) {
392
+ start = end = visibleRange;
393
+ }
394
+ }
395
+ if (yAxis.min > yAxis.max) {
396
+ start = end = reversed ? visibleRange : 0;
397
+ }
398
+ start += startAngleRad;
399
+ end += startAngleRad;
400
+ if (center) {
401
+ point.barX = barX += center[3] / 2;
402
+ }
403
+ // In case when radius, inner radius or both are
404
+ // negative, a point is rendered but partially or as
405
+ // a center point
406
+ innerR = Math.max(barX, 0);
407
+ r = Math.max(barX + point.pointWidth, 0);
408
+ point.shapeArgs = {
409
+ x: center && center[0],
410
+ y: center && center[1],
411
+ r: r,
412
+ innerR: innerR,
413
+ start: start,
414
+ end: end
415
+ };
416
+ // Fade out the points if not inside the polar "plot area"
417
+ point.opacity = start === end ? 0 : void 0;
418
+ // A correct value for stacked or not fully visible
419
+ // point
420
+ point.plotY = (defined(series.translatedThreshold) &&
421
+ (start < series.translatedThreshold ? start : end)) -
422
+ startAngleRad;
423
+ }
424
+ else {
425
+ start = barX + startAngleRad;
426
+ // Changed the way polar columns are drawn in order to make
427
+ // it more consistent with the drawing of inverted columns
428
+ // (they are using the same function now). Also, it was
429
+ // essential to make the animation work correctly (the
430
+ // scaling of the group) is replaced by animating each
431
+ // element separately.
432
+ point.shapeArgs = series.polar.arc(point.yBottom, point.plotY, start, start + point.pointWidth);
433
+ }
434
+ // Provided a correct coordinates for the tooltip
435
+ series.polar.toXY(point);
436
+ if (chart.inverted) {
437
+ tooltipPos = yAxis.postTranslate(point.rectPlotY, barX + point.pointWidth / 2);
438
+ point.tooltipPos = [
439
+ tooltipPos.x - chart.plotLeft,
440
+ tooltipPos.y - chart.plotTop
441
+ ];
442
+ }
443
+ else {
444
+ point.tooltipPos = [point.plotX, point.plotY];
445
+ }
446
+ if (center) {
447
+ point.ttBelow = point.plotY > center[1];
448
+ }
449
+ }
450
+ }
451
+ }
452
+ /**
453
+ * Extend getSegmentPath to allow connecting ends across 0 to provide a
454
+ * closed circle in line-like series.
455
+ * @private
456
+ */
457
+ function wrapLineSeriesGetGraphPath(proceed, points) {
458
+ var series = this;
459
+ var firstValid, popLastPoint;
460
+ // Connect the path
461
+ if (this.chart.polar) {
462
+ points = points || this.points;
463
+ // Append first valid point in order to connect the ends
464
+ for (var i = 0; i < points.length; i++) {
465
+ if (!points[i].isNull) {
466
+ firstValid = i;
467
+ break;
468
+ }
469
+ }
470
+ /**
471
+ * Polar charts only. Whether to connect the ends of a line series
472
+ * plot across the extremes.
473
+ *
474
+ * @sample {highcharts} highcharts/plotoptions/line-connectends-false/
475
+ * Do not connect
476
+ *
477
+ * @type {boolean}
478
+ * @since 2.3.0
479
+ * @product highcharts
480
+ * @apioption plotOptions.series.connectEnds
481
+ */
482
+ if (this.options.connectEnds !== false &&
483
+ typeof firstValid !== 'undefined') {
484
+ this.connectEnds = true; // re-used in splines
485
+ points.splice(points.length, 0, points[firstValid]);
486
+ popLastPoint = true;
487
+ }
488
+ // For area charts, pseudo points are added to the graph, now we
489
+ // need to translate these
490
+ points.forEach(function (point) {
491
+ if (typeof point.polarPlotY === 'undefined') {
492
+ series.polar.toXY(point);
493
+ }
494
+ });
495
+ }
496
+ // Run uber method
497
+ var ret = proceed.apply(this, [].slice.call(arguments, 1));
498
+ // #6212 points.splice method is adding points to an array. In case of
499
+ // areaspline getGraphPath method is used two times and in both times
500
+ // points are added to an array. That is why points.pop is used, to get
501
+ // unmodified points.
502
+ if (popLastPoint) {
503
+ points.pop();
504
+ }
505
+ return ret;
506
+ }
507
+ /**
508
+ * Extend getCoordinates to prepare for polar axis values
509
+ * @private
510
+ */
511
+ function wrapPointerGetCoordinates(proceed, e) {
512
+ var chart = this.chart;
513
+ var ret = {
514
+ xAxis: [],
515
+ yAxis: []
516
+ };
517
+ if (chart.polar) {
518
+ chart.axes.forEach(function (axis) {
519
+ // Skip colorAxis
520
+ if (axis.coll === 'colorAxis') {
521
+ return;
522
+ }
523
+ var isXAxis = axis.isXAxis, center = axis.center, x = e.chartX - center[0] - chart.plotLeft, y = e.chartY - center[1] - chart.plotTop;
524
+ ret[isXAxis ? 'xAxis' : 'yAxis'].push({
525
+ axis: axis,
526
+ value: axis.translate(isXAxis ?
527
+ Math.PI - Math.atan2(x, y) : // angle
528
+ // distance from center
529
+ Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)), true)
530
+ });
531
+ });
532
+ }
533
+ else {
534
+ ret = proceed.call(this, e);
535
+ }
536
+ return ret;
537
+ }
538
+ /**
539
+ * Define the animate method for regular series
540
+ * @private
541
+ */
542
+ function wrapSeriesAnimate(proceed, init) {
543
+ var series = this, chart = this.chart, group = this.group, markerGroup = this.markerGroup, center = this.xAxis && this.xAxis.center, plotLeft = chart.plotLeft, plotTop = chart.plotTop;
544
+ var animation = this.options.animation, attribs, paneInnerR, graphic, shapeArgs, r, innerR;
545
+ // Specific animation for polar charts
546
+ if (chart.polar) {
547
+ if (series.isRadialBar) {
548
+ if (!init) {
549
+ // Run the pie animation for radial bars
550
+ series.startAngleRad = pick(series.translatedThreshold, series.xAxis.startAngleRad);
551
+ H.seriesTypes.pie.prototype.animate.call(series, init);
552
+ }
553
+ }
554
+ else {
555
+ // Enable animation on polar charts only in SVG. In VML, the scaling
556
+ // is different, plus animation would be so slow it would't matter.
557
+ if (chart.renderer.isSVG) {
558
+ animation = animObject(animation);
559
+ // A different animation needed for column like series
560
+ if (series.is('column')) {
561
+ if (!init) {
562
+ paneInnerR = center[3] / 2;
563
+ series.points.forEach(function (point) {
564
+ graphic = point.graphic;
565
+ shapeArgs = point.shapeArgs;
566
+ r = shapeArgs && shapeArgs.r;
567
+ innerR = shapeArgs && shapeArgs.innerR;
568
+ if (graphic && shapeArgs) {
569
+ // start values
570
+ graphic.attr({
571
+ r: paneInnerR,
572
+ innerR: paneInnerR
573
+ });
574
+ // animate
575
+ graphic.animate({
576
+ r: r,
577
+ innerR: innerR
578
+ }, series.options.animation);
579
+ }
580
+ });
581
+ }
582
+ }
583
+ else {
584
+ // Initialize the animation
585
+ if (init) {
586
+ // Scale down the group and place it in the center
587
+ attribs = {
588
+ translateX: center[0] + plotLeft,
589
+ translateY: center[1] + plotTop,
590
+ scaleX: 0.001,
591
+ scaleY: 0.001
592
+ };
593
+ group.attr(attribs);
594
+ if (markerGroup) {
595
+ markerGroup.attr(attribs);
596
+ }
597
+ // Run the animation
598
+ }
599
+ else {
600
+ attribs = {
601
+ translateX: plotLeft,
602
+ translateY: plotTop,
603
+ scaleX: 1,
604
+ scaleY: 1
605
+ };
606
+ group.animate(attribs, animation);
607
+ if (markerGroup) {
608
+ markerGroup.animate(attribs, animation);
609
+ }
610
+ }
611
+ }
612
+ }
613
+ }
614
+ // For non-polar charts, revert to the basic animation
615
+ }
616
+ else {
617
+ proceed.call(this, init);
618
+ }
619
+ }
620
+ /**
621
+ * Overridden method for calculating a spline from one point to the next
622
+ * @private
623
+ */
624
+ function wrapSplineSeriesGetPointSpline(proceed, segment, point, i) {
625
+ var ret, connectors;
626
+ if (this.chart.polar) {
627
+ // moveTo or lineTo
628
+ if (!i) {
629
+ ret = ['M', point.plotX, point.plotY];
630
+ }
631
+ else { // curve from last point to this
632
+ connectors = getConnectors(segment, i, true, this.connectEnds);
633
+ var rightContX = connectors.prevPointCont &&
634
+ connectors.prevPointCont.rightContX;
635
+ var rightContY = connectors.prevPointCont &&
636
+ connectors.prevPointCont.rightContY;
637
+ ret = [
638
+ 'C',
639
+ isNumber(rightContX) ? rightContX : connectors.plotX,
640
+ isNumber(rightContY) ? rightContY : connectors.plotY,
641
+ isNumber(connectors.leftContX) ?
642
+ connectors.leftContX :
643
+ connectors.plotX,
644
+ isNumber(connectors.leftContY) ?
645
+ connectors.leftContY :
646
+ connectors.plotY,
647
+ connectors.plotX,
648
+ connectors.plotY
649
+ ];
650
+ }
651
+ }
652
+ else {
653
+ ret = proceed.call(this, segment, point, i);
654
+ }
655
+ return ret;
656
+ }
657
+ /* *
658
+ *
659
+ * Class
660
+ *
661
+ * */
662
+ /**
663
+ * Extensions for polar charts. Additionally, much of the geometry required
664
+ * for polar charts is gathered in RadialAxes.js.
665
+ * @private
666
+ */
667
+ var PolarAdditions = /** @class */ (function () {
668
+ /* *
669
+ *
670
+ * Constructor
671
+ *
672
+ * */
673
+ function PolarAdditions(series) {
674
+ this.series = series;
675
+ }
676
+ /* *
677
+ *
678
+ * Static Functions
679
+ *
680
+ * */
681
+ PolarAdditions.compose = function (AxisClass, ChartClass, PointerClass, SeriesClass, TickClass, AreaSplineRangeSeriesClass, ColumnSeriesClass, LineSeriesClass, SplineSeriesClass) {
682
+ RadialAxis.compose(AxisClass, TickClass);
683
+ if (composedClasses.indexOf(ChartClass) === -1) {
684
+ composedClasses.push(ChartClass);
685
+ addEvent(ChartClass, 'afterDrawChartBox', onChartAfterDrawChartBox);
686
+ addEvent(ChartClass, 'getAxes', onChartGetAxes);
687
+ var chartProto = ChartClass.prototype;
688
+ wrap(chartProto, 'get', wrapChartGet);
689
+ }
690
+ if (composedClasses.indexOf(PointerClass) === -1) {
691
+ composedClasses.push(PointerClass);
692
+ var pointerProto = PointerClass.prototype;
693
+ wrap(pointerProto, 'getCoordinates', wrapPointerGetCoordinates);
694
+ }
695
+ if (composedClasses.indexOf(SeriesClass) === -1) {
696
+ composedClasses.push(SeriesClass);
697
+ addEvent(SeriesClass, 'afterInit', onSeriesAfterInit);
698
+ addEvent(SeriesClass, 'afterTranslate', onSeriesAfterTranslate, { order: 2 } // Run after translation of ||-coords
699
+ );
700
+ var seriesProto = SeriesClass.prototype;
701
+ wrap(seriesProto, 'animate', wrapSeriesAnimate);
702
+ }
703
+ if (ColumnSeriesClass &&
704
+ composedClasses.indexOf(ColumnSeriesClass) === -1) {
705
+ composedClasses.push(ColumnSeriesClass);
706
+ var columnProto = ColumnSeriesClass.prototype;
707
+ wrap(columnProto, 'alignDataLabel', wrapColumnSeriesAlignDataLabel);
708
+ wrap(columnProto, 'animate', wrapSeriesAnimate);
709
+ wrap(columnProto, 'translate', wrapColumnSeriesTranslate);
710
+ }
711
+ if (LineSeriesClass &&
712
+ composedClasses.indexOf(LineSeriesClass) === -1) {
713
+ composedClasses.push(LineSeriesClass);
714
+ var lineProto = LineSeriesClass.prototype;
715
+ wrap(lineProto, 'getGraphPath', wrapLineSeriesGetGraphPath);
716
+ }
717
+ if (SplineSeriesClass &&
718
+ composedClasses.indexOf(SplineSeriesClass) === -1) {
719
+ composedClasses.push(SplineSeriesClass);
720
+ var splineProto = SplineSeriesClass.prototype;
721
+ wrap(splineProto, 'getPointSpline', wrapSplineSeriesGetPointSpline);
722
+ if (AreaSplineRangeSeriesClass &&
723
+ composedClasses.indexOf(AreaSplineRangeSeriesClass) === -1) {
724
+ composedClasses.push(AreaSplineRangeSeriesClass);
725
+ var areaSplineRangeProto = AreaSplineRangeSeriesClass.prototype;
726
+ // #6430 Areasplinerange series use unwrapped getPointSpline
727
+ // method, so we need to set this method again.
728
+ areaSplineRangeProto.getPointSpline =
729
+ splineProto.getPointSpline;
730
+ }
731
+ }
732
+ };
733
+ /* *
734
+ *
735
+ * Functions
736
+ *
737
+ * */
738
+ PolarAdditions.prototype.arc = function (low, high, start, end) {
739
+ var series = this.series, center = series.xAxis.center, len = series.yAxis.len, paneInnerR = center[3] / 2;
740
+ var r = len - high + paneInnerR, innerR = len - pick(low, len) + paneInnerR;
741
+ // Prevent columns from shooting through the pane's center
742
+ if (series.yAxis.reversed) {
743
+ if (r < 0) {
744
+ r = paneInnerR;
745
+ }
746
+ if (innerR < 0) {
747
+ innerR = paneInnerR;
748
+ }
749
+ }
750
+ // Return a new shapeArgs
751
+ return {
752
+ x: center[0],
753
+ y: center[1],
754
+ r: r,
755
+ innerR: innerR,
756
+ start: start,
757
+ end: end
758
+ };
759
+ };
760
+ /**
761
+ * Search a k-d tree by the point angle, used for shared tooltips in polar
762
+ * charts
763
+ * @private
764
+ */
765
+ PolarAdditions.prototype.searchPointByAngle = function (e) {
766
+ var series = this.series, chart = series.chart, xAxis = series.xAxis, center = xAxis.pane.center, plotX = e.chartX - center[0] - chart.plotLeft, plotY = e.chartY - center[1] - chart.plotTop;
767
+ return series.searchKDTree({
768
+ clientX: 180 + (Math.atan2(plotX, plotY) * (-180 / Math.PI))
769
+ });
770
+ };
771
+ /**
772
+ * Translate a point's plotX and plotY from the internal angle and radius
773
+ * measures to true plotX, plotY coordinates
774
+ * @private
775
+ */
776
+ PolarAdditions.prototype.toXY = function (point) {
777
+ var series = this.series, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, plotX = point.plotX, inverted = chart.inverted, pointY = point.y;
778
+ var plotY = point.plotY, radius = inverted ? plotX : yAxis.len - plotY, clientX;
779
+ // Corrected y position of inverted series other than column
780
+ if (inverted && series && !series.isRadialBar) {
781
+ point.plotY = plotY =
782
+ isNumber(pointY) ? yAxis.translate(pointY) : 0;
783
+ }
784
+ // Save rectangular plotX, plotY for later computation
785
+ point.rectPlotX = plotX;
786
+ point.rectPlotY = plotY;
787
+ if (yAxis.center) {
788
+ radius += yAxis.center[3] / 2;
789
+ }
790
+ // Find the polar plotX and plotY. Avoid setting plotX and plotY to NaN
791
+ // when plotY is undefined (#15438)
792
+ if (isNumber(plotY)) {
793
+ var xy = inverted ? yAxis.postTranslate(plotY, radius) :
794
+ xAxis.postTranslate(plotX, radius);
795
+ point.plotX = point.polarPlotX = xy.x - chart.plotLeft;
796
+ point.plotY = point.polarPlotY = xy.y - chart.plotTop;
797
+ }
798
+ // If shared tooltip, record the angle in degrees in order to align X
799
+ // points. Otherwise, use a standard k-d tree to get the nearest point
800
+ // in two dimensions.
801
+ if (series.kdByAngle) {
802
+ clientX = ((plotX / Math.PI * 180) + xAxis.pane.options.startAngle) % 360;
803
+ if (clientX < 0) { // #2665
804
+ clientX += 360;
805
+ }
806
+ point.clientX = clientX;
807
+ }
808
+ else {
809
+ point.clientX = point.plotX;
810
+ }
811
+ };
812
+ return PolarAdditions;
813
+ }());
814
+ /* *
815
+ *
816
+ * Default Export
817
+ *
818
+ * */
819
+ export default PolarAdditions;