highcharts 10.1.0 → 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 (772) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +2 -3
  3. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  4. package/es-modules/Accessibility/Components/ContainerComponent.js +3 -1
  5. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -3
  6. package/es-modules/Accessibility/Components/LegendComponent.js +3 -3
  7. package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
  8. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
  9. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  10. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +12 -6
  11. package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
  12. package/es-modules/Accessibility/HighContrastMode.js +1 -1
  13. package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
  14. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +6 -1
  15. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  16. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +10 -0
  17. package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -1
  18. package/es-modules/Core/Animation/Fx.js +1 -1
  19. package/es-modules/Core/Axis/Axis.js +18 -19
  20. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  21. package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
  22. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  23. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  24. package/es-modules/Core/Axis/GridAxis.js +817 -821
  25. package/es-modules/Core/Axis/OrdinalAxis.js +23 -1
  26. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +2 -2
  27. package/es-modules/Core/Axis/Tick.js +20 -16
  28. package/es-modules/Core/Axis/TreeGridTick.js +2 -2
  29. package/es-modules/Core/Axis/ZAxis.js +3 -1
  30. package/es-modules/Core/Chart/Chart.js +13 -12
  31. package/es-modules/Core/Chart/ChartDefaults.js +3 -3
  32. package/es-modules/Core/Chart/GanttChart.js +3 -1
  33. package/es-modules/Core/Chart/MapChart.js +3 -1
  34. package/es-modules/Core/Chart/StockChart.js +6 -4
  35. package/es-modules/Core/Color/Color.js +1 -1
  36. package/es-modules/Core/DefaultOptions.js +11 -11
  37. package/es-modules/Core/Globals.js +1 -1
  38. package/es-modules/Core/HttpUtilities.js +39 -37
  39. package/es-modules/Core/Legend/Legend.js +3 -3
  40. package/es-modules/Core/MSPointer.js +3 -1
  41. package/es-modules/Core/Navigator.js +6 -6
  42. package/es-modules/Core/Pointer.js +1 -1
  43. package/es-modules/Core/Renderer/HTML/AST.js +1 -1
  44. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  45. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  46. package/es-modules/Core/Renderer/SVG/SVGElement.js +7 -7
  47. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  48. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +37 -35
  49. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +3 -1
  50. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  51. package/es-modules/Core/Series/DataLabel.js +2 -2
  52. package/es-modules/Core/Series/Point.js +9 -0
  53. package/es-modules/Core/Series/Series.js +5 -5
  54. package/es-modules/Core/Series/Series3D.js +3 -1
  55. package/es-modules/Core/Series/SeriesDefaults.js +3 -3
  56. package/es-modules/Core/Time.js +6 -7
  57. package/es-modules/Core/Tooltip.js +3 -3
  58. package/es-modules/Core/Utilities.js +5 -5
  59. package/es-modules/Data/DataConverter.js +1 -1
  60. package/es-modules/Data/DataTable.js +12 -10
  61. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  62. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  63. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  64. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  65. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  66. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  67. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  68. package/es-modules/Data/Parsers/DataParser.js +1 -1
  69. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  70. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  71. package/es-modules/Data/Stores/CSVStore.js +8 -5
  72. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  73. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  74. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +21 -9
  75. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  76. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +8 -5
  78. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  79. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +13 -9
  80. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  81. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  82. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  83. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  84. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  85. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  86. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  87. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  88. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  89. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  90. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  91. package/es-modules/Extensions/Boost/BoostInit.js +3 -2
  92. package/es-modules/Extensions/BoostCanvas.js +11 -5
  93. package/es-modules/Extensions/Breadcrumbs.js +31 -6
  94. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  95. package/es-modules/Extensions/Data.js +638 -602
  96. package/es-modules/Extensions/DownloadURL.js +3 -3
  97. package/es-modules/Extensions/DragPanes.js +1 -1
  98. package/es-modules/Extensions/Drilldown.js +2 -2
  99. package/es-modules/Extensions/ExportData.js +57 -7
  100. package/es-modules/Extensions/Exporting/Exporting.js +3 -3
  101. package/es-modules/Extensions/Exporting/ExportingDefaults.js +7 -7
  102. package/es-modules/Extensions/GeoJSON.js +0 -2
  103. package/es-modules/Extensions/MarkerClusters.js +3 -3
  104. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  105. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  106. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  107. package/es-modules/Extensions/Pane.js +3 -3
  108. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  109. package/es-modules/Extensions/PatternFill.js +14 -2
  110. package/es-modules/Extensions/RangeSelector.js +29 -18
  111. package/es-modules/Extensions/ScrollablePlotArea.js +3 -3
  112. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  113. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  114. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  115. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  116. package/es-modules/Extensions/Stacking.js +1 -1
  117. package/es-modules/Maps/MapNavigation.js +2 -2
  118. package/es-modules/Maps/MapView.js +23 -16
  119. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
  120. package/es-modules/Maps/Projection.js +13 -11
  121. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
  122. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -1
  123. package/es-modules/Series/Area/AreaSeries.js +21 -14
  124. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  125. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  126. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  127. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  128. package/es-modules/Series/Bar/BarSeries.js +3 -1
  129. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  130. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  131. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  132. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  133. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  134. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  135. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  136. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  137. package/es-modules/Series/CenteredUtilities.js +2 -1
  138. package/es-modules/Series/ColorMapComposition.js +111 -0
  139. package/es-modules/Series/Column/ColumnSeries.js +6 -4
  140. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  141. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  142. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  143. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  144. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  145. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  146. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -1
  147. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  148. package/es-modules/Series/DrawPointUtilities.js +87 -0
  149. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  150. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  151. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  152. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  153. package/es-modules/Series/Flags/FlagsSeries.js +6 -4
  154. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  155. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  156. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  157. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  158. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  159. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  160. package/es-modules/Series/Gauge/GaugeSeries.js +195 -173
  161. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  162. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  163. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  164. package/es-modules/Series/Heatmap/HeatmapSeries.js +16 -13
  165. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  166. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  167. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  168. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  169. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  170. package/es-modules/Series/Item/ItemPoint.js +3 -1
  171. package/es-modules/Series/Item/ItemSeries.js +3 -1
  172. package/es-modules/Series/Line/LineSeries.js +4 -2
  173. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  174. package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
  175. package/es-modules/Series/Map/MapPoint.js +8 -6
  176. package/es-modules/Series/Map/MapSeries.js +98 -26
  177. package/es-modules/Series/MapBubble/MapBubblePoint.js +3 -1
  178. package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -1
  179. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  180. package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
  181. package/es-modules/Series/MapPoint/MapPointSeries.js +10 -2
  182. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  183. package/es-modules/Series/NodesComposition.js +45 -40
  184. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  185. package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
  186. package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
  187. package/es-modules/Series/Organization/OrganizationSeries.js +5 -3
  188. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  189. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  190. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  191. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  192. package/es-modules/Series/Pie/PieDataLabel.js +1 -1
  193. package/es-modules/Series/Pie/PiePoint.js +3 -1
  194. package/es-modules/Series/Pie/PieSeries.js +39 -36
  195. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  196. package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
  197. package/es-modules/Series/PolarComposition.js +819 -0
  198. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  199. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  200. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  201. package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
  202. package/es-modules/Series/Sankey/SankeySeries.js +22 -8
  203. package/es-modules/Series/Scatter/ScatterSeries.js +10 -5
  204. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  205. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  206. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  207. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  208. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  209. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  210. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  211. package/es-modules/Series/Sunburst/SunburstSeries.js +7 -2
  212. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  213. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  214. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  215. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  216. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  217. package/es-modules/Series/Treemap/TreemapSeries.js +9 -7
  218. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  219. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  220. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  221. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  222. package/es-modules/Series/Venn/VennPoint.js +5 -5
  223. package/es-modules/Series/Venn/VennSeries.js +9 -6
  224. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  225. package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
  226. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  227. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  228. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  229. package/es-modules/Series/Wordcloud/WordcloudSeries.js +7 -4
  230. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  231. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  232. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  233. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  234. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  235. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  236. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  237. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  238. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  239. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  240. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  241. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  242. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  243. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  244. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  245. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  246. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  247. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  248. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  249. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  250. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  251. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  252. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  253. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  254. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  255. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  256. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  257. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  258. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  259. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  260. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  261. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  262. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  263. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  264. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  265. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  266. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  267. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  268. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  269. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  270. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +3 -1
  271. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  272. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  273. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  274. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  275. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  278. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  279. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  283. package/es-modules/Stock/StockToolsBindings.js +20 -19
  284. package/es-modules/Stock/StockToolsGui.js +1 -1
  285. package/es-modules/masters/highcharts-3d.src.js +1 -1
  286. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  287. package/es-modules/masters/highcharts-more.src.js +4 -4
  288. package/es-modules/masters/highcharts.src.js +1 -1
  289. package/es-modules/masters/highmaps.src.js +1 -1
  290. package/es-modules/masters/highstock.src.js +1 -1
  291. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  292. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  293. package/es-modules/masters/indicators/ao.src.js +1 -1
  294. package/es-modules/masters/indicators/apo.src.js +1 -1
  295. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  296. package/es-modules/masters/indicators/aroon.src.js +1 -1
  297. package/es-modules/masters/indicators/atr.src.js +1 -1
  298. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  299. package/es-modules/masters/indicators/cci.src.js +1 -1
  300. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  301. package/es-modules/masters/indicators/cmf.src.js +1 -1
  302. package/es-modules/masters/indicators/cmo.src.js +1 -1
  303. package/es-modules/masters/indicators/dema.src.js +1 -1
  304. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  305. package/es-modules/masters/indicators/dmi.src.js +1 -1
  306. package/es-modules/masters/indicators/dpo.src.js +1 -1
  307. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  308. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  309. package/es-modules/masters/indicators/indicators.src.js +1 -1
  310. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  311. package/es-modules/masters/indicators/klinger.src.js +1 -1
  312. package/es-modules/masters/indicators/macd.src.js +1 -1
  313. package/es-modules/masters/indicators/mfi.src.js +1 -1
  314. package/es-modules/masters/indicators/momentum.src.js +1 -1
  315. package/es-modules/masters/indicators/natr.src.js +1 -1
  316. package/es-modules/masters/indicators/obv.src.js +1 -1
  317. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  318. package/es-modules/masters/indicators/ppo.src.js +1 -1
  319. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  320. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  321. package/es-modules/masters/indicators/psar.src.js +1 -1
  322. package/es-modules/masters/indicators/regressions.src.js +1 -1
  323. package/es-modules/masters/indicators/roc.src.js +1 -1
  324. package/es-modules/masters/indicators/rsi.src.js +1 -1
  325. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  326. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  327. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  328. package/es-modules/masters/indicators/tema.src.js +1 -1
  329. package/es-modules/masters/indicators/trendline.src.js +1 -1
  330. package/es-modules/masters/indicators/trix.src.js +1 -1
  331. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  332. package/es-modules/masters/indicators/vwap.src.js +1 -1
  333. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  334. package/es-modules/masters/indicators/wma.src.js +1 -1
  335. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  336. package/es-modules/masters/modules/accessibility.src.js +1 -1
  337. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  338. package/es-modules/masters/modules/annotations.src.js +2 -2
  339. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  340. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  341. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  342. package/es-modules/masters/modules/boost.src.js +1 -1
  343. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  344. package/es-modules/masters/modules/bullet.src.js +1 -1
  345. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  346. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  347. package/es-modules/masters/modules/cylinder.src.js +1 -1
  348. package/es-modules/masters/modules/data.src.js +2 -1
  349. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  350. package/es-modules/masters/modules/debugger.src.js +1 -1
  351. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  352. package/es-modules/masters/modules/dotplot.src.js +1 -1
  353. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  354. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  355. package/es-modules/masters/modules/drilldown.src.js +1 -1
  356. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  357. package/es-modules/masters/modules/export-data.src.js +1 -1
  358. package/es-modules/masters/modules/exporting.src.js +1 -1
  359. package/es-modules/masters/modules/full-screen.src.js +1 -1
  360. package/es-modules/masters/modules/funnel.src.js +1 -1
  361. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  362. package/es-modules/masters/modules/gantt.src.js +1 -1
  363. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  364. package/es-modules/masters/modules/heatmap.src.js +1 -1
  365. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  366. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  367. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  368. package/es-modules/masters/modules/item-series.src.js +1 -1
  369. package/es-modules/masters/modules/lollipop.src.js +1 -1
  370. package/es-modules/masters/modules/map.src.js +1 -1
  371. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  372. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  373. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  374. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  375. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  376. package/es-modules/masters/modules/oldie.src.js +1 -1
  377. package/es-modules/masters/modules/organization.src.js +1 -1
  378. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  379. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  380. package/es-modules/masters/modules/pareto.src.js +1 -1
  381. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  382. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  383. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  384. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  385. package/es-modules/masters/modules/sankey.src.js +1 -1
  386. package/es-modules/masters/modules/series-label.src.js +5 -2
  387. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  388. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  389. package/es-modules/masters/modules/sonification.src.js +2 -6
  390. package/es-modules/masters/modules/static-scale.src.js +1 -1
  391. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  392. package/es-modules/masters/modules/stock.src.js +1 -1
  393. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  394. package/es-modules/masters/modules/sunburst.src.js +1 -1
  395. package/es-modules/masters/modules/tilemap.src.js +1 -1
  396. package/es-modules/masters/modules/timeline.src.js +1 -1
  397. package/es-modules/masters/modules/treegrid.src.js +1 -1
  398. package/es-modules/masters/modules/treemap.src.js +1 -1
  399. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  400. package/es-modules/masters/modules/variwide.src.js +1 -1
  401. package/es-modules/masters/modules/vector.src.js +1 -1
  402. package/es-modules/masters/modules/venn.src.js +1 -1
  403. package/es-modules/masters/modules/windbarb.src.js +1 -1
  404. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  405. package/es-modules/masters/modules/xrange.src.js +1 -1
  406. package/es-modules/masters/themes/avocado.src.js +1 -1
  407. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  408. package/es-modules/masters/themes/brand-light.src.js +1 -1
  409. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  410. package/es-modules/masters/themes/dark-green.src.js +1 -1
  411. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  412. package/es-modules/masters/themes/gray.src.js +1 -1
  413. package/es-modules/masters/themes/grid-light.src.js +1 -1
  414. package/es-modules/masters/themes/grid.src.js +1 -1
  415. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  416. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  417. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  418. package/es-modules/masters/themes/skies.src.js +1 -1
  419. package/es-modules/masters/themes/sunset.src.js +1 -1
  420. package/highcharts-3d.js +1 -1
  421. package/highcharts-3d.src.js +1 -1
  422. package/highcharts-gantt.js +811 -809
  423. package/highcharts-gantt.js.map +1 -1
  424. package/highcharts-gantt.src.js +1271 -1213
  425. package/highcharts-more.d.ts +10 -0
  426. package/highcharts-more.js +194 -195
  427. package/highcharts-more.js.map +1 -1
  428. package/highcharts-more.src.d.ts +10 -0
  429. package/highcharts-more.src.js +5649 -5515
  430. package/highcharts.d.ts +9118 -429
  431. package/highcharts.js +595 -594
  432. package/highcharts.js.map +1 -1
  433. package/highcharts.src.d.ts +9118 -429
  434. package/highcharts.src.js +335 -285
  435. package/highmaps.js +763 -760
  436. package/highmaps.js.map +1 -1
  437. package/highmaps.src.js +640 -448
  438. package/highstock.js +797 -794
  439. package/highstock.js.map +1 -1
  440. package/highstock.src.js +414 -327
  441. package/indicators/acceleration-bands.d.ts +1 -17
  442. package/indicators/acceleration-bands.js +11 -12
  443. package/indicators/acceleration-bands.js.map +1 -1
  444. package/indicators/acceleration-bands.src.d.ts +1 -17
  445. package/indicators/acceleration-bands.src.js +89 -99
  446. package/indicators/accumulation-distribution.js +1 -1
  447. package/indicators/accumulation-distribution.src.js +1 -1
  448. package/indicators/ao.js +1 -1
  449. package/indicators/ao.src.js +3 -3
  450. package/indicators/apo.js +1 -1
  451. package/indicators/apo.src.js +1 -1
  452. package/indicators/aroon-oscillator.d.ts +1 -17
  453. package/indicators/aroon-oscillator.js +10 -10
  454. package/indicators/aroon-oscillator.js.map +1 -1
  455. package/indicators/aroon-oscillator.src.d.ts +1 -17
  456. package/indicators/aroon-oscillator.src.js +89 -99
  457. package/indicators/aroon.d.ts +1 -17
  458. package/indicators/aroon.js +11 -11
  459. package/indicators/aroon.js.map +1 -1
  460. package/indicators/aroon.src.d.ts +1 -17
  461. package/indicators/aroon.src.js +89 -99
  462. package/indicators/atr.js +1 -1
  463. package/indicators/atr.src.js +1 -1
  464. package/indicators/bollinger-bands.d.ts +1 -17
  465. package/indicators/bollinger-bands.js +11 -12
  466. package/indicators/bollinger-bands.js.map +1 -1
  467. package/indicators/bollinger-bands.src.d.ts +1 -17
  468. package/indicators/bollinger-bands.src.js +92 -102
  469. package/indicators/cci.js +1 -1
  470. package/indicators/cci.src.js +1 -1
  471. package/indicators/chaikin.js +1 -1
  472. package/indicators/chaikin.src.js +1 -1
  473. package/indicators/cmf.js +1 -1
  474. package/indicators/cmf.src.js +1 -1
  475. package/indicators/cmo.js +1 -1
  476. package/indicators/cmo.src.js +1 -1
  477. package/indicators/dema.js +1 -1
  478. package/indicators/dema.src.js +1 -1
  479. package/indicators/disparity-index.js +1 -1
  480. package/indicators/disparity-index.src.js +1 -1
  481. package/indicators/dmi.js +12 -12
  482. package/indicators/dmi.js.map +1 -1
  483. package/indicators/dmi.src.js +99 -105
  484. package/indicators/dpo.js +1 -1
  485. package/indicators/dpo.src.js +1 -1
  486. package/indicators/ichimoku-kinko-hyo.js +1 -1
  487. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  488. package/indicators/indicators-all.d.ts +1 -17
  489. package/indicators/indicators-all.js +195 -194
  490. package/indicators/indicators-all.js.map +1 -1
  491. package/indicators/indicators-all.src.d.ts +1 -17
  492. package/indicators/indicators-all.src.js +131 -125
  493. package/indicators/indicators.js +1 -1
  494. package/indicators/indicators.src.js +1 -1
  495. package/indicators/keltner-channels.d.ts +1 -17
  496. package/indicators/keltner-channels.js +11 -12
  497. package/indicators/keltner-channels.js.map +1 -1
  498. package/indicators/keltner-channels.src.d.ts +1 -17
  499. package/indicators/keltner-channels.src.js +89 -99
  500. package/indicators/klinger.js +14 -14
  501. package/indicators/klinger.js.map +1 -1
  502. package/indicators/klinger.src.js +89 -99
  503. package/indicators/macd.js +10 -9
  504. package/indicators/macd.js.map +1 -1
  505. package/indicators/macd.src.js +25 -13
  506. package/indicators/mfi.js +1 -1
  507. package/indicators/mfi.src.js +1 -1
  508. package/indicators/momentum.js +1 -1
  509. package/indicators/momentum.src.js +1 -1
  510. package/indicators/natr.js +1 -1
  511. package/indicators/natr.src.js +1 -1
  512. package/indicators/obv.js +1 -1
  513. package/indicators/obv.src.js +1 -1
  514. package/indicators/pivot-points.js +1 -1
  515. package/indicators/pivot-points.src.js +1 -1
  516. package/indicators/ppo.js +1 -1
  517. package/indicators/ppo.src.js +1 -1
  518. package/indicators/price-channel.d.ts +1 -17
  519. package/indicators/price-channel.js +11 -11
  520. package/indicators/price-channel.js.map +1 -1
  521. package/indicators/price-channel.src.d.ts +1 -17
  522. package/indicators/price-channel.src.js +89 -99
  523. package/indicators/price-envelopes.js +1 -1
  524. package/indicators/price-envelopes.src.js +1 -1
  525. package/indicators/psar.js +1 -1
  526. package/indicators/psar.src.js +1 -1
  527. package/indicators/regressions.js +1 -1
  528. package/indicators/regressions.src.js +1 -1
  529. package/indicators/roc.js +1 -1
  530. package/indicators/roc.src.js +1 -1
  531. package/indicators/rsi.js +1 -1
  532. package/indicators/rsi.src.js +1 -1
  533. package/indicators/slow-stochastic.js +1 -1
  534. package/indicators/slow-stochastic.src.js +1 -1
  535. package/indicators/stochastic.d.ts +1 -17
  536. package/indicators/stochastic.js +12 -12
  537. package/indicators/stochastic.js.map +1 -1
  538. package/indicators/stochastic.src.d.ts +1 -17
  539. package/indicators/stochastic.src.js +89 -99
  540. package/indicators/supertrend.js +1 -1
  541. package/indicators/supertrend.src.js +4 -4
  542. package/indicators/tema.js +1 -1
  543. package/indicators/tema.src.js +1 -1
  544. package/indicators/trendline.js +1 -1
  545. package/indicators/trendline.src.js +1 -1
  546. package/indicators/trix.js +1 -1
  547. package/indicators/trix.src.js +1 -1
  548. package/indicators/volume-by-price.js +1 -1
  549. package/indicators/volume-by-price.src.js +1 -1
  550. package/indicators/vwap.js +1 -1
  551. package/indicators/vwap.src.js +1 -1
  552. package/indicators/williams-r.js +1 -1
  553. package/indicators/williams-r.src.js +1 -1
  554. package/indicators/wma.js +1 -1
  555. package/indicators/wma.src.js +1 -1
  556. package/indicators/zigzag.js +1 -1
  557. package/indicators/zigzag.src.js +1 -1
  558. package/modules/accessibility.js +230 -229
  559. package/modules/accessibility.js.map +1 -1
  560. package/modules/accessibility.src.js +110 -115
  561. package/modules/annotations-advanced.js +187 -187
  562. package/modules/annotations-advanced.js.map +1 -1
  563. package/modules/annotations-advanced.src.js +62 -39
  564. package/modules/annotations.js +61 -61
  565. package/modules/annotations.js.map +1 -1
  566. package/modules/annotations.src.js +38 -20
  567. package/modules/arc-diagram.js +1 -1
  568. package/modules/arc-diagram.src.js +1 -1
  569. package/modules/arrow-symbols.js +1 -1
  570. package/modules/arrow-symbols.src.js +1 -1
  571. package/modules/boost-canvas.js +12 -11
  572. package/modules/boost-canvas.js.map +1 -1
  573. package/modules/boost-canvas.src.js +12 -6
  574. package/modules/boost.js +81 -80
  575. package/modules/boost.js.map +1 -1
  576. package/modules/boost.src.js +20 -9
  577. package/modules/broken-axis.js +1 -1
  578. package/modules/broken-axis.src.js +1 -1
  579. package/modules/bullet.js +1 -1
  580. package/modules/bullet.js.map +1 -1
  581. package/modules/bullet.src.js +2 -5
  582. package/modules/coloraxis.js +2 -2
  583. package/modules/coloraxis.js.map +1 -1
  584. package/modules/coloraxis.src.js +5 -5
  585. package/modules/current-date-indicator.js +1 -1
  586. package/modules/current-date-indicator.src.js +2 -2
  587. package/modules/cylinder.js +1 -1
  588. package/modules/cylinder.src.js +1 -1
  589. package/modules/data.d.ts +12 -12
  590. package/modules/data.js +33 -34
  591. package/modules/data.js.map +1 -1
  592. package/modules/data.src.d.ts +12 -12
  593. package/modules/data.src.js +862 -829
  594. package/modules/datagrouping.js +1 -1
  595. package/modules/datagrouping.src.js +1 -1
  596. package/modules/debugger.js +1 -1
  597. package/modules/debugger.src.js +1 -1
  598. package/modules/dependency-wheel.js +1 -1
  599. package/modules/dependency-wheel.src.js +1 -1
  600. package/modules/dotplot.js +1 -1
  601. package/modules/dotplot.src.js +1 -1
  602. package/modules/drag-panes.js +1 -1
  603. package/modules/drag-panes.src.js +2 -2
  604. package/modules/draggable-points.js +1 -1
  605. package/modules/draggable-points.src.js +1 -1
  606. package/modules/drilldown.js +37 -36
  607. package/modules/drilldown.js.map +1 -1
  608. package/modules/drilldown.src.js +40 -9
  609. package/modules/dumbbell.d.ts +4 -0
  610. package/modules/dumbbell.js +17 -17
  611. package/modules/dumbbell.js.map +1 -1
  612. package/modules/dumbbell.src.d.ts +4 -0
  613. package/modules/dumbbell.src.js +24 -12
  614. package/modules/export-data.js +24 -22
  615. package/modules/export-data.js.map +1 -1
  616. package/modules/export-data.src.js +76 -11
  617. package/modules/exporting.d.ts +8 -8
  618. package/modules/exporting.js +36 -36
  619. package/modules/exporting.js.map +1 -1
  620. package/modules/exporting.src.d.ts +8 -8
  621. package/modules/exporting.src.js +50 -50
  622. package/modules/full-screen.js +1 -1
  623. package/modules/full-screen.src.js +1 -1
  624. package/modules/funnel.js +1 -1
  625. package/modules/funnel.src.js +3 -3
  626. package/modules/funnel3d.js +1 -1
  627. package/modules/funnel3d.src.js +1 -1
  628. package/modules/gantt.js +218 -218
  629. package/modules/gantt.js.map +1 -1
  630. package/modules/gantt.src.js +935 -927
  631. package/modules/grid-axis.js +23 -23
  632. package/modules/grid-axis.js.map +1 -1
  633. package/modules/grid-axis.src.js +886 -890
  634. package/modules/heatmap.js +40 -40
  635. package/modules/heatmap.js.map +1 -1
  636. package/modules/heatmap.src.js +115 -87
  637. package/modules/heikinashi.js +1 -1
  638. package/modules/heikinashi.src.js +1 -1
  639. package/modules/histogram-bellcurve.js +1 -1
  640. package/modules/histogram-bellcurve.src.js +1 -1
  641. package/modules/hollowcandlestick.js +1 -1
  642. package/modules/hollowcandlestick.src.js +9 -9
  643. package/modules/item-series.js +1 -1
  644. package/modules/item-series.src.js +1 -1
  645. package/modules/lollipop.js +1 -1
  646. package/modules/lollipop.src.js +1 -1
  647. package/modules/map.js +171 -169
  648. package/modules/map.js.map +1 -1
  649. package/modules/map.src.js +306 -164
  650. package/modules/marker-clusters.js +1 -1
  651. package/modules/marker-clusters.js.map +1 -1
  652. package/modules/marker-clusters.src.js +2 -6
  653. package/modules/networkgraph.d.ts +1 -17
  654. package/modules/networkgraph.js +49 -49
  655. package/modules/networkgraph.js.map +1 -1
  656. package/modules/networkgraph.src.d.ts +1 -17
  657. package/modules/networkgraph.src.js +55 -45
  658. package/modules/no-data-to-display.js +1 -1
  659. package/modules/no-data-to-display.src.js +2 -2
  660. package/modules/offline-exporting.js +3 -3
  661. package/modules/offline-exporting.js.map +1 -1
  662. package/modules/offline-exporting.src.js +5 -5
  663. package/modules/oldie-polyfills.js +1 -1
  664. package/modules/oldie-polyfills.src.js +1 -1
  665. package/modules/oldie.js +2 -2
  666. package/modules/oldie.src.js +3 -3
  667. package/modules/organization.js +1 -1
  668. package/modules/organization.src.js +3 -3
  669. package/modules/overlapping-datalabels.js +1 -1
  670. package/modules/overlapping-datalabels.src.js +1 -1
  671. package/modules/parallel-coordinates.js +2 -2
  672. package/modules/parallel-coordinates.js.map +1 -1
  673. package/modules/parallel-coordinates.src.js +2 -2
  674. package/modules/pareto.js +1 -1
  675. package/modules/pareto.src.js +1 -1
  676. package/modules/pathfinder.js +1 -1
  677. package/modules/pathfinder.src.js +1 -1
  678. package/modules/pattern-fill.js +15 -14
  679. package/modules/pattern-fill.js.map +1 -1
  680. package/modules/pattern-fill.src.js +15 -2
  681. package/modules/price-indicator.js +1 -1
  682. package/modules/price-indicator.src.js +1 -1
  683. package/modules/pyramid3d.js +1 -1
  684. package/modules/pyramid3d.src.js +1 -1
  685. package/modules/sankey.d.ts +1 -17
  686. package/modules/sankey.js +32 -32
  687. package/modules/sankey.js.map +1 -1
  688. package/modules/sankey.src.d.ts +1 -17
  689. package/modules/sankey.src.js +86 -55
  690. package/modules/series-label.js +18 -18
  691. package/modules/series-label.js.map +1 -1
  692. package/modules/series-label.src.js +472 -385
  693. package/modules/series-on-point.js +18 -0
  694. package/modules/series-on-point.js.map +1 -0
  695. package/modules/series-on-point.src.js +464 -0
  696. package/modules/solid-gauge.js +4 -4
  697. package/modules/solid-gauge.js.map +1 -1
  698. package/modules/solid-gauge.src.js +5 -5
  699. package/modules/sonification.js +1 -1
  700. package/modules/sonification.js.map +1 -1
  701. package/modules/sonification.src.js +3 -7
  702. package/modules/static-scale.js +1 -1
  703. package/modules/static-scale.src.js +1 -1
  704. package/modules/stock-tools.js +142 -142
  705. package/modules/stock-tools.js.map +1 -1
  706. package/modules/stock-tools.src.js +57 -38
  707. package/modules/stock.js +205 -204
  708. package/modules/stock.js.map +1 -1
  709. package/modules/stock.src.js +80 -43
  710. package/modules/streamgraph.js +1 -1
  711. package/modules/streamgraph.src.js +1 -1
  712. package/modules/sunburst.js +73 -73
  713. package/modules/sunburst.js.map +1 -1
  714. package/modules/sunburst.src.js +211 -177
  715. package/modules/tilemap.js +1 -1
  716. package/modules/tilemap.src.js +1 -1
  717. package/modules/timeline.js +1 -1
  718. package/modules/timeline.src.js +4 -4
  719. package/modules/treegrid.js +56 -56
  720. package/modules/treegrid.js.map +1 -1
  721. package/modules/treegrid.src.js +888 -892
  722. package/modules/treemap.js +54 -53
  723. package/modules/treemap.js.map +1 -1
  724. package/modules/treemap.src.js +208 -176
  725. package/modules/variable-pie.js +1 -1
  726. package/modules/variable-pie.src.js +1 -1
  727. package/modules/variwide.js +1 -1
  728. package/modules/variwide.src.js +1 -1
  729. package/modules/vector.js +1 -1
  730. package/modules/vector.src.js +1 -1
  731. package/modules/venn.js +31 -31
  732. package/modules/venn.js.map +1 -1
  733. package/modules/venn.src.js +78 -107
  734. package/modules/windbarb.js +1 -1
  735. package/modules/windbarb.src.js +1 -1
  736. package/modules/wordcloud.js +23 -24
  737. package/modules/wordcloud.js.map +1 -1
  738. package/modules/wordcloud.src.js +78 -107
  739. package/modules/xrange.js +1 -1
  740. package/modules/xrange.src.js +1 -1
  741. package/package.json +1 -1
  742. package/themes/avocado.js +1 -1
  743. package/themes/avocado.src.js +1 -1
  744. package/themes/brand-dark.js +1 -1
  745. package/themes/brand-dark.src.js +1 -1
  746. package/themes/brand-light.js +1 -1
  747. package/themes/brand-light.src.js +1 -1
  748. package/themes/dark-blue.js +1 -1
  749. package/themes/dark-blue.src.js +1 -1
  750. package/themes/dark-green.js +1 -1
  751. package/themes/dark-green.src.js +1 -1
  752. package/themes/dark-unica.js +1 -1
  753. package/themes/dark-unica.src.js +1 -1
  754. package/themes/gray.js +1 -1
  755. package/themes/gray.src.js +1 -1
  756. package/themes/grid-light.js +1 -1
  757. package/themes/grid-light.src.js +1 -1
  758. package/themes/grid.js +1 -1
  759. package/themes/grid.src.js +1 -1
  760. package/themes/high-contrast-dark.js +1 -1
  761. package/themes/high-contrast-dark.src.js +1 -1
  762. package/themes/high-contrast-light.js +1 -1
  763. package/themes/high-contrast-light.src.js +1 -1
  764. package/themes/sand-signika.js +1 -1
  765. package/themes/sand-signika.src.js +1 -1
  766. package/themes/skies.js +1 -1
  767. package/themes/skies.src.js +1 -1
  768. package/themes/sunset.js +1 -1
  769. package/themes/sunset.src.js +1 -1
  770. package/es-modules/Extensions/Polar.js +0 -743
  771. package/es-modules/Series/ColorMapMixin.js +0 -84
  772. package/es-modules/Series/DrawPointComposition.js +0 -114
