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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts Gantt JS v10.1.0 (2022-04-29)
2
+ * @license Highcharts Gantt JS v10.2.0 (2022-07-05)
3
3
  *
4
4
  * (c) 2017-2021 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng
5
5
  *
@@ -63,7 +63,7 @@
63
63
  * Constants
64
64
  *
65
65
  * */
66
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.1.0', Globals.win = (typeof window !== 'undefined' ?
66
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.2.0', Globals.win = (typeof window !== 'undefined' ?
67
67
  window :
68
68
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
69
69
  Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
@@ -208,11 +208,11 @@
208
208
  function error(code, stop, chart, params) {
209
209
  var severity = stop ? 'Highcharts error' : 'Highcharts warning';
210
210
  if (code === 32) {
211
- code = severity + ": Deprecated member";
211
+ code = "" + severity + ": Deprecated member";
212
212
  }
213
213
  var isCode = isNumber(code);
214
214
  var message = isCode ?
215
- severity + " #" + code + ": www.highcharts.com/errors/" + code + "/" :
215
+ "" + severity + " #" + code + ": www.highcharts.com/errors/" + code + "/" :
216
216
  code.toString();
217
217
  var defaultHandler = function () {
218
218
  if (stop) {
@@ -231,7 +231,7 @@
231
231
  message += '?';
232
232
  }
233
233
  objectEach(params, function (value, key) {
234
- additionalMessages_1 += "\n - " + key + ": " + value;
234
+ additionalMessages_1 += "\n - ".concat(key, ": ").concat(value);
235
235
  if (isCode) {
236
236
  message += encodeURI(key) + '=' + encodeURI(value);
237
237
  }
@@ -691,7 +691,7 @@
691
691
  function css(el, styles) {
692
692
  if (H.isMS && !H.svg) { // #2686
693
693
  if (styles && defined(styles.opacity)) {
694
- styles.filter = "alpha(opacity=" + styles.opacity * 100 + ")";
694
+ styles.filter = "alpha(opacity=".concat(styles.opacity * 100, ")");
695
695
  }
696
696
  }
697
697
  extend(el.style, styles);
@@ -1414,7 +1414,7 @@
1414
1414
  }, function (val, key) {
1415
1415
  H[key] = function (arr) {
1416
1416
  var _a;
1417
- error(32, false, void 0, (_a = {}, _a["Highcharts." + key] = "use Array." + val, _a));
1417
+ error(32, false, void 0, (_a = {}, _a["Highcharts.".concat(key)] = "use Array.".concat(val), _a));
1418
1418
  return Array.prototype[val].apply(arr, [].slice.call(arguments, 1));
1419
1419
  };
1420
1420
  });
@@ -3174,7 +3174,7 @@
3174
3174
  *
3175
3175
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3176
3176
  */
3177
- borderColor: "#335cad" /* highlightColor80 */,
3177
+ borderColor: "#335cad" /* Palette.highlightColor80 */,
3178
3178
  /**
3179
3179
  * The pixel width of the outer chart border.
3180
3180
  *
@@ -3213,7 +3213,7 @@
3213
3213
  *
3214
3214
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3215
3215
  */
3216
- backgroundColor: "#ffffff" /* backgroundColor */,
3216
+ backgroundColor: "#ffffff" /* Palette.backgroundColor */,
3217
3217
  /**
3218
3218
  * The background color or gradient for the plot area.
3219
3219
  *
@@ -3270,7 +3270,7 @@
3270
3270
  *
3271
3271
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
3272
3272
  */
3273
- plotBorderColor: "#cccccc" /* neutralColor20 */
3273
+ plotBorderColor: "#cccccc" /* Palette.neutralColor20 */
3274
3274
  };
3275
3275
  /* *
3276
3276
  *
@@ -3449,7 +3449,7 @@
3449
3449
  return 'rgb(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ')';
3450
3450
  }
3451
3451
  if (format === 'a') {
3452
- return "" + rgba[3];
3452
+ return "".concat(rgba[3]);
3453
3453
  }
3454
3454
  return 'rgba(' + rgba.join(',') + ')';
3455
3455
  }
@@ -3945,13 +3945,12 @@
3945
3945
  */
3946
3946
  Time.prototype.update = function (options) {
3947
3947
  var useUTC = pick(options && options.useUTC,
3948
- true),
3949
- time = this;
3948
+ true);
3950
3949
  this.options = options = merge(true, this.options || {}, options);
3951
3950
  // Allow using a different Date class
3952
3951
  this.Date = options.Date || win.Date || Date;
3953
3952
  this.useUTC = useUTC;
3954
- this.timezoneOffset = (useUTC && options.timezoneOffset);
3953
+ this.timezoneOffset = (useUTC && options.timezoneOffset) || void 0;
3955
3954
  this.getTimezoneOffset = this.timezoneOffsetFunction();
3956
3955
  /*
3957
3956
  * The time object has options allowing for variable time zones, meaning
@@ -4388,17 +4387,16 @@
4388
4387
  hour: 6,
4389
4388
  day: 3
4390
4389
  };
4391
- var format,
4392
- n,
4393
- lastN = 'millisecond'; // for sub-millisecond data, #4223
4394
- for (n in timeUnits) { // eslint-disable-line guard-for-in
4395
- // If the range is exactly one week and we're looking at a
4396
- // Sunday/Monday, go for the week format
4397
- if (range === timeUnits.week &&
4398
- +this.dateFormat('%w',
4399
- timestamp) === startOfWeek &&
4400
- dateStr.substr(6) === blank.substr(6)) {
4401
- n = 'week';
4390
+ var n = 'millisecond',
4391
+ // for sub-millisecond data, #4223
4392
+ lastN = n;
4393
+ for (n in timeUnits) { // eslint-disable-line guard-for-in
4394
+ // If the range is exactly one week and we're looking at a
4395
+ // Sunday/Monday, go for the week format
4396
+ if (range === timeUnits.week &&
4397
+ +this.dateFormat('%w', timestamp) === startOfWeek &&
4398
+ dateStr.substr(6) === blank.substr(6)) {
4399
+ n = 'week';
4402
4400
  break;
4403
4401
  }
4404
4402
  // The first format that is too great for the range
@@ -4418,10 +4416,7 @@
4418
4416
  lastN = n;
4419
4417
  }
4420
4418
  }
4421
- if (n) {
4422
- format = this.resolveDTLFormat(dateTimeLabelFormats[n]).main;
4423
- }
4424
- return format;
4419
+ return this.resolveDTLFormat(dateTimeLabelFormats[n]).main;
4425
4420
  };
4426
4421
  return Time;
4427
4422
  }());
@@ -5378,7 +5373,7 @@
5378
5373
  /**
5379
5374
  * @ignore-option
5380
5375
  */
5381
- color: "#333333" /* neutralColor80 */
5376
+ color: "#333333" /* Palette.neutralColor80 */
5382
5377
  }
5383
5378
  },
5384
5379
  /**
@@ -5658,7 +5653,7 @@
5658
5653
  *
5659
5654
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5660
5655
  */
5661
- borderColor: "#999999" /* neutralColor40 */,
5656
+ borderColor: "#999999" /* Palette.neutralColor40 */,
5662
5657
  /**
5663
5658
  * The border corner radius of the legend.
5664
5659
  *
@@ -5752,7 +5747,7 @@
5752
5747
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5753
5748
  * @since 2.2.4
5754
5749
  */
5755
- activeColor: "#003399" /* highlightColor100 */,
5750
+ activeColor: "#003399" /* Palette.highlightColor100 */,
5756
5751
  /**
5757
5752
  * The color of the inactive up or down arrow in the legend page
5758
5753
  * navigation. .
@@ -5768,7 +5763,7 @@
5768
5763
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
5769
5764
  * @since 2.2.4
5770
5765
  */
5771
- inactiveColor: "#cccccc" /* neutralColor20 */
5766
+ inactiveColor: "#cccccc" /* Palette.neutralColor20 */
5772
5767
  },
5773
5768
  /**
5774
5769
  * The inner padding of the legend box.
@@ -5844,7 +5839,7 @@
5844
5839
  /**
5845
5840
  * @ignore
5846
5841
  */
5847
- color: "#333333" /* neutralColor80 */,
5842
+ color: "#333333" /* Palette.neutralColor80 */,
5848
5843
  /**
5849
5844
  * @ignore
5850
5845
  */
@@ -5882,7 +5877,7 @@
5882
5877
  /**
5883
5878
  * @ignore
5884
5879
  */
5885
- color: "#000000" /* neutralColor100 */
5880
+ color: "#000000" /* Palette.neutralColor100 */
5886
5881
  },
5887
5882
  /**
5888
5883
  * CSS styles for each legend item when the corresponding series or
@@ -5903,7 +5898,7 @@
5903
5898
  /**
5904
5899
  * @ignore
5905
5900
  */
5906
- color: "#cccccc" /* neutralColor20 */
5901
+ color: "#cccccc" /* Palette.neutralColor20 */
5907
5902
  },
5908
5903
  /**
5909
5904
  * Whether to apply a drop shadow to the legend. A `backgroundColor`
@@ -6207,7 +6202,7 @@
6207
6202
  /**
6208
6203
  * @ignore
6209
6204
  */
6210
- backgroundColor: "#ffffff" /* backgroundColor */,
6205
+ backgroundColor: "#ffffff" /* Palette.backgroundColor */,
6211
6206
  /**
6212
6207
  * @ignore
6213
6208
  */
@@ -6802,7 +6797,7 @@
6802
6797
  *
6803
6798
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
6804
6799
  */
6805
- backgroundColor: color("#f7f7f7" /* neutralColor3 */)
6800
+ backgroundColor: color("#f7f7f7" /* Palette.neutralColor3 */)
6806
6801
  // @todo: Disallow undefined as input for colors
6807
6802
  .setOpacity(0.85).get(),
6808
6803
  /**
@@ -6865,7 +6860,7 @@
6865
6860
  */
6866
6861
  style: {
6867
6862
  /** @internal */
6868
- color: "#333333" /* neutralColor80 */,
6863
+ color: "#333333" /* Palette.neutralColor80 */,
6869
6864
  /** @internal */
6870
6865
  cursor: 'default',
6871
6866
  /** @internal */
@@ -6980,7 +6975,7 @@
6980
6975
  /** @internal */
6981
6976
  cursor: 'pointer',
6982
6977
  /** @internal */
6983
- color: "#999999" /* neutralColor40 */,
6978
+ color: "#999999" /* Palette.neutralColor40 */,
6984
6979
  /** @internal */
6985
6980
  fontSize: '9px'
6986
6981
  },
@@ -7454,7 +7449,7 @@
7454
7449
  curAnim = options.curAnim;
7455
7450
  var ret,
7456
7451
  done;
7457
- if (elem.attr && !elem.element) { // #2616, element is destroyed
7452
+ if ((elem.attr) && !elem.element) { // #2616, element is destroyed
7458
7453
  ret = false;
7459
7454
  }
7460
7455
  else if (gotoEnd || t >= duration + this.startTime) {
@@ -7968,7 +7963,7 @@
7968
7963
  }
7969
7964
  if (!valid) {
7970
7965
  error(33, false, void 0, {
7971
- 'Invalid attribute in config': "" + key
7966
+ 'Invalid attribute in config': "".concat(key)
7972
7967
  });
7973
7968
  delete attributes[key];
7974
7969
  }
@@ -9888,7 +9883,7 @@
9888
9883
  duration: pick(duration, 150),
9889
9884
  complete: function () {
9890
9885
  // #3088, assuming we're only using this for tooltips
9891
- elemWrapper.attr({ y: -9999 }).hide();
9886
+ elemWrapper.hide();
9892
9887
  }
9893
9888
  });
9894
9889
  };
@@ -10036,7 +10031,7 @@
10036
10031
  bBox.height = height = ({
10037
10032
  '11px,17': 14,
10038
10033
  '13px,20': 16
10039
- }[(fontSize || '') + "," + Math.round(height)] ||
10034
+ }["" + (fontSize || '') + ",".concat(Math.round(height))] ||
10040
10035
  height);
10041
10036
  }
10042
10037
  // Adjust for rotated text