@@ -15,19 +15,49 @@ import H from '../Globals.js';
15
15
  var dateFormats = H.dateFormats;
16
16
  import U from '../Utilities.js';
17
17
  var addEvent = U.addEvent, defined = U.defined, erase = U.erase, find = U.find, isArray = U.isArray, isNumber = U.isNumber, merge = U.merge, pick = U.pick, timeUnits = U.timeUnits, wrap = U.wrap;
18
+ /* *
19
+ *
20
+ * Enums
21
+ *
22
+ * */
23
+ /**
24
+ * Enum for which side the axis is on. Maps to axis.side.
25
+ * @private
26
+ */
27
+ var GridAxisSide;
28
+ (function (GridAxisSide) {
29
+ GridAxisSide[GridAxisSide["top"] = 0] = "top";
30
+ GridAxisSide[GridAxisSide["right"] = 1] = "right";
31
+ GridAxisSide[GridAxisSide["bottom"] = 2] = "bottom";
32
+ GridAxisSide[GridAxisSide["left"] = 3] = "left";
33
+ })(GridAxisSide || (GridAxisSide = {}));
34
+ /* *
35
+ *
36
+ * Constants
37
+ *
38
+ * */
39
+ var composedClasses = [];
18
40
  /* *
19
41
  *
20
42
  * Functions
21
43
  *
22
44
  * */
23
- /* eslint-disable require-jsdoc */
45
+ /**
46
+ * @private
47
+ */
24
48
  function argsToArray(args) {
25
49
  return Array.prototype.slice.call(args, 1);
26
50
  }
51
+ /**
52
+ * @private
53
+ */
27
54
  function isObject(x) {
28
55
  // Always use strict mode
29
56
  return U.isObject(x, true);
30
57
  }
58
+ /**
59
+ * @private
60
+ */
31
61
  function applyGridOptions(axis) {
32
62
  var options = axis.options;
33
63
  // Center-align by default
@@ -52,894 +82,857 @@ function applyGridOptions(axis) {
52
82
  options.labels.rotation = 0;
53
83
  }
54
84
  /**
55
- * Axis with grid support.
85
+ * Extends axis class with grid support.
56
86
  * @private
57
87
  */
58
- var GridAxis;
59
- (function (GridAxis) {
60
- /* *
61
- *
62
- * Declarations
63
- *
64
- * */
65
- /**
66
- * Enum for which side the axis is on. Maps to axis.side.
67
- * @private
68
- */
69
- var Side;
70
- (function (Side) {
71
- Side[Side["top"] = 0] = "top";
72
- Side[Side["right"] = 1] = "right";
73
- Side[Side["bottom"] = 2] = "bottom";
74
- Side[Side["left"] = 3] = "left";
75
- })(Side = GridAxis.Side || (GridAxis.Side = {}));
76
- /* *
77
- *
78
- * Functions
79
- *
80
- * */
81
- /* eslint-disable valid-jsdoc */
82
- /**
83
- * Extends axis class with grid support.
84
- * @private
85
- */
86
- function compose(AxisClass, ChartClass, TickClass) {
87
- if (AxisClass.keepProps.indexOf('grid') === -1) {
88
- AxisClass.keepProps.push('grid');
89
- AxisClass.prototype.getMaxLabelDimensions = getMaxLabelDimensions;
90
- wrap(AxisClass.prototype, 'unsquish', wrapUnsquish);
91
- // Add event handlers
92
- addEvent(AxisClass, 'init', onInit);
93
- addEvent(AxisClass, 'afterGetOffset', onAfterGetOffset);
94
- addEvent(AxisClass, 'afterGetTitlePosition', onAfterGetTitlePosition);
95
- addEvent(AxisClass, 'afterInit', onAfterInit);
96
- addEvent(AxisClass, 'afterRender', onAfterRender);
97
- addEvent(AxisClass, 'afterSetAxisTranslation', onAfterSetAxisTranslation);
98
- addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions);
99
- addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions2);
100
- addEvent(AxisClass, 'afterSetScale', onAfterSetScale);
101
- addEvent(AxisClass, 'afterTickSize', onAfterTickSize);
102
- addEvent(AxisClass, 'trimTicks', onTrimTicks);
103
- addEvent(AxisClass, 'destroy', onDestroy);
104
- }
88
+ function compose(AxisClass, ChartClass, TickClass) {
89
+ if (composedClasses.indexOf(AxisClass) === -1) {
90
+ composedClasses.push(AxisClass);
91
+ AxisClass.keepProps.push('grid');
92
+ AxisClass.prototype.getMaxLabelDimensions = getMaxLabelDimensions;
93
+ wrap(AxisClass.prototype, 'unsquish', wrapUnsquish);
94
+ // Add event handlers
95
+ addEvent(AxisClass, 'init', onInit);
96
+ addEvent(AxisClass, 'afterGetOffset', onAfterGetOffset);
97
+ addEvent(AxisClass, 'afterGetTitlePosition', onAfterGetTitlePosition);
98
+ addEvent(AxisClass, 'afterInit', onAfterInit);
99
+ addEvent(AxisClass, 'afterRender', onAfterRender);
100
+ addEvent(AxisClass, 'afterSetAxisTranslation', onAfterSetAxisTranslation);
101
+ addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions);
102
+ addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions2);
103
+ addEvent(AxisClass, 'afterSetScale', onAfterSetScale);
104
+ addEvent(AxisClass, 'afterTickSize', onAfterTickSize);
105
+ addEvent(AxisClass, 'trimTicks', onTrimTicks);
106
+ addEvent(AxisClass, 'destroy', onDestroy);
107
+ }
108
+ if (composedClasses.indexOf(ChartClass) === -1) {
105
109
  addEvent(ChartClass, 'afterSetChartSize', onChartAfterSetChartSize);
110
+ }
111
+ if (composedClasses.indexOf(TickClass) === -1) {
106
112
  addEvent(TickClass, 'afterGetLabelPosition', onTickAfterGetLabelPosition);
107
113
  addEvent(TickClass, 'labelFormat', onTickLabelFormat);
108
- return AxisClass;
109
114
  }
110
- GridAxis.compose = compose;
111
- /**
112
- * Get the largest label width and height.
113
- *
114
- * @private
115
- * @function Highcharts.Axis#getMaxLabelDimensions
116
- *
117
- * @param {Highcharts.Dictionary<Highcharts.Tick>} ticks
118
- * All the ticks on one axis.
119
- *
120
- * @param {Array<number|string>} tickPositions
121
- * All the tick positions on one axis.
122
- *
123
- * @return {Highcharts.SizeObject}
124
- * Object containing the properties height and width.
125
- *
126
- * @todo Move this to the generic axis implementation, as it is used there.
127
- */
128
- function getMaxLabelDimensions(ticks, tickPositions) {
129
- var dimensions = {
130
- width: 0,
131
- height: 0
132
- };
133
- tickPositions.forEach(function (pos) {
134
- var tick = ticks[pos];
135
- var labelHeight = 0, labelWidth = 0, label;
136
- if (isObject(tick)) {
137
- label = isObject(tick.label) ? tick.label : {};
138
- // Find width and height of label
139
- labelHeight = label.getBBox ? label.getBBox().height : 0;
140
- if (label.textStr && !isNumber(label.textPxLength)) {
141
- label.textPxLength = label.getBBox().width;
142
- }
143
- labelWidth = isNumber(label.textPxLength) ?
144
- // Math.round ensures crisp lines
145
- Math.round(label.textPxLength) :
146
- 0;
147
- if (label.textStr) {
148
- // Set the tickWidth same as the label width after ellipsis
149
- // applied #10281
150
- labelWidth = Math.round(label.getBBox().width);
151
- }
152
- // Update the result if width and/or height are larger
153
- dimensions.height = Math.max(labelHeight, dimensions.height);
154
- dimensions.width = Math.max(labelWidth, dimensions.width);
115
+ return AxisClass;
116
+ }
117
+ /**
118
+ * Get the largest label width and height.
119
+ *
120
+ * @private
121
+ * @function Highcharts.Axis#getMaxLabelDimensions
122
+ *
123
+ * @param {Highcharts.Dictionary<Highcharts.Tick>} ticks
124
+ * All the ticks on one axis.
125
+ *
126
+ * @param {Array<number|string>} tickPositions
127
+ * All the tick positions on one axis.
128
+ *
129
+ * @return {Highcharts.SizeObject}
130
+ * Object containing the properties height and width.
131
+ *
132
+ * @todo Move this to the generic axis implementation, as it is used there.
133
+ */
134
+ function getMaxLabelDimensions(ticks, tickPositions) {
135
+ var dimensions = {
136
+ width: 0,
137
+ height: 0
138
+ };
139
+ tickPositions.forEach(function (pos) {
140
+ var tick = ticks[pos];
141
+ var labelHeight = 0, labelWidth = 0, label;
142
+ if (isObject(tick)) {
143
+ label = isObject(tick.label) ? tick.label : {};
144
+ // Find width and height of label
145
+ labelHeight = label.getBBox ? label.getBBox().height : 0;
146
+ if (label.textStr && !isNumber(label.textPxLength)) {
147
+ label.textPxLength = label.getBBox().width;
155
148
  }
156
- });
157
- // For tree grid, add indentation
158
- if (this.options.type === 'treegrid' &&
159
- this.treeGrid &&
160
- this.treeGrid.mapOfPosToGridNode) {
161
- var treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
162
- dimensions.width += (this.options.labels.indentation *
163
- (treeDepth - 1));
149
+ labelWidth = isNumber(label.textPxLength) ?
150
+ // Math.round ensures crisp lines
151
+ Math.round(label.textPxLength) :
152
+ 0;
153
+ if (label.textStr) {
154
+ // Set the tickWidth same as the label width after ellipsis
155
+ // applied #10281
156
+ labelWidth = Math.round(label.getBBox().width);
157
+ }
158
+ // Update the result if width and/or height are larger
159
+ dimensions.height = Math.max(labelHeight, dimensions.height);
160
+ dimensions.width = Math.max(labelWidth, dimensions.width);
164
161
  }
165
- return dimensions;
162
+ });
163
+ // For tree grid, add indentation
164
+ if (this.options.type === 'treegrid' &&
165
+ this.treeGrid &&
166
+ this.treeGrid.mapOfPosToGridNode) {
167
+ var treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
168
+ dimensions.width += (this.options.labels.indentation *
169
+ (treeDepth - 1));
166
170
  }
167
- /**
168
- * Handle columns and getOffset.
169
- * @private
170
- */
171
- function onAfterGetOffset() {
172
- var grid = this.grid;
173
- (grid && grid.columns || []).forEach(function (column) {
174
- column.getOffset();
175
- });
171
+ return dimensions;
172
+ }
173
+ /**
174
+ * Handle columns and getOffset.
175
+ * @private
176
+ */
177
+ function onAfterGetOffset() {
178
+ var grid = this.grid;
179
+ (grid && grid.columns || []).forEach(function (column) {
180
+ column.getOffset();
181
+ });
182
+ }
183
+ /**
184
+ * @private
185
+ */
186
+ function onAfterGetTitlePosition(e) {
187
+ var axis = this;
188
+ var options = axis.options;
189
+ var gridOptions = options.grid || {};
190
+ if (gridOptions.enabled === true) {
191
+ // compute anchor points for each of the title align options
192
+ var axisTitle = axis.axisTitle, axisHeight = axis.height, horiz = axis.horiz, axisLeft = axis.left, offset = axis.offset, opposite = axis.opposite, options_1 = axis.options, axisTop = axis.top, axisWidth = axis.width;
193
+ var tickSize = axis.tickSize();
194
+ var titleWidth = axisTitle && axisTitle.getBBox().width;
195
+ var xOption = options_1.title.x;
196
+ var yOption = options_1.title.y;
197
+ var titleMargin = pick(options_1.title.margin, horiz ? 5 : 10);
198
+ var titleFontSize = axis.chart.renderer.fontMetrics(options_1.title.style.fontSize, axisTitle).f;
199
+ var crispCorr = tickSize ? tickSize[0] / 2 : 0;
200
+ // TODO account for alignment
201
+ // the position in the perpendicular direction of the axis
202
+ var offAxis = ((horiz ? axisTop + axisHeight : axisLeft) +
203
+ (horiz ? 1 : -1) * // horizontal axis reverses the margin
204
+ (opposite ? -1 : 1) * // so does opposite axes
205
+ crispCorr +
206
+ (axis.side === GridAxisSide.bottom ? titleFontSize : 0));
207
+ e.titlePosition.x = horiz ?
208
+ axisLeft - (titleWidth || 0) / 2 - titleMargin + xOption :
209
+ offAxis + (opposite ? axisWidth : 0) + offset + xOption;
210
+ e.titlePosition.y = horiz ?
211
+ (offAxis -
212
+ (opposite ? axisHeight : 0) +
213
+ (opposite ? titleFontSize : -titleFontSize) / 2 +
214
+ offset +
215
+ yOption) :
216
+ axisTop - titleMargin + yOption;
176
217
  }
177
- /**
178
- * @private
179
- */
180
- function onAfterGetTitlePosition(e) {
181
- var axis = this;
182
- var options = axis.options;
183
- var gridOptions = options.grid || {};
184
- if (gridOptions.enabled === true) {
185
- // compute anchor points for each of the title align options
186
- var axisTitle = axis.axisTitle, axisHeight = axis.height, horiz = axis.horiz, axisLeft = axis.left, offset = axis.offset, opposite = axis.opposite, options_1 = axis.options, axisTop = axis.top, axisWidth = axis.width;
187
- var tickSize = axis.tickSize();
188
- var titleWidth = axisTitle && axisTitle.getBBox().width;
189
- var xOption = options_1.title.x;
190
- var yOption = options_1.title.y;
191
- var titleMargin = pick(options_1.title.margin, horiz ? 5 : 10);
192
- var titleFontSize = axis.chart.renderer.fontMetrics(options_1.title.style.fontSize, axisTitle).f;
193
- var crispCorr = tickSize ? tickSize[0] / 2 : 0;
194
- // TODO account for alignment
195
- // the position in the perpendicular direction of the axis
196
- var offAxis = ((horiz ? axisTop + axisHeight : axisLeft) +
197
- (horiz ? 1 : -1) * // horizontal axis reverses the margin
198
- (opposite ? -1 : 1) * // so does opposite axes
199
- crispCorr +
200
- (axis.side === GridAxis.Side.bottom ? titleFontSize : 0));
201
- e.titlePosition.x = horiz ?
202
- axisLeft - (titleWidth || 0) / 2 - titleMargin + xOption :
203
- offAxis + (opposite ? axisWidth : 0) + offset + xOption;
204
- e.titlePosition.y = horiz ?
205
- (offAxis -
206
- (opposite ? axisHeight : 0) +
207
- (opposite ? titleFontSize : -titleFontSize) / 2 +
208
- offset +
209
- yOption) :
210
- axisTop - titleMargin + yOption;
211
- }
218
+ }
219
+ /**
220
+ * @private
221
+ */
222
+ function onAfterInit() {
223
+ var axis = this;
224
+ var chart = axis.chart, _a = axis.options.grid, gridOptions = _a === void 0 ? {} : _a, userOptions = axis.userOptions;
225
+ if (gridOptions.enabled) {
226
+ applyGridOptions(axis);
212
227
  }
213
- /**
214
- * @private
215
- */
216
- function onAfterInit() {
217
- var axis = this;
218
- var chart = axis.chart, _a = axis.options.grid, gridOptions = _a === void 0 ? {} : _a, userOptions = axis.userOptions;
219
- if (gridOptions.enabled) {
220
- applyGridOptions(axis);
221
- }
222
- if (gridOptions.columns) {
223
- var columns = axis.grid.columns = [];
224
- var columnIndex = axis.grid.columnIndex = 0;
225
- // Handle columns, each column is a grid axis
226
- while (++columnIndex < gridOptions.columns.length) {
227
- var columnOptions = merge(userOptions, gridOptions.columns[gridOptions.columns.length - columnIndex - 1], {
228
- linkedTo: 0,
229
- // Force to behave like category axis
230
- type: 'category',
231
- // Disable by default the scrollbar on the grid axis
232
- scrollbar: {
233
- enabled: false
234
- }
235
- });
236
- delete columnOptions.grid.columns; // Prevent recursion
237
- var column = new Axis(axis.chart, columnOptions);
238
- column.grid.isColumn = true;
239
- column.grid.columnIndex = columnIndex;
240
- // Remove column axis from chart axes array, and place it
241
- // in the columns array.
242
- erase(chart.axes, column);
243
- erase(chart[axis.coll], column);
244
- columns.push(column);
245
- }
228
+ if (gridOptions.columns) {
229
+ var columns = axis.grid.columns = [];
230
+ var columnIndex = axis.grid.columnIndex = 0;
231
+ // Handle columns, each column is a grid axis
232
+ while (++columnIndex < gridOptions.columns.length) {
233
+ var columnOptions = merge(userOptions, gridOptions.columns[gridOptions.columns.length - columnIndex - 1], {
234
+ linkedTo: 0,
235
+ // Force to behave like category axis
236
+ type: 'category',
237
+ // Disable by default the scrollbar on the grid axis
238
+ scrollbar: {
239
+ enabled: false
240
+ }
241
+ });
242
+ delete columnOptions.grid.columns; // Prevent recursion
243
+ var column = new Axis(axis.chart, columnOptions);
244
+ column.grid.isColumn = true;
245
+ column.grid.columnIndex = columnIndex;
246
+ // Remove column axis from chart axes array, and place it
247
+ // in the columns array.
248
+ erase(chart.axes, column);
249
+ erase(chart[axis.coll], column);
250
+ columns.push(column);
246
251
  }
247
252
  }
248
- /**
249
- * Draw an extra line on the far side of the outermost axis,
250
- * creating floor/roof/wall of a grid. And some padding.
251
- * ```
252
- * Make this:
253
- * (axis.min) __________________________ (axis.max)
254
- * | | | | |
255
- * Into this:
256
- * (axis.min) __________________________ (axis.max)
257
- * ___|____|____|____|____|__
258
- * ```
259
- * @private
260
- */
261
- function onAfterRender() {
262
- var axis = this, grid = axis.grid, options = axis.options, gridOptions = options.grid || {};
263
- if (gridOptions.enabled === true) {
264
- var min = axis.min || 0, max = axis.max || 0;
265
- // @todo acutual label padding (top, bottom, left, right)
266
- axis.maxLabelDimensions = axis.getMaxLabelDimensions(axis.ticks, axis.tickPositions);
267
- // Remove right wall before rendering if updating
268
- if (axis.rightWall) {
269
- axis.rightWall.destroy();
270
- }
271
- /*
272
- Draw an extra axis line on outer axes
273
- >
274
- Make this: |______|______|______|___
253
+ }
254
+ /**
255
+ * Draw an extra line on the far side of the outermost axis,
256
+ * creating floor/roof/wall of a grid. And some padding.
257
+ * ```
258
+ * Make this:
259
+ * (axis.min) __________________________ (axis.max)
260
+ * | | | | |
261
+ * Into this:
262
+ * (axis.min) __________________________ (axis.max)
263
+ * ___|____|____|____|____|__
264
+ * ```
265
+ * @private
266
+ */
267
+ function onAfterRender() {
268
+ var axis = this, grid = axis.grid, options = axis.options, gridOptions = options.grid || {};
269
+ if (gridOptions.enabled === true) {
270
+ var min = axis.min || 0, max = axis.max || 0;
271
+ // @todo acutual label padding (top, bottom, left, right)
272
+ axis.maxLabelDimensions = axis.getMaxLabelDimensions(axis.ticks, axis.tickPositions);
273
+ // Remove right wall before rendering if updating
274
+ if (axis.rightWall) {
275
+ axis.rightWall.destroy();
276
+ }
277
+ /*
278
+ Draw an extra axis line on outer axes
279
+ >
280
+ Make this: |______|______|______|___
275
281
 
276
- > _________________________
277
- Into this: |______|______|______|__|
278
- */
279
- if (axis.grid && axis.grid.isOuterAxis() && axis.axisLine) {
280
- var lineWidth = options.lineWidth;
281
- if (lineWidth) {
282
- var linePath = axis.getLinePath(lineWidth), startPoint = linePath[0], endPoint = linePath[1],
283
- // Negate distance if top or left axis
284
- // Subtract 1px to draw the line at the end of the tick
285
- tickLength = (axis.tickSize('tick') || [1])[0], distance = (tickLength - 1) * ((axis.side === GridAxis.Side.top ||
286
- axis.side === GridAxis.Side.left) ? -1 : 1);
287
- // If axis is horizontal, reposition line path vertically
288
- if (startPoint[0] === 'M' && endPoint[0] === 'L') {
289
- if (axis.horiz) {
290
- startPoint[2] += distance;
291
- endPoint[2] += distance;
292
- }
293
- else {
294
- startPoint[1] += distance;
295
- endPoint[1] += distance;
296
- }
282
+ > _________________________
283
+ Into this: |______|______|______|__|
284
+ */
285
+ if (axis.grid && axis.grid.isOuterAxis() && axis.axisLine) {
286
+ var lineWidth = options.lineWidth;
287
+ if (lineWidth) {
288
+ var linePath = axis.getLinePath(lineWidth), startPoint = linePath[0], endPoint = linePath[1],
289
+ // Negate distance if top or left axis
290
+ // Subtract 1px to draw the line at the end of the tick
291
+ tickLength = (axis.tickSize('tick') || [1])[0], distance = (tickLength - 1) * ((axis.side === GridAxisSide.top ||
292
+ axis.side === GridAxisSide.left) ? -1 : 1);
293
+ // If axis is horizontal, reposition line path vertically
294
+ if (startPoint[0] === 'M' && endPoint[0] === 'L') {
295
+ if (axis.horiz) {
296
+ startPoint[2] += distance;
297
+ endPoint[2] += distance;
297
298
  }
298
- // If it doesn't exist, add an upper and lower border
299
- // for the vertical grid axis.
300
- if (!axis.horiz && axis.chart.marginRight) {
301
- var upperBorderStartPoint = startPoint, upperBorderEndPoint = [
302
- 'L',
303
- axis.left,
304
- startPoint[2] || 0
305
- ], upperBorderPath = [
306
- upperBorderStartPoint,
307
- upperBorderEndPoint
308
- ], lowerBorderEndPoint = [
309
- 'L',
310
- axis.chart.chartWidth - axis.chart.marginRight,
311
- axis.toPixels(max + axis.tickmarkOffset)
312
- ], lowerBorderStartPoint = [
313
- 'M',
314
- endPoint[1] || 0,
315
- axis.toPixels(max + axis.tickmarkOffset)
316
- ], lowerBorderPath = [
317
- lowerBorderStartPoint,
318
- lowerBorderEndPoint
319
- ];
320
- if (!axis.grid.upperBorder && min % 1 !== 0) {
321
- axis.grid.upperBorder = axis.grid.renderBorder(upperBorderPath);
322
- }
323
- if (axis.grid.upperBorder) {
324
- axis.grid.upperBorder.attr({
325
- stroke: options.lineColor,
326
- 'stroke-width': options.lineWidth
327
- });
328
- axis.grid.upperBorder.animate({
329
- d: upperBorderPath
330
- });
331
- }
332
- if (!axis.grid.lowerBorder && max % 1 !== 0) {
333
- axis.grid.lowerBorder = axis.grid.renderBorder(lowerBorderPath);
334
- }
335
- if (axis.grid.lowerBorder) {
336
- axis.grid.lowerBorder.attr({
337
- stroke: options.lineColor,
338
- 'stroke-width': options.lineWidth
339
- });
340
- axis.grid.lowerBorder.animate({
341
- d: lowerBorderPath
342
- });
343
- }
299
+ else {
300
+ startPoint[1] += distance;
301
+ endPoint[1] += distance;
344
302
  }
345
- // Render an extra line parallel to the existing axes, to
346
- // close the grid.
347
- if (!axis.grid.axisLineExtra) {
348
- axis.grid.axisLineExtra = axis.grid.renderBorder(linePath);
303
+ }
304
+ // If it doesn't exist, add an upper and lower border
305
+ // for the vertical grid axis.
306
+ if (!axis.horiz && axis.chart.marginRight) {
307
+ var upperBorderStartPoint = startPoint, upperBorderEndPoint = [
308
+ 'L',
309
+ axis.left,
310
+ startPoint[2] || 0
311
+ ], upperBorderPath = [
312
+ upperBorderStartPoint,
313
+ upperBorderEndPoint
314
+ ], lowerBorderEndPoint = [
315
+ 'L',
316
+ axis.chart.chartWidth - axis.chart.marginRight,
317
+ axis.toPixels(max + axis.tickmarkOffset)
318
+ ], lowerBorderStartPoint = [
319
+ 'M',
320
+ endPoint[1] || 0,
321
+ axis.toPixels(max + axis.tickmarkOffset)
322
+ ], lowerBorderPath = [
323
+ lowerBorderStartPoint,
324
+ lowerBorderEndPoint
325
+ ];
326
+ if (!axis.grid.upperBorder && min % 1 !== 0) {
327
+ axis.grid.upperBorder = axis.grid.renderBorder(upperBorderPath);
349
328
  }
350
- else {
351
- axis.grid.axisLineExtra.attr({
329
+ if (axis.grid.upperBorder) {
330
+ axis.grid.upperBorder.attr({
352
331
  stroke: options.lineColor,
353
332
  'stroke-width': options.lineWidth
354
333
  });
355
- axis.grid.axisLineExtra.animate({
356
- d: linePath
334
+ axis.grid.upperBorder.animate({
335
+ d: upperBorderPath
336
+ });
337
+ }
338
+ if (!axis.grid.lowerBorder && max % 1 !== 0) {
339
+ axis.grid.lowerBorder = axis.grid.renderBorder(lowerBorderPath);
340
+ }
341
+ if (axis.grid.lowerBorder) {
342
+ axis.grid.lowerBorder.attr({
343
+ stroke: options.lineColor,
344
+ 'stroke-width': options.lineWidth
345
+ });
346
+ axis.grid.lowerBorder.animate({
347
+ d: lowerBorderPath
357
348
  });
358
349
  }
359
- // show or hide the line depending on options.showEmpty
360
- axis.axisLine[axis.showAxis ? 'show' : 'hide']();
361
350
  }
362
- }
363
- (grid && grid.columns || []).forEach(function (column) {
364
- column.render();
365
- });
366
- // Manipulate the tick mark visibility
367
- // based on the axis.max- allows smooth scrolling.
368
- if (!axis.horiz &&
369
- axis.chart.hasRendered &&
370
- (axis.scrollbar ||
371
- (axis.linkedParent && axis.linkedParent.scrollbar))) {
372
- var tickmarkOffset = axis.tickmarkOffset, lastTick = axis.tickPositions[axis.tickPositions.length - 1], firstTick = axis.tickPositions[0];
373
- var label = void 0, tickMark = void 0;
374
- while ((label = axis.hiddenLabels.pop()) && label.element) {
375
- label.show(); // #15453
351
+ // Render an extra line parallel to the existing axes, to
352
+ // close the grid.
353
+ if (!axis.grid.axisLineExtra) {
354
+ axis.grid.axisLineExtra = axis.grid.renderBorder(linePath);
376
355
  }
377
- while ((tickMark = axis.hiddenMarks.pop()) &&
378
- tickMark.element) {
379
- tickMark.show(); // #16439
356
+ else {
357
+ axis.grid.axisLineExtra.attr({
358
+ stroke: options.lineColor,
359
+ 'stroke-width': options.lineWidth
360
+ });
361
+ axis.grid.axisLineExtra.animate({
362
+ d: linePath
363
+ });
380
364
  }
381
- // Hide/show firts tick label.
382
- label = axis.ticks[firstTick].label;
383
- if (label) {
384
- if (min - firstTick > tickmarkOffset) {
385
- axis.hiddenLabels.push(label.hide());
386
- }
387
- else {
388
- label.show();
389
- }
365
+ // show or hide the line depending on options.showEmpty
366
+ axis.axisLine[axis.showAxis ? 'show' : 'hide']();
367
+ }
368
+ }
369
+ (grid && grid.columns || []).forEach(function (column) { return column.render(); });
370
+ // Manipulate the tick mark visibility
371
+ // based on the axis.max- allows smooth scrolling.
372
+ if (!axis.horiz &&
373
+ axis.chart.hasRendered &&
374
+ (axis.scrollbar ||
375
+ (axis.linkedParent && axis.linkedParent.scrollbar))) {
376
+ var tickmarkOffset = axis.tickmarkOffset, lastTick = axis.tickPositions[axis.tickPositions.length - 1], firstTick = axis.tickPositions[0];
377
+ var label = void 0, tickMark = void 0;
378
+ while ((label = axis.hiddenLabels.pop()) && label.element) {
379
+ label.show(); // #15453
380
+ }
381
+ while ((tickMark = axis.hiddenMarks.pop()) &&
382
+ tickMark.element) {
383
+ tickMark.show(); // #16439
384
+ }
385
+ // Hide/show firts tick label.
386
+ label = axis.ticks[firstTick].label;
387
+ if (label) {
388
+ if (min - firstTick > tickmarkOffset) {
389
+ axis.hiddenLabels.push(label.hide());
390
390
  }
391
- // Hide/show last tick mark/label.
392
- label = axis.ticks[lastTick].label;
393
- if (label) {
394
- if (lastTick - max > tickmarkOffset) {
395
- axis.hiddenLabels.push(label.hide());
396
- }
397
- else {
398
- label.show();
399
- }
391
+ else {
392
+ label.show();
400
393
  }
401
- var mark = axis.ticks[lastTick].mark;
402
- if (mark &&
403
- lastTick - max < tickmarkOffset &&
404
- lastTick - max > 0 && axis.ticks[lastTick].isLast) {
405
- axis.hiddenMarks.push(mark.hide());
394
+ }
395
+ // Hide/show last tick mark/label.
396
+ label = axis.ticks[lastTick].label;
397
+ if (label) {
398
+ if (lastTick - max > tickmarkOffset) {
399
+ axis.hiddenLabels.push(label.hide());
406
400
  }
401
+ else {
402
+ label.show();
403
+ }
404
+ }
405
+ var mark = axis.ticks[lastTick].mark;
406
+ if (mark &&
407
+ lastTick - max < tickmarkOffset &&
408
+ lastTick - max > 0 && axis.ticks[lastTick].isLast) {
409
+ axis.hiddenMarks.push(mark.hide());
407
410
  }
408
411
  }
409
412
  }
410
- /**
411
- * @private
412
- */
413
- function onAfterSetAxisTranslation() {
414
- var axis = this;
415
- var tickInfo = axis.tickPositions && axis.tickPositions.info;
416
- var options = axis.options;
417
- var gridOptions = options.grid || {};
418
- var userLabels = axis.userOptions.labels || {};
419
- // Fire this only for the Gantt type chart, #14868.
420
- if (gridOptions.enabled) {
421
- if (axis.horiz) {
422
- axis.series.forEach(function (series) {
423
- series.options.pointRange = 0;
424
- });
425
- // Lower level time ticks, like hours or minutes, represent
426
- // points in time and not ranges. These should be aligned
427
- // left in the grid cell by default. The same applies to
428
- // years of higher order.
429
- if (tickInfo &&
430
- options.dateTimeLabelFormats &&
431
- options.labels &&
432
- !defined(userLabels.align) &&
433
- (options.dateTimeLabelFormats[tickInfo.unitName]
434
- .range === false ||
435
- tickInfo.count > 1 // years
436
- )) {
437
- options.labels.align = 'left';
438
- if (!defined(userLabels.x)) {
439
- options.labels.x = 3;
440
- }
413
+ }
414
+ /**
415
+ * @private
416
+ */
417
+ function onAfterSetAxisTranslation() {
418
+ var axis = this;
419
+ var tickInfo = axis.tickPositions && axis.tickPositions.info;
420
+ var options = axis.options;
421
+ var gridOptions = options.grid || {};
422
+ var userLabels = axis.userOptions.labels || {};
423
+ // Fire this only for the Gantt type chart, #14868.
424
+ if (gridOptions.enabled) {
425
+ if (axis.horiz) {
426
+ axis.series.forEach(function (series) {
427
+ series.options.pointRange = 0;
428
+ });
429
+ // Lower level time ticks, like hours or minutes, represent
430
+ // points in time and not ranges. These should be aligned
431
+ // left in the grid cell by default. The same applies to
432
+ // years of higher order.
433
+ if (tickInfo &&
434
+ options.dateTimeLabelFormats &&
435
+ options.labels &&
436
+ !defined(userLabels.align) &&
437
+ (options.dateTimeLabelFormats[tickInfo.unitName]
438
+ .range === false ||
439
+ tickInfo.count > 1 // years
440
+ )) {
441
+ options.labels.align = 'left';
442
+ if (!defined(userLabels.x)) {
443
+ options.labels.x = 3;
441
444
  }
442
445
  }
443
- else {
444
- // Don't trim ticks which not in min/max range but
445
- // they are still in the min/max plus tickInterval.
446
- if (this.options.type !== 'treegrid' &&
447
- axis.grid &&
448
- axis.grid.columns) {
449
- this.minPointOffset = this.tickInterval;
450
- }
446
+ }
447
+ else {
448
+ // Don't trim ticks which not in min/max range but
449
+ // they are still in the min/max plus tickInterval.
450
+ if (this.options.type !== 'treegrid' &&
451
+ axis.grid &&
452
+ axis.grid.columns) {
453
+ this.minPointOffset = this.tickInterval;
451
454
  }
452
455
  }
453
456
  }
454
- /**
455
- * Creates a left and right wall on horizontal axes:
456
- * - Places leftmost tick at the start of the axis, to create a left
457
- * wall
458
- * - Ensures that the rightmost tick is at the end of the axis, to
459
- * create a right wall.
460
- * @private
461
- */
462
- function onAfterSetOptions(e) {
463
- var options = this.options, userOptions = e.userOptions, gridOptions = ((options && isObject(options.grid)) ? options.grid : {});
464
- var gridAxisOptions;
465
- if (gridOptions.enabled === true) {
466
- // Merge the user options into default grid axis options so
467
- // that when a user option is set, it takes presedence.
468
- gridAxisOptions = merge(true, {
469
- className: ('highcharts-grid-axis ' + (userOptions.className || '')),
470
- dateTimeLabelFormats: {
471
- hour: {
472
- list: ['%H:%M', '%H']
473
- },
474
- day: {
475
- list: ['%A, %e. %B', '%a, %e. %b', '%E']
476
- },
477
- week: {
478
- list: ['Week %W', 'W%W']
479
- },
480
- month: {
481
- list: ['%B', '%b', '%o']
482
- }
483
- },
484
- grid: {
485
- borderWidth: 1
457
+ }
458
+ /**
459
+ * Creates a left and right wall on horizontal axes:
460
+ * - Places leftmost tick at the start of the axis, to create a left
461
+ * wall
462
+ * - Ensures that the rightmost tick is at the end of the axis, to
463
+ * create a right wall.
464
+ * @private
465
+ */
466
+ function onAfterSetOptions(e) {
467
+ var options = this.options, userOptions = e.userOptions, gridOptions = ((options && isObject(options.grid)) ? options.grid : {});
468
+ var gridAxisOptions;
469
+ if (gridOptions.enabled === true) {
470
+ // Merge the user options into default grid axis options so
471
+ // that when a user option is set, it takes presedence.
472
+ gridAxisOptions = merge(true, {
473
+ className: ('highcharts-grid-axis ' + (userOptions.className || '')),
474
+ dateTimeLabelFormats: {
475
+ hour: {
476
+ list: ['%H:%M', '%H']
486
477
  },
487
- labels: {
488
- padding: 2,
489
- style: {
490
- fontSize: '13px'
491
- }
478
+ day: {
479
+ list: ['%A, %e. %B', '%a, %e. %b', '%E']
492
480
  },
493
- margin: 0,
494
- title: {
495
- text: null,
496
- reserveSpace: false,
497
- rotation: 0
481
+ week: {
482
+ list: ['Week %W', 'W%W']
498
483
  },
499
- // In a grid axis, only allow one unit of certain types,
500
- // for example we shouln't have one grid cell spanning
501
- // two days.
502
- units: [[
503
- 'millisecond',
504
- [1, 10, 100]
505
- ], [
506
- 'second',
507
- [1, 10]
508
- ], [
509
- 'minute',
510
- [1, 5, 15]
511
- ], [
512
- 'hour',
513
- [1, 6]
514
- ], [
515
- 'day',
516
- [1]
517
- ], [
518
- 'week',
519
- [1]
520
- ], [
521
- 'month',
522
- [1]
523
- ], [
524
- 'year',
525
- null
526
- ]]
527
- }, userOptions);
528
- // X-axis specific options
529
- if (this.coll === 'xAxis') {
530
- // For linked axes, tickPixelInterval is used only if
531
- // the tickPositioner below doesn't run or returns
532
- // undefined (like multiple years)
533
- if (defined(userOptions.linkedTo) &&
534
- !defined(userOptions.tickPixelInterval)) {
535
- gridAxisOptions.tickPixelInterval = 350;
484
+ month: {
485
+ list: ['%B', '%b', '%o']
536
486
  }
537
- // For the secondary grid axis, use the primary axis'
538
- // tick intervals and return ticks one level higher.
539
- if (
540
- // Check for tick pixel interval in options
541
- !defined(userOptions.tickPixelInterval) &&
542
- // Only for linked axes
543
- defined(userOptions.linkedTo) &&
544
- !defined(userOptions.tickPositioner) &&
545
- !defined(userOptions.tickInterval)) {
546
- gridAxisOptions.tickPositioner = function (min, max) {
547
- var parentInfo = (this.linkedParent &&
548
- this.linkedParent.tickPositions &&
549
- this.linkedParent.tickPositions.info);
550
- if (parentInfo) {
551
- var units = (gridAxisOptions.units || []);
552
- var unitIdx = void 0, count = void 0, unitName = void 0;
553
- for (var i = 0; i < units.length; i++) {
554
- if (units[i][0] ===
555
- parentInfo.unitName) {
556
- unitIdx = i;
557
- break;
558
- }
559
- }
560
- // Get the first allowed count on the next
561
- // unit.
562
- if (units[unitIdx + 1]) {
563
- unitName = units[unitIdx + 1][0];
564
- count =
565
- (units[unitIdx + 1][1] || [1])[0];
566
- // In case the base X axis shows years, make
567
- // the secondary axis show ten times the
568
- // years (#11427)
569
- }
570
- else if (parentInfo.unitName === 'year') {
571
- unitName = 'year';
572
- count = parentInfo.count * 10;
573
- }
574
- var unitRange = timeUnits[unitName];
575
- this.tickInterval = unitRange * count;
576
- return this.getTimeTicks({
577
- unitRange: unitRange,
578
- count: count,
579
- unitName: unitName
580
- }, min, max, this.options.startOfWeek);
581
- }
582
- };
487
+ },
488
+ grid: {
489
+ borderWidth: 1
490
+ },
491
+ labels: {
492
+ padding: 2,
493
+ style: {
494
+ fontSize: '13px'
583
495
  }
496
+ },
497
+ margin: 0,
498
+ title: {
499
+ text: null,
500
+ reserveSpace: false,
501
+ rotation: 0
502
+ },
503
+ // In a grid axis, only allow one unit of certain types,
504
+ // for example we shouln't have one grid cell spanning
505
+ // two days.
506
+ units: [[
507
+ 'millisecond',
508
+ [1, 10, 100]
509
+ ], [
510
+ 'second',
511
+ [1, 10]
512
+ ], [
513
+ 'minute',
514
+ [1, 5, 15]
515
+ ], [
516
+ 'hour',
517
+ [1, 6]
518
+ ], [
519
+ 'day',
520
+ [1]
521
+ ], [
522
+ 'week',
523
+ [1]
524
+ ], [
525
+ 'month',
526
+ [1]
527
+ ], [
528
+ 'year',
529
+ null
530
+ ]]
531
+ }, userOptions);
532
+ // X-axis specific options
533
+ if (this.coll === 'xAxis') {
534
+ // For linked axes, tickPixelInterval is used only if
535
+ // the tickPositioner below doesn't run or returns
536
+ // undefined (like multiple years)
537
+ if (defined(userOptions.linkedTo) &&
538
+ !defined(userOptions.tickPixelInterval)) {
539
+ gridAxisOptions.tickPixelInterval = 350;
584
540
  }
585
- // Now merge the combined options into the axis options
586
- merge(true, this.options, gridAxisOptions);
587
- if (this.horiz) {
588
- /* _________________________
589
- Make this: ___|_____|_____|_____|__|
590
- ^ ^
591
- _________________________
592
- Into this: |_____|_____|_____|_____|
593
- ^ ^ */
594
- options.minPadding = pick(userOptions.minPadding, 0);
595
- options.maxPadding = pick(userOptions.maxPadding, 0);
596
- }
597
- // If borderWidth is set, then use its value for tick and
598
- // line width.
599
- if (isNumber(options.grid.borderWidth)) {
600
- options.tickWidth = options.lineWidth =
601
- gridOptions.borderWidth;
541
+ // For the secondary grid axis, use the primary axis'
542
+ // tick intervals and return ticks one level higher.
543
+ if (
544
+ // Check for tick pixel interval in options
545
+ !defined(userOptions.tickPixelInterval) &&
546
+ // Only for linked axes
547
+ defined(userOptions.linkedTo) &&
548
+ !defined(userOptions.tickPositioner) &&
549
+ !defined(userOptions.tickInterval)) {
550
+ gridAxisOptions.tickPositioner = function (min, max) {
551
+ var parentInfo = (this.linkedParent &&
552
+ this.linkedParent.tickPositions &&
553
+ this.linkedParent.tickPositions.info);
554
+ if (parentInfo) {
555
+ var units = (gridAxisOptions.units || []);
556
+ var unitIdx = void 0, count = 1, unitName = 'year';
557
+ for (var i = 0; i < units.length; i++) {
558
+ var unit_1 = units[i];
559
+ if (unit_1 && unit_1[0] === parentInfo.unitName) {
560
+ unitIdx = i;
561
+ break;
562
+ }
563
+ }
564
+ // Get the first allowed count on the next unit.
565
+ var unit = (isNumber(unitIdx) && units[unitIdx + 1]);
566
+ if (unit) {
567
+ unitName = unit[0] || 'year';
568
+ var counts = unit[1];
569
+ count = counts && counts[0] || 1;
570
+ // In case the base X axis shows years, make the
571
+ // secondary axis show ten times the years (#11427)
572
+ }
573
+ else if (parentInfo.unitName === 'year') {
574
+ // unitName is 'year'
575
+ count = parentInfo.count * 10;
576
+ }
577
+ var unitRange = timeUnits[unitName];
578
+ this.tickInterval = unitRange * count;
579
+ return this.chart.time.getTimeTicks({ unitRange: unitRange, count: count, unitName: unitName }, min, max, this.options.startOfWeek);
580
+ }
581
+ };
602
582
  }
603
583
  }
604
- }
605
- /**
606
- * @private
607
- */
608
- function onAfterSetOptions2(e) {
609
- var axis = this;
610
- var userOptions = e.userOptions;
611
- var gridOptions = userOptions && userOptions.grid || {};
612
- var columns = gridOptions.columns;
613
- // Add column options to the parent axis. Children has their column
614
- // options set on init in onGridAxisAfterInit.
615
- if (gridOptions.enabled && columns) {
616
- merge(true, axis.options, columns[columns.length - 1]);
584
+ // Now merge the combined options into the axis options
585
+ merge(true, this.options, gridAxisOptions);
586
+ if (this.horiz) {
587
+ /* _________________________
588
+ Make this: ___|_____|_____|_____|__|
589
+ ^ ^
590
+ _________________________
591
+ Into this: |_____|_____|_____|_____|
592
+ ^ ^ */
593
+ options.minPadding = pick(userOptions.minPadding, 0);
594
+ options.maxPadding = pick(userOptions.maxPadding, 0);
595
+ }
596
+ // If borderWidth is set, then use its value for tick and
597
+ // line width.
598
+ if (isNumber(options.grid.borderWidth)) {
599
+ options.tickWidth = options.lineWidth =
600
+ gridOptions.borderWidth;
617
601
  }
618
602
  }
619
- /**
620
- * Handle columns and setScale.
621
- * @private
622
- */
623
- function onAfterSetScale() {
624
- var axis = this;
625
- (axis.grid.columns || []).forEach(function (column) {
626
- column.setScale();
627
- });
603
+ }
604
+ /**
605
+ * @private
606
+ */
607
+ function onAfterSetOptions2(e) {
608
+ var axis = this;
609
+ var userOptions = e.userOptions;
610
+ var gridOptions = userOptions && userOptions.grid || {};
611
+ var columns = gridOptions.columns;
612
+ // Add column options to the parent axis. Children has their column
613
+ // options set on init in onGridAxisAfterInit.
614
+ if (gridOptions.enabled && columns) {
615
+ merge(true, axis.options, columns[columns.length - 1]);
628
616
  }
629
- /**
630
- * Draw vertical axis ticks extra long to create cell floors and roofs.
631
- * Overrides the tickLength for vertical axes.
632
- * @private
633
- */
634
- function onAfterTickSize(e) {
635
- var defaultLeftAxisOptions = AxisDefaults.defaultLeftAxisOptions;
636
- var _a = this, horiz = _a.horiz, maxLabelDimensions = _a.maxLabelDimensions, _b = _a.options.grid, gridOptions = _b === void 0 ? {} : _b;
637
- if (gridOptions.enabled && maxLabelDimensions) {
638
- var labelPadding = (Math.abs(defaultLeftAxisOptions.labels.x) * 2);
639
- var distance = horiz ?
640
- (gridOptions.cellHeight ||
641
- labelPadding + maxLabelDimensions.height) :
642
- labelPadding + maxLabelDimensions.width;
643
- if (isArray(e.tickSize)) {
644
- e.tickSize[0] = distance;
645
- }
646
- else {
647
- e.tickSize = [distance, 0];
648
- }
617
+ }
618
+ /**
619
+ * Handle columns and setScale.
620
+ * @private
621
+ */
622
+ function onAfterSetScale() {
623
+ var axis = this;
624
+ (axis.grid.columns || []).forEach(function (column) { return column.setScale(); });
625
+ }
626
+ /**
627
+ * Draw vertical axis ticks extra long to create cell floors and roofs.
628
+ * Overrides the tickLength for vertical axes.
629
+ * @private
630
+ */
631
+ function onAfterTickSize(e) {
632
+ var defaultLeftAxisOptions = AxisDefaults.defaultLeftAxisOptions;
633
+ var _a = this, horiz = _a.horiz, maxLabelDimensions = _a.maxLabelDimensions, _b = _a.options.grid, gridOptions = _b === void 0 ? {} : _b;
634
+ if (gridOptions.enabled && maxLabelDimensions) {
635
+ var labelPadding = (Math.abs(defaultLeftAxisOptions.labels.x) * 2);
636
+ var distance = horiz ?
637
+ (gridOptions.cellHeight ||
638
+ labelPadding + maxLabelDimensions.height) :
639
+ labelPadding + maxLabelDimensions.width;
640
+ if (isArray(e.tickSize)) {
641
+ e.tickSize[0] = distance;
642
+ }
643
+ else {
644
+ e.tickSize = [distance, 0];
649
645
  }
650
646
  }
651
- /**
652
- * @private
653
- */
654
- function onChartAfterSetChartSize() {
655
- this.axes.forEach(function (axis) {
656
- (axis.grid && axis.grid.columns || []).forEach(function (column) {
657
- column.setAxisSize();
658
- column.setAxisTranslation();
659
- });
647
+ }
648
+ /**
649
+ * @private
650
+ */
651
+ function onChartAfterSetChartSize() {
652
+ this.axes.forEach(function (axis) {
653
+ (axis.grid && axis.grid.columns || []).forEach(function (column) {
654
+ column.setAxisSize();
655
+ column.setAxisTranslation();
660
656
  });
657
+ });
658
+ }
659
+ /**
660
+ * @private
661
+ */
662
+ function onDestroy(e) {
663
+ var grid = this.grid;
664
+ (grid.columns || []).forEach(function (column) { return column.destroy(e.keepEvents); });
665
+ grid.columns = void 0;
666
+ }
667
+ /**
668
+ * Wraps axis init to draw cell walls on vertical axes.
669
+ * @private
670
+ */
671
+ function onInit(e) {
672
+ var axis = this;
673
+ var userOptions = e.userOptions || {};
674
+ var gridOptions = userOptions.grid || {};
675
+ if (gridOptions.enabled && defined(gridOptions.borderColor)) {
676
+ userOptions.tickColor = userOptions.lineColor = (gridOptions.borderColor);
661
677
  }
662
- /**
663
- * @private
664
- */
665
- function onDestroy(e) {
666
- var grid = this.grid;
667
- (grid.columns || []).forEach(function (column) {
668
- column.destroy(e.keepEvents);
669
- });
670
- grid.columns = void 0;
678
+ if (!axis.grid) {
679
+ axis.grid = new GridAxisAdditions(axis);
671
680
  }
672
- /**
673
- * Wraps axis init to draw cell walls on vertical axes.
674
- * @private
675
- */
676
- function onInit(e) {
677
- var axis = this;
678
- var userOptions = e.userOptions || {};
679
- var gridOptions = userOptions.grid || {};
680
- if (gridOptions.enabled && defined(gridOptions.borderColor)) {
681
- userOptions.tickColor = userOptions.lineColor = (gridOptions.borderColor);
681
+ axis.hiddenLabels = [];
682
+ axis.hiddenMarks = [];
683
+ }
684
+ /**
685
+ * Center tick labels in cells.
686
+ * @private
687
+ */
688
+ function onTickAfterGetLabelPosition(e) {
689
+ var tick = this, label = tick.label, axis = tick.axis, reversed = axis.reversed, chart = axis.chart, options = axis.options, gridOptions = options.grid || {}, labelOpts = axis.options.labels, align = labelOpts.align,
690
+ // verticalAlign is currently not supported for axis.labels.
691
+ verticalAlign = 'middle', // labelOpts.verticalAlign,
692
+ side = GridAxisSide[axis.side], tickmarkOffset = e.tickmarkOffset, tickPositions = axis.tickPositions, tickPos = tick.pos - tickmarkOffset, nextTickPos = (isNumber(tickPositions[e.index + 1]) ?
693
+ tickPositions[e.index + 1] - tickmarkOffset :
694
+ (axis.max || 0) + tickmarkOffset), tickSize = axis.tickSize('tick'), tickWidth = tickSize ? tickSize[0] : 0, crispCorr = tickSize ? tickSize[1] / 2 : 0;
695
+ var labelHeight, lblMetrics, lines, bottom, top, left, right;
696
+ // Only center tick labels in grid axes
697
+ if (gridOptions.enabled === true) {
698
+ // Calculate top and bottom positions of the cell.
699
+ if (side === 'top') {
700
+ bottom = axis.top + axis.offset;
701
+ top = bottom - tickWidth;
682
702
  }
683
- if (!axis.grid) {
684
- axis.grid = new Additions(axis);
703
+ else if (side === 'bottom') {
704
+ top = chart.chartHeight - axis.bottom + axis.offset;
705
+ bottom = top + tickWidth;
685
706
  }
686
- axis.hiddenLabels = [];
687
- axis.hiddenMarks = [];
688
- }
689
- /**
690
- * Center tick labels in cells.
691
- * @private
692
- */
693
- function onTickAfterGetLabelPosition(e) {
694
- var tick = this, label = tick.label, axis = tick.axis, reversed = axis.reversed, chart = axis.chart, options = axis.options, gridOptions = options.grid || {}, labelOpts = axis.options.labels, align = labelOpts.align,
695
- // verticalAlign is currently not supported for axis.labels.
696
- verticalAlign = 'middle', // labelOpts.verticalAlign,
697
- side = GridAxis.Side[axis.side], tickmarkOffset = e.tickmarkOffset, tickPositions = axis.tickPositions, tickPos = tick.pos - tickmarkOffset, nextTickPos = (isNumber(tickPositions[e.index + 1]) ?
698
- tickPositions[e.index + 1] - tickmarkOffset :
699
- (axis.max || 0) + tickmarkOffset), tickSize = axis.tickSize('tick'), tickWidth = tickSize ? tickSize[0] : 0, crispCorr = tickSize ? tickSize[1] / 2 : 0;
700
- var labelHeight, lblMetrics, lines, bottom, top, left, right;
701
- // Only center tick labels in grid axes
702
- if (gridOptions.enabled === true) {
703
- // Calculate top and bottom positions of the cell.
704
- if (side === 'top') {
705
- bottom = axis.top + axis.offset;
706
- top = bottom - tickWidth;
707
- }
708
- else if (side === 'bottom') {
709
- top = chart.chartHeight - axis.bottom + axis.offset;
710
- bottom = top + tickWidth;
711
- }
712
- else {
713
- bottom = axis.top + axis.len - (axis.translate(reversed ? nextTickPos : tickPos) || 0);
714
- top = axis.top + axis.len - (axis.translate(reversed ? tickPos : nextTickPos) || 0);
715
- }
716
- // Calculate left and right positions of the cell.
717
- if (side === 'right') {
718
- left = chart.chartWidth - axis.right + axis.offset;
719
- right = left + tickWidth;
720
- }
721
- else if (side === 'left') {
722
- right = axis.left + axis.offset;
723
- left = right - tickWidth;
724
- }
725
- else {
726
- left = Math.round(axis.left + (axis.translate(reversed ? nextTickPos : tickPos) || 0)) - crispCorr;
727
- right = Math.min(// #15742
728
- Math.round(axis.left + (axis.translate(reversed ? tickPos : nextTickPos) || 0)) - crispCorr, axis.left + axis.len);
729
- }
730
- tick.slotWidth = right - left;
731
- // Calculate the positioning of the label based on
732
- // alignment.
733
- e.pos.x = (align === 'left' ?
734
- left :
735
- align === 'right' ?
736
- right :
737
- left + ((right - left) / 2) // default to center
738
- );
739
- e.pos.y = (verticalAlign === 'top' ?
740
- top :
741
- verticalAlign === 'bottom' ?
742
- bottom :
743
- top + ((bottom - top) / 2) // default to middle
744
- );
745
- lblMetrics = chart.renderer.fontMetrics(labelOpts.style.fontSize, label && label.element);
746
- labelHeight = label ? label.getBBox().height : 0;
747
- // Adjustment to y position to align the label correctly.
748
- // Would be better to have a setter or similar for this.
749
- if (!labelOpts.useHTML) {
750
- lines = Math.round(labelHeight / lblMetrics.h);
751
- e.pos.y += (
752
- // Center the label
753
- // TODO: why does this actually center the label?
754
- ((lblMetrics.b - (lblMetrics.h - lblMetrics.f)) / 2) +
755
- // Adjust for height of additional lines.
756
- -(((lines - 1) * lblMetrics.h) / 2));
757
- }
758
- else {
759
- e.pos.y += (
760
- // Readjust yCorr in htmlUpdateTransform
761
- lblMetrics.b +
762
- // Adjust for height of html label
763
- -(labelHeight / 2));
764
- }
765
- e.pos.x += (axis.horiz && labelOpts.x) || 0;
707
+ else {
708
+ bottom = axis.top + axis.len - (axis.translate(reversed ? nextTickPos : tickPos) || 0);
709
+ top = axis.top + axis.len - (axis.translate(reversed ? tickPos : nextTickPos) || 0);
766
710
  }
767
- }
768
- /**
769
- * @private
770
- */
771
- function onTickLabelFormat(ctx) {
772
- var axis = ctx.axis, value = ctx.value;
773
- if (axis.options.grid &&
774
- axis.options.grid.enabled) {
775
- var tickPos = axis.tickPositions;
776
- var series = (axis.linkedParent || axis).series[0];
777
- var isFirst = value === tickPos[0];
778
- var isLast = value === tickPos[tickPos.length - 1];
779
- var point = series && find(series.options.data, function (p) {
780
- return p[axis.isXAxis ? 'x' : 'y'] === value;
781
- });
782
- var pointCopy = void 0;
783
- if (point && series.is('gantt')) {
784
- // For the Gantt set point aliases to the pointCopy
785
- // to do not change the original point
786
- pointCopy = merge(point);
787
- H.seriesTypes.gantt.prototype.pointClass
788
- .setGanttPointAliases(pointCopy);
789
- }
790
- // Make additional properties available for the
791
- // formatter
792
- ctx.isFirst = isFirst;
793
- ctx.isLast = isLast;
794
- ctx.point = pointCopy;
711
+ // Calculate left and right positions of the cell.
712
+ if (side === 'right') {
713
+ left = chart.chartWidth - axis.right + axis.offset;
714
+ right = left + tickWidth;
795
715
  }
716
+ else if (side === 'left') {
717
+ right = axis.left + axis.offset;
718
+ left = right - tickWidth;
719
+ }
720
+ else {
721
+ left = Math.round(axis.left + (axis.translate(reversed ? nextTickPos : tickPos) || 0)) - crispCorr;
722
+ right = Math.min(// #15742
723
+ Math.round(axis.left + (axis.translate(reversed ? tickPos : nextTickPos) || 0)) - crispCorr, axis.left + axis.len);
724
+ }
725
+ tick.slotWidth = right - left;
726
+ // Calculate the positioning of the label based on
727
+ // alignment.
728
+ e.pos.x = (align === 'left' ?
729
+ left :
730
+ align === 'right' ?
731
+ right :
732
+ left + ((right - left) / 2) // default to center
733
+ );
734
+ e.pos.y = (verticalAlign === 'top' ?
735
+ top :
736
+ verticalAlign === 'bottom' ?
737
+ bottom :
738
+ top + ((bottom - top) / 2) // default to middle
739
+ );
740
+ lblMetrics = chart.renderer.fontMetrics(labelOpts.style.fontSize, label && label.element);
741
+ labelHeight = label ? label.getBBox().height : 0;
742
+ // Adjustment to y position to align the label correctly.
743
+ // Would be better to have a setter or similar for this.
744
+ if (!labelOpts.useHTML) {
745
+ lines = Math.round(labelHeight / lblMetrics.h);
746
+ e.pos.y += (
747
+ // Center the label
748
+ // TODO: why does this actually center the label?
749
+ ((lblMetrics.b - (lblMetrics.h - lblMetrics.f)) / 2) +
750
+ // Adjust for height of additional lines.
751
+ -(((lines - 1) * lblMetrics.h) / 2));
752
+ }
753
+ else {
754
+ e.pos.y += (
755
+ // Readjust yCorr in htmlUpdateTransform
756
+ lblMetrics.b +
757
+ // Adjust for height of html label
758
+ -(labelHeight / 2));
759
+ }
760
+ e.pos.x += (axis.horiz && labelOpts.x) || 0;
796
761
  }
797
- /**
798
- * Makes tick labels which are usually ignored in a linked axis
799
- * displayed if they are within range of linkedParent.min.
800
- * ```
801
- * _____________________________
802
- * | | | | |
803
- * Make this: | | 2 | 3 | 4 |
804
- * |___|_______|_______|_______|
805
- * ^
806
- * _____________________________
807
- * | | | | |
808
- * Into this: | 1 | 2 | 3 | 4 |
809
- * |___|_______|_______|_______|
810
- * ^
811
- * ```
812
- * @private
813
- * @todo Does this function do what the drawing says? Seems to affect
814
- * ticks and not the labels directly?
815
- */
816
- function onTrimTicks() {
817
- var axis = this;
818
- var options = axis.options;
819
- var gridOptions = options.grid || {};
820
- var categoryAxis = axis.categories;
821
- var tickPositions = axis.tickPositions;
822
- var firstPos = tickPositions[0];
823
- var lastPos = tickPositions[tickPositions.length - 1];
824
- var linkedMin = axis.linkedParent && axis.linkedParent.min;
825
- var linkedMax = axis.linkedParent && axis.linkedParent.max;
826
- var min = linkedMin || axis.min;
827
- var max = linkedMax || axis.max;
828
- var tickInterval = axis.tickInterval;
829
- var endMoreThanMin = (firstPos < min &&
830
- firstPos + tickInterval > min);
831
- var startLessThanMax = (lastPos > max &&
832
- lastPos - tickInterval < max);
833
- if (gridOptions.enabled === true &&
834
- !categoryAxis &&
835
- (axis.horiz || axis.isLinked)) {
836
- if (endMoreThanMin && !options.startOnTick) {
837
- tickPositions[0] = min;
838
- }
839
- if (startLessThanMax && !options.endOnTick) {
840
- tickPositions[tickPositions.length - 1] = max;
841
- }
762
+ }
763
+ /**
764
+ * @private
765
+ */
766
+ function onTickLabelFormat(ctx) {
767
+ var axis = ctx.axis, value = ctx.value;
768
+ if (axis.options.grid &&
769
+ axis.options.grid.enabled) {
770
+ var tickPos = axis.tickPositions;
771
+ var series = (axis.linkedParent || axis).series[0];
772
+ var isFirst = value === tickPos[0];
773
+ var isLast = value === tickPos[tickPos.length - 1];
774
+ var point = series && find(series.options.data, function (p) {
775
+ return p[axis.isXAxis ? 'x' : 'y'] === value;
776
+ });
777
+ var pointCopy = void 0;
778
+ if (point && series.is('gantt')) {
779
+ // For the Gantt set point aliases to the pointCopy
780
+ // to do not change the original point
781
+ pointCopy = merge(point);
782
+ H.seriesTypes.gantt.prototype.pointClass
783
+ .setGanttPointAliases(pointCopy);
842
784
  }
785
+ // Make additional properties available for the
786
+ // formatter
787
+ ctx.isFirst = isFirst;
788
+ ctx.isLast = isLast;
789
+ ctx.point = pointCopy;
843
790
  }
844
- /**
845
- * Avoid altering tickInterval when reserving space.
846
- * @private
847
- */
848
- function wrapUnsquish(proceed) {
849
- var axis = this;
850
- var _a = axis.options.grid, gridOptions = _a === void 0 ? {} : _a;
851
- if (gridOptions.enabled === true && axis.categories) {
852
- return axis.tickInterval;
791
+ }
792
+ /**
793
+ * Makes tick labels which are usually ignored in a linked axis
794
+ * displayed if they are within range of linkedParent.min.
795
+ * ```
796
+ * _____________________________
797
+ * | | | | |
798
+ * Make this: | | 2 | 3 | 4 |
799
+ * |___|_______|_______|_______|
800
+ * ^
801
+ * _____________________________
802
+ * | | | | |
803
+ * Into this: | 1 | 2 | 3 | 4 |
804
+ * |___|_______|_______|_______|
805
+ * ^
806
+ * ```
807
+ * @private
808
+ * @todo Does this function do what the drawing says? Seems to affect
809
+ * ticks and not the labels directly?
810
+ */
811
+ function onTrimTicks() {
812
+ var axis = this;
813
+ var options = axis.options;
814
+ var gridOptions = options.grid || {};
815
+ var categoryAxis = axis.categories;
816
+ var tickPositions = axis.tickPositions;
817
+ var firstPos = tickPositions[0];
818
+ var lastPos = tickPositions[tickPositions.length - 1];
819
+ var linkedMin = axis.linkedParent && axis.linkedParent.min;
820
+ var linkedMax = axis.linkedParent && axis.linkedParent.max;
821
+ var min = linkedMin || axis.min;
822
+ var max = linkedMax || axis.max;
823
+ var tickInterval = axis.tickInterval;
824
+ var endMoreThanMin = (firstPos < min &&
825
+ firstPos + tickInterval > min);
826
+ var startLessThanMax = (lastPos > max &&
827
+ lastPos - tickInterval < max);
828
+ if (gridOptions.enabled === true &&
829
+ !categoryAxis &&
830
+ (axis.horiz || axis.isLinked)) {
831
+ if (endMoreThanMin && !options.startOnTick) {
832
+ tickPositions[0] = min;
833
+ }
834
+ if (startLessThanMax && !options.endOnTick) {
835
+ tickPositions[tickPositions.length - 1] = max;
853
836
  }
854
- return proceed.apply(axis, argsToArray(arguments));
855
837
  }
838
+ }
839
+ /**
840
+ * Avoid altering tickInterval when reserving space.
841
+ * @private
842
+ */
843
+ function wrapUnsquish(proceed) {
844
+ var axis = this;
845
+ var _a = axis.options.grid, gridOptions = _a === void 0 ? {} : _a;
846
+ if (gridOptions.enabled === true && axis.categories) {
847
+ return axis.tickInterval;
848
+ }
849
+ return proceed.apply(axis, argsToArray(arguments));
850
+ }
851
+ /* *
852
+ *
853
+ * Class
854
+ *
855
+ * */
856
+ /**
857
+ * Additions for grid axes.
858
+ * @private
859
+ * @class
860
+ */
861
+ var GridAxisAdditions = /** @class */ (function () {
856
862
  /* *
863
+ *
864
+ * Constructors
865
+ *
866
+ * */
867
+ function GridAxisAdditions(axis) {
868
+ this.axis = axis;
869
+ }
870
+ /* *
871
+ *
872
+ * Functions
873
+ *
874
+ * */
875
+ /**
876
+ * Checks if an axis is the outer axis in its dimension. Since
877
+ * axes are placed outwards in order, the axis with the highest
878
+ * index is the outermost axis.
857
879
  *
858
- * Class
880
+ * Example: If there are multiple x-axes at the top of the chart,
881
+ * this function returns true if the axis supplied is the last
882
+ * of the x-axes.
859
883
  *
860
- * */
861
- /**
862
- * Additions for grid axes.
863
884
  * @private
864
- * @class
885
+ *
886
+ * @return {boolean}
887
+ * True if the axis is the outermost axis in its dimension; false if
888
+ * not.
865
889
  */
866
- var Additions = /** @class */ (function () {
867
- /* *
868
- *
869
- * Constructors
870
- *
871
- * */
872
- function Additions(axis) {
873
- this.axis = axis;
874
- }
875
- /* *
876
- *
877
- * Functions
878
- *
879
- * */
880
- /**
881
- * Checks if an axis is the outer axis in its dimension. Since
882
- * axes are placed outwards in order, the axis with the highest
883
- * index is the outermost axis.
884
- *
885
- * Example: If there are multiple x-axes at the top of the chart,
886
- * this function returns true if the axis supplied is the last
887
- * of the x-axes.
888
- *
889
- * @private
890
- *
891
- * @return {boolean}
892
- * True if the axis is the outermost axis in its dimension; false if
893
- * not.
894
- */
895
- Additions.prototype.isOuterAxis = function () {
896
- var axis = this.axis;
897
- var chart = axis.chart;
898
- var columnIndex = axis.grid.columnIndex;
899
- var columns = (axis.linkedParent && axis.linkedParent.grid.columns ||
900
- axis.grid.columns);
901
- var parentAxis = columnIndex ? axis.linkedParent : axis;
902
- var thisIndex = -1, lastIndex = 0;
903
- chart[axis.coll].forEach(function (otherAxis, index) {
904
- if (otherAxis.side === axis.side &&
905
- !otherAxis.options.isInternal) {
906
- lastIndex = index;
907
- if (otherAxis === parentAxis) {
908
- // Get the index of the axis in question
909
- thisIndex = index;
910
- }
890
+ GridAxisAdditions.prototype.isOuterAxis = function () {
891
+ var axis = this.axis;
892
+ var chart = axis.chart;
893
+ var columnIndex = axis.grid.columnIndex;
894
+ var columns = (axis.linkedParent && axis.linkedParent.grid.columns ||
895
+ axis.grid.columns);
896
+ var parentAxis = columnIndex ? axis.linkedParent : axis;
897
+ var thisIndex = -1, lastIndex = 0;
898
+ (chart[axis.coll] || []).forEach(function (otherAxis, index) {
899
+ if (otherAxis.side === axis.side &&
900
+ !otherAxis.options.isInternal) {
901
+ lastIndex = index;
902
+ if (otherAxis === parentAxis) {
903
+ // Get the index of the axis in question
904
+ thisIndex = index;
911
905
  }
912
- });
913
- return (lastIndex === thisIndex &&
914
- (isNumber(columnIndex) ?
915
- columns.length === columnIndex :
916
- true));
917
- };
918
- /**
919
- * Add extra border based on the provided path.
920
- * @private
921
- * @param {SVGPath} path
922
- * The path of the border.
923
- * @return {Highcharts.SVGElement}
924
- * Border
925
- */
926
- Additions.prototype.renderBorder = function (path) {
927
- var axis = this.axis, renderer = axis.chart.renderer, options = axis.options, extraBorderLine = renderer.path(path)
928
- .addClass('highcharts-axis-line')
929
- .add(axis.axisBorder);
930
- if (!renderer.styledMode) {
931
- extraBorderLine.attr({
932
- stroke: options.lineColor,
933
- 'stroke-width': options.lineWidth,
934
- zIndex: 7
935
- });
936
906
  }
937
- return extraBorderLine;
938
- };
939
- return Additions;
940
- }());
941
- GridAxis.Additions = Additions;
942
- })(GridAxis || (GridAxis = {}));
907
+ });
908
+ return (lastIndex === thisIndex &&
909
+ (isNumber(columnIndex) ?
910
+ columns.length === columnIndex :
911
+ true));
912
+ };
913
+ /**
914
+ * Add extra border based on the provided path.
915
+ * @private
916
+ * @param {SVGPath} path
917
+ * The path of the border.
918
+ * @return {Highcharts.SVGElement}
919
+ * Border
920
+ */
921
+ GridAxisAdditions.prototype.renderBorder = function (path) {
922
+ var axis = this.axis, renderer = axis.chart.renderer, options = axis.options, extraBorderLine = renderer.path(path)
923
+ .addClass('highcharts-axis-line')
924
+ .add(axis.axisBorder);
925
+ if (!renderer.styledMode) {
926
+ extraBorderLine.attr({
927
+ stroke: options.lineColor,
928
+ 'stroke-width': options.lineWidth,
929
+ zIndex: 7
930
+ });
931
+ }
932
+ return extraBorderLine;
933
+ };
934
+ return GridAxisAdditions;
935
+ }());
943
936
  /* *
944
937
  *
945
938
  * Registry
@@ -971,6 +964,9 @@ dateFormats.W = function (timestamp) {
971
964
  * Default Export
972
965
  *
973
966
  * */
967
+ var GridAxis = {
968
+ compose: compose
969
+ };
974
970
  export default GridAxis;
975
971
  /* *
976
972
  *