@@ -10246,7 +10241,7 @@
10246
10241
  SVGElement.prototype.removeClass = function (className) {
10247
10242
  return this.attr('class', ('' + this.attr('class'))
10248
10243
  .replace(isString(className) ?
10249
- new RegExp("(^| )" + className + "( |$)") : // #12064, #13590
10244
+ new RegExp("(^| )".concat(className, "( |$)")) : // #12064, #13590
10250
10245
  className, ' ')
10251
10246
  .replace(/ +/g, ' ')
10252
10247
  .trim());
@@ -10471,7 +10466,7 @@
10471
10466
  element = this.element,
10472
10467
  oldShadowOptions = this.oldShadowOptions,
10473
10468
  defaultShadowOptions = {
10474
- color: "#000000" /* neutralColor100 */,
10469
+ color: "#000000" /* Palette.neutralColor100 */,
10475
10470
  offsetX: this.parentInverted ? -1 : 1,
10476
10471
  offsetY: this.parentInverted ? -1 : 1,
10477
10472
  opacity: 0.15,
@@ -10512,14 +10507,14 @@
10512
10507
  else if (!this.shadows) {
10513
10508
  shadowElementOpacity = options.opacity / options.width;
10514
10509
  transform = this.parentInverted ?
10515
- "translate(" + options.offsetY + ", " + options.offsetX + ")" :
10516
- "translate(" + options.offsetX + ", " + options.offsetY + ")";
10510
+ "translate(".concat(options.offsetY, ", ").concat(options.offsetX, ")") :
10511
+ "translate(".concat(options.offsetX, ", ").concat(options.offsetY, ")");
10517
10512
  for (i = 1; i <= options.width; i++) {
10518
10513
  shadow = element.cloneNode(false);
10519
10514
  strokeWidth = (options.width * 2) + 1 - (2 * i);
10520
10515
  attr(shadow, {
10521
10516
  stroke: (shadowOptions.color ||
10522
- "#000000" /* neutralColor100 */),
10517
+ "#000000" /* Palette.neutralColor100 */),
10523
10518
  'stroke-opacity': shadowElementOpacity * i,
10524
10519
  'stroke-width': strokeWidth,
10525
10520
  transform: transform,
@@ -12529,7 +12524,7 @@
12529
12524
  this.url = this.getReferenceURL();
12530
12525
  // Add description
12531
12526
  var desc = this.createElement('desc').add();
12532
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.1.0'));
12527
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.2.0'));
12533
12528
  renderer.defs = this.createElement('defs').add();
12534
12529
  renderer.allowHTML = allowHTML;
12535
12530
  renderer.forExport = forExport;
@@ -12642,7 +12637,7 @@
12642
12637
  id: 'hitme',
12643
12638
  width: 8,
12644
12639
  height: 8,
12645
- 'clip-path': "url(#" + id + ")",
12640
+ 'clip-path': "url(#".concat(id, ")"),
12646
12641
  fill: 'rgba(0,0,0,0.001)'
12647
12642
  }
12648
12643
  }]
@@ -12795,27 +12790,31 @@
12795
12790
  new TextBuilder(wrapper).buildSVG();
12796
12791
  };
12797
12792
  /**
12798
- * Returns white for dark colors and black for bright colors.
12793
+ * Returns white for dark colors and black for bright colors, based on W3C's
12794
+ * definition of [Relative luminance](
12795
+ * https://www.w3.org/WAI/GL/wiki/Relative_luminance).
12799
12796
  *
12800
12797
  * @function Highcharts.SVGRenderer#getContrast
12801
12798
  *
12802
- * @param {Highcharts.ColorString} rgba
12799
+ * @param {Highcharts.ColorString} color
12803
12800
  * The color to get the contrast for.
12804
12801
  *
12805
12802
  * @return {Highcharts.ColorString}
12806
12803
  * The contrast color, either `#000000` or `#FFFFFF`.
12807
12804
  */
12808
- SVGRenderer.prototype.getContrast = function (rgba) {
12809
- rgba = Color.parse(rgba).rgba;
12810
- // The threshold may be discussed. Here's a proposal for adding
12811
- // different weight to the color channels (#6216)
12812
- rgba[0] *= 1; // red
12813
- rgba[1] *= 1.2; // green
12814
- rgba[2] *= 0.5; // blue
12815
- return rgba[0] + rgba[1] + rgba[2] >
12816
- 1.8 * 255 ?
12817
- '#000000' :
12818
- '#FFFFFF';
12805
+ SVGRenderer.prototype.getContrast = function (color) {
12806
+ // #6216, #17273
12807
+ var rgba = Color.parse(color).rgba
12808
+ .map(function (b8) {
12809
+ var c = b8 / 255;
12810
+ return c <= 0.03928 ?
12811
+ c / 12.92 :
12812
+ Math.pow((c + 0.055) / 1.055, 2.4);
12813
+ });
12814
+ // Relative luminance
12815
+ var l = 0.2126 * rgba[0] + 0.7152 * rgba[1] + 0.0722 * rgba[2];
12816
+ // Use white or black based on which provides more contrast
12817
+ return 1.05 / (l + 0.05) > (l + 0.05) / 0.05 ? '#FFFFFF' : '#000000';
12819
12818
  };
12820
12819
  /**
12821
12820
  * Create a button with preset states.
@@ -12856,6 +12855,7 @@
12856
12855
  * The button element.
12857
12856
  */
12858
12857
  SVGRenderer.prototype.button = function (text, x, y, callback, theme, hoverState, selectState, disabledState, shape, useHTML) {
12858
+ if (theme === void 0) { theme = {}; }
12859
12859
  var label = this.label(text,
12860
12860
  x,
12861
12861
  y,
@@ -12865,23 +12865,20 @@
12865
12865
  useHTML,
12866
12866
  void 0, 'button'),
12867
12867
  styledMode = this.styledMode,
12868
- states = (theme && theme.states) || {};
12869
- if (theme) {
12870
- delete theme.states;
12871
- }
12872
- var curState = 0,
12873
- // Make a copy of normalState (#13798)
12874
- // (reference to options.rangeSelector.buttonTheme)
12875
- normalState = theme ? merge(theme) : {};
12868
+ states = theme.states || {};
12869
+ var curState = 0;
12870
+ theme = merge(theme);
12871
+ delete theme.states;
12876
12872
  var normalStyle = merge({
12877
- color: "#333333" /* neutralColor80 */,
12873
+ color: "#333333" /* Palette.neutralColor80 */,
12878
12874
  cursor: 'pointer',
12879
12875
  fontWeight: 'normal'
12880
12876
  },
12881
- normalState.style);
12882
- delete normalState.style;
12883
- // Remove stylable attributes
12884
- normalState = AST.filterUserAttributes(normalState);
12877
+ theme.style);
12878
+ delete theme.style;
12879
+ // Remove stylable attributes. Pass in the ButtonThemeObject and get the
12880
+ // SVGAttributes subset back.
12881
+ var normalState = AST.filterUserAttributes(theme);
12885
12882
  // Default, non-stylable attributes
12886
12883
  label.attr(merge({ padding: 8, r: 2 }, normalState));
12887
12884
  // Presentational. The string type is a mistake, it is just for
@@ -12892,21 +12889,21 @@
12892
12889
  if (!styledMode) {
12893
12890
  // Normal state - prepare the attributes
12894
12891
  normalState = merge({
12895
- fill: "#f7f7f7" /* neutralColor3 */,
12896
- stroke: "#cccccc" /* neutralColor20 */,
12892
+ fill: "#f7f7f7" /* Palette.neutralColor3 */,
12893
+ stroke: "#cccccc" /* Palette.neutralColor20 */,
12897
12894
  'stroke-width': 1
12898
12895
  }, normalState);
12899
12896
  // Hover state
12900
12897
  hoverState = merge(normalState, {
12901
- fill: "#e6e6e6" /* neutralColor10 */
12898
+ fill: "#e6e6e6" /* Palette.neutralColor10 */
12902
12899
  }, AST.filterUserAttributes(hoverState || states.hover || {}));
12903
12900
  hoverStyle = hoverState.style;
12904
12901
  delete hoverState.style;
12905
12902
  // Pressed state
12906
12903
  selectState = merge(normalState, {
12907
- fill: "#e6ebf5" /* highlightColor10 */,
12904
+ fill: "#e6ebf5" /* Palette.highlightColor10 */,
12908
12905
  style: {
12909
- color: "#000000" /* neutralColor100 */,
12906
+ color: "#000000" /* Palette.neutralColor100 */,
12910
12907
  fontWeight: 'bold'
12911
12908
  }
12912
12909
  }, AST.filterUserAttributes(selectState || states.select || {}));
@@ -12915,7 +12912,7 @@
12915
12912
  // Disabled state
12916
12913
  disabledState = merge(normalState, {
12917
12914
  style: {
12918
- color: "#cccccc" /* neutralColor20 */
12915
+ color: "#cccccc" /* Palette.neutralColor20 */
12919
12916
  }
12920
12917
  }, AST.filterUserAttributes(disabledState || states.disabled || {}));
12921
12918
  disabledStyle = disabledState.style;
@@ -13661,7 +13658,7 @@
13661
13658
  */
13662
13659
  SVGRenderer.prototype.fontMetrics = function (fontSize, elem) {
13663
13660
  if ((this.styledMode || !/px/.test(fontSize)) &&
13664
- win.getComputedStyle // old IE doesn't support it
13661
+ (win.getComputedStyle) // old IE doesn't support it
13665
13662
  ) {
13666
13663
  fontSize = elem && SVGElement.prototype.getStyle.call(elem, 'font-size');
13667
13664
  }
@@ -15805,7 +15802,7 @@
15805
15802
  */
15806
15803
  style: {
15807
15804
  /** @internal */
15808
- color: "#666666" /* neutralColor60 */,
15805
+ color: "#666666" /* Palette.neutralColor60 */,
15809
15806
  /** @internal */
15810
15807
  cursor: 'default',
15811
15808
  /** @internal */
@@ -16640,7 +16637,7 @@
16640
16637
  */
16641
16638
  style: {
16642
16639
  /** @internal */
16643
- color: "#666666" /* neutralColor60 */
16640
+ color: "#666666" /* Palette.neutralColor60 */
16644
16641
  }
16645
16642
  },
16646
16643
  /**
@@ -16757,7 +16754,7 @@
16757
16754
  * @type {Highcharts.ColorType}
16758
16755
  * @default #f2f2f2
16759
16756
  */
16760
- minorGridLineColor: "#f2f2f2" /* neutralColor5 */,
16757
+ minorGridLineColor: "#f2f2f2" /* Palette.neutralColor5 */,
16761
16758
  /**
16762
16759
  * Width of the minor, secondary grid lines.
16763
16760
  *
@@ -16783,7 +16780,7 @@
16783
16780
  * @type {Highcharts.ColorType}
16784
16781
  * @default #999999
16785
16782
  */
16786
- minorTickColor: "#999999" /* neutralColor40 */,
16783
+ minorTickColor: "#999999" /* Palette.neutralColor40 */,
16787
16784
  /**
16788
16785
  * The color of the line marking the axis itself.
16789
16786
  *
@@ -16804,7 +16801,7 @@
16804
16801
  * @type {Highcharts.ColorType}
16805
16802
  * @default #ccd6eb
16806
16803
  */
16807
- lineColor: "#ccd6eb" /* highlightColor20 */,
16804
+ lineColor: "#ccd6eb" /* Palette.highlightColor20 */,
16808
16805
  /**
16809
16806
  * The width of the line marking the axis itself.
16810
16807
  *
@@ -16841,7 +16838,7 @@
16841
16838
  * @type {Highcharts.ColorType}
16842
16839
  * @default #e6e6e6
16843
16840
  */
16844
- gridLineColor: "#e6e6e6" /* neutralColor10 */,
16841
+ gridLineColor: "#e6e6e6" /* Palette.neutralColor10 */,
16845
16842
  /**
16846
16843
  * The width of the grid lines extending the ticks across the plot area.
16847
16844
  * Defaults to 1 on the Y axis and 0 on the X axis, except for 3d
@@ -16899,7 +16896,7 @@
16899
16896
  * @type {Highcharts.ColorType}
16900
16897
  * @default #ccd6eb
16901
16898
  */
16902
- tickColor: "#ccd6eb" /* highlightColor20 */
16899
+ tickColor: "#ccd6eb" /* Palette.highlightColor20 */
16903
16900
  // tickWidth: 1
16904
16901
  };
16905
16902
  /**
@@ -17689,7 +17686,7 @@
17689
17686
  */
17690
17687
  style: {
17691
17688
  /** @internal */
17692
- color: "#000000" /* neutralColor100 */,
17689
+ color: "#000000" /* Palette.neutralColor100 */,
17693
17690
  /** @internal */
17694
17691
  fontSize: '11px',
17695
17692
  /** @internal */
@@ -17979,7 +17976,8 @@
17979
17976
  dateTimeLabelFormat = dateTimeLabelFormats.main;
17980
17977
  }
17981
17978
  else if (isNumber(value)) { // #1441
17982
- dateTimeLabelFormat = axis.dateTime.getXDateFormat(value, (options.dateTimeLabelFormats || {}));
17979
+ dateTimeLabelFormat = axis.dateTime.getXDateFormat(value, options.dateTimeLabelFormats ||
17980
+ {});
17983
17981
  }
17984
17982
  }
17985
17983
  // set properties for access in render method
@@ -18147,8 +18145,8 @@
18147
18145
  pos = {
18148
18146
  x: horiz ?
18149
18147
  correctFloat(axis.translate(tickPos + tickmarkOffset,
18150
- null,
18151
- null,
18148
+ void 0,
18149
+ void 0,
18152
18150
  old) +
18153
18151
  axis.transB) :
18154
18152
  (axis.left +
@@ -18166,8 +18164,8 @@
18166
18164
  (axis.opposite ? axis.height : 0)) :
18167
18165
  correctFloat(cHeight -
18168
18166
  axis.translate(tickPos + tickmarkOffset,
18169
- null,
18170
- null,
18167
+ void 0,
18168
+ void 0,
18171
18169
  old) -
18172
18170
  axis.transB)
18173
18171
  };
@@ -18195,20 +18193,23 @@
18195
18193
  -axis.labelOffset * (axis.labelAlign === 'center' ? 0.5 : 1) :
18196
18194
  0),
18197
18195
  pos = {};
18198
- var yOffset = labelOptions.y,
18196
+ var yOffset,
18199
18197
  line;
18200
- if (!defined(yOffset)) {
18201
- if (axis.side === 0) {
18202
- yOffset = label.rotation ? -8 : -label.getBBox().height;
18203
- }
18204
- else if (axis.side === 2) {
18205
- yOffset = rotCorr.y + 8;
18206
- }
18207
- else {
18208
- // #3140, #3140
18209
- yOffset = Math.cos(label.rotation * deg2rad) *
18210
- (rotCorr.y - label.getBBox(false, 0).height / 2);
18211
- }
18198
+ if (axis.side === 0) {
18199
+ yOffset = label.rotation ? -8 : -label.getBBox().height;
18200
+ }
18201
+ else if (axis.side === 2) {
18202
+ yOffset = rotCorr.y + 8;
18203
+ }
18204
+ else {
18205
+ // #3140, #3140
18206
+ yOffset = Math.cos(label.rotation * deg2rad) *
18207
+ (rotCorr.y - label.getBBox(false, 0).height / 2);
18208
+ }
18209
+ if (defined(labelOptions.y)) {
18210
+ yOffset = axis.side === 0 && axis.horiz ?
18211
+ labelOptions.y + yOffset :
18212
+ labelOptions.y;
18212
18213
  }
18213
18214
  x = x +
18214
18215
  labelOptions.x +
@@ -19089,7 +19090,7 @@
19089
19090
  multi,
19090
19091
  ret;
19091
19092
  if (categories) {
19092
- ret = "" + this.value;
19093
+ ret = "".concat(this.value);
19093
19094
  }
19094
19095
  else if (dateTimeLabelFormat) { // datetime axis
19095
19096
  ret = time.dateFormat(dateTimeLabelFormat, value);
@@ -19165,7 +19166,6 @@
19165
19166
  if (axis.isXAxis) {
19166
19167
  xData = series.xData;
19167
19168
  if (xData.length) {
19168
- var isPositive = function (number) { return number > 0; };
19169
19169
  xData = axis.logarithmic ?
19170
19170
  xData.filter(axis.validatePositiveValue) :
19171
19171
  xData;
@@ -19234,8 +19234,11 @@
19234
19234
  */
19235
19235
  Axis.prototype.translate = function (val, backwards, cvsCoord, old, handleLog, pointPlacement) {
19236
19236
  var axis = (this.linkedParent || this), // #1417
19237
- localMin = old && axis.old ? axis.old.min : axis.min,
19238
- minPixelPadding = axis.minPixelPadding,
19237
+ localMin = (old && axis.old ? axis.old.min : axis.min);
19238
+ if (!isNumber(localMin)) {
19239
+ return NaN;
19240
+ }
19241
+ var minPixelPadding = axis.minPixelPadding,
19239
19242
  doPostTranslate = (axis.isOrdinal ||
19240
19243
  axis.brokenAxis && axis.brokenAxis.hasBreaks ||
19241
19244
  (axis.logarithmic && handleLog)) && axis.lin2val;
@@ -19273,14 +19276,10 @@
19273
19276
  val = axis.val2lin(val);
19274
19277
  }
19275
19278
  var value = sign * (val - localMin) * localA;
19276
- returnValue = isNumber(localMin) ?
19277
- ((!axis.isRadial ? correctFloat(value) : value) +
19278
- cvsOffset +
19279
- (sign * minPixelPadding) +
19280
- (isNumber(pointPlacement) ?
19281
- localA * pointPlacement :
19282
- 0)) :
19283
- void 0;
19279
+ returnValue = (!axis.isRadial ? correctFloat(value) : value) +
19280
+ cvsOffset +
19281
+ (sign * minPixelPadding) +
19282
+ (isNumber(pointPlacement) ? localA * pointPlacement : 0);
19284
19283
  }
19285
19284
  return returnValue;
19286
19285
  };
@@ -19300,7 +19299,7 @@
19300
19299
  * Pixel position of the value on the chart or axis.
19301
19300
  */
19302
19301
  Axis.prototype.toPixels = function (value, paneCoordinates) {
19303
- return this.translate(value, false, !this.horiz, null, true) +
19302
+ return this.translate(value, false, !this.horiz, void 0, true) +
19304
19303
  (paneCoordinates ? 0 : this.pos);
19305
19304
  };
19306
19305
  /**
@@ -19320,7 +19319,7 @@
19320
19319
  * The axis value.
19321
19320
  */
19322
19321
  Axis.prototype.toValue = function (pixel, paneCoordinates) {
19323
- return this.translate(pixel - (paneCoordinates ? 0 : this.pos), true, !this.horiz, null, true);
19322
+ return this.translate(pixel - (paneCoordinates ? 0 : this.pos), true, !this.horiz, void 0, true);
19324
19323
  };
19325
19324
  /**
19326
19325
  * Create the path for a plot line that goes from the given value on
@@ -19379,7 +19378,7 @@
19379
19378
  translatedValue: translatedValue
19380
19379
  };
19381
19380
  fireEvent(this, 'getPlotLinePath', evt, function (e) {
19382
- translatedValue = pick(translatedValue, axis.translate(value, null, null, old));
19381
+ translatedValue = pick(translatedValue, axis.translate(value, void 0, void 0, old));
19383
19382
  // Keep the translated value within sane bounds, and avoid Infinity
19384
19383
  // to fail the isNumber test (#7709).
19385
19384
  translatedValue = clamp(translatedValue, -1e5, 1e5);
@@ -20767,7 +20766,7 @@
20767
20766
  * @param {number} threshold
20768
20767
  * The threshold in axis values.
20769
20768
  *
20770
- * @return {number|undefined}
20769
+ * @return {number}
20771
20770
  * The translated threshold position in terms of pixels, and corrected to
20772
20771
  * stay within the axis bounds.
20773
20772
  */
@@ -21263,12 +21262,10 @@
21263
21262
  axis.staggerLines = (axis.horiz && labelOptions.staggerLines) || void 0;
21264
21263
  // Create the axisGroup and gridGroup elements on first iteration
21265
21264
  if (!axis.axisGroup) {
21266
- var createGroup = function (name,
21267
- suffix,
21268
- zIndex) { return renderer.g(name)
21265
+ var createGroup = function (name, suffix, zIndex) { return renderer.g(name)
21269
21266
  .attr({ zIndex: zIndex })
21270
- .addClass("highcharts-" + coll.toLowerCase() + suffix + " " +
21271
- (_this.isRadial ? "highcharts-radial-axis" + suffix + " " : '') +
21267
+ .addClass("highcharts-".concat(coll.toLowerCase()).concat(suffix, " ") +
21268
+ (_this.isRadial ? "highcharts-radial-axis".concat(suffix, " ") : '') +
21272
21269
  (className || ''))
21273
21270
  .add(axisParent); };
21274
21271
  axis.gridGroup = createGroup('grid', '-grid', options.gridZIndex);
@@ -21888,10 +21885,10 @@
21888
21885
  stroke: options.color ||
21889
21886
  (categorized ?
21890
21887
  Color
21891
- .parse("#ccd6eb" /* highlightColor20 */)
21888
+ .parse("#ccd6eb" /* Palette.highlightColor20 */)
21892
21889
  .setOpacity(0.25)
21893
21890
  .get() :
21894
- "#cccccc" /* neutralColor20 */),
21891
+ "#cccccc" /* Palette.neutralColor20 */),
21895
21892
  'stroke-width': pick(options.width, 1)
21896
21893
  }).css({
21897
21894
  'pointer-events': 'none'
@@ -22496,10 +22493,13 @@
22496
22493
  * @private
22497
22494
  */
22498
22495
  Additions.prototype.getXDateFormat = function (x, dateTimeLabelFormats) {
22499
- var axis = this.axis;
22496
+ var axis = this.axis,
22497
+ time = axis.chart.time;
22500
22498
  return axis.closestPointRange ?
22501
- axis.chart.time.getDateFormat(axis.closestPointRange, x, axis.options.startOfWeek, dateTimeLabelFormats) || dateTimeLabelFormats.year : // #2546, 2581
22502
- dateTimeLabelFormats.day;
22499
+ time.getDateFormat(axis.closestPointRange, x, axis.options.startOfWeek, dateTimeLabelFormats) ||
22500
+ // #2546, 2581
22501
+ time.resolveDTLFormat(dateTimeLabelFormats.year).main :
22502
+ time.resolveDTLFormat(dateTimeLabelFormats.day).main;
22503
22503
  };
22504
22504
  return Additions;
22505
22505
  }());
@@ -23134,7 +23134,7 @@
23134
23134
  // Set the presentational attributes
23135
23135
  if (!axis.chart.styledMode) {
23136
23136
  if (isLine) {
23137
- attribs.stroke = color || "#999999" /* neutralColor40 */;
23137
+ attribs.stroke = color || "#999999" /* Palette.neutralColor40 */;
23138
23138
  attribs['stroke-width'] = pick(options.width, 1);
23139
23139
  if (options.dashStyle) {
23140
23140
  attribs.dashstyle =
@@ -23142,7 +23142,7 @@
23142
23142
  }
23143
23143
  }
23144
23144
  else if (isBand) { // plot band
23145
- attribs.fill = color || "#e6ebf5" /* highlightColor10 */;
23145
+ attribs.fill = color || "#e6ebf5" /* Palette.highlightColor10 */;
23146
23146
  if (options.borderWidth) {
23147
23147
  attribs.stroke = options.borderColor;
23148
23148
  attribs['stroke-width'] = options.borderWidth;
@@ -24791,7 +24791,7 @@
24791
24791
  stroke: (options.borderColor ||
24792
24792
  point.color ||
24793
24793
  currentSeries.color ||
24794
- "#666666" /* neutralColor60 */)
24794
+ "#666666" /* Palette.neutralColor60 */)
24795
24795
  });
24796
24796
  }
24797
24797
  tooltip.updatePosition({
@@ -24991,7 +24991,7 @@
24991
24991
  stroke: (options.borderColor ||
24992
24992
  point.color ||
24993
24993
  series.color ||
24994
- "#333333" /* neutralColor80 */)
24994
+ "#333333" /* Palette.neutralColor80 */)
24995
24995
  });
24996
24996
  }
24997
24997
  return tt;
@@ -25329,7 +25329,7 @@
25329
25329
  // scale transform/css zoom. #11329.
25330
25330
  if (chartPosition.scaleX !== 1 || chartPosition.scaleY !== 1) {
25331
25331
  css(this.container, {
25332
- transform: "scale(" + chartPosition.scaleX + ", " + chartPosition.scaleY + ")"
25332
+ transform: "scale(".concat(chartPosition.scaleX, ", ").concat(chartPosition.scaleY, ")")
25333
25333
  });
25334
25334
  anchorX *= chartPosition.scaleX;
25335
25335
  anchorY *= chartPosition.scaleY;
@@ -25557,6 +25557,15 @@
25557
25557
  * @type {Highcharts.Series}
25558
25558
  */
25559
25559
  this.series = void 0;
25560
+ /**
25561
+ * The attributes of the rendered SVG shape like in `column` or `pie`
25562
+ * series.
25563
+ *
25564
+ * @readonly
25565
+ * @name Highcharts.Point#shapeArgs
25566
+ * @type {Readonly<Highcharts.SVGAttributes>|undefined}
25567
+ */
25568
+ this.shapeArgs = void 0;
25560
25569
  /**
25561
25570
  * The total of values in either a stack for stacked series, or a pie in a
25562
25571
  * pie series.
@@ -27015,7 +27024,7 @@
27015
27024
  if (!chart.styledMode) {
27016
27025
  selectionMarker.attr({
27017
27026
  fill: (chartOptions.selectionMarkerFill ||
27018
- color("#335cad" /* highlightColor80 */)
27027
+ color("#335cad" /* Palette.highlightColor80 */)
27019
27028
  .setOpacity(0.25).get())
27020
27029
  });
27021
27030
  }
@@ -29088,7 +29097,7 @@
29088
29097
  item.series :
29089
29098
  item,
29090
29099
  seriesOptions = series.options,
29091
- showCheckbox = legend.createCheckboxForItem &&
29100
+ showCheckbox = (legend.createCheckboxForItem) &&
29092
29101
  seriesOptions &&
29093
29102
  seriesOptions.showCheckbox,
29094
29103
  useHTML = options.useHTML,
@@ -29359,7 +29368,7 @@
29359
29368
  }
29360
29369
  }, this);
29361
29370
  distribute(boxes, chart.plotHeight).forEach(function (box) {
29362
- if (box.item._legendItemPos) {
29371
+ if (box.item._legendItemPos && box.pos) {
29363
29372
  box.item._legendItemPos[1] =
29364
29373
  chart.plotTop - chart.spacing[0] + box.pos;
29365
29374
  }
@@ -29487,7 +29496,7 @@
29487
29496
  }, box.strokeWidth()));
29488
29497
  }
29489
29498
  // hide the border if no items
29490
- box[display ? 'show' : 'hide']();
29499
+ legendGroup[display ? 'show' : 'hide']();
29491
29500
  // Open for responsiveness
29492
29501
  if (chart.styledMode && legendGroup.getStyle('display') === 'none') {
29493
29502
  legendWidth = legendHeight = 0;
@@ -30939,10 +30948,10 @@
30939
30948
  var chart = this;
30940
30949
  // Default style
30941
30950
  var style = name === 'title' ? {
30942
- color: "#333333" /* neutralColor80 */,
30951
+ color: "#333333" /* Palette.neutralColor80 */,
30943
30952
  fontSize: this.options.isStock ? '16px' : '18px' // #2944
30944
30953
  } : {
30945
- color: "#666666" /* neutralColor60 */
30954
+ color: "#666666" /* Palette.neutralColor60 */
30946
30955
  };
30947
30956
  // Merge default options with explicit options
30948
30957
  var options = this.options[name] = merge(
@@ -32231,18 +32240,23 @@
32231
32240
  * Emit console warning if the a11y module is not loaded.
32232
32241
  */
32233
32242
  Chart.prototype.warnIfA11yModuleNotLoaded = function () {
32234
- var _this = this;
32235
- setTimeout(function () {
32236
- var opts = _this && _this.options;
32237
- if (opts && !_this.accessibility &&
32238
- !(opts.accessibility && opts.accessibility.enabled === false)) {
32243
+ var _a = this,
32244
+ options = _a.options,
32245
+ title = _a.title;
32246
+ if (options && !this.accessibility) {
32247
+ // Make chart behave as an image with the title as alt text
32248
+ this.renderer.boxWrapper.attr({
32249
+ role: 'img',
32250
+ 'aria-label': (title && title.element.textContent) || ''
32251
+ });
32252
+ if (!(options.accessibility && options.accessibility.enabled === false)) {
32239
32253
  error('Highcharts warning: Consider including the ' +
32240
32254
  '"accessibility.js" module to make your chart more ' +
32241
32255
  'usable for people with disabilities. Set the ' +
32242
32256
  '"accessibility.enabled" option to false to remove this ' +
32243
- 'warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.', false, _this);
32257
+ 'warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.', false, this);
32244
32258
  }
32245
- }, 100);
32259
+ }
32246
32260
  };
32247
32261
  /**
32248
32262
  * Add a series to the chart after render time. Note that this method should
@@ -32921,9 +32935,7 @@
32921
32935
  enabled: panning,
32922
32936
  type: 'x'
32923
32937
  }),
32924
- chartOptions = chart.options.chart,
32925
- hasMapNavigation = chart.options.mapNavigation &&
32926
- chart.options.mapNavigation.enabled;
32938
+ chartOptions = chart.options.chart;
32927
32939
  if (chartOptions && chartOptions.panning) {
32928
32940
  chartOptions.panning = panningOptions;
32929
32941
  }
@@ -33018,7 +33030,6 @@
33018
33030
  newMax <= paddedMax) {
33019
33031
  axis.setExtremes(newMin, newMax, false, false, { trigger: 'pan' });
33020
33032
  if (!chart.resetZoomButton &&
33021
- !hasMapNavigation &&
33022
33033
  // Show reset zoom button only when both newMin and
33023
33034
  // newMax values are between padded axis range.
33024
33035
  newMin !== paddedMin &&
@@ -34349,7 +34360,7 @@
34349
34360
  *
34350
34361
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34351
34362
  */
34352
- lineColor: "#ffffff" /* backgroundColor */,
34363
+ lineColor: "#ffffff" /* Palette.backgroundColor */,
34353
34364
  /**
34354
34365
  * The width of the point marker's outline.
34355
34366
  *
@@ -34549,7 +34560,7 @@
34549
34560
  *
34550
34561
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34551
34562
  */
34552
- fillColor: "#cccccc" /* neutralColor20 */,
34563
+ fillColor: "#cccccc" /* Palette.neutralColor20 */,
34553
34564
  /**
34554
34565
  * The color of the point marker's outline. When
34555
34566
  * `undefined`, the series' or point's color is used.
@@ -34559,7 +34570,7 @@
34559
34570
  *
34560
34571
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
34561
34572
  */
34562
- lineColor: "#000000" /* neutralColor100 */,
34573
+ lineColor: "#000000" /* Palette.neutralColor100 */,
34563
34574
  /**
34564
34575
  * The width of the point marker's outline.
34565
34576
  *
@@ -36275,7 +36286,7 @@
36275
36286
  this.getCyclic('color');
36276
36287
  }
36277
36288
  else if (this.options.colorByPoint) {
36278
- this.color = "#cccccc" /* neutralColor20 */;
36289
+ this.color = "#cccccc" /* Palette.neutralColor20 */;
36279
36290
  }
36280
36291
  else {
36281
36292
  this.getCyclic('color', this.options.color ||
@@ -36462,7 +36473,7 @@
36462
36473
  data.forEach(function (point, i) {
36463
36474
  // .update doesn't exist on a linked, hidden series (#3709)
36464
36475
  // (#10187)
36465
- if (point !== oldData[i].y && oldData[i].update) {
36476
+ if (point !== oldData[i].y && (oldData[i].update)) {
36466
36477
  oldData[i].update(point, false, null, false);
36467
36478
  }
36468
36479
  });
@@ -36681,7 +36692,7 @@
36681
36692
  // destroy old points
36682
36693
  i = oldDataLength;
36683
36694
  while (i--) {
36684
- if (oldData[i] && oldData[i].destroy) {
36695
+ if (oldData[i] && (oldData[i].destroy)) {
36685
36696
  oldData[i].destroy();
36686
36697
  }
36687
36698
  }
@@ -37573,7 +37584,7 @@
37573
37584
  this.setClip();
37574
37585
  // Destroy temporary clip rectangles that are no longer in use
37575
37586
  objectEach(this.chart.sharedClips, function (clip, key, sharedClips) {
37576
- if (clip && !_this.chart.container.querySelector("[clip-path=\"url(#" + clip.id + ")\"]")) {
37587
+ if (clip && !_this.chart.container.querySelector("[clip-path=\"url(#".concat(clip.id, ")\"]"))) {
37577
37588
  clip.destroy();
37578
37589
  delete sharedClips[key];
37579
37590
  }
@@ -38647,7 +38658,7 @@
38647
38658
  }
38648
38659
  // Shift the first point off the parallel arrays
38649
38660
  if (shift) {
38650
- if (data[0] && data[0].remove) {
38661
+ if (data[0] && (data[0].remove)) {
38651
38662
  data[0].remove(false);
38652
38663
  }
38653
38664
  else {
@@ -39748,6 +39759,7 @@
39748
39759
  var stop = A.stop;
39749
39760
  var addEvent = U.addEvent,
39750
39761
  createElement = U.createElement,
39762
+ defined = U.defined,
39751
39763
  merge = U.merge,
39752
39764
  pick = U.pick;
39753
39765
  /* eslint-disable no-invalid-this, valid-jsdoc */
@@ -39781,7 +39793,7 @@
39781
39793
  }
39782
39794
  else if (scrollableMinHeight) {
39783
39795
  this.scrollablePixelsY = scrollablePixelsY = Math.max(0, scrollableMinHeight - this.chartHeight);
39784
- if (scrollablePixelsY) {
39796
+ if (defined(scrollablePixelsY)) {
39785
39797
  this.scrollablePlotBox = (this.renderer.scrollablePlotBox = merge(this.plotBox));
39786
39798
  this.plotBox.height = this.plotHeight += scrollablePixelsY;
39787
39799
  if (this.inverted) {
@@ -39916,7 +39928,7 @@
39916
39928
  axisClass = '.highcharts-yaxis';
39917
39929
  }
39918
39930
  if (axisClass) {
39919
- fixedSelectors.push(axisClass + ":not(.highcharts-radial-axis)", axisClass + "-labels:not(.highcharts-radial-axis-labels)");
39931
+ fixedSelectors.push("" + axisClass + ":not(.highcharts-radial-axis)", "" + axisClass + "-labels:not(.highcharts-radial-axis-labels)");
39920
39932
  }
39921
39933
  fixedSelectors.forEach(function (className) {
39922
39934
  [].forEach.call(container.querySelectorAll(className), function (elem) {
@@ -40697,7 +40709,7 @@
40697
40709
  this.chart.options.chart.ignoreHiddenSeries !== false)) {
40698
40710
  return;
40699
40711
  }
40700
- var series = this, xData = series.processedXData, yData = series.processedYData, stackedYData = [], yDataLength = yData.length, seriesOptions = series.options, threshold = seriesOptions.threshold, stackThreshold = pick(seriesOptions.startFromThreshold && threshold, 0), stackOption = seriesOptions.stack, stackKey = stackingParam ? series.type + "," + stacking : series.stackKey, negKey = '-' + stackKey, negStacks = series.negStacks, yAxis = series.yAxis, stacks = yAxis.stacking.stacks, oldStacks = yAxis.stacking.oldStacks, stackIndicator, isNegative, stack, other, key, pointKey, i, x, y;
40712
+ var series = this, xData = series.processedXData, yData = series.processedYData, stackedYData = [], yDataLength = yData.length, seriesOptions = series.options, threshold = seriesOptions.threshold, stackThreshold = pick(seriesOptions.startFromThreshold && threshold, 0), stackOption = seriesOptions.stack, stackKey = stackingParam ? "" + series.type + ",".concat(stacking) : series.stackKey, negKey = '-' + stackKey, negStacks = series.negStacks, yAxis = series.yAxis, stacks = yAxis.stacking.stacks, oldStacks = yAxis.stacking.oldStacks, stackIndicator, isNegative, stack, other, key, pointKey, i, x, y;
40701
40713
  yAxis.stacking.stacksTouched += 1;
40702
40714
  // loop over the non-null y values and read them into a local array
40703
40715
  for (i = 0; i < yDataLength; i++) {
@@ -41009,7 +41021,7 @@
41009
41021
  if (!styledMode) {
41010
41022
  props[0].push((options.lineColor ||
41011
41023
  this.color ||
41012
- "#cccccc" /* neutralColor20 */ // when colorByPoint = true
41024
+ "#cccccc" /* Palette.neutralColor20 */ // when colorByPoint = true
41013
41025
  ), options.dashStyle);
41014
41026
  }
41015
41027
  props = series.getZonesGraphs(props);
@@ -41581,9 +41593,9 @@
41581
41593
  });
41582
41594
  props.forEach(function (prop) {
41583
41595
  var areaKey = prop[0],
41584
- area = series[areaKey],
41585
- verb = area ? 'animate' : 'attr',
41586
41596
  attribs = {};
41597
+ var area = series[areaKey];
41598
+ var verb = area ? 'animate' : 'attr';
41587
41599
  // Create or update the area
41588
41600
  if (area) { // update
41589
41601
  area.endX = series.preventGraphAnimation ?
@@ -41613,15 +41625,18 @@
41613
41625
  * @private
41614
41626
  */
41615
41627
  AreaSeries.prototype.getGraphPath = function (points) {
41616
- var getGraphPath = LineSeries.prototype.getGraphPath, graphPath, options = this.options, stacking = options.stacking, yAxis = this.yAxis, topPath, bottomPath, bottomPoints = [], graphPoints = [], seriesIndex = this.index, i, areaPath, plotX, stacks = yAxis.stacking.stacks[this.stackKey], threshold = options.threshold, translatedThreshold = Math.round(// #10909
41617
- yAxis.getThreshold(options.threshold)), isNull, yBottom, connectNulls = pick(// #10574
41628
+ var getGraphPath = LineSeries.prototype.getGraphPath, options = this.options, stacking = options.stacking, yAxis = this.yAxis, bottomPoints = [], graphPoints = [], seriesIndex = this.index, stacks = yAxis.stacking.stacks[this.stackKey], threshold = options.threshold, translatedThreshold = Math.round(// #10909
41629
+ yAxis.getThreshold(options.threshold)), connectNulls = pick(// #10574
41618
41630
  options.connectNulls, stacking === 'percent'),
41619
41631
  // To display null points in underlying stacked series, this
41620
41632
  // series graph must be broken, and the area also fall down to
41621
41633
  // fill the gap left by the null point. #2069
41622
41634
  addDummyPoints = function (i, otherI, side) {
41623
41635
  var point = points[i], stackedValues = stacking &&
41624
- stacks[point.x].points[seriesIndex], nullVal = point[side + 'Null'] || 0, cliffVal = point[side + 'Cliff'] || 0, top, bottom, isNull = true;
41636
+ stacks[point.x].points[seriesIndex], nullVal = point[side + 'Null'] || 0, cliffVal = point[side + 'Cliff'] || 0;
41637
+ var top,
41638
+ bottom,
41639
+ isNull = true;
41625
41640
  if (cliffVal || nullVal) {
41626
41641
  top = (nullVal ?
41627
41642
  stackedValues[0] :
@@ -41653,13 +41668,16 @@
41653
41668
  });
41654
41669
  }
41655
41670
  };
41671
+ var plotX,
41672
+ isNull,
41673
+ yBottom;
41656
41674
  // Find what points to use
41657
41675
  points = points || this.points;
41658
41676
  // Fill in missing points
41659
41677
  if (stacking) {
41660
41678
  points = this.getStackPoints(points);
41661
41679
  }
41662
- for (i = 0; i < points.length; i++) {
41680
+ for (var i = 0, iEnd = points.length; i < iEnd; ++i) {
41663
41681
  // Reset after series.update of stacking property (#12033)
41664
41682
  if (!stacking) {
41665
41683
  points[i].leftCliff = points[i].rightCliff =
@@ -41689,20 +41707,29 @@
41689
41707
  }
41690
41708
  }
41691
41709
  }
41692
- topPath = getGraphPath.call(this, graphPoints, true, true);
41710
+ var topPath = getGraphPath.call(this,
41711
+ graphPoints,
41712
+ true,
41713
+ true);
41693
41714
  bottomPoints.reversed = true;
41694
- bottomPath = getGraphPath.call(this, bottomPoints, true, true);
41715
+ var bottomPath = getGraphPath.call(this,
41716
+ bottomPoints,
41717
+ true,
41718
+ true);
41695
41719
  var firstBottomPoint = bottomPath[0];
41696
41720
  if (firstBottomPoint && firstBottomPoint[0] === 'M') {
41697
41721
  bottomPath[0] = ['L', firstBottomPoint[1], firstBottomPoint[2]];
41698
41722
  }
41699
- areaPath = topPath.concat(bottomPath);
41723
+ var areaPath = topPath.concat(bottomPath);
41700
41724
  if (areaPath.length) {
41701
41725
  areaPath.push(['Z']);
41702
41726
  }
41703
41727
  // TODO: don't set leftCliff and rightCliff when connectNulls?
41704
- graphPath = getGraphPath
41705
- .call(this, graphPoints, false, connectNulls);
41728
+ var graphPath = getGraphPath
41729
+ .call(this,
41730
+ graphPoints,
41731
+ false,
41732
+ connectNulls);
41706
41733
  areaPath.xMap = topPath.xMap;
41707
41734
  this.areaPath = areaPath;
41708
41735
  return graphPath;
@@ -41761,8 +41788,8 @@
41761
41788
  cliffName = direction === 1 ?
41762
41789
  'rightCliff' :
41763
41790
  'leftCliff',
41764
- cliff = 0,
41765
41791
  otherStack = stack[keys[idx + direction]];
41792
+ var cliff = 0;
41766
41793
  // If there is a stack next to this one,
41767
41794
  // to the left or to the right...
41768
41795
  if (otherStack) {
@@ -41869,7 +41896,7 @@
41869
41896
  * @sample {highcharts} highcharts/plotoptions/area-fillcolor-gradient/
41870
41897
  * Gradient
41871
41898
  *
41872
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41899
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41873
41900
  * @product highcharts highstock
41874
41901
  * @apioption plotOptions.area.fillColor
41875
41902
  */
@@ -41906,7 +41933,7 @@
41906
41933
  * @sample {highcharts} highcharts/plotoptions/area-linecolor/
41907
41934
  * Dark gray line
41908
41935
  *
41909
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41936
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41910
41937
  * @product highcharts highstock
41911
41938
  * @apioption plotOptions.area.lineColor
41912
41939
  */
@@ -41921,7 +41948,7 @@
41921
41948
  * @sample {highcharts} highcharts/css/series-negative-color/
41922
41949
  * Negative color in styled mode
41923
41950
  *
41924
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41951
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
41925
41952
  * @since 3.0
41926
41953
  * @product highcharts
41927
41954
  * @apioption plotOptions.area.negativeFillColor
@@ -42099,6 +42126,11 @@
42099
42126
  var LineSeries = SeriesRegistry.seriesTypes.line;
42100
42127
  var merge = U.merge,
42101
42128
  pick = U.pick;
42129
+ /* *
42130
+ *
42131
+ * Class
42132
+ *
42133
+ * */
42102
42134
  /**
42103
42135
  * Spline series type.
42104
42136
  *
@@ -42147,12 +42179,11 @@
42147
42179
  plotX = point.plotX || 0,
42148
42180
  plotY = point.plotY || 0,
42149
42181
  lastPoint = points[i - 1],
42150
- nextPoint = points[i + 1],
42151
- leftContX,
42182
+ nextPoint = points[i + 1];
42183
+ var leftContX,
42152
42184
  leftContY,
42153
42185
  rightContX,
42154
- rightContY,
42155
- ret;
42186
+ rightContY;
42156
42187
  /**
42157
42188
  * @private
42158
42189
  */
@@ -42168,8 +42199,8 @@
42168
42199
  var lastX = lastPoint.plotX || 0,
42169
42200
  lastY = lastPoint.plotY || 0,
42170
42201
  nextX = nextPoint.plotX || 0,
42171
- nextY = nextPoint.plotY || 0,
42172
- correction = 0;
42202
+ nextY = nextPoint.plotY || 0;
42203
+ var correction = 0;
42173
42204
  leftContX = (smoothing * plotX + lastX) / denom;
42174
42205
  leftContY = (smoothing * plotY + lastY) / denom;
42175
42206
  rightContX = (smoothing * plotX + nextX) / denom;
@@ -42255,15 +42286,19 @@
42255
42286
  .add();
42256
42287
  }
42257
42288
  // */
42258
- ret = [
42259
- 'C',
42260
- pick(lastPoint.rightContX, lastPoint.plotX, 0),
42261
- pick(lastPoint.rightContY, lastPoint.plotY, 0),
42262
- pick(leftContX, plotX, 0),
42263
- pick(leftContY, plotY, 0),
42264
- plotX,
42265
- plotY
42266
- ];
42289
+ var ret = [
42290
+ 'C',
42291
+ pick(lastPoint.rightContX,
42292
+ lastPoint.plotX, 0),
42293
+ pick(lastPoint.rightContY,
42294
+ lastPoint.plotY, 0),
42295
+ pick(leftContX,
42296
+ plotX, 0),
42297
+ pick(leftContY,
42298
+ plotY, 0),
42299
+ plotX,
42300
+ plotY
42301
+ ];
42267
42302
  // reset for updating series later
42268
42303
  lastPoint.rightContX = lastPoint.rightContY = void 0;
42269
42304
  return ret;
@@ -42368,7 +42403,7 @@
42368
42403
 
42369
42404
  return SplineSeries;
42370
42405
  });
42371
- _registerModule(_modules, 'Series/AreaSpline/AreaSplineSeries.js', [_modules['Series/Area/AreaSeries.js'], _modules['Series/Spline/SplineSeries.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (AreaSeries, SplineSeries, LegendSymbol, SeriesRegistry, U) {
42406
+ _registerModule(_modules, 'Series/AreaSpline/AreaSplineSeries.js', [_modules['Series/Spline/SplineSeries.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (SplineSeries, LegendSymbol, SeriesRegistry, U) {
42372
42407
  /* *
42373
42408
  *
42374
42409
  * (c) 2010-2021 Torstein Honsi
@@ -42394,7 +42429,9 @@
42394
42429
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
42395
42430
  };
42396
42431
  })();
42397
- var areaProto = AreaSeries.prototype;
42432
+ var _a = SeriesRegistry.seriesTypes,
42433
+ AreaSeries = _a.area,
42434
+ areaProto = _a.area.prototype;
42398
42435
  var extend = U.extend,
42399
42436
  merge = U.merge;
42400
42437
  /* *
@@ -42416,7 +42453,7 @@
42416
42453
  function AreaSplineSeries() {
42417
42454
  /* *
42418
42455
  *
42419
- * Static properties
42456
+ * Static Properties
42420
42457
  *
42421
42458
  * */
42422
42459
  var _this = _super !== null && _super.apply(this,
@@ -42431,40 +42468,6 @@
42431
42468
  _this.options = void 0;
42432
42469
  return _this;
42433
42470
  }
42434
- /**
42435
- * The area spline series is an area series where the graph between the
42436
- * points is smoothed into a spline.
42437
- *
42438
- * @sample {highcharts} highcharts/demo/areaspline/
42439
- * Area spline chart
42440
- * @sample {highstock} stock/demo/areaspline/
42441
- * Area spline chart
42442
- *
42443
- * @extends plotOptions.area
42444
- * @excluding step, boostThreshold, boostBlending
42445
- * @product highcharts highstock
42446
- * @apioption plotOptions.areaspline
42447
- */
42448
- /**
42449
- * @see [fillColor](#plotOptions.areaspline.fillColor)
42450
- * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)
42451
- *
42452
- * @apioption plotOptions.areaspline.color
42453
- */
42454
- /**
42455
- * @see [color](#plotOptions.areaspline.color)
42456
- * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)
42457
- *
42458
- * @apioption plotOptions.areaspline.fillColor
42459
- */
42460
- /**
42461
- * @see [color](#plotOptions.areaspline.color)
42462
- * @see [fillColor](#plotOptions.areaspline.fillColor)
42463
- *
42464
- * @default {highcharts} 0.75
42465
- * @default {highstock} 0.75
42466
- * @apioption plotOptions.areaspline.fillOpacity
42467
- */
42468
42471
  AreaSplineSeries.defaultOptions = merge(SplineSeries.defaultOptions, AreaSeries.defaultOptions);
42469
42472
  return AreaSplineSeries;
42470
42473
  }(SplineSeries));
@@ -42477,9 +42480,47 @@
42477
42480
  SeriesRegistry.registerSeriesType('areaspline', AreaSplineSeries);
42478
42481
  /* *
42479
42482
  *
42480
- * Default export
42483
+ * Default Export
42484
+ *
42485
+ * */
42486
+ /* *
42487
+ *
42488
+ * API Options
42481
42489
  *
42482
42490
  * */
42491
+ /**
42492
+ * The area spline series is an area series where the graph between the
42493
+ * points is smoothed into a spline.
42494
+ *
42495
+ * @sample {highcharts} highcharts/demo/areaspline/
42496
+ * Area spline chart
42497
+ * @sample {highstock} stock/demo/areaspline/
42498
+ * Area spline chart
42499
+ *
42500
+ * @extends plotOptions.area
42501
+ * @excluding step, boostThreshold, boostBlending
42502
+ * @product highcharts highstock
42503
+ * @apioption plotOptions.areaspline
42504
+ */
42505
+ /**
42506
+ * @see [fillColor](#plotOptions.areaspline.fillColor)
42507
+ * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)
42508
+ *
42509
+ * @apioption plotOptions.areaspline.color
42510
+ */
42511
+ /**
42512
+ * @see [color](#plotOptions.areaspline.color)
42513
+ * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)
42514
+ *
42515
+ * @apioption plotOptions.areaspline.fillColor
42516
+ */
42517
+ /**
42518
+ * @see [color](#plotOptions.areaspline.color)
42519
+ * @see [fillColor](#plotOptions.areaspline.fillColor)
42520
+ *
42521
+ * @default 0.75
42522
+ * @apioption plotOptions.areaspline.fillOpacity
42523
+ */
42483
42524
  /**
42484
42525
  * A `areaspline` series. If the [type](#series.areaspline.type) option
42485
42526
  * is not specified, it is inherited from [chart.type](#chart.type).
@@ -42565,8 +42606,7 @@
42565
42606
  * @see [color](#series.areaspline.color)
42566
42607
  * @see [fillColor](#series.areaspline.fillColor)
42567
42608
  *
42568
- * @default {highcharts} 0.75
42569
- * @default {highstock} 0.75
42609
+ * @default 0.75
42570
42610
  * @apioption series.areaspline.fillOpacity
42571
42611
  */
42572
42612
  ''; // adds doclets above into transpilat
@@ -43558,7 +43598,7 @@
43558
43598
  * @default #cccccc
43559
43599
  * @product highcharts highstock gantt
43560
43600
  */
43561
- color: "#cccccc" /* neutralColor20 */,
43601
+ color: "#cccccc" /* Palette.neutralColor20 */,
43562
43602
  /**
43563
43603
  * A specific border color for the selected point.
43564
43604
  *
@@ -43566,7 +43606,7 @@
43566
43606
  * @default #000000
43567
43607
  * @product highcharts highstock gantt
43568
43608
  */
43569
- borderColor: "#000000" /* neutralColor100 */
43609
+ borderColor: "#000000" /* Palette.neutralColor100 */
43570
43610
  }
43571
43611
  },
43572
43612
  dataLabels: {
@@ -43633,7 +43673,7 @@
43633
43673
  *
43634
43674
  * @private
43635
43675
  */
43636
- borderColor: "#ffffff" /* backgroundColor */
43676
+ borderColor: "#ffffff" /* Palette.backgroundColor */
43637
43677
  });
43638
43678
  return ColumnSeries;
43639
43679
  }(Series));
@@ -44161,7 +44201,7 @@
44161
44201
  rotation = labelOptions.rotation;
44162
44202
  if (!chart.styledMode) {
44163
44203
  // Determine the color
44164
- style.color = pick(labelOptions.color, style.color, series.color, "#000000" /* neutralColor100 */);
44204
+ style.color = pick(labelOptions.color, style.color, series.color, "#000000" /* Palette.neutralColor100 */);
44165
44205
  // Get automated contrast color
44166
44206
  if (style.color === 'contrast') {
44167
44207
  point.contrastColor = renderer.getContrast((point.color || series.color));
@@ -44170,7 +44210,7 @@
44170
44210
  labelDistance < 0 ||
44171
44211
  !!seriesOptions.stacking ?
44172
44212
  point.contrastColor :
44173
- "#000000" /* neutralColor100 */;
44213
+ "#000000" /* Palette.neutralColor100 */;
44174
44214
  }
44175
44215
  else {
44176
44216
  delete point.contrastColor;
@@ -44771,7 +44811,7 @@
44771
44811
 
44772
44812
  return BarSeries;
44773
44813
  });
44774
- _registerModule(_modules, 'Series/Scatter/ScatterSeries.js', [_modules['Series/Column/ColumnSeries.js'], _modules['Series/Line/LineSeries.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (ColumnSeries, LineSeries, SeriesRegistry, U) {
44814
+ _registerModule(_modules, 'Series/Scatter/ScatterSeries.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, U) {
44775
44815
  /* *
44776
44816
  *
44777
44817
  * (c) 2010-2021 Torstein Honsi
@@ -44797,6 +44837,9 @@
44797
44837
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
44798
44838
  };
44799
44839
  })();
44840
+ var _a = SeriesRegistry.seriesTypes,
44841
+ ColumnSeries = _a.column,
44842
+ LineSeries = _a.line;
44800
44843
  var addEvent = U.addEvent,
44801
44844
  extend = U.extend,
44802
44845
  merge = U.merge;
@@ -44813,6 +44856,11 @@
44813
44856
  var ScatterSeries = /** @class */ (function (_super) {
44814
44857
  __extends(ScatterSeries, _super);
44815
44858
  function ScatterSeries() {
44859
+ /* *
44860
+ *
44861
+ * Static Properties
44862
+ *
44863
+ * */
44816
44864
  var _this = _super !== null && _super.apply(this,
44817
44865
  arguments) || this;
44818
44866
  /* *
@@ -44880,7 +44928,6 @@
44880
44928
  };
44881
44929
  /**
44882
44930
  * @private
44883
- * @function Highcharts.seriesTypes.scatter#drawGraph
44884
44931
  */
44885
44932
  ScatterSeries.prototype.drawGraph = function () {
44886
44933
  if (this.options.lineWidth) {
@@ -45083,7 +45130,7 @@
45083
45130
  * @product highcharts highstock
45084
45131
  * @apioption series.scatter.data
45085
45132
  */
45086
- ''; // adds doclets above to transpilat
45133
+ ''; // keeps doclets above in JS file
45087
45134
 
45088
45135
  return ScatterSeries;
45089
45136
  });
@@ -45098,7 +45145,8 @@
45098
45145
  *
45099
45146
  * */
45100
45147
  var deg2rad = H.deg2rad;
45101
- var isNumber = U.isNumber,
45148
+ var fireEvent = U.fireEvent,
45149
+ isNumber = U.isNumber,
45102
45150
  pick = U.pick,
45103
45151
  relativeLength = U.relativeLength;
45104
45152
  /**
@@ -45175,6 +45223,7 @@
45175
45223
  thickness * 2 < positions[2] && thickness > 0) {
45176
45224
  positions[3] = positions[2] - thickness * 2;
45177
45225
  }
45226
+ fireEvent(this, 'afterGetCenter', { positions: positions });
45178
45227
  return positions;
45179
45228
  }
45180
45229
  CenteredUtilities.getCenter = getCenter;
@@ -45678,7 +45727,7 @@
45678
45727
  this.graph.attr({
45679
45728
  'stroke-width': options.borderWidth,
45680
45729
  fill: options.fillColor || 'none',
45681
- stroke: options.color || "#cccccc" /* neutralColor20 */
45730
+ stroke: options.color || "#cccccc" /* Palette.neutralColor20 */
45682
45731
  });
45683
45732
  }
45684
45733
  }
@@ -45835,6 +45884,7 @@
45835
45884
  * @private
45836
45885
  */
45837
45886
  PieSeries.prototype.translate = function (positions) {
45887
+ fireEvent(this, 'translate');
45838
45888
  this.generatePoints();
45839
45889
  var series = this,
45840
45890
  precision = 1000, // issue #172
@@ -46004,7 +46054,7 @@
46004
46054
  * pointPlacement, pointStart, softThreshold, stacking, step,
46005
46055
  * threshold, turboThreshold, zoneAxis, zones, dataSorting,
46006
46056
  * boostBlending
46007
- * @product highcharts
46057
+ * @product highcharts highmaps
46008
46058
  * @optionparent plotOptions.pie
46009
46059
  */
46010
46060
  PieSeries.defaultOptions = merge(Series.defaultOptions, {
@@ -46024,7 +46074,7 @@
46024
46074
  *
46025
46075
  * @type {Function}
46026
46076
  * @since 1.2.0
46027
- * @product highcharts
46077
+ * @product highcharts highmaps
46028
46078
  * @context Highcharts.Point
46029
46079
  * @apioption plotOptions.pie.events.checkboxClick
46030
46080
  */
@@ -46040,7 +46090,7 @@
46040
46090
  *
46041
46091
  * @type {Highcharts.PointLegendItemClickCallbackFunction}
46042
46092
  * @since 1.2.0
46043
- * @product highcharts
46093
+ * @product highcharts highmaps
46044
46094
  * @apioption plotOptions.pie.point.events.legendItemClick
46045
46095
  */
46046
46096
  /**
@@ -46056,7 +46106,7 @@
46056
46106
  *
46057
46107
  * @type {Array<(number|string|null),(number|string|null)>}
46058
46108
  * @default [null, null]
46059
- * @product highcharts
46109
+ * @product highcharts highmaps
46060
46110
  *
46061
46111
  * @private
46062
46112
  */
@@ -46101,7 +46151,7 @@
46101
46151
  *
46102
46152
  * @type {Array<Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject>}
46103
46153
  * @since 3.0
46104
- * @product highcharts
46154
+ * @product highcharts highmaps
46105
46155
  * @apioption plotOptions.pie.colors
46106
46156
  */
46107
46157
  /**
@@ -46128,7 +46178,7 @@
46128
46178
  *
46129
46179
  * @type {string}
46130
46180
  * @since 7.0.0
46131
- * @product highcharts
46181
+ * @product highcharts highmaps
46132
46182
  * @apioption plotOptions.pie.dataLabels.alignTo
46133
46183
  */
46134
46184
  allowOverlap: true,
@@ -46146,7 +46196,7 @@
46146
46196
  *
46147
46197
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
46148
46198
  * @since 2.1
46149
- * @product highcharts
46199
+ * @product highcharts highmaps
46150
46200
  * @apioption plotOptions.pie.dataLabels.connectorColor
46151
46201
  */
46152
46202
  /**
@@ -46158,7 +46208,7 @@
46158
46208
  * No padding
46159
46209
  *
46160
46210
  * @since 2.1
46161
- * @product highcharts
46211
+ * @product highcharts highmaps
46162
46212
  */
46163
46213
  connectorPadding: 5,
46164
46214
  /**
@@ -46195,7 +46245,7 @@
46195
46245
  *
46196
46246
  * @type {string|Function}
46197
46247
  * @since 7.0.0
46198
- * @product highcharts
46248
+ * @product highcharts highmaps
46199
46249
  */
46200
46250
  connectorShape: 'fixedOffset',
46201
46251
  /**
@@ -46212,7 +46262,7 @@
46212
46262
  * @type {number}
46213
46263
  * @default 1
46214
46264
  * @since 2.1
46215
- * @product highcharts
46265
+ * @product highcharts highmaps
46216
46266
  * @apioption plotOptions.pie.dataLabels.connectorWidth
46217
46267
  */
46218
46268
  /**
@@ -46224,7 +46274,7 @@
46224
46274
  * crookDistance set to 90%
46225
46275
  *
46226
46276
  * @since 7.0.0
46227
- * @product highcharts
46277
+ * @product highcharts highmaps
46228
46278
  */
46229
46279
  crookDistance: '70%',
46230
46280
  /**
@@ -46238,7 +46288,7 @@
46238
46288
  *
46239
46289
  * @type {number|string}
46240
46290
  * @since 2.1
46241
- * @product highcharts
46291
+ * @product highcharts highmaps
46242
46292
  */
46243
46293
  distance: 30,
46244
46294
  enabled: true,
@@ -46279,7 +46329,7 @@
46279
46329
  * Non soft
46280
46330
  *
46281
46331
  * @since 2.1.7
46282
- * @product highcharts
46332
+ * @product highcharts highmaps
46283
46333
  */
46284
46334
  softConnector: true,
46285
46335
  /**
@@ -46315,7 +46365,7 @@
46315
46365
  *
46316
46366
  * @type {number}
46317
46367
  * @since 1.3.6
46318
- * @product highcharts
46368
+ * @product highcharts highmaps
46319
46369
  * @apioption plotOptions.pie.endAngle
46320
46370
  */
46321
46371
  /**
@@ -46341,7 +46391,7 @@
46341
46391
  * True, the hiddden point is ignored
46342
46392
  *
46343
46393
  * @since 2.3.0
46344
- * @product highcharts
46394
+ * @product highcharts highmaps
46345
46395
  *
46346
46396
  * @private
46347
46397
  */
@@ -46372,7 +46422,7 @@
46372
46422
  * @type {number|string}
46373
46423
  * @default 0
46374
46424
  * @since 2.0
46375
- * @product highcharts
46425
+ * @product highcharts highmaps
46376
46426
  * @apioption plotOptions.pie.innerSize
46377
46427
  */
46378
46428
  /**
@@ -46395,7 +46445,7 @@
46395
46445
  * @type {number|string}
46396
46446
  * @default 80
46397
46447
  * @since 3.0
46398
- * @product highcharts
46448
+ * @product highcharts highmaps
46399
46449
  * @apioption plotOptions.pie.minSize
46400
46450
  */
46401
46451
  /**
@@ -46412,7 +46462,7 @@
46412
46462
  * Smaller pie
46413
46463
  *
46414
46464
  * @type {number|string|null}
46415
- * @product highcharts
46465
+ * @product highcharts highmaps
46416
46466
  *
46417
46467
  * @private
46418
46468
  */
@@ -46424,7 +46474,7 @@
46424
46474
  * @sample {highcharts} highcharts/plotoptions/series-showinlegend/
46425
46475
  * One series in the legend, one hidden
46426
46476
  *
46427
- * @product highcharts
46477
+ * @product highcharts highmaps
46428
46478
  *
46429
46479
  * @private
46430
46480
  */
@@ -46436,7 +46486,7 @@
46436
46486
  * @sample {highcharts} highcharts/plotoptions/pie-slicedoffset-20/
46437
46487
  * 20px offset
46438
46488
  *
46439
- * @product highcharts
46489
+ * @product highcharts highmaps
46440
46490
  *
46441
46491
  * @private
46442
46492
  */
@@ -46451,7 +46501,7 @@
46451
46501
  * @type {number}
46452
46502
  * @default 0
46453
46503
  * @since 2.3.4
46454
- * @product highcharts
46504
+ * @product highcharts highmaps
46455
46505
  * @apioption plotOptions.pie.startAngle
46456
46506
  */
46457
46507
  /**
@@ -46463,7 +46513,7 @@
46463
46513
  * `stickyTracking` is false and `tooltip.shared` is false, the tooltip
46464
46514
  * will be hidden when moving the mouse between series.
46465
46515
  *
46466
- * @product highcharts
46516
+ * @product highcharts highmaps
46467
46517
  *
46468
46518
  * @private
46469
46519
  */
@@ -46485,11 +46535,11 @@
46485
46535
  *
46486
46536
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
46487
46537
  * @default #ffffff
46488
- * @product highcharts
46538
+ * @product highcharts highmaps
46489
46539
  *
46490
46540
  * @private
46491
46541
  */
46492
- borderColor: "#ffffff" /* backgroundColor */,
46542
+ borderColor: "#ffffff" /* Palette.backgroundColor */,
46493
46543
  /**
46494
46544
  * The width of the border surrounding each slice.
46495
46545
  *
@@ -46504,7 +46554,7 @@
46504
46554
  * @sample {highcharts} highcharts/plotoptions/pie-borderwidth/
46505
46555
  * 3px border
46506
46556
  *
46507
- * @product highcharts
46557
+ * @product highcharts highmaps
46508
46558
  *
46509
46559
  * @private
46510
46560
  */
@@ -46518,7 +46568,7 @@
46518
46568
  /**
46519
46569
  * @extends plotOptions.series.states.hover
46520
46570
  * @excluding marker, lineWidth, lineWidthPlus
46521
- * @product highcharts
46571
+ * @product highcharts highmaps
46522
46572
  */
46523
46573
  hover: {
46524
46574
  /**
@@ -46532,7 +46582,7 @@
46532
46582
  * @sample {highcharts} highcharts/plotoptions/pie-states-hover-brightness/
46533
46583
  * Brightened by 0.5
46534
46584
  *
46535
- * @product highcharts
46585
+ * @product highcharts highmaps
46536
46586
  */
46537
46587
  brightness: 0.1
46538
46588
  }
@@ -46574,7 +46624,7 @@
46574
46624
  * @extends series,plotOptions.pie
46575
46625
  * @excluding cropThreshold, dataParser, dataURL, stack, xAxis, yAxis,
46576
46626
  * dataSorting, step, boostThreshold, boostBlending
46577
- * @product highcharts
46627
+ * @product highcharts highmaps
46578
46628
  * @apioption series.pie
46579
46629
  */
46580
46630
  /**
@@ -46618,19 +46668,19 @@
46618
46668
  * @type {Array<number|Array<string,(number|null)>|null|*>}
46619
46669
  * @extends series.line.data
46620
46670
  * @excluding marker, x
46621
- * @product highcharts
46671
+ * @product highcharts highmaps
46622
46672
  * @apioption series.pie.data
46623
46673
  */
46624
46674
  /**
46625
46675
  * @type {Highcharts.SeriesPieDataLabelsOptionsObject}
46626
- * @product highcharts
46676
+ * @product highcharts highmaps
46627
46677
  * @apioption series.pie.data.dataLabels
46628
46678
  */
46629
46679
  /**
46630
46680
  * The sequential index of the data point in the legend.
46631
46681
  *
46632
46682
  * @type {number}
46633
- * @product highcharts
46683
+ * @product highcharts highmaps
46634
46684
  * @apioption series.pie.data.legendIndex
46635
46685
  */
46636
46686
  /**
@@ -46640,18 +46690,18 @@
46640
46690
  * One sliced point
46641
46691
  *
46642
46692
  * @type {boolean}
46643
- * @product highcharts
46693
+ * @product highcharts highmaps
46644
46694
  * @apioption series.pie.data.sliced
46645
46695
  */
46646
46696
  /**
46647
46697
  * @extends plotOptions.pie.dataLabels
46648
46698
  * @excluding align, allowOverlap, inside, staggerLines, step
46649
- * @product highcharts
46699
+ * @product highcharts highmaps
46650
46700
  * @apioption series.pie.dataLabels
46651
46701
  */
46652
46702
  /**
46653
46703
  * @excluding legendItemClick
46654
- * @product highcharts
46704
+ * @product highcharts highmaps
46655
46705
  * @apioption series.pie.events
46656
46706
  */
46657
46707
  ''; // placeholder for transpiled doclets above
@@ -47020,7 +47070,7 @@
47020
47070
  'stroke-width': connectorWidth,
47021
47071
  'stroke': (pointDataLabelsOptions.connectorColor ||
47022
47072
  point.color ||
47023
- "#666666" /* neutralColor60 */)
47073
+ "#666666" /* Palette.neutralColor60 */)
47024
47074
  });
47025
47075
  }
47026
47076
  }
@@ -49533,19 +49583,49 @@
49533
49583
  pick = U.pick,
49534
49584
  timeUnits = U.timeUnits,
49535
49585
  wrap = U.wrap;
49586
+ /* *
49587
+ *
49588
+ * Enums
49589
+ *
49590
+ * */
49591
+ /**
49592
+ * Enum for which side the axis is on. Maps to axis.side.
49593
+ * @private
49594
+ */
49595
+ var GridAxisSide;
49596
+ (function (GridAxisSide) {
49597
+ GridAxisSide[GridAxisSide["top"] = 0] = "top";
49598
+ GridAxisSide[GridAxisSide["right"] = 1] = "right";
49599
+ GridAxisSide[GridAxisSide["bottom"] = 2] = "bottom";
49600
+ GridAxisSide[GridAxisSide["left"] = 3] = "left";
49601
+ })(GridAxisSide || (GridAxisSide = {}));
49602
+ /* *
49603
+ *
49604
+ * Constants
49605
+ *
49606
+ * */
49607
+ var composedClasses = [];
49536
49608
  /* *
49537
49609
  *
49538
49610
  * Functions
49539
49611
  *
49540
49612
  * */
49541
- /* eslint-disable require-jsdoc */
49613
+ /**
49614
+ * @private
49615
+ */
49542
49616
  function argsToArray(args) {
49543
49617
  return Array.prototype.slice.call(args, 1);
49544
49618
  }
49619
+ /**
49620
+ * @private
49621
+ */
49545
49622
  function isObject(x) {
49546
49623
  // Always use strict mode
49547
49624
  return U.isObject(x, true);
49548
49625
  }
49626
+ /**
49627
+ * @private
49628
+ */
49549
49629
  function applyGridOptions(axis) {
49550
49630
  var options = axis.options;
49551
49631
  // Center-align by default
@@ -49570,962 +49650,925 @@
49570
49650
  options.labels.rotation = 0;
49571
49651
  }
49572
49652
  /**
49573
- * Axis with grid support.
49653
+ * Extends axis class with grid support.
49574
49654
  * @private
49575
49655
  */
49576
- var GridAxis;
49577
- (function (GridAxis) {
49578
- /* *
49579
- *
49580
- * Declarations
49581
- *
49582
- * */
49583
- /**
49584
- * Enum for which side the axis is on. Maps to axis.side.
49585
- * @private
49586
- */
49587
- var Side;
49588
- (function (Side) {
49589
- Side[Side["top"] = 0] = "top";
49590
- Side[Side["right"] = 1] = "right";
49591
- Side[Side["bottom"] = 2] = "bottom";
49592
- Side[Side["left"] = 3] = "left";
49593
- })(Side = GridAxis.Side || (GridAxis.Side = {}));
49594
- /* *
49595
- *
49596
- * Functions
49597
- *
49598
- * */
49599
- /* eslint-disable valid-jsdoc */
49600
- /**
49601
- * Extends axis class with grid support.
49602
- * @private
49603
- */
49604
- function compose(AxisClass, ChartClass, TickClass) {
49605
- if (AxisClass.keepProps.indexOf('grid') === -1) {
49606
- AxisClass.keepProps.push('grid');
49607
- AxisClass.prototype.getMaxLabelDimensions = getMaxLabelDimensions;
49608
- wrap(AxisClass.prototype, 'unsquish', wrapUnsquish);
49609
- // Add event handlers
49610
- addEvent(AxisClass, 'init', onInit);
49611
- addEvent(AxisClass, 'afterGetOffset', onAfterGetOffset);
49612
- addEvent(AxisClass, 'afterGetTitlePosition', onAfterGetTitlePosition);
49613
- addEvent(AxisClass, 'afterInit', onAfterInit);
49614
- addEvent(AxisClass, 'afterRender', onAfterRender);
49615
- addEvent(AxisClass, 'afterSetAxisTranslation', onAfterSetAxisTranslation);
49616
- addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions);
49617
- addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions2);
49618
- addEvent(AxisClass, 'afterSetScale', onAfterSetScale);
49619
- addEvent(AxisClass, 'afterTickSize', onAfterTickSize);
49620
- addEvent(AxisClass, 'trimTicks', onTrimTicks);
49621
- addEvent(AxisClass, 'destroy', onDestroy);
49622
- }
49656
+ function compose(AxisClass, ChartClass, TickClass) {
49657
+ if (composedClasses.indexOf(AxisClass) === -1) {
49658
+ composedClasses.push(AxisClass);
49659
+ AxisClass.keepProps.push('grid');
49660
+ AxisClass.prototype.getMaxLabelDimensions = getMaxLabelDimensions;
49661
+ wrap(AxisClass.prototype, 'unsquish', wrapUnsquish);
49662
+ // Add event handlers
49663
+ addEvent(AxisClass, 'init', onInit);
49664
+ addEvent(AxisClass, 'afterGetOffset', onAfterGetOffset);
49665
+ addEvent(AxisClass, 'afterGetTitlePosition', onAfterGetTitlePosition);
49666
+ addEvent(AxisClass, 'afterInit', onAfterInit);
49667
+ addEvent(AxisClass, 'afterRender', onAfterRender);
49668
+ addEvent(AxisClass, 'afterSetAxisTranslation', onAfterSetAxisTranslation);
49669
+ addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions);
49670
+ addEvent(AxisClass, 'afterSetOptions', onAfterSetOptions2);
49671
+ addEvent(AxisClass, 'afterSetScale', onAfterSetScale);
49672
+ addEvent(AxisClass, 'afterTickSize', onAfterTickSize);
49673
+ addEvent(AxisClass, 'trimTicks', onTrimTicks);
49674
+ addEvent(AxisClass, 'destroy', onDestroy);
49675
+ }
49676
+ if (composedClasses.indexOf(ChartClass) === -1) {
49623
49677
  addEvent(ChartClass, 'afterSetChartSize', onChartAfterSetChartSize);
49678
+ }
49679
+ if (composedClasses.indexOf(TickClass) === -1) {
49624
49680
  addEvent(TickClass, 'afterGetLabelPosition', onTickAfterGetLabelPosition);
49625
49681
  addEvent(TickClass, 'labelFormat', onTickLabelFormat);
49626
- return AxisClass;
49627
49682
  }
49628
- GridAxis.compose = compose;
49629
- /**
49630
- * Get the largest label width and height.
49631
- *
49632
- * @private
49633
- * @function Highcharts.Axis#getMaxLabelDimensions
49634
- *
49635
- * @param {Highcharts.Dictionary<Highcharts.Tick>} ticks
49636
- * All the ticks on one axis.
49637
- *
49638
- * @param {Array<number|string>} tickPositions
49639
- * All the tick positions on one axis.
49640
- *
49641
- * @return {Highcharts.SizeObject}
49642
- * Object containing the properties height and width.
49643
- *
49644
- * @todo Move this to the generic axis implementation, as it is used there.
49645
- */
49646
- function getMaxLabelDimensions(ticks, tickPositions) {
49647
- var dimensions = {
49648
- width: 0,
49649
- height: 0
49650
- };
49651
- tickPositions.forEach(function (pos) {
49652
- var tick = ticks[pos];
49653
- var labelHeight = 0,
49654
- labelWidth = 0,
49655
- label;
49656
- if (isObject(tick)) {
49657
- label = isObject(tick.label) ? tick.label : {};
49658
- // Find width and height of label
49659
- labelHeight = label.getBBox ? label.getBBox().height : 0;
49660
- if (label.textStr && !isNumber(label.textPxLength)) {
49661
- label.textPxLength = label.getBBox().width;
49662
- }
49663
- labelWidth = isNumber(label.textPxLength) ?
49664
- // Math.round ensures crisp lines
49665
- Math.round(label.textPxLength) :
49666
- 0;
49667
- if (label.textStr) {
49668
- // Set the tickWidth same as the label width after ellipsis
49669
- // applied #10281
49670
- labelWidth = Math.round(label.getBBox().width);
49671
- }
49672
- // Update the result if width and/or height are larger
49673
- dimensions.height = Math.max(labelHeight, dimensions.height);
49674
- dimensions.width = Math.max(labelWidth, dimensions.width);
49683
+ return AxisClass;
49684
+ }
49685
+ /**
49686
+ * Get the largest label width and height.
49687
+ *
49688
+ * @private
49689
+ * @function Highcharts.Axis#getMaxLabelDimensions
49690
+ *
49691
+ * @param {Highcharts.Dictionary<Highcharts.Tick>} ticks
49692
+ * All the ticks on one axis.
49693
+ *
49694
+ * @param {Array<number|string>} tickPositions
49695
+ * All the tick positions on one axis.
49696
+ *
49697
+ * @return {Highcharts.SizeObject}
49698
+ * Object containing the properties height and width.
49699
+ *
49700
+ * @todo Move this to the generic axis implementation, as it is used there.
49701
+ */
49702
+ function getMaxLabelDimensions(ticks, tickPositions) {
49703
+ var dimensions = {
49704
+ width: 0,
49705
+ height: 0
49706
+ };
49707
+ tickPositions.forEach(function (pos) {
49708
+ var tick = ticks[pos];
49709
+ var labelHeight = 0,
49710
+ labelWidth = 0,
49711
+ label;
49712
+ if (isObject(tick)) {
49713
+ label = isObject(tick.label) ? tick.label : {};
49714
+ // Find width and height of label
49715
+ labelHeight = label.getBBox ? label.getBBox().height : 0;
49716
+ if (label.textStr && !isNumber(label.textPxLength)) {
49717
+ label.textPxLength = label.getBBox().width;
49718
+ }
49719
+ labelWidth = isNumber(label.textPxLength) ?
49720
+ // Math.round ensures crisp lines
49721
+ Math.round(label.textPxLength) :
49722
+ 0;
49723
+ if (label.textStr) {
49724
+ // Set the tickWidth same as the label width after ellipsis
49725
+ // applied #10281
49726
+ labelWidth = Math.round(label.getBBox().width);
49675
49727
  }
49676
- });
49677
- // For tree grid, add indentation
49678
- if (this.options.type === 'treegrid' &&
49679
- this.treeGrid &&
49680
- this.treeGrid.mapOfPosToGridNode) {
49681
- var treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
49682
- dimensions.width += (this.options.labels.indentation *
49683
- (treeDepth - 1));
49728
+ // Update the result if width and/or height are larger
49729
+ dimensions.height = Math.max(labelHeight, dimensions.height);
49730
+ dimensions.width = Math.max(labelWidth, dimensions.width);
49684
49731
  }
49685
- return dimensions;
49686
- }
49687
- /**
49688
- * Handle columns and getOffset.
49689
- * @private
49690
- */
49691
- function onAfterGetOffset() {
49692
- var grid = this.grid;
49693
- (grid && grid.columns || []).forEach(function (column) {
49694
- column.getOffset();
49695
- });
49732
+ });
49733
+ // For tree grid, add indentation
49734
+ if (this.options.type === 'treegrid' &&
49735
+ this.treeGrid &&
49736
+ this.treeGrid.mapOfPosToGridNode) {
49737
+ var treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
49738
+ dimensions.width += (this.options.labels.indentation *
49739
+ (treeDepth - 1));
49740
+ }
49741
+ return dimensions;
49742
+ }
49743
+ /**
49744
+ * Handle columns and getOffset.
49745
+ * @private
49746
+ */
49747
+ function onAfterGetOffset() {
49748
+ var grid = this.grid;
49749
+ (grid && grid.columns || []).forEach(function (column) {
49750
+ column.getOffset();
49751
+ });
49752
+ }
49753
+ /**
49754
+ * @private
49755
+ */
49756
+ function onAfterGetTitlePosition(e) {
49757
+ var axis = this;
49758
+ var options = axis.options;
49759
+ var gridOptions = options.grid || {};
49760
+ if (gridOptions.enabled === true) {
49761
+ // compute anchor points for each of the title align options
49762
+ var axisTitle = axis.axisTitle,
49763
+ axisHeight = axis.height,
49764
+ horiz = axis.horiz,
49765
+ axisLeft = axis.left,
49766
+ offset = axis.offset,
49767
+ opposite = axis.opposite,
49768
+ options_1 = axis.options,
49769
+ axisTop = axis.top,
49770
+ axisWidth = axis.width;
49771
+ var tickSize = axis.tickSize();
49772
+ var titleWidth = axisTitle && axisTitle.getBBox().width;
49773
+ var xOption = options_1.title.x;
49774
+ var yOption = options_1.title.y;
49775
+ var titleMargin = pick(options_1.title.margin,
49776
+ horiz ? 5 : 10);
49777
+ var titleFontSize = axis.chart.renderer.fontMetrics(options_1.title.style.fontSize,
49778
+ axisTitle).f;
49779
+ var crispCorr = tickSize ? tickSize[0] / 2 : 0;
49780
+ // TODO account for alignment
49781
+ // the position in the perpendicular direction of the axis
49782
+ var offAxis = ((horiz ? axisTop + axisHeight : axisLeft) +
49783
+ (horiz ? 1 : -1) * // horizontal axis reverses the margin
49784
+ (opposite ? -1 : 1) * // so does opposite axes
49785
+ crispCorr +
49786
+ (axis.side === GridAxisSide.bottom ? titleFontSize : 0));
49787
+ e.titlePosition.x = horiz ?
49788
+ axisLeft - (titleWidth || 0) / 2 - titleMargin + xOption :
49789
+ offAxis + (opposite ? axisWidth : 0) + offset + xOption;
49790
+ e.titlePosition.y = horiz ?
49791
+ (offAxis -
49792
+ (opposite ? axisHeight : 0) +
49793
+ (opposite ? titleFontSize : -titleFontSize) / 2 +
49794
+ offset +
49795
+ yOption) :
49796
+ axisTop - titleMargin + yOption;
49696
49797
  }
49697
- /**
49698
- * @private
49699
- */
49700
- function onAfterGetTitlePosition(e) {
49701
- var axis = this;
49702
- var options = axis.options;
49703
- var gridOptions = options.grid || {};
49704
- if (gridOptions.enabled === true) {
49705
- // compute anchor points for each of the title align options
49706
- var axisTitle = axis.axisTitle,
49707
- axisHeight = axis.height,
49708
- horiz = axis.horiz,
49709
- axisLeft = axis.left,
49710
- offset = axis.offset,
49711
- opposite = axis.opposite,
49712
- options_1 = axis.options,
49713
- axisTop = axis.top,
49714
- axisWidth = axis.width;
49715
- var tickSize = axis.tickSize();
49716
- var titleWidth = axisTitle && axisTitle.getBBox().width;
49717
- var xOption = options_1.title.x;
49718
- var yOption = options_1.title.y;
49719
- var titleMargin = pick(options_1.title.margin,
49720
- horiz ? 5 : 10);
49721
- var titleFontSize = axis.chart.renderer.fontMetrics(options_1.title.style.fontSize,
49722
- axisTitle).f;
49723
- var crispCorr = tickSize ? tickSize[0] / 2 : 0;
49724
- // TODO account for alignment
49725
- // the position in the perpendicular direction of the axis
49726
- var offAxis = ((horiz ? axisTop + axisHeight : axisLeft) +
49727
- (horiz ? 1 : -1) * // horizontal axis reverses the margin
49728
- (opposite ? -1 : 1) * // so does opposite axes
49729
- crispCorr +
49730
- (axis.side === GridAxis.Side.bottom ? titleFontSize : 0));
49731
- e.titlePosition.x = horiz ?
49732
- axisLeft - (titleWidth || 0) / 2 - titleMargin + xOption :
49733
- offAxis + (opposite ? axisWidth : 0) + offset + xOption;
49734
- e.titlePosition.y = horiz ?
49735
- (offAxis -
49736
- (opposite ? axisHeight : 0) +
49737
- (opposite ? titleFontSize : -titleFontSize) / 2 +
49738
- offset +
49739
- yOption) :
49740
- axisTop - titleMargin + yOption;
49798
+ }
49799
+ /**
49800
+ * @private
49801
+ */
49802
+ function onAfterInit() {
49803
+ var axis = this;
49804
+ var chart = axis.chart,
49805
+ _a = axis.options.grid,
49806
+ gridOptions = _a === void 0 ? {} : _a,
49807
+ userOptions = axis.userOptions;
49808
+ if (gridOptions.enabled) {
49809
+ applyGridOptions(axis);
49810
+ }
49811
+ if (gridOptions.columns) {
49812
+ var columns = axis.grid.columns = [];
49813
+ var columnIndex = axis.grid.columnIndex = 0;
49814
+ // Handle columns, each column is a grid axis
49815
+ while (++columnIndex < gridOptions.columns.length) {
49816
+ var columnOptions = merge(userOptions,
49817
+ gridOptions.columns[gridOptions.columns.length - columnIndex - 1], {
49818
+ linkedTo: 0,
49819
+ // Force to behave like category axis
49820
+ type: 'category',
49821
+ // Disable by default the scrollbar on the grid axis
49822
+ scrollbar: {
49823
+ enabled: false
49824
+ }
49825
+ });
49826
+ delete columnOptions.grid.columns; // Prevent recursion
49827
+ var column = new Axis(axis.chart,
49828
+ columnOptions);
49829
+ column.grid.isColumn = true;
49830
+ column.grid.columnIndex = columnIndex;
49831
+ // Remove column axis from chart axes array, and place it
49832
+ // in the columns array.
49833
+ erase(chart.axes, column);
49834
+ erase(chart[axis.coll], column);
49835
+ columns.push(column);
49741
49836
  }
49742
49837
  }
49743
- /**
49744
- * @private
49745
- */
49746
- function onAfterInit() {
49747
- var axis = this;
49748
- var chart = axis.chart,
49749
- _a = axis.options.grid,
49750
- gridOptions = _a === void 0 ? {} : _a,
49751
- userOptions = axis.userOptions;
49752
- if (gridOptions.enabled) {
49753
- applyGridOptions(axis);
49754
- }
49755
- if (gridOptions.columns) {
49756
- var columns = axis.grid.columns = [];
49757
- var columnIndex = axis.grid.columnIndex = 0;
49758
- // Handle columns, each column is a grid axis
49759
- while (++columnIndex < gridOptions.columns.length) {
49760
- var columnOptions = merge(userOptions,
49761
- gridOptions.columns[gridOptions.columns.length - columnIndex - 1], {
49762
- linkedTo: 0,
49763
- // Force to behave like category axis
49764
- type: 'category',
49765
- // Disable by default the scrollbar on the grid axis
49766
- scrollbar: {
49767
- enabled: false
49768
- }
49769
- });
49770
- delete columnOptions.grid.columns; // Prevent recursion
49771
- var column = new Axis(axis.chart,
49772
- columnOptions);
49773
- column.grid.isColumn = true;
49774
- column.grid.columnIndex = columnIndex;
49775
- // Remove column axis from chart axes array, and place it
49776
- // in the columns array.
49777
- erase(chart.axes, column);
49778
- erase(chart[axis.coll], column);
49779
- columns.push(column);
49780
- }
49838
+ }
49839
+ /**
49840
+ * Draw an extra line on the far side of the outermost axis,
49841
+ * creating floor/roof/wall of a grid. And some padding.
49842
+ * ```
49843
+ * Make this:
49844
+ * (axis.min) __________________________ (axis.max)
49845
+ * | | | | |
49846
+ * Into this:
49847
+ * (axis.min) __________________________ (axis.max)
49848
+ * ___|____|____|____|____|__
49849
+ * ```
49850
+ * @private
49851
+ */
49852
+ function onAfterRender() {
49853
+ var axis = this,
49854
+ grid = axis.grid,
49855
+ options = axis.options,
49856
+ gridOptions = options.grid || {};
49857
+ if (gridOptions.enabled === true) {
49858
+ var min = axis.min || 0,
49859
+ max = axis.max || 0;
49860
+ // @todo acutual label padding (top, bottom, left, right)
49861
+ axis.maxLabelDimensions = axis.getMaxLabelDimensions(axis.ticks, axis.tickPositions);
49862
+ // Remove right wall before rendering if updating
49863
+ if (axis.rightWall) {
49864
+ axis.rightWall.destroy();
49781
49865
  }
49782
- }
49783
- /**
49784
- * Draw an extra line on the far side of the outermost axis,
49785
- * creating floor/roof/wall of a grid. And some padding.
49786
- * ```
49787
- * Make this:
49788
- * (axis.min) __________________________ (axis.max)
49789
- * | | | | |
49790
- * Into this:
49791
- * (axis.min) __________________________ (axis.max)
49792
- * ___|____|____|____|____|__
49793
- * ```
49794
- * @private
49795
- */
49796
- function onAfterRender() {
49797
- var axis = this,
49798
- grid = axis.grid,
49799
- options = axis.options,
49800
- gridOptions = options.grid || {};
49801
- if (gridOptions.enabled === true) {
49802
- var min = axis.min || 0,
49803
- max = axis.max || 0;
49804
- // @todo acutual label padding (top, bottom, left, right)
49805
- axis.maxLabelDimensions = axis.getMaxLabelDimensions(axis.ticks, axis.tickPositions);
49806
- // Remove right wall before rendering if updating
49807
- if (axis.rightWall) {
49808
- axis.rightWall.destroy();
49809
- }
49810
- /*
49811
- Draw an extra axis line on outer axes
49812
- >
49813
- Make this: |______|______|______|___
49866
+ /*
49867
+ Draw an extra axis line on outer axes
49868
+ >
49869
+ Make this: |______|______|______|___
49814
49870
 
49815
- > _________________________
49816
- Into this: |______|______|______|__|
49817
- */
49818
- if (axis.grid && axis.grid.isOuterAxis() && axis.axisLine) {
49819
- var lineWidth = options.lineWidth;
49820
- if (lineWidth) {
49821
- var linePath = axis.getLinePath(lineWidth),
49822
- startPoint = linePath[0],
49823
- endPoint = linePath[1],
49824
- // Negate distance if top or left axis
49825
- // Subtract 1px to draw the line at the end of the tick
49826
- tickLength = (axis.tickSize('tick') || [1])[0],
49827
- distance = (tickLength - 1) * ((axis.side === GridAxis.Side.top ||
49828
- axis.side === GridAxis.Side.left) ? -1 : 1);
49829
- // If axis is horizontal, reposition line path vertically
49830
- if (startPoint[0] === 'M' && endPoint[0] === 'L') {
49831
- if (axis.horiz) {
49832
- startPoint[2] += distance;
49833
- endPoint[2] += distance;
49834
- }
49835
- else {
49836
- startPoint[1] += distance;
49837
- endPoint[1] += distance;
49838
- }
49871
+ > _________________________
49872
+ Into this: |______|______|______|__|
49873
+ */
49874
+ if (axis.grid && axis.grid.isOuterAxis() && axis.axisLine) {
49875
+ var lineWidth = options.lineWidth;
49876
+ if (lineWidth) {
49877
+ var linePath = axis.getLinePath(lineWidth),
49878
+ startPoint = linePath[0],
49879
+ endPoint = linePath[1],
49880
+ // Negate distance if top or left axis
49881
+ // Subtract 1px to draw the line at the end of the tick
49882
+ tickLength = (axis.tickSize('tick') || [1])[0],
49883
+ distance = (tickLength - 1) * ((axis.side === GridAxisSide.top ||
49884
+ axis.side === GridAxisSide.left) ? -1 : 1);
49885
+ // If axis is horizontal, reposition line path vertically
49886
+ if (startPoint[0] === 'M' && endPoint[0] === 'L') {
49887
+ if (axis.horiz) {
49888
+ startPoint[2] += distance;
49889
+ endPoint[2] += distance;
49839
49890
  }
49840
- // If it doesn't exist, add an upper and lower border
49841
- // for the vertical grid axis.
49842
- if (!axis.horiz && axis.chart.marginRight) {
49843
- var upperBorderStartPoint = startPoint,
49844
- upperBorderEndPoint = [
49845
- 'L',
49846
- axis.left,
49847
- startPoint[2] || 0
49848
- ],
49849
- upperBorderPath = [
49850
- upperBorderStartPoint,
49851
- upperBorderEndPoint
49852
- ],
49853
- lowerBorderEndPoint = [
49854
- 'L',
49855
- axis.chart.chartWidth - axis.chart.marginRight,
49856
- axis.toPixels(max + axis.tickmarkOffset)
49857
- ],
49858
- lowerBorderStartPoint = [
49859
- 'M',
49860
- endPoint[1] || 0,
49861
- axis.toPixels(max + axis.tickmarkOffset)
49862
- ],
49863
- lowerBorderPath = [
49864
- lowerBorderStartPoint,
49865
- lowerBorderEndPoint
49866
- ];
49867
- if (!axis.grid.upperBorder && min % 1 !== 0) {
49868
- axis.grid.upperBorder = axis.grid.renderBorder(upperBorderPath);
49869
- }
49870
- if (axis.grid.upperBorder) {
49871
- axis.grid.upperBorder.attr({
49872
- stroke: options.lineColor,
49873
- 'stroke-width': options.lineWidth
49874
- });
49875
- axis.grid.upperBorder.animate({
49876
- d: upperBorderPath
49877
- });
49878
- }
49879
- if (!axis.grid.lowerBorder && max % 1 !== 0) {
49880
- axis.grid.lowerBorder = axis.grid.renderBorder(lowerBorderPath);
49881
- }
49882
- if (axis.grid.lowerBorder) {
49883
- axis.grid.lowerBorder.attr({
49884
- stroke: options.lineColor,
49885
- 'stroke-width': options.lineWidth
49886
- });
49887
- axis.grid.lowerBorder.animate({
49888
- d: lowerBorderPath
49889
- });
49890
- }
49891
+ else {
49892
+ startPoint[1] += distance;
49893
+ endPoint[1] += distance;
49891
49894
  }
49892
- // Render an extra line parallel to the existing axes, to
49893
- // close the grid.
49894
- if (!axis.grid.axisLineExtra) {
49895
- axis.grid.axisLineExtra = axis.grid.renderBorder(linePath);
49895
+ }
49896
+ // If it doesn't exist, add an upper and lower border
49897
+ // for the vertical grid axis.
49898
+ if (!axis.horiz && axis.chart.marginRight) {
49899
+ var upperBorderStartPoint = startPoint,
49900
+ upperBorderEndPoint = [
49901
+ 'L',
49902
+ axis.left,
49903
+ startPoint[2] || 0
49904
+ ],
49905
+ upperBorderPath = [
49906
+ upperBorderStartPoint,
49907
+ upperBorderEndPoint
49908
+ ],
49909
+ lowerBorderEndPoint = [
49910
+ 'L',
49911
+ axis.chart.chartWidth - axis.chart.marginRight,
49912
+ axis.toPixels(max + axis.tickmarkOffset)
49913
+ ],
49914
+ lowerBorderStartPoint = [
49915
+ 'M',
49916
+ endPoint[1] || 0,
49917
+ axis.toPixels(max + axis.tickmarkOffset)
49918
+ ],
49919
+ lowerBorderPath = [
49920
+ lowerBorderStartPoint,
49921
+ lowerBorderEndPoint
49922
+ ];
49923
+ if (!axis.grid.upperBorder && min % 1 !== 0) {
49924
+ axis.grid.upperBorder = axis.grid.renderBorder(upperBorderPath);
49896
49925
  }
49897
- else {
49898
- axis.grid.axisLineExtra.attr({
49926
+ if (axis.grid.upperBorder) {
49927
+ axis.grid.upperBorder.attr({
49899
49928
  stroke: options.lineColor,
49900
49929
  'stroke-width': options.lineWidth
49901
49930
  });
49902
- axis.grid.axisLineExtra.animate({
49903
- d: linePath
49931
+ axis.grid.upperBorder.animate({
49932
+ d: upperBorderPath
49904
49933
  });
49905
49934
  }
49906
- // show or hide the line depending on options.showEmpty
49907
- axis.axisLine[axis.showAxis ? 'show' : 'hide']();
49908
- }
49909
- }
49910
- (grid && grid.columns || []).forEach(function (column) {
49911
- column.render();
49912
- });
49913
- // Manipulate the tick mark visibility
49914
- // based on the axis.max- allows smooth scrolling.
49915
- if (!axis.horiz &&
49916
- axis.chart.hasRendered &&
49917
- (axis.scrollbar ||
49918
- (axis.linkedParent && axis.linkedParent.scrollbar))) {
49919
- var tickmarkOffset = axis.tickmarkOffset,
49920
- lastTick = axis.tickPositions[axis.tickPositions.length - 1],
49921
- firstTick = axis.tickPositions[0];
49922
- var label = void 0,
49923
- tickMark = void 0;
49924
- while ((label = axis.hiddenLabels.pop()) && label.element) {
49925
- label.show(); // #15453
49926
- }
49927
- while ((tickMark = axis.hiddenMarks.pop()) &&
49928
- tickMark.element) {
49929
- tickMark.show(); // #16439
49930
- }
49931
- // Hide/show firts tick label.
49932
- label = axis.ticks[firstTick].label;
49933
- if (label) {
49934
- if (min - firstTick > tickmarkOffset) {
49935
- axis.hiddenLabels.push(label.hide());
49935
+ if (!axis.grid.lowerBorder && max % 1 !== 0) {
49936
+ axis.grid.lowerBorder = axis.grid.renderBorder(lowerBorderPath);
49936
49937
  }
49937
- else {
49938
- label.show();
49938
+ if (axis.grid.lowerBorder) {
49939
+ axis.grid.lowerBorder.attr({
49940
+ stroke: options.lineColor,
49941
+ 'stroke-width': options.lineWidth
49942
+ });
49943
+ axis.grid.lowerBorder.animate({
49944
+ d: lowerBorderPath
49945
+ });
49939
49946
  }
49940
49947
  }
49941
- // Hide/show last tick mark/label.
49942
- label = axis.ticks[lastTick].label;
49943
- if (label) {
49944
- if (lastTick - max > tickmarkOffset) {
49945
- axis.hiddenLabels.push(label.hide());
49946
- }
49947
- else {
49948
- label.show();
49949
- }
49948
+ // Render an extra line parallel to the existing axes, to
49949
+ // close the grid.
49950
+ if (!axis.grid.axisLineExtra) {
49951
+ axis.grid.axisLineExtra = axis.grid.renderBorder(linePath);
49952
+ }
49953
+ else {
49954
+ axis.grid.axisLineExtra.attr({
49955
+ stroke: options.lineColor,
49956
+ 'stroke-width': options.lineWidth
49957
+ });
49958
+ axis.grid.axisLineExtra.animate({
49959
+ d: linePath
49960
+ });
49961
+ }
49962
+ // show or hide the line depending on options.showEmpty
49963
+ axis.axisLine[axis.showAxis ? 'show' : 'hide']();
49964
+ }
49965
+ }
49966
+ (grid && grid.columns || []).forEach(function (column) { return column.render(); });
49967
+ // Manipulate the tick mark visibility
49968
+ // based on the axis.max- allows smooth scrolling.
49969
+ if (!axis.horiz &&
49970
+ axis.chart.hasRendered &&
49971
+ (axis.scrollbar ||
49972
+ (axis.linkedParent && axis.linkedParent.scrollbar))) {
49973
+ var tickmarkOffset = axis.tickmarkOffset,
49974
+ lastTick = axis.tickPositions[axis.tickPositions.length - 1],
49975
+ firstTick = axis.tickPositions[0];
49976
+ var label = void 0,
49977
+ tickMark = void 0;
49978
+ while ((label = axis.hiddenLabels.pop()) && label.element) {
49979
+ label.show(); // #15453
49980
+ }
49981
+ while ((tickMark = axis.hiddenMarks.pop()) &&
49982
+ tickMark.element) {
49983
+ tickMark.show(); // #16439
49984
+ }
49985
+ // Hide/show firts tick label.
49986
+ label = axis.ticks[firstTick].label;
49987
+ if (label) {
49988
+ if (min - firstTick > tickmarkOffset) {
49989
+ axis.hiddenLabels.push(label.hide());
49950
49990
  }
49951
- var mark = axis.ticks[lastTick].mark;
49952
- if (mark &&
49953
- lastTick - max < tickmarkOffset &&
49954
- lastTick - max > 0 && axis.ticks[lastTick].isLast) {
49955
- axis.hiddenMarks.push(mark.hide());
49991
+ else {
49992
+ label.show();
49956
49993
  }
49957
49994
  }
49995
+ // Hide/show last tick mark/label.
49996
+ label = axis.ticks[lastTick].label;
49997
+ if (label) {
49998
+ if (lastTick - max > tickmarkOffset) {
49999
+ axis.hiddenLabels.push(label.hide());
50000
+ }
50001
+ else {
50002
+ label.show();
50003
+ }
50004
+ }
50005
+ var mark = axis.ticks[lastTick].mark;
50006
+ if (mark &&
50007
+ lastTick - max < tickmarkOffset &&
50008
+ lastTick - max > 0 && axis.ticks[lastTick].isLast) {
50009
+ axis.hiddenMarks.push(mark.hide());
50010
+ }
49958
50011
  }
49959
50012
  }
49960
- /**
49961
- * @private
49962
- */
49963
- function onAfterSetAxisTranslation() {
49964
- var axis = this;
49965
- var tickInfo = axis.tickPositions && axis.tickPositions.info;
49966
- var options = axis.options;
49967
- var gridOptions = options.grid || {};
49968
- var userLabels = axis.userOptions.labels || {};
49969
- // Fire this only for the Gantt type chart, #14868.
49970
- if (gridOptions.enabled) {
49971
- if (axis.horiz) {
49972
- axis.series.forEach(function (series) {
49973
- series.options.pointRange = 0;
49974
- });
49975
- // Lower level time ticks, like hours or minutes, represent
49976
- // points in time and not ranges. These should be aligned
49977
- // left in the grid cell by default. The same applies to
49978
- // years of higher order.
49979
- if (tickInfo &&
49980
- options.dateTimeLabelFormats &&
49981
- options.labels &&
49982
- !defined(userLabels.align) &&
49983
- (options.dateTimeLabelFormats[tickInfo.unitName]
49984
- .range === false ||
49985
- tickInfo.count > 1 // years
49986
- )) {
49987
- options.labels.align = 'left';
49988
- if (!defined(userLabels.x)) {
49989
- options.labels.x = 3;
49990
- }
50013
+ }
50014
+ /**
50015
+ * @private
50016
+ */
50017
+ function onAfterSetAxisTranslation() {
50018
+ var axis = this;
50019
+ var tickInfo = axis.tickPositions && axis.tickPositions.info;
50020
+ var options = axis.options;
50021
+ var gridOptions = options.grid || {};
50022
+ var userLabels = axis.userOptions.labels || {};
50023
+ // Fire this only for the Gantt type chart, #14868.
50024
+ if (gridOptions.enabled) {
50025
+ if (axis.horiz) {
50026
+ axis.series.forEach(function (series) {
50027
+ series.options.pointRange = 0;
50028
+ });
50029
+ // Lower level time ticks, like hours or minutes, represent
50030
+ // points in time and not ranges. These should be aligned
50031
+ // left in the grid cell by default. The same applies to
50032
+ // years of higher order.
50033
+ if (tickInfo &&
50034
+ options.dateTimeLabelFormats &&
50035
+ options.labels &&
50036
+ !defined(userLabels.align) &&
50037
+ (options.dateTimeLabelFormats[tickInfo.unitName]
50038
+ .range === false ||
50039
+ tickInfo.count > 1 // years
50040
+ )) {
50041
+ options.labels.align = 'left';
50042
+ if (!defined(userLabels.x)) {
50043
+ options.labels.x = 3;
49991
50044
  }
49992
50045
  }
49993
- else {
49994
- // Don't trim ticks which not in min/max range but
49995
- // they are still in the min/max plus tickInterval.
49996
- if (this.options.type !== 'treegrid' &&
49997
- axis.grid &&
49998
- axis.grid.columns) {
49999
- this.minPointOffset = this.tickInterval;
50000
- }
50046
+ }
50047
+ else {
50048
+ // Don't trim ticks which not in min/max range but
50049
+ // they are still in the min/max plus tickInterval.
50050
+ if (this.options.type !== 'treegrid' &&
50051
+ axis.grid &&
50052
+ axis.grid.columns) {
50053
+ this.minPointOffset = this.tickInterval;
50001
50054
  }
50002
50055
  }
50003
50056
  }
50004
- /**
50005
- * Creates a left and right wall on horizontal axes:
50006
- * - Places leftmost tick at the start of the axis, to create a left
50007
- * wall
50008
- * - Ensures that the rightmost tick is at the end of the axis, to
50009
- * create a right wall.
50010
- * @private
50011
- */
50012
- function onAfterSetOptions(e) {
50013
- var options = this.options,
50014
- userOptions = e.userOptions,
50015
- gridOptions = ((options && isObject(options.grid)) ? options.grid : {});
50016
- var gridAxisOptions;
50017
- if (gridOptions.enabled === true) {
50018
- // Merge the user options into default grid axis options so
50019
- // that when a user option is set, it takes presedence.
50020
- gridAxisOptions = merge(true, {
50021
- className: ('highcharts-grid-axis ' + (userOptions.className || '')),
50022
- dateTimeLabelFormats: {
50023
- hour: {
50024
- list: ['%H:%M', '%H']
50025
- },
50026
- day: {
50027
- list: ['%A, %e. %B', '%a, %e. %b', '%E']
50028
- },
50029
- week: {
50030
- list: ['Week %W', 'W%W']
50031
- },
50032
- month: {
50033
- list: ['%B', '%b', '%o']
50034
- }
50057
+ }
50058
+ /**
50059
+ * Creates a left and right wall on horizontal axes:
50060
+ * - Places leftmost tick at the start of the axis, to create a left
50061
+ * wall
50062
+ * - Ensures that the rightmost tick is at the end of the axis, to
50063
+ * create a right wall.
50064
+ * @private
50065
+ */
50066
+ function onAfterSetOptions(e) {
50067
+ var options = this.options,
50068
+ userOptions = e.userOptions,
50069
+ gridOptions = ((options && isObject(options.grid)) ? options.grid : {});
50070
+ var gridAxisOptions;
50071
+ if (gridOptions.enabled === true) {
50072
+ // Merge the user options into default grid axis options so
50073
+ // that when a user option is set, it takes presedence.
50074
+ gridAxisOptions = merge(true, {
50075
+ className: ('highcharts-grid-axis ' + (userOptions.className || '')),
50076
+ dateTimeLabelFormats: {
50077
+ hour: {
50078
+ list: ['%H:%M', '%H']
50035
50079
  },
50036
- grid: {
50037
- borderWidth: 1
50080
+ day: {
50081
+ list: ['%A, %e. %B', '%a, %e. %b', '%E']
50038
50082
  },
50039
- labels: {
50040
- padding: 2,
50041
- style: {
50042
- fontSize: '13px'
50043
- }
50044
- },
50045
- margin: 0,
50046
- title: {
50047
- text: null,
50048
- reserveSpace: false,
50049
- rotation: 0
50083
+ week: {
50084
+ list: ['Week %W', 'W%W']
50050
50085
  },
50051
- // In a grid axis, only allow one unit of certain types,
50052
- // for example we shouln't have one grid cell spanning
50053
- // two days.
50054
- units: [[
50055
- 'millisecond',
50056
- [1, 10, 100]
50057
- ], [
50058
- 'second',
50059
- [1, 10]
50060
- ], [
50061
- 'minute',
50062
- [1, 5, 15]
50063
- ], [
50064
- 'hour',
50065
- [1, 6]
50066
- ], [
50067
- 'day',
50068
- [1]
50069
- ], [
50070
- 'week',
50071
- [1]
50072
- ], [
50073
- 'month',
50074
- [1]
50075
- ], [
50076
- 'year',
50077
- null
50078
- ]]
50079
- }, userOptions);
50080
- // X-axis specific options
50081
- if (this.coll === 'xAxis') {
50082
- // For linked axes, tickPixelInterval is used only if
50083
- // the tickPositioner below doesn't run or returns
50084
- // undefined (like multiple years)
50085
- if (defined(userOptions.linkedTo) &&
50086
- !defined(userOptions.tickPixelInterval)) {
50087
- gridAxisOptions.tickPixelInterval = 350;
50088
- }
50089
- // For the secondary grid axis, use the primary axis'
50090
- // tick intervals and return ticks one level higher.
50091
- if (
50092
- // Check for tick pixel interval in options
50093
- !defined(userOptions.tickPixelInterval) &&
50094
- // Only for linked axes
50095
- defined(userOptions.linkedTo) &&
50096
- !defined(userOptions.tickPositioner) &&
50097
- !defined(userOptions.tickInterval)) {
50098
- gridAxisOptions.tickPositioner = function (min, max) {
50099
- var parentInfo = (this.linkedParent &&
50100
- this.linkedParent.tickPositions &&
50101
- this.linkedParent.tickPositions.info);
50102
- if (parentInfo) {
50103
- var units = (gridAxisOptions.units || []);
50104
- var unitIdx = void 0,
50105
- count = void 0,
50106
- unitName = void 0;
50107
- for (var i = 0; i < units.length; i++) {
50108
- if (units[i][0] ===
50109
- parentInfo.unitName) {
50110
- unitIdx = i;
50111
- break;
50112
- }
50113
- }
50114
- // Get the first allowed count on the next
50115
- // unit.
50116
- if (units[unitIdx + 1]) {
50117
- unitName = units[unitIdx + 1][0];
50118
- count =
50119
- (units[unitIdx + 1][1] || [1])[0];
50120
- // In case the base X axis shows years, make
50121
- // the secondary axis show ten times the
50122
- // years (#11427)
50123
- }
50124
- else if (parentInfo.unitName === 'year') {
50125
- unitName = 'year';
50126
- count = parentInfo.count * 10;
50086
+ month: {
50087
+ list: ['%B', '%b', '%o']
50088
+ }
50089
+ },
50090
+ grid: {
50091
+ borderWidth: 1
50092
+ },
50093
+ labels: {
50094
+ padding: 2,
50095
+ style: {
50096
+ fontSize: '13px'
50097
+ }
50098
+ },
50099
+ margin: 0,
50100
+ title: {
50101
+ text: null,
50102
+ reserveSpace: false,
50103
+ rotation: 0
50104
+ },
50105
+ // In a grid axis, only allow one unit of certain types,
50106
+ // for example we shouln't have one grid cell spanning
50107
+ // two days.
50108
+ units: [[
50109
+ 'millisecond',
50110
+ [1, 10, 100]
50111
+ ], [
50112
+ 'second',
50113
+ [1, 10]
50114
+ ], [
50115
+ 'minute',
50116
+ [1, 5, 15]
50117
+ ], [
50118
+ 'hour',
50119
+ [1, 6]
50120
+ ], [
50121
+ 'day',
50122
+ [1]
50123
+ ], [
50124
+ 'week',
50125
+ [1]
50126
+ ], [
50127
+ 'month',
50128
+ [1]
50129
+ ], [
50130
+ 'year',
50131
+ null
50132
+ ]]
50133
+ }, userOptions);
50134
+ // X-axis specific options
50135
+ if (this.coll === 'xAxis') {
50136
+ // For linked axes, tickPixelInterval is used only if
50137
+ // the tickPositioner below doesn't run or returns
50138
+ // undefined (like multiple years)
50139
+ if (defined(userOptions.linkedTo) &&
50140
+ !defined(userOptions.tickPixelInterval)) {
50141
+ gridAxisOptions.tickPixelInterval = 350;
50142
+ }
50143
+ // For the secondary grid axis, use the primary axis'
50144
+ // tick intervals and return ticks one level higher.
50145
+ if (
50146
+ // Check for tick pixel interval in options
50147
+ !defined(userOptions.tickPixelInterval) &&
50148
+ // Only for linked axes
50149
+ defined(userOptions.linkedTo) &&
50150
+ !defined(userOptions.tickPositioner) &&
50151
+ !defined(userOptions.tickInterval)) {
50152
+ gridAxisOptions.tickPositioner = function (min, max) {
50153
+ var parentInfo = (this.linkedParent &&
50154
+ this.linkedParent.tickPositions &&
50155
+ this.linkedParent.tickPositions.info);
50156
+ if (parentInfo) {
50157
+ var units = (gridAxisOptions.units || []);
50158
+ var unitIdx = void 0,
50159
+ count = 1,
50160
+ unitName = 'year';
50161
+ for (var i = 0; i < units.length; i++) {
50162
+ var unit_1 = units[i];
50163
+ if (unit_1 && unit_1[0] === parentInfo.unitName) {
50164
+ unitIdx = i;
50165
+ break;
50127
50166
  }
50128
- var unitRange = timeUnits[unitName];
50129
- this.tickInterval = unitRange * count;
50130
- return this.getTimeTicks({
50131
- unitRange: unitRange,
50132
- count: count,
50133
- unitName: unitName
50134
- }, min, max, this.options.startOfWeek);
50135
50167
  }
50136
- };
50137
- }
50138
- }
50139
- // Now merge the combined options into the axis options
50140
- merge(true, this.options, gridAxisOptions);
50141
- if (this.horiz) {
50142
- /* _________________________
50143
- Make this: ___|_____|_____|_____|__|
50144
- ^ ^
50145
- _________________________
50146
- Into this: |_____|_____|_____|_____|
50147
- ^ ^ */
50148
- options.minPadding = pick(userOptions.minPadding, 0);
50149
- options.maxPadding = pick(userOptions.maxPadding, 0);
50150
- }
50151
- // If borderWidth is set, then use its value for tick and
50152
- // line width.
50153
- if (isNumber(options.grid.borderWidth)) {
50154
- options.tickWidth = options.lineWidth =
50155
- gridOptions.borderWidth;
50168
+ // Get the first allowed count on the next unit.
50169
+ var unit = (isNumber(unitIdx) && units[unitIdx + 1]);
50170
+ if (unit) {
50171
+ unitName = unit[0] || 'year';
50172
+ var counts = unit[1];
50173
+ count = counts && counts[0] || 1;
50174
+ // In case the base X axis shows years, make the
50175
+ // secondary axis show ten times the years (#11427)
50176
+ }
50177
+ else if (parentInfo.unitName === 'year') {
50178
+ // unitName is 'year'
50179
+ count = parentInfo.count * 10;
50180
+ }
50181
+ var unitRange = timeUnits[unitName];
50182
+ this.tickInterval = unitRange * count;
50183
+ return this.chart.time.getTimeTicks({ unitRange: unitRange, count: count, unitName: unitName }, min, max, this.options.startOfWeek);
50184
+ }
50185
+ };
50156
50186
  }
50157
50187
  }
50158
- }
50159
- /**
50160
- * @private
50161
- */
50162
- function onAfterSetOptions2(e) {
50163
- var axis = this;
50164
- var userOptions = e.userOptions;
50165
- var gridOptions = userOptions && userOptions.grid || {};
50166
- var columns = gridOptions.columns;
50167
- // Add column options to the parent axis. Children has their column
50168
- // options set on init in onGridAxisAfterInit.
50169
- if (gridOptions.enabled && columns) {
50170
- merge(true, axis.options, columns[columns.length - 1]);
50188
+ // Now merge the combined options into the axis options
50189
+ merge(true, this.options, gridAxisOptions);
50190
+ if (this.horiz) {
50191
+ /* _________________________
50192
+ Make this: ___|_____|_____|_____|__|
50193
+ ^ ^
50194
+ _________________________
50195
+ Into this: |_____|_____|_____|_____|
50196
+ ^ ^ */
50197
+ options.minPadding = pick(userOptions.minPadding, 0);
50198
+ options.maxPadding = pick(userOptions.maxPadding, 0);
50199
+ }
50200
+ // If borderWidth is set, then use its value for tick and
50201
+ // line width.
50202
+ if (isNumber(options.grid.borderWidth)) {
50203
+ options.tickWidth = options.lineWidth =
50204
+ gridOptions.borderWidth;
50171
50205
  }
50172
50206
  }
50173
- /**
50174
- * Handle columns and setScale.
50175
- * @private
50176
- */
50177
- function onAfterSetScale() {
50178
- var axis = this;
50179
- (axis.grid.columns || []).forEach(function (column) {
50180
- column.setScale();
50181
- });
50207
+ }
50208
+ /**
50209
+ * @private
50210
+ */
50211
+ function onAfterSetOptions2(e) {
50212
+ var axis = this;
50213
+ var userOptions = e.userOptions;
50214
+ var gridOptions = userOptions && userOptions.grid || {};
50215
+ var columns = gridOptions.columns;
50216
+ // Add column options to the parent axis. Children has their column
50217
+ // options set on init in onGridAxisAfterInit.
50218
+ if (gridOptions.enabled && columns) {
50219
+ merge(true, axis.options, columns[columns.length - 1]);
50182
50220
  }
50183
- /**
50184
- * Draw vertical axis ticks extra long to create cell floors and roofs.
50185
- * Overrides the tickLength for vertical axes.
50186
- * @private
50187
- */
50188
- function onAfterTickSize(e) {
50189
- var defaultLeftAxisOptions = AxisDefaults.defaultLeftAxisOptions;
50190
- var _a = this,
50191
- horiz = _a.horiz,
50192
- maxLabelDimensions = _a.maxLabelDimensions,
50193
- _b = _a.options.grid,
50194
- gridOptions = _b === void 0 ? {} : _b;
50195
- if (gridOptions.enabled && maxLabelDimensions) {
50196
- var labelPadding = (Math.abs(defaultLeftAxisOptions.labels.x) * 2);
50197
- var distance = horiz ?
50198
- (gridOptions.cellHeight ||
50199
- labelPadding + maxLabelDimensions.height) :
50200
- labelPadding + maxLabelDimensions.width;
50201
- if (isArray(e.tickSize)) {
50202
- e.tickSize[0] = distance;
50203
- }
50204
- else {
50205
- e.tickSize = [distance, 0];
50206
- }
50221
+ }
50222
+ /**
50223
+ * Handle columns and setScale.
50224
+ * @private
50225
+ */
50226
+ function onAfterSetScale() {
50227
+ var axis = this;
50228
+ (axis.grid.columns || []).forEach(function (column) { return column.setScale(); });
50229
+ }
50230
+ /**
50231
+ * Draw vertical axis ticks extra long to create cell floors and roofs.
50232
+ * Overrides the tickLength for vertical axes.
50233
+ * @private
50234
+ */
50235
+ function onAfterTickSize(e) {
50236
+ var defaultLeftAxisOptions = AxisDefaults.defaultLeftAxisOptions;
50237
+ var _a = this,
50238
+ horiz = _a.horiz,
50239
+ maxLabelDimensions = _a.maxLabelDimensions,
50240
+ _b = _a.options.grid,
50241
+ gridOptions = _b === void 0 ? {} : _b;
50242
+ if (gridOptions.enabled && maxLabelDimensions) {
50243
+ var labelPadding = (Math.abs(defaultLeftAxisOptions.labels.x) * 2);
50244
+ var distance = horiz ?
50245
+ (gridOptions.cellHeight ||
50246
+ labelPadding + maxLabelDimensions.height) :
50247
+ labelPadding + maxLabelDimensions.width;
50248
+ if (isArray(e.tickSize)) {
50249
+ e.tickSize[0] = distance;
50250
+ }
50251
+ else {
50252
+ e.tickSize = [distance, 0];
50207
50253
  }
50208
50254
  }
50209
- /**
50210
- * @private
50211
- */
50212
- function onChartAfterSetChartSize() {
50213
- this.axes.forEach(function (axis) {
50214
- (axis.grid && axis.grid.columns || []).forEach(function (column) {
50215
- column.setAxisSize();
50216
- column.setAxisTranslation();
50217
- });
50255
+ }
50256
+ /**
50257
+ * @private
50258
+ */
50259
+ function onChartAfterSetChartSize() {
50260
+ this.axes.forEach(function (axis) {
50261
+ (axis.grid && axis.grid.columns || []).forEach(function (column) {
50262
+ column.setAxisSize();
50263
+ column.setAxisTranslation();
50218
50264
  });
50265
+ });
50266
+ }
50267
+ /**
50268
+ * @private
50269
+ */
50270
+ function onDestroy(e) {
50271
+ var grid = this.grid;
50272
+ (grid.columns || []).forEach(function (column) { return column.destroy(e.keepEvents); });
50273
+ grid.columns = void 0;
50274
+ }
50275
+ /**
50276
+ * Wraps axis init to draw cell walls on vertical axes.
50277
+ * @private
50278
+ */
50279
+ function onInit(e) {
50280
+ var axis = this;
50281
+ var userOptions = e.userOptions || {};
50282
+ var gridOptions = userOptions.grid || {};
50283
+ if (gridOptions.enabled && defined(gridOptions.borderColor)) {
50284
+ userOptions.tickColor = userOptions.lineColor = (gridOptions.borderColor);
50219
50285
  }
50220
- /**
50221
- * @private
50222
- */
50223
- function onDestroy(e) {
50224
- var grid = this.grid;
50225
- (grid.columns || []).forEach(function (column) {
50226
- column.destroy(e.keepEvents);
50227
- });
50228
- grid.columns = void 0;
50286
+ if (!axis.grid) {
50287
+ axis.grid = new GridAxisAdditions(axis);
50229
50288
  }
50230
- /**
50231
- * Wraps axis init to draw cell walls on vertical axes.
50232
- * @private
50233
- */
50234
- function onInit(e) {
50235
- var axis = this;
50236
- var userOptions = e.userOptions || {};
50237
- var gridOptions = userOptions.grid || {};
50238
- if (gridOptions.enabled && defined(gridOptions.borderColor)) {
50239
- userOptions.tickColor = userOptions.lineColor = (gridOptions.borderColor);
50289
+ axis.hiddenLabels = [];
50290
+ axis.hiddenMarks = [];
50291
+ }
50292
+ /**
50293
+ * Center tick labels in cells.
50294
+ * @private
50295
+ */
50296
+ function onTickAfterGetLabelPosition(e) {
50297
+ var tick = this,
50298
+ label = tick.label,
50299
+ axis = tick.axis,
50300
+ reversed = axis.reversed,
50301
+ chart = axis.chart,
50302
+ options = axis.options,
50303
+ gridOptions = options.grid || {},
50304
+ labelOpts = axis.options.labels,
50305
+ align = labelOpts.align,
50306
+ // verticalAlign is currently not supported for axis.labels.
50307
+ verticalAlign = 'middle', // labelOpts.verticalAlign,
50308
+ side = GridAxisSide[axis.side],
50309
+ tickmarkOffset = e.tickmarkOffset,
50310
+ tickPositions = axis.tickPositions,
50311
+ tickPos = tick.pos - tickmarkOffset,
50312
+ nextTickPos = (isNumber(tickPositions[e.index + 1]) ?
50313
+ tickPositions[e.index + 1] - tickmarkOffset :
50314
+ (axis.max || 0) + tickmarkOffset),
50315
+ tickSize = axis.tickSize('tick'),
50316
+ tickWidth = tickSize ? tickSize[0] : 0,
50317
+ crispCorr = tickSize ? tickSize[1] / 2 : 0;
50318
+ var labelHeight,
50319
+ lblMetrics,
50320
+ lines,
50321
+ bottom,
50322
+ top,
50323
+ left,
50324
+ right;
50325
+ // Only center tick labels in grid axes
50326
+ if (gridOptions.enabled === true) {
50327
+ // Calculate top and bottom positions of the cell.
50328
+ if (side === 'top') {
50329
+ bottom = axis.top + axis.offset;
50330
+ top = bottom - tickWidth;
50331
+ }
50332
+ else if (side === 'bottom') {
50333
+ top = chart.chartHeight - axis.bottom + axis.offset;
50334
+ bottom = top + tickWidth;
50240
50335
  }
50241
- if (!axis.grid) {
50242
- axis.grid = new Additions(axis);
50336
+ else {
50337
+ bottom = axis.top + axis.len - (axis.translate(reversed ? nextTickPos : tickPos) || 0);
50338
+ top = axis.top + axis.len - (axis.translate(reversed ? tickPos : nextTickPos) || 0);
50243
50339
  }
50244
- axis.hiddenLabels = [];
50245
- axis.hiddenMarks = [];
50246
- }
50247
- /**
50248
- * Center tick labels in cells.
50249
- * @private
50250
- */
50251
- function onTickAfterGetLabelPosition(e) {
50252
- var tick = this,
50253
- label = tick.label,
50254
- axis = tick.axis,
50255
- reversed = axis.reversed,
50256
- chart = axis.chart,
50257
- options = axis.options,
50258
- gridOptions = options.grid || {},
50259
- labelOpts = axis.options.labels,
50260
- align = labelOpts.align,
50261
- // verticalAlign is currently not supported for axis.labels.
50262
- verticalAlign = 'middle', // labelOpts.verticalAlign,
50263
- side = GridAxis.Side[axis.side],
50264
- tickmarkOffset = e.tickmarkOffset,
50265
- tickPositions = axis.tickPositions,
50266
- tickPos = tick.pos - tickmarkOffset,
50267
- nextTickPos = (isNumber(tickPositions[e.index + 1]) ?
50268
- tickPositions[e.index + 1] - tickmarkOffset :
50269
- (axis.max || 0) + tickmarkOffset),
50270
- tickSize = axis.tickSize('tick'),
50271
- tickWidth = tickSize ? tickSize[0] : 0,
50272
- crispCorr = tickSize ? tickSize[1] / 2 : 0;
50273
- var labelHeight,
50274
- lblMetrics,
50275
- lines,
50276
- bottom,
50277
- top,
50278
- left,
50279
- right;
50280
- // Only center tick labels in grid axes
50281
- if (gridOptions.enabled === true) {
50282
- // Calculate top and bottom positions of the cell.
50283
- if (side === 'top') {
50284
- bottom = axis.top + axis.offset;
50285
- top = bottom - tickWidth;
50286
- }
50287
- else if (side === 'bottom') {
50288
- top = chart.chartHeight - axis.bottom + axis.offset;
50289
- bottom = top + tickWidth;
50290
- }
50291
- else {
50292
- bottom = axis.top + axis.len - (axis.translate(reversed ? nextTickPos : tickPos) || 0);
50293
- top = axis.top + axis.len - (axis.translate(reversed ? tickPos : nextTickPos) || 0);
50294
- }
50295
- // Calculate left and right positions of the cell.
50296
- if (side === 'right') {
50297
- left = chart.chartWidth - axis.right + axis.offset;
50298
- right = left + tickWidth;
50299
- }
50300
- else if (side === 'left') {
50301
- right = axis.left + axis.offset;
50302
- left = right - tickWidth;
50303
- }
50304
- else {
50305
- left = Math.round(axis.left + (axis.translate(reversed ? nextTickPos : tickPos) || 0)) - crispCorr;
50306
- right = Math.min(// #15742
50307
- Math.round(axis.left + (axis.translate(reversed ? tickPos : nextTickPos) || 0)) - crispCorr, axis.left + axis.len);
50308
- }
50309
- tick.slotWidth = right - left;
50310
- // Calculate the positioning of the label based on
50311
- // alignment.
50312
- e.pos.x = (align === 'left' ?
50313
- left :
50314
- align === 'right' ?
50315
- right :
50316
- left + ((right - left) / 2) // default to center
50317
- );
50318
- e.pos.y = (verticalAlign === 'top' ?
50319
- top :
50320
- verticalAlign === 'bottom' ?
50321
- bottom :
50322
- top + ((bottom - top) / 2) // default to middle
50323
- );
50324
- lblMetrics = chart.renderer.fontMetrics(labelOpts.style.fontSize, label && label.element);
50325
- labelHeight = label ? label.getBBox().height : 0;
50326
- // Adjustment to y position to align the label correctly.
50327
- // Would be better to have a setter or similar for this.
50328
- if (!labelOpts.useHTML) {
50329
- lines = Math.round(labelHeight / lblMetrics.h);
50330
- e.pos.y += (
50331
- // Center the label
50332
- // TODO: why does this actually center the label?
50333
- ((lblMetrics.b - (lblMetrics.h - lblMetrics.f)) / 2) +
50334
- // Adjust for height of additional lines.
50335
- -(((lines - 1) * lblMetrics.h) / 2));
50336
- }
50337
- else {
50338
- e.pos.y += (
50339
- // Readjust yCorr in htmlUpdateTransform
50340
- lblMetrics.b +
50341
- // Adjust for height of html label
50342
- -(labelHeight / 2));
50343
- }
50344
- e.pos.x += (axis.horiz && labelOpts.x) || 0;
50340
+ // Calculate left and right positions of the cell.
50341
+ if (side === 'right') {
50342
+ left = chart.chartWidth - axis.right + axis.offset;
50343
+ right = left + tickWidth;
50345
50344
  }
50346
- }
50347
- /**
50348
- * @private
50349
- */
50350
- function onTickLabelFormat(ctx) {
50351
- var axis = ctx.axis,
50352
- value = ctx.value;
50353
- if (axis.options.grid &&
50354
- axis.options.grid.enabled) {
50355
- var tickPos = axis.tickPositions;
50356
- var series = (axis.linkedParent || axis).series[0];
50357
- var isFirst = value === tickPos[0];
50358
- var isLast = value === tickPos[tickPos.length - 1];
50359
- var point = series && find(series.options.data,
50360
- function (p) {
50361
- return p[axis.isXAxis ? 'x' : 'y'] === value;
50362
- });
50363
- var pointCopy = void 0;
50364
- if (point && series.is('gantt')) {
50365
- // For the Gantt set point aliases to the pointCopy
50366
- // to do not change the original point
50367
- pointCopy = merge(point);
50368
- H.seriesTypes.gantt.prototype.pointClass
50369
- .setGanttPointAliases(pointCopy);
50370
- }
50371
- // Make additional properties available for the
50372
- // formatter
50373
- ctx.isFirst = isFirst;
50374
- ctx.isLast = isLast;
50375
- ctx.point = pointCopy;
50345
+ else if (side === 'left') {
50346
+ right = axis.left + axis.offset;
50347
+ left = right - tickWidth;
50376
50348
  }
50377
- }
50378
- /**
50379
- * Makes tick labels which are usually ignored in a linked axis
50380
- * displayed if they are within range of linkedParent.min.
50381
- * ```
50382
- * _____________________________
50383
- * | | | | |
50384
- * Make this: | | 2 | 3 | 4 |
50385
- * |___|_______|_______|_______|
50386
- * ^
50387
- * _____________________________
50388
- * | | | | |
50389
- * Into this: | 1 | 2 | 3 | 4 |
50390
- * |___|_______|_______|_______|
50391
- * ^
50392
- * ```
50393
- * @private
50394
- * @todo Does this function do what the drawing says? Seems to affect
50395
- * ticks and not the labels directly?
50396
- */
50397
- function onTrimTicks() {
50398
- var axis = this;
50399
- var options = axis.options;
50400
- var gridOptions = options.grid || {};
50401
- var categoryAxis = axis.categories;
50402
- var tickPositions = axis.tickPositions;
50403
- var firstPos = tickPositions[0];
50404
- var lastPos = tickPositions[tickPositions.length - 1];
50405
- var linkedMin = axis.linkedParent && axis.linkedParent.min;
50406
- var linkedMax = axis.linkedParent && axis.linkedParent.max;
50407
- var min = linkedMin || axis.min;
50408
- var max = linkedMax || axis.max;
50409
- var tickInterval = axis.tickInterval;
50410
- var endMoreThanMin = (firstPos < min &&
50411
- firstPos + tickInterval > min);
50412
- var startLessThanMax = (lastPos > max &&
50413
- lastPos - tickInterval < max);
50414
- if (gridOptions.enabled === true &&
50415
- !categoryAxis &&
50416
- (axis.horiz || axis.isLinked)) {
50417
- if (endMoreThanMin && !options.startOnTick) {
50418
- tickPositions[0] = min;
50419
- }
50420
- if (startLessThanMax && !options.endOnTick) {
50421
- tickPositions[tickPositions.length - 1] = max;
50422
- }
50349
+ else {
50350
+ left = Math.round(axis.left + (axis.translate(reversed ? nextTickPos : tickPos) || 0)) - crispCorr;
50351
+ right = Math.min(// #15742
50352
+ Math.round(axis.left + (axis.translate(reversed ? tickPos : nextTickPos) || 0)) - crispCorr, axis.left + axis.len);
50353
+ }
50354
+ tick.slotWidth = right - left;
50355
+ // Calculate the positioning of the label based on
50356
+ // alignment.
50357
+ e.pos.x = (align === 'left' ?
50358
+ left :
50359
+ align === 'right' ?
50360
+ right :
50361
+ left + ((right - left) / 2) // default to center
50362
+ );
50363
+ e.pos.y = (verticalAlign === 'top' ?
50364
+ top :
50365
+ verticalAlign === 'bottom' ?
50366
+ bottom :
50367
+ top + ((bottom - top) / 2) // default to middle
50368
+ );
50369
+ lblMetrics = chart.renderer.fontMetrics(labelOpts.style.fontSize, label && label.element);
50370
+ labelHeight = label ? label.getBBox().height : 0;
50371
+ // Adjustment to y position to align the label correctly.
50372
+ // Would be better to have a setter or similar for this.
50373
+ if (!labelOpts.useHTML) {
50374
+ lines = Math.round(labelHeight / lblMetrics.h);
50375
+ e.pos.y += (
50376
+ // Center the label
50377
+ // TODO: why does this actually center the label?
50378
+ ((lblMetrics.b - (lblMetrics.h - lblMetrics.f)) / 2) +
50379
+ // Adjust for height of additional lines.
50380
+ -(((lines - 1) * lblMetrics.h) / 2));
50423
50381
  }
50382
+ else {
50383
+ e.pos.y += (
50384
+ // Readjust yCorr in htmlUpdateTransform
50385
+ lblMetrics.b +
50386
+ // Adjust for height of html label
50387
+ -(labelHeight / 2));
50388
+ }
50389
+ e.pos.x += (axis.horiz && labelOpts.x) || 0;
50424
50390
  }
50425
- /**
50426
- * Avoid altering tickInterval when reserving space.
50427
- * @private
50428
- */
50429
- function wrapUnsquish(proceed) {
50430
- var axis = this;
50431
- var _a = axis.options.grid,
50432
- gridOptions = _a === void 0 ? {} : _a;
50433
- if (gridOptions.enabled === true && axis.categories) {
50434
- return axis.tickInterval;
50391
+ }
50392
+ /**
50393
+ * @private
50394
+ */
50395
+ function onTickLabelFormat(ctx) {
50396
+ var axis = ctx.axis,
50397
+ value = ctx.value;
50398
+ if (axis.options.grid &&
50399
+ axis.options.grid.enabled) {
50400
+ var tickPos = axis.tickPositions;
50401
+ var series = (axis.linkedParent || axis).series[0];
50402
+ var isFirst = value === tickPos[0];
50403
+ var isLast = value === tickPos[tickPos.length - 1];
50404
+ var point = series && find(series.options.data,
50405
+ function (p) {
50406
+ return p[axis.isXAxis ? 'x' : 'y'] === value;
50407
+ });
50408
+ var pointCopy = void 0;
50409
+ if (point && series.is('gantt')) {
50410
+ // For the Gantt set point aliases to the pointCopy
50411
+ // to do not change the original point
50412
+ pointCopy = merge(point);
50413
+ H.seriesTypes.gantt.prototype.pointClass
50414
+ .setGanttPointAliases(pointCopy);
50415
+ }
50416
+ // Make additional properties available for the
50417
+ // formatter
50418
+ ctx.isFirst = isFirst;
50419
+ ctx.isLast = isLast;
50420
+ ctx.point = pointCopy;
50421
+ }
50422
+ }
50423
+ /**
50424
+ * Makes tick labels which are usually ignored in a linked axis
50425
+ * displayed if they are within range of linkedParent.min.
50426
+ * ```
50427
+ * _____________________________
50428
+ * | | | | |
50429
+ * Make this: | | 2 | 3 | 4 |
50430
+ * |___|_______|_______|_______|
50431
+ * ^
50432
+ * _____________________________
50433
+ * | | | | |
50434
+ * Into this: | 1 | 2 | 3 | 4 |
50435
+ * |___|_______|_______|_______|
50436
+ * ^
50437
+ * ```
50438
+ * @private
50439
+ * @todo Does this function do what the drawing says? Seems to affect
50440
+ * ticks and not the labels directly?
50441
+ */
50442
+ function onTrimTicks() {
50443
+ var axis = this;
50444
+ var options = axis.options;
50445
+ var gridOptions = options.grid || {};
50446
+ var categoryAxis = axis.categories;
50447
+ var tickPositions = axis.tickPositions;
50448
+ var firstPos = tickPositions[0];
50449
+ var lastPos = tickPositions[tickPositions.length - 1];
50450
+ var linkedMin = axis.linkedParent && axis.linkedParent.min;
50451
+ var linkedMax = axis.linkedParent && axis.linkedParent.max;
50452
+ var min = linkedMin || axis.min;
50453
+ var max = linkedMax || axis.max;
50454
+ var tickInterval = axis.tickInterval;
50455
+ var endMoreThanMin = (firstPos < min &&
50456
+ firstPos + tickInterval > min);
50457
+ var startLessThanMax = (lastPos > max &&
50458
+ lastPos - tickInterval < max);
50459
+ if (gridOptions.enabled === true &&
50460
+ !categoryAxis &&
50461
+ (axis.horiz || axis.isLinked)) {
50462
+ if (endMoreThanMin && !options.startOnTick) {
50463
+ tickPositions[0] = min;
50464
+ }
50465
+ if (startLessThanMax && !options.endOnTick) {
50466
+ tickPositions[tickPositions.length - 1] = max;
50435
50467
  }
50436
- return proceed.apply(axis, argsToArray(arguments));
50468
+ }
50469
+ }
50470
+ /**
50471
+ * Avoid altering tickInterval when reserving space.
50472
+ * @private
50473
+ */
50474
+ function wrapUnsquish(proceed) {
50475
+ var axis = this;
50476
+ var _a = axis.options.grid,
50477
+ gridOptions = _a === void 0 ? {} : _a;
50478
+ if (gridOptions.enabled === true && axis.categories) {
50479
+ return axis.tickInterval;
50480
+ }
50481
+ return proceed.apply(axis, argsToArray(arguments));
50482
+ }
50483
+ /* *
50484
+ *
50485
+ * Class
50486
+ *
50487
+ * */
50488
+ /**
50489
+ * Additions for grid axes.
50490
+ * @private
50491
+ * @class
50492
+ */
50493
+ var GridAxisAdditions = /** @class */ (function () {
50494
+ /* *
50495
+ *
50496
+ * Constructors
50497
+ *
50498
+ * */
50499
+ function GridAxisAdditions(axis) {
50500
+ this.axis = axis;
50437
50501
  }
50438
50502
  /* *
50503
+ *
50504
+ * Functions
50505
+ *
50506
+ * */
50507
+ /**
50508
+ * Checks if an axis is the outer axis in its dimension. Since
50509
+ * axes are placed outwards in order, the axis with the highest
50510
+ * index is the outermost axis.
50439
50511
  *
50440
- * Class
50512
+ * Example: If there are multiple x-axes at the top of the chart,
50513
+ * this function returns true if the axis supplied is the last
50514
+ * of the x-axes.
50441
50515
  *
50442
- * */
50443
- /**
50444
- * Additions for grid axes.
50445
50516
  * @private
50446
- * @class
50517
+ *
50518
+ * @return {boolean}
50519
+ * True if the axis is the outermost axis in its dimension; false if
50520
+ * not.
50447
50521
  */
50448
- var Additions = /** @class */ (function () {
50449
- /* *
50450
- *
50451
- * Constructors
50452
- *
50453
- * */
50454
- function Additions(axis) {
50455
- this.axis = axis;
50456
- }
50457
- /* *
50458
- *
50459
- * Functions
50460
- *
50461
- * */
50462
- /**
50463
- * Checks if an axis is the outer axis in its dimension. Since
50464
- * axes are placed outwards in order, the axis with the highest
50465
- * index is the outermost axis.
50466
- *
50467
- * Example: If there are multiple x-axes at the top of the chart,
50468
- * this function returns true if the axis supplied is the last
50469
- * of the x-axes.
50470
- *
50471
- * @private
50472
- *
50473
- * @return {boolean}
50474
- * True if the axis is the outermost axis in its dimension; false if
50475
- * not.
50476
- */
50477
- Additions.prototype.isOuterAxis = function () {
50478
- var axis = this.axis;
50479
- var chart = axis.chart;
50480
- var columnIndex = axis.grid.columnIndex;
50481
- var columns = (axis.linkedParent && axis.linkedParent.grid.columns ||
50482
- axis.grid.columns);
50483
- var parentAxis = columnIndex ? axis.linkedParent : axis;
50484
- var thisIndex = -1,
50485
- lastIndex = 0;
50486
- chart[axis.coll].forEach(function (otherAxis, index) {
50487
- if (otherAxis.side === axis.side &&
50488
- !otherAxis.options.isInternal) {
50489
- lastIndex = index;
50490
- if (otherAxis === parentAxis) {
50491
- // Get the index of the axis in question
50492
- thisIndex = index;
50493
- }
50522
+ GridAxisAdditions.prototype.isOuterAxis = function () {
50523
+ var axis = this.axis;
50524
+ var chart = axis.chart;
50525
+ var columnIndex = axis.grid.columnIndex;
50526
+ var columns = (axis.linkedParent && axis.linkedParent.grid.columns ||
50527
+ axis.grid.columns);
50528
+ var parentAxis = columnIndex ? axis.linkedParent : axis;
50529
+ var thisIndex = -1,
50530
+ lastIndex = 0;
50531
+ (chart[axis.coll] || []).forEach(function (otherAxis, index) {
50532
+ if (otherAxis.side === axis.side &&
50533
+ !otherAxis.options.isInternal) {
50534
+ lastIndex = index;
50535
+ if (otherAxis === parentAxis) {
50536
+ // Get the index of the axis in question
50537
+ thisIndex = index;
50494
50538
  }
50495
- });
50496
- return (lastIndex === thisIndex &&
50497
- (isNumber(columnIndex) ?
50498
- columns.length === columnIndex :
50499
- true));
50500
- };
50501
- /**
50502
- * Add extra border based on the provided path.
50503
- * @private
50504
- * @param {SVGPath} path
50505
- * The path of the border.
50506
- * @return {Highcharts.SVGElement}
50507
- * Border
50508
- */
50509
- Additions.prototype.renderBorder = function (path) {
50510
- var axis = this.axis,
50511
- renderer = axis.chart.renderer,
50512
- options = axis.options,
50513
- extraBorderLine = renderer.path(path)
50514
- .addClass('highcharts-axis-line')
50515
- .add(axis.axisBorder);
50516
- if (!renderer.styledMode) {
50517
- extraBorderLine.attr({
50518
- stroke: options.lineColor,
50519
- 'stroke-width': options.lineWidth,
50520
- zIndex: 7
50521
- });
50522
50539
  }
50523
- return extraBorderLine;
50524
- };
50525
- return Additions;
50526
- }());
50527
- GridAxis.Additions = Additions;
50528
- })(GridAxis || (GridAxis = {}));
50540
+ });
50541
+ return (lastIndex === thisIndex &&
50542
+ (isNumber(columnIndex) ?
50543
+ columns.length === columnIndex :
50544
+ true));
50545
+ };
50546
+ /**
50547
+ * Add extra border based on the provided path.
50548
+ * @private
50549
+ * @param {SVGPath} path
50550
+ * The path of the border.
50551
+ * @return {Highcharts.SVGElement}
50552
+ * Border
50553
+ */
50554
+ GridAxisAdditions.prototype.renderBorder = function (path) {
50555
+ var axis = this.axis,
50556
+ renderer = axis.chart.renderer,
50557
+ options = axis.options,
50558
+ extraBorderLine = renderer.path(path)
50559
+ .addClass('highcharts-axis-line')
50560
+ .add(axis.axisBorder);
50561
+ if (!renderer.styledMode) {
50562
+ extraBorderLine.attr({
50563
+ stroke: options.lineColor,
50564
+ 'stroke-width': options.lineWidth,
50565
+ zIndex: 7
50566
+ });
50567
+ }
50568
+ return extraBorderLine;
50569
+ };
50570
+ return GridAxisAdditions;
50571
+ }());
50529
50572
  /* *
50530
50573
  *
50531
50574
  * Registry
@@ -50559,6 +50602,9 @@
50559
50602
  * Default Export
50560
50603
  *
50561
50604
  * */
50605
+ var GridAxis = {
50606
+ compose: compose
50607
+ };
50562
50608
  /* *
50563
50609
  *
50564
50610
  * API Options
@@ -50887,13 +50933,13 @@
50887
50933
  .add(params.group);
50888
50934
  }
50889
50935
  // Set the new position, and show or hide
50890
- icon.attr({ y: shouldRender ? 0 : -9999 }); // #14904, #1338
50936
+ icon[shouldRender ? 'show' : 'hide'](); // #14904, #1338
50891
50937
  // Presentational attributes
50892
50938
  if (!renderer.styledMode) {
50893
50939
  icon
50894
50940
  .attr({
50895
50941
  cursor: 'pointer',
50896
- 'fill': pick(params.color, "#666666" /* neutralColor60 */),
50942
+ 'fill': pick(params.color, "#666666" /* Palette.neutralColor60 */),
50897
50943
  'stroke-width': 1,
50898
50944
  stroke: options.lineColor,
50899
50945
  strokeWidth: options.lineWidth || 0
@@ -52171,7 +52217,7 @@
52171
52217
  * @apioption xAxis.currentDateIndicator
52172
52218
  */
52173
52219
  var defaultOptions = {
52174
- color: "#ccd6eb" /* highlightColor20 */,
52220
+ color: "#ccd6eb" /* Palette.highlightColor20 */,
52175
52221
  width: 2,
52176
52222
  /**
52177
52223
  * @declare Highcharts.AxisCurrentDateIndicatorLabelOptions
@@ -55864,7 +55910,7 @@
55864
55910
  *
55865
55911
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55866
55912
  */
55867
- barBackgroundColor: "#cccccc" /* neutralColor20 */,
55913
+ barBackgroundColor: "#cccccc" /* Palette.neutralColor20 */,
55868
55914
  /**
55869
55915
  * The width of the bar's border.
55870
55916
  *
@@ -55877,7 +55923,7 @@
55877
55923
  *
55878
55924
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55879
55925
  */
55880
- barBorderColor: "#cccccc" /* neutralColor20 */,
55926
+ barBorderColor: "#cccccc" /* Palette.neutralColor20 */,
55881
55927
  /**
55882
55928
  * The color of the small arrow inside the scrollbar buttons.
55883
55929
  *
@@ -55886,7 +55932,7 @@
55886
55932
  *
55887
55933
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55888
55934
  */
55889
- buttonArrowColor: "#333333" /* neutralColor80 */,
55935
+ buttonArrowColor: "#333333" /* Palette.neutralColor80 */,
55890
55936
  /**
55891
55937
  * The color of scrollbar buttons.
55892
55938
  *
@@ -55895,7 +55941,7 @@
55895
55941
  *
55896
55942
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55897
55943
  */
55898
- buttonBackgroundColor: "#e6e6e6" /* neutralColor10 */,
55944
+ buttonBackgroundColor: "#e6e6e6" /* Palette.neutralColor10 */,
55899
55945
  /**
55900
55946
  * The color of the border of the scrollbar buttons.
55901
55947
  *
@@ -55904,7 +55950,7 @@
55904
55950
  *
55905
55951
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55906
55952
  */
55907
- buttonBorderColor: "#cccccc" /* neutralColor20 */,
55953
+ buttonBorderColor: "#cccccc" /* Palette.neutralColor20 */,
55908
55954
  /**
55909
55955
  * The border width of the scrollbar buttons.
55910
55956
  *
@@ -55917,7 +55963,7 @@
55917
55963
  *
55918
55964
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55919
55965
  */
55920
- rifleColor: "#333333" /* neutralColor80 */,
55966
+ rifleColor: "#333333" /* Palette.neutralColor80 */,
55921
55967
  /**
55922
55968
  * The color of the track background.
55923
55969
  *
@@ -55926,7 +55972,7 @@
55926
55972
  *
55927
55973
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55928
55974
  */
55929
- trackBackgroundColor: "#f2f2f2" /* neutralColor5 */,
55975
+ trackBackgroundColor: "#f2f2f2" /* Palette.neutralColor5 */,
55930
55976
  /**
55931
55977
  * The color of the border of the scrollbar track.
55932
55978
  *
@@ -55935,7 +55981,7 @@
55935
55981
  *
55936
55982
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
55937
55983
  */
55938
- trackBorderColor: "#f2f2f2" /* neutralColor5 */,
55984
+ trackBorderColor: "#f2f2f2" /* Palette.neutralColor5 */,
55939
55985
  /**
55940
55986
  * The corner radius of the border of the scrollbar track.
55941
55987
  *
@@ -57162,7 +57208,7 @@
57162
57208
  */
57163
57209
  inputStyle: {
57164
57210
  /** @ignore */
57165
- color: "#335cad" /* highlightColor80 */,
57211
+ color: "#335cad" /* Palette.highlightColor80 */,
57166
57212
  /** @ignore */
57167
57213
  cursor: 'pointer'
57168
57214
  },
@@ -57179,7 +57225,7 @@
57179
57225
  */
57180
57226
  labelStyle: {
57181
57227
  /** @ignore */
57182
- color: "#666666" /* neutralColor60 */
57228
+ color: "#666666" /* Palette.neutralColor60 */
57183
57229
  }
57184
57230
  }
57185
57231
  });
@@ -57283,7 +57329,8 @@
57283
57329
  rangeSetting,
57284
57330
  ctx,
57285
57331
  ytdExtremes,
57286
- dataGrouping = rangeOptions.dataGrouping;
57332
+ dataGrouping = rangeOptions.dataGrouping,
57333
+ addOffsetMin = true;
57287
57334
  // chart has no data, base series is removed
57288
57335
  if (dataMin === null || dataMax === null) {
57289
57336
  return;
@@ -57316,12 +57363,16 @@
57316
57363
  if (isNumber(ctx.newMax)) {
57317
57364
  newMax = ctx.newMax;
57318
57365
  }
57366
+ // #15799: offsetMin is added in minFromRange so that it works
57367
+ // with pre-selected buttons as well
57368
+ addOffsetMin = false;
57319
57369
  }
57320
57370
  // Fixed times like minutes, hours, days
57321
57371
  }
57322
57372
  else if (range) {
57323
57373
  newMin = Math.max(newMax - range, dataMin);
57324
57374
  newMax = Math.min(newMin + range, dataMax);
57375
+ addOffsetMin = false;
57325
57376
  }
57326
57377
  else if (type === 'ytd') {
57327
57378
  // On user clicks on the buttons, or a delayed action running from
@@ -57332,14 +57383,17 @@
57332
57383
  // event (below). When the series are initialized, but before
57333
57384
  // the chart is rendered, we have access to the xData array
57334
57385
  // (#942).
57335
- if (typeof dataMax === 'undefined') {
57386
+ if (typeof dataMax === 'undefined' ||
57387
+ typeof dataMin === 'undefined') {
57336
57388
  dataMin = Number.MAX_VALUE;
57337
57389
  dataMax = Number.MIN_VALUE;
57338
57390
  chart.series.forEach(function (series) {
57339
57391
  // reassign it to the last item
57340
57392
  var xData = series.xData;
57341
- dataMin = Math.min(xData[0], dataMin);
57342
- dataMax = Math.max(xData[xData.length - 1], dataMax);
57393
+ if (xData) {
57394
+ dataMin = Math.min(xData[0], dataMin);
57395
+ dataMax = Math.max(xData[xData.length - 1], dataMax);
57396
+ }
57343
57397
  });
57344
57398
  redraw = false;
57345
57399
  }
@@ -57359,16 +57413,15 @@
57359
57413
  // If the navigator exist and the axis range is declared reset that
57360
57414
  // range and from now on only use the range set by a user, #14742.
57361
57415
  if (chart.navigator && chart.navigator.baseSeries[0]) {
57362
- chart.navigator.baseSeries[0].xAxis.options
57363
- .range = void 0;
57416
+ chart.navigator.baseSeries[0].xAxis.options.range = void 0;
57364
57417
  }
57365
57418
  newMin = dataMin;
57366
57419
  newMax = dataMax;
57367
57420
  }
57368
- if (defined(newMin)) {
57421
+ if (addOffsetMin && rangeOptions._offsetMin && defined(newMin)) {
57369
57422
  newMin += rangeOptions._offsetMin;
57370
57423
  }
57371
- if (defined(newMax)) {
57424
+ if (rangeOptions._offsetMax && defined(newMax)) {
57372
57425
  newMax += rangeOptions._offsetMax;
57373
57426
  }
57374
57427
  if (this.dropdown) {
@@ -57425,10 +57478,10 @@
57425
57478
  var minInput = rangeSelector.minInput,
57426
57479
  maxInput = rangeSelector.maxInput;
57427
57480
  // #3274 in some case blur is not defined
57428
- if (minInput && minInput.blur) {
57481
+ if (minInput && (minInput.blur)) {
57429
57482
  fireEvent(minInput, 'blur');
57430
57483
  }
57431
- if (maxInput && maxInput.blur) {
57484
+ if (maxInput && (maxInput.blur)) {
57432
57485
  fireEvent(maxInput, 'blur');
57433
57486
  }
57434
57487
  };
@@ -57747,7 +57800,7 @@
57747
57800
  }
57748
57801
  else if (H.isSafari && !hasTimezone(input)) {
57749
57802
  var offset = new Date(input).getTimezoneOffset() / 60;
57750
- input += offset <= 0 ? "+" + pad(-offset) + ":00" : "-" + pad(offset) + ":00";
57803
+ input += offset <= 0 ? "+".concat(pad(-offset), ":00") : "-".concat(pad(offset), ":00");
57751
57804
  }
57752
57805
  var date = Date.parse(input);
57753
57806
  // If the value isn't parsed directly to a value by the
@@ -57869,7 +57922,7 @@
57869
57922
  // Styles
57870
57923
  label.css(merge(chartStyle, options.labelStyle));
57871
57924
  dateBox.css(merge({
57872
- color: "#333333" /* neutralColor80 */
57925
+ color: "#333333" /* Palette.neutralColor80 */
57873
57926
  }, chartStyle, options.inputStyle));
57874
57927
  css(input, extend({
57875
57928
  position: 'absolute',
@@ -58507,7 +58560,7 @@
58507
58560
  var userButtonTheme = (chart.userOptions.rangeSelector &&
58508
58561
  chart.userOptions.rangeSelector.buttonTheme) || {};
58509
58562
  var getAttribs = function (text) { return ({
58510
- text: text ? text + " \u25BE" : '▾',
58563
+ text: text ? "" + text + " \u25BE" : '▾',
58511
58564
  width: 'auto',
58512
58565
  paddingLeft: pick(options.buttonTheme.paddingLeft,
58513
58566
  userButtonTheme.padding, 8),
@@ -58836,8 +58889,8 @@
58836
58889
  min = max - rangeOptions;
58837
58890
  range = rangeOptions;
58838
58891
  }
58839
- else {
58840
- min = max + getTrueRange(max, -rangeOptions.count);
58892
+ else if (rangeOptions) {
58893
+ min = max + getTrueRange(max, -(rangeOptions.count || 1));
58841
58894
  // Let the fixedRange reflect initial settings (#5930)
58842
58895
  if (this.chart) {
58843
58896
  this.chart.fixedRange = max - min;
@@ -58852,11 +58905,16 @@
58852
58905
  if (typeof range === 'undefined') { // #4501
58853
58906
  range = getTrueRange(min, rangeOptions.count);
58854
58907
  }
58855
- this.newMax = Math.min(min + range, this.dataMax);
58908
+ this.newMax = Math.min(min + range, pick(this.dataMax, Number.MAX_VALUE));
58856
58909
  }
58857
58910
  if (!isNumber(max)) {
58858
58911
  min = void 0;
58859
58912
  }
58913
+ else if (!isNumber(rangeOptions) &&
58914
+ rangeOptions &&
58915
+ rangeOptions._offsetMin) {
58916
+ min += rangeOptions._offsetMin;
58917
+ }
58860
58918
  return min;
58861
58919
  };
58862
58920
  if (!H.RangeSelector) {
@@ -59408,13 +59466,13 @@
59408
59466
  *
59409
59467
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
59410
59468
  */
59411
- backgroundColor: "#f2f2f2" /* neutralColor5 */,
59469
+ backgroundColor: "#f2f2f2" /* Palette.neutralColor5 */,
59412
59470
  /**
59413
59471
  * The stroke for the handle border and the stripes inside.
59414
59472
  *
59415
59473
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
59416
59474
  */
59417
- borderColor: "#999999" /* neutralColor40 */
59475
+ borderColor: "#999999" /* Palette.neutralColor40 */
59418
59476
  },
59419
59477
  /**
59420
59478
  * The color of the mask covering the areas of the navigator series
@@ -59431,7 +59489,7 @@
59431
59489
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
59432
59490
  * @default rgba(102,133,194,0.3)
59433
59491
  */
59434
- maskFill: color("#6685c2" /* highlightColor60 */).setOpacity(0.3).get(),
59492
+ maskFill: color("#6685c2" /* Palette.highlightColor60 */).setOpacity(0.3).get(),
59435
59493
  /**
59436
59494
  * The color of the line marking the currently zoomed area in the
59437
59495
  * navigator.
@@ -59442,7 +59500,7 @@
59442
59500
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
59443
59501
  * @default #cccccc
59444
59502
  */
59445
- outlineColor: "#cccccc" /* neutralColor20 */,
59503
+ outlineColor: "#cccccc" /* Palette.neutralColor20 */,
59446
59504
  /**
59447
59505
  * The width of the line marking the currently zoomed area in the
59448
59506
  * navigator.
@@ -59633,7 +59691,7 @@
59633
59691
  className: 'highcharts-navigator-xaxis',
59634
59692
  tickLength: 0,
59635
59693
  lineWidth: 0,
59636
- gridLineColor: "#e6e6e6" /* neutralColor10 */,
59694
+ gridLineColor: "#e6e6e6" /* Palette.neutralColor10 */,
59637
59695
  gridLineWidth: 1,
59638
59696
  tickPixelInterval: 200,
59639
59697
  labels: {
@@ -59643,7 +59701,7 @@
59643
59701
  */
59644
59702
  style: {
59645
59703
  /** @ignore */
59646
- color: "#999999" /* neutralColor40 */
59704
+ color: "#999999" /* Palette.neutralColor40 */
59647
59705
  },
59648
59706
  x: 3,
59649
59707
  y: -4