highcharts 9.3.1 → 9.3.2

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 (752) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +1 -1
  3. package/css/highcharts.css +2 -2
  4. package/css/highcharts.scss +1 -1
  5. package/css/stocktools/gui.css +1 -1
  6. package/css/themes/dark-unica.css +2 -2
  7. package/css/themes/grid-light.css +2 -2
  8. package/css/themes/sand-signika.css +2 -2
  9. package/es-modules/Accessibility/A11yI18n.js +1 -5
  10. package/es-modules/Accessibility/Accessibility.js +11 -5
  11. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  12. package/es-modules/Accessibility/Components/AnnotationsA11y.js +9 -5
  13. package/es-modules/Accessibility/Components/ContainerComponent.js +1 -1
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -19
  15. package/es-modules/Accessibility/Components/LegendComponent.js +176 -86
  16. package/es-modules/Accessibility/Components/MenuComponent.js +1 -10
  17. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +10 -13
  18. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +15 -6
  19. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +8 -4
  20. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +16 -41
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +20 -31
  23. package/es-modules/Accessibility/Components/ZoomComponent.js +135 -57
  24. package/es-modules/Accessibility/FocusBorder.js +0 -5
  25. package/es-modules/Accessibility/HighContrastMode.js +2 -1
  26. package/es-modules/Accessibility/KeyboardNavigation.js +5 -4
  27. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -5
  28. package/es-modules/Accessibility/Options/LangOptions.js +3 -3
  29. package/es-modules/Accessibility/ProxyElement.js +12 -6
  30. package/es-modules/Accessibility/ProxyProvider.js +0 -3
  31. package/es-modules/Accessibility/Utils/Announcer.js +2 -2
  32. package/es-modules/Accessibility/Utils/ChartUtilities.js +17 -32
  33. package/es-modules/Accessibility/Utils/HTMLUtilities.js +0 -12
  34. package/es-modules/Core/Animation/Fx.js +5 -14
  35. package/es-modules/Core/Axis/Axis.js +42 -68
  36. package/es-modules/Core/Axis/Axis3D.js +10 -4
  37. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  38. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
  39. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  40. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  41. package/es-modules/Core/Axis/GridAxis.js +26 -16
  42. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  43. package/es-modules/Core/Axis/OrdinalAxis.js +83 -79
  44. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  45. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +18 -10
  47. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  48. package/es-modules/Core/Axis/Tick.js +2 -4
  49. package/es-modules/Core/Axis/TreeGridAxis.js +26 -17
  50. package/es-modules/Core/Axis/TreeGridTick.js +4 -1
  51. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  52. package/es-modules/Core/Axis/ZAxis.js +1 -1
  53. package/es-modules/Core/Chart/Chart.js +42 -44
  54. package/es-modules/Core/Chart/Chart3D.js +23 -10
  55. package/es-modules/Core/Chart/GanttChart.js +4 -4
  56. package/es-modules/Core/Chart/MapChart.js +3 -3
  57. package/es-modules/Core/Chart/StockChart.js +10 -23
  58. package/es-modules/Core/DefaultOptions.js +3 -2
  59. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  60. package/es-modules/Core/Globals.js +1 -1
  61. package/es-modules/Core/HttpUtilities.js +5 -4
  62. package/es-modules/Core/Legend/Legend.js +12 -13
  63. package/es-modules/Core/Navigator.js +34 -22
  64. package/es-modules/Core/Pointer.js +13 -9
  65. package/es-modules/Core/Renderer/HTML/AST.js +27 -14
  66. package/es-modules/Core/Renderer/HTML/HTMLElement.js +4 -2
  67. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  68. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  69. package/es-modules/Core/Renderer/SVG/SVGElement.js +8 -16
  70. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  71. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +5 -12
  72. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  73. package/es-modules/Core/Renderer/SVG/TextBuilder.js +16 -10
  74. package/es-modules/Core/Responsive.js +2 -3
  75. package/es-modules/Core/Scrollbar.js +14 -12
  76. package/es-modules/Core/Series/DataLabel.js +17 -12
  77. package/es-modules/Core/Series/Point.js +17 -16
  78. package/es-modules/Core/Series/Series.js +44 -73
  79. package/es-modules/Core/Series/SeriesDefaults.js +5 -4
  80. package/es-modules/Core/Time.js +14 -11
  81. package/es-modules/Core/Tooltip.js +19 -36
  82. package/es-modules/Core/Utilities.js +5 -17
  83. package/es-modules/Data/DataConverter.js +0 -6
  84. package/es-modules/Data/DataSeriesConverter.js +9 -5
  85. package/es-modules/Data/DataTable.js +2 -1
  86. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  87. package/es-modules/Data/Parsers/CSVParser.js +3 -2
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +5 -2
  89. package/es-modules/Data/Stores/CSVStore.js +2 -2
  90. package/es-modules/Data/Stores/DataStore.js +1 -1
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/Annotations.js +11 -10
  94. package/es-modules/Extensions/Annotations/ControlPoint.js +0 -2
  95. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +1 -1
  97. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  98. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  99. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  100. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  101. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +6 -3
  102. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  103. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  104. package/es-modules/Extensions/Annotations/NavigationBindings.js +34 -29
  105. package/es-modules/Extensions/Annotations/Popup.js +40 -32
  106. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  108. package/es-modules/Extensions/Annotations/Types/Measure.js +15 -11
  109. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +2 -1
  110. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +8 -4
  111. package/es-modules/Extensions/Annotations/Types/Tunnel.js +10 -5
  112. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -9
  113. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  114. package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
  115. package/es-modules/Extensions/Boost/WGLShader.js +9 -8
  116. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  117. package/es-modules/Extensions/Data.js +4 -48
  118. package/es-modules/Extensions/DataGrouping.js +22 -15
  119. package/es-modules/Extensions/DraggablePoints.js +7 -8
  120. package/es-modules/Extensions/Drilldown.js +9 -4
  121. package/es-modules/Extensions/ExportData.js +6 -5
  122. package/es-modules/Extensions/Exporting/Exporting.js +23 -37
  123. package/es-modules/Extensions/FullScreen.js +4 -3
  124. package/es-modules/Extensions/GeoJSON.js +3 -3
  125. package/es-modules/Extensions/MarkerClusters.js +3 -1
  126. package/es-modules/Extensions/Math3D.js +4 -4
  127. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +23 -24
  128. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  129. package/es-modules/Extensions/Oldie/Oldie.js +13 -77
  130. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  131. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  132. package/es-modules/Extensions/Pane.js +6 -6
  133. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  134. package/es-modules/Extensions/PatternFill.js +17 -11
  135. package/es-modules/Extensions/Polar.js +6 -3
  136. package/es-modules/Extensions/PriceIndication.js +2 -1
  137. package/es-modules/Extensions/RangeSelector.js +19 -55
  138. package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
  139. package/es-modules/Extensions/SeriesLabel.js +1 -1
  140. package/es-modules/Extensions/Sonification/ChartSonify.js +32 -26
  141. package/es-modules/Extensions/Sonification/Instrument.js +12 -15
  142. package/es-modules/Extensions/Sonification/PointSonify.js +12 -8
  143. package/es-modules/Extensions/Sonification/SeriesSonify.js +33 -18
  144. package/es-modules/Extensions/Sonification/SignalHandler.js +4 -6
  145. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  146. package/es-modules/Extensions/Sonification/SonificationUtilities.js +11 -7
  147. package/es-modules/Extensions/Sonification/Timeline.js +2 -7
  148. package/es-modules/Extensions/Sonification/TimelineEvent.js +0 -1
  149. package/es-modules/Extensions/Sonification/TimelinePath.js +8 -8
  150. package/es-modules/Extensions/Stacking.js +5 -23
  151. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  152. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  153. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  154. package/es-modules/Extensions/Themes/Grid.js +4 -2
  155. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  156. package/es-modules/Gantt/Connection.js +2 -2
  157. package/es-modules/Gantt/Pathfinder.js +6 -5
  158. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  159. package/es-modules/Maps/MapNavigation.js +6 -7
  160. package/es-modules/Maps/MapPointer.js +2 -1
  161. package/es-modules/Maps/MapSymbols.js +23 -3
  162. package/es-modules/Maps/MapViewOptionsDefault.js +1 -1
  163. package/es-modules/Series/Area/AreaSeries.js +13 -13
  164. package/es-modules/Series/Area3DSeries.js +4 -2
  165. package/es-modules/Series/AreaRange/AreaRangeSeries.js +24 -12
  166. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -1
  167. package/es-modules/Series/Bubble/BubbleLegendItem.js +2 -12
  168. package/es-modules/Series/Candlestick/CandlestickSeries.js +0 -1
  169. package/es-modules/Series/ColorMapMixin.js +84 -0
  170. package/es-modules/Series/Column/ColumnSeries.js +16 -14
  171. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  172. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +5 -2
  173. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  174. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  175. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
  176. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  177. package/es-modules/Series/Dumbbell/DumbbellSeries.js +0 -3
  178. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  179. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  180. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  181. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  182. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  183. package/es-modules/Series/HLC/HLCSeries.js +1 -6
  184. package/es-modules/Series/Heatmap/HeatmapPoint.js +10 -10
  185. package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -10
  186. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +8 -6
  187. package/es-modules/Series/Histogram/HistogramSeries.js +4 -4
  188. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  189. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +19 -20
  190. package/es-modules/Series/Item/ItemSeries.js +4 -5
  191. package/es-modules/Series/Map/MapPoint.js +6 -0
  192. package/es-modules/Series/Map/MapSeries.js +24 -25
  193. package/es-modules/Series/MapLine/MapLineSeries.js +0 -4
  194. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  195. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  196. package/es-modules/Series/Networkgraph/Networkgraph.js +1 -5
  197. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  198. package/es-modules/Series/NodesComposition.js +2 -1
  199. package/es-modules/Series/OHLC/OHLCPoint.js +0 -1
  200. package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
  201. package/es-modules/Series/Organization/OrganizationSeries.js +4 -2
  202. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  203. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  204. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +2 -4
  205. package/es-modules/Series/Pie/PiePoint.js +2 -2
  206. package/es-modules/Series/Pie/PieSeries.js +1 -1
  207. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  208. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  209. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  210. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  211. package/es-modules/Series/Sankey/SankeySeries.js +3 -2
  212. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  213. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  214. package/es-modules/Series/Sunburst/SunburstSeries.js +2 -2
  215. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  216. package/es-modules/Series/Tilemap/TilemapPoint.js +0 -2
  217. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  218. package/es-modules/Series/TreeUtilities.js +2 -2
  219. package/es-modules/Series/Treemap/TreemapSeries.js +18 -21
  220. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  221. package/es-modules/Series/Venn/VennSeries.js +6 -9
  222. package/es-modules/Series/Venn/VennUtils.js +8 -7
  223. package/es-modules/Series/Waterfall/WaterfallSeries.js +6 -3
  224. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  225. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -10
  226. package/es-modules/Series/XRange/XRangePoint.js +6 -12
  227. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  228. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +12 -0
  229. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -0
  230. package/es-modules/Stock/Indicators/BB/BBIndicator.js +12 -0
  231. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  232. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +9 -5
  233. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +2 -1
  234. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  235. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +12 -0
  236. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -3
  237. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +30 -12
  238. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
  239. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +70 -6
  240. package/es-modules/Stock/Indicators/PC/PCIndicator.js +11 -0
  241. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  242. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  243. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -3
  244. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  245. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -3
  246. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  247. package/es-modules/Stock/StockToolsBindings.js +13 -6
  248. package/es-modules/Stock/StockToolsGui.js +34 -23
  249. package/es-modules/masters/highcharts-3d.src.js +1 -1
  250. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  251. package/es-modules/masters/highcharts-more.src.js +1 -1
  252. package/es-modules/masters/highcharts.src.js +1 -1
  253. package/es-modules/masters/highmaps.src.js +1 -1
  254. package/es-modules/masters/highstock.src.js +1 -1
  255. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  256. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  257. package/es-modules/masters/indicators/ao.src.js +1 -1
  258. package/es-modules/masters/indicators/apo.src.js +1 -1
  259. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  260. package/es-modules/masters/indicators/aroon.src.js +1 -1
  261. package/es-modules/masters/indicators/atr.src.js +1 -1
  262. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  263. package/es-modules/masters/indicators/cci.src.js +1 -1
  264. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  265. package/es-modules/masters/indicators/cmf.src.js +1 -1
  266. package/es-modules/masters/indicators/cmo.src.js +1 -1
  267. package/es-modules/masters/indicators/dema.src.js +1 -1
  268. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  269. package/es-modules/masters/indicators/dmi.src.js +1 -1
  270. package/es-modules/masters/indicators/dpo.src.js +1 -1
  271. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  272. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  273. package/es-modules/masters/indicators/indicators.src.js +1 -1
  274. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  275. package/es-modules/masters/indicators/klinger.src.js +1 -1
  276. package/es-modules/masters/indicators/macd.src.js +1 -1
  277. package/es-modules/masters/indicators/mfi.src.js +1 -1
  278. package/es-modules/masters/indicators/momentum.src.js +1 -1
  279. package/es-modules/masters/indicators/natr.src.js +1 -1
  280. package/es-modules/masters/indicators/obv.src.js +1 -1
  281. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  282. package/es-modules/masters/indicators/ppo.src.js +1 -1
  283. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  284. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  285. package/es-modules/masters/indicators/psar.src.js +1 -1
  286. package/es-modules/masters/indicators/regressions.src.js +1 -1
  287. package/es-modules/masters/indicators/roc.src.js +1 -1
  288. package/es-modules/masters/indicators/rsi.src.js +1 -1
  289. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  290. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  291. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  292. package/es-modules/masters/indicators/tema.src.js +1 -1
  293. package/es-modules/masters/indicators/trendline.src.js +1 -1
  294. package/es-modules/masters/indicators/trix.src.js +1 -1
  295. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  296. package/es-modules/masters/indicators/vwap.src.js +1 -1
  297. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  298. package/es-modules/masters/indicators/wma.src.js +1 -1
  299. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  300. package/es-modules/masters/modules/accessibility.src.js +2 -2
  301. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  302. package/es-modules/masters/modules/annotations.src.js +1 -1
  303. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  304. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  305. package/es-modules/masters/modules/boost.src.js +1 -1
  306. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  307. package/es-modules/masters/modules/bullet.src.js +1 -1
  308. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  309. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  310. package/es-modules/masters/modules/cylinder.src.js +1 -1
  311. package/es-modules/masters/modules/data.src.js +1 -1
  312. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  313. package/es-modules/masters/modules/debugger.src.js +1 -1
  314. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  315. package/es-modules/masters/modules/dotplot.src.js +1 -1
  316. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  317. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  318. package/es-modules/masters/modules/drilldown.src.js +1 -1
  319. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  320. package/es-modules/masters/modules/export-data.src.js +1 -1
  321. package/es-modules/masters/modules/exporting.src.js +1 -1
  322. package/es-modules/masters/modules/full-screen.src.js +1 -1
  323. package/es-modules/masters/modules/funnel.src.js +1 -1
  324. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  325. package/es-modules/masters/modules/gantt.src.js +1 -1
  326. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  327. package/es-modules/masters/modules/heatmap.src.js +1 -1
  328. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  329. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  330. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  331. package/es-modules/masters/modules/item-series.src.js +1 -1
  332. package/es-modules/masters/modules/lollipop.src.js +1 -1
  333. package/es-modules/masters/modules/map.src.js +1 -1
  334. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  335. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  336. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  337. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  338. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  339. package/es-modules/masters/modules/oldie.src.js +1 -1
  340. package/es-modules/masters/modules/organization.src.js +1 -1
  341. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  342. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  343. package/es-modules/masters/modules/pareto.src.js +1 -1
  344. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  345. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  346. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  347. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  348. package/es-modules/masters/modules/sankey.src.js +1 -1
  349. package/es-modules/masters/modules/series-label.src.js +1 -1
  350. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  351. package/es-modules/masters/modules/sonification.src.js +1 -1
  352. package/es-modules/masters/modules/static-scale.src.js +1 -1
  353. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  354. package/es-modules/masters/modules/stock.src.js +1 -1
  355. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  356. package/es-modules/masters/modules/sunburst.src.js +1 -1
  357. package/es-modules/masters/modules/tilemap.src.js +1 -1
  358. package/es-modules/masters/modules/timeline.src.js +1 -1
  359. package/es-modules/masters/modules/treegrid.src.js +1 -1
  360. package/es-modules/masters/modules/treemap.src.js +1 -1
  361. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  362. package/es-modules/masters/modules/variwide.src.js +1 -1
  363. package/es-modules/masters/modules/vector.src.js +1 -1
  364. package/es-modules/masters/modules/venn.src.js +1 -1
  365. package/es-modules/masters/modules/windbarb.src.js +1 -1
  366. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  367. package/es-modules/masters/modules/xrange.src.js +1 -1
  368. package/es-modules/masters/themes/avocado.src.js +1 -1
  369. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  370. package/es-modules/masters/themes/brand-light.src.js +14 -0
  371. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  372. package/es-modules/masters/themes/dark-green.src.js +1 -1
  373. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  374. package/es-modules/masters/themes/gray.src.js +1 -1
  375. package/es-modules/masters/themes/grid-light.src.js +1 -1
  376. package/es-modules/masters/themes/grid.src.js +1 -1
  377. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  378. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  379. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  380. package/es-modules/masters/themes/skies.src.js +1 -1
  381. package/es-modules/masters/themes/sunset.src.js +1 -1
  382. package/highcharts-3d.js +1 -1
  383. package/highcharts-3d.js.map +1 -1
  384. package/highcharts-3d.src.js +65 -35
  385. package/highcharts-gantt.js +799 -799
  386. package/highcharts-gantt.js.map +1 -1
  387. package/highcharts-gantt.src.js +589 -698
  388. package/highcharts-more.js +1 -1
  389. package/highcharts-more.js.map +1 -1
  390. package/highcharts-more.src.js +73 -103
  391. package/highcharts.d.ts +5586 -1709
  392. package/highcharts.js +577 -577
  393. package/highcharts.js.map +1 -1
  394. package/highcharts.src.d.ts +5586 -1709
  395. package/highcharts.src.js +391 -486
  396. package/highmaps.js +723 -723
  397. package/highmaps.js.map +1 -1
  398. package/highmaps.src.js +552 -656
  399. package/highstock.js +782 -782
  400. package/highstock.js.map +1 -1
  401. package/highstock.src.js +612 -731
  402. package/indicators/acceleration-bands.d.ts +17 -1
  403. package/indicators/acceleration-bands.js +11 -10
  404. package/indicators/acceleration-bands.js.map +1 -1
  405. package/indicators/acceleration-bands.src.d.ts +17 -1
  406. package/indicators/acceleration-bands.src.js +88 -6
  407. package/indicators/accumulation-distribution.js +1 -1
  408. package/indicators/accumulation-distribution.src.js +1 -1
  409. package/indicators/ao.js +1 -1
  410. package/indicators/ao.src.js +1 -1
  411. package/indicators/apo.js +1 -1
  412. package/indicators/apo.src.js +1 -1
  413. package/indicators/aroon-oscillator.d.ts +17 -1
  414. package/indicators/aroon-oscillator.js +10 -9
  415. package/indicators/aroon-oscillator.js.map +1 -1
  416. package/indicators/aroon-oscillator.src.d.ts +17 -1
  417. package/indicators/aroon-oscillator.src.js +76 -6
  418. package/indicators/aroon.d.ts +17 -1
  419. package/indicators/aroon.js +11 -9
  420. package/indicators/aroon.js.map +1 -1
  421. package/indicators/aroon.src.d.ts +17 -1
  422. package/indicators/aroon.src.js +77 -6
  423. package/indicators/atr.js +1 -1
  424. package/indicators/atr.src.js +1 -1
  425. package/indicators/bollinger-bands.d.ts +17 -1
  426. package/indicators/bollinger-bands.js +12 -10
  427. package/indicators/bollinger-bands.js.map +1 -1
  428. package/indicators/bollinger-bands.src.d.ts +17 -1
  429. package/indicators/bollinger-bands.src.js +88 -6
  430. package/indicators/cci.js +1 -1
  431. package/indicators/cci.src.js +1 -1
  432. package/indicators/chaikin.js +1 -1
  433. package/indicators/chaikin.src.js +1 -1
  434. package/indicators/cmf.js +1 -1
  435. package/indicators/cmf.js.map +1 -1
  436. package/indicators/cmf.src.js +36 -16
  437. package/indicators/cmo.js +1 -1
  438. package/indicators/cmo.src.js +1 -1
  439. package/indicators/dema.js +1 -1
  440. package/indicators/dema.src.js +1 -1
  441. package/indicators/disparity-index.js +1 -1
  442. package/indicators/disparity-index.js.map +1 -1
  443. package/indicators/disparity-index.src.js +3 -2
  444. package/indicators/dmi.js +12 -11
  445. package/indicators/dmi.js.map +1 -1
  446. package/indicators/dmi.src.js +85 -11
  447. package/indicators/dpo.js +1 -1
  448. package/indicators/dpo.src.js +1 -1
  449. package/indicators/ichimoku-kinko-hyo.js +1 -1
  450. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  451. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  452. package/indicators/indicators-all.d.ts +17 -1
  453. package/indicators/indicators-all.js +198 -197
  454. package/indicators/indicators-all.js.map +1 -1
  455. package/indicators/indicators-all.src.d.ts +17 -1
  456. package/indicators/indicators-all.src.js +246 -65
  457. package/indicators/indicators.js +1 -1
  458. package/indicators/indicators.js.map +1 -1
  459. package/indicators/indicators.src.js +3 -4
  460. package/indicators/keltner-channels.d.ts +17 -1
  461. package/indicators/keltner-channels.js +11 -10
  462. package/indicators/keltner-channels.js.map +1 -1
  463. package/indicators/keltner-channels.src.d.ts +17 -1
  464. package/indicators/keltner-channels.src.js +88 -6
  465. package/indicators/klinger.js +14 -12
  466. package/indicators/klinger.js.map +1 -1
  467. package/indicators/klinger.src.js +84 -9
  468. package/indicators/macd.js +1 -1
  469. package/indicators/macd.js.map +1 -1
  470. package/indicators/macd.src.js +2 -2
  471. package/indicators/mfi.js +1 -1
  472. package/indicators/mfi.src.js +1 -1
  473. package/indicators/momentum.js +1 -1
  474. package/indicators/momentum.src.js +1 -1
  475. package/indicators/natr.js +1 -1
  476. package/indicators/natr.src.js +1 -1
  477. package/indicators/obv.js +1 -1
  478. package/indicators/obv.src.js +1 -1
  479. package/indicators/pivot-points.js +1 -1
  480. package/indicators/pivot-points.js.map +1 -1
  481. package/indicators/pivot-points.src.js +3 -2
  482. package/indicators/ppo.js +1 -1
  483. package/indicators/ppo.src.js +1 -1
  484. package/indicators/price-channel.d.ts +17 -1
  485. package/indicators/price-channel.js +11 -9
  486. package/indicators/price-channel.js.map +1 -1
  487. package/indicators/price-channel.src.d.ts +17 -1
  488. package/indicators/price-channel.src.js +87 -6
  489. package/indicators/price-envelopes.js +1 -1
  490. package/indicators/price-envelopes.src.js +1 -1
  491. package/indicators/psar.js +1 -1
  492. package/indicators/psar.src.js +1 -1
  493. package/indicators/regressions.js +1 -1
  494. package/indicators/regressions.js.map +1 -1
  495. package/indicators/regressions.src.js +31 -13
  496. package/indicators/roc.js +1 -1
  497. package/indicators/roc.src.js +1 -1
  498. package/indicators/rsi.js +1 -1
  499. package/indicators/rsi.js.map +1 -1
  500. package/indicators/rsi.src.js +3 -2
  501. package/indicators/slow-stochastic.js +1 -1
  502. package/indicators/slow-stochastic.src.js +1 -1
  503. package/indicators/stochastic.d.ts +17 -1
  504. package/indicators/stochastic.js +12 -10
  505. package/indicators/stochastic.js.map +1 -1
  506. package/indicators/stochastic.src.d.ts +17 -1
  507. package/indicators/stochastic.src.js +79 -7
  508. package/indicators/supertrend.js +1 -1
  509. package/indicators/supertrend.src.js +1 -1
  510. package/indicators/tema.js +1 -1
  511. package/indicators/tema.src.js +1 -1
  512. package/indicators/trendline.js +1 -1
  513. package/indicators/trendline.src.js +1 -1
  514. package/indicators/trix.js +1 -1
  515. package/indicators/trix.src.js +1 -1
  516. package/indicators/volume-by-price.js +1 -1
  517. package/indicators/volume-by-price.src.js +4 -4
  518. package/indicators/vwap.js +1 -1
  519. package/indicators/vwap.js.map +1 -1
  520. package/indicators/vwap.src.js +20 -8
  521. package/indicators/williams-r.js +1 -1
  522. package/indicators/williams-r.src.js +1 -1
  523. package/indicators/wma.js +1 -1
  524. package/indicators/wma.src.js +1 -1
  525. package/indicators/zigzag.js +1 -1
  526. package/indicators/zigzag.src.js +1 -1
  527. package/modules/accessibility.d.ts +0 -35
  528. package/modules/accessibility.js +225 -222
  529. package/modules/accessibility.js.map +1 -1
  530. package/modules/accessibility.src.d.ts +0 -35
  531. package/modules/accessibility.src.js +503 -418
  532. package/modules/annotations-advanced.js +128 -128
  533. package/modules/annotations-advanced.js.map +1 -1
  534. package/modules/annotations-advanced.src.js +152 -124
  535. package/modules/annotations.js +122 -122
  536. package/modules/annotations.js.map +1 -1
  537. package/modules/annotations.src.js +112 -100
  538. package/modules/arrow-symbols.js +1 -1
  539. package/modules/arrow-symbols.src.js +1 -1
  540. package/modules/boost-canvas.js +1 -1
  541. package/modules/boost-canvas.src.js +1 -1
  542. package/modules/boost.js +1 -1
  543. package/modules/boost.js.map +1 -1
  544. package/modules/boost.src.js +33 -43
  545. package/modules/broken-axis.js +1 -1
  546. package/modules/broken-axis.js.map +1 -1
  547. package/modules/broken-axis.src.js +18 -12
  548. package/modules/bullet.js +1 -1
  549. package/modules/bullet.src.js +1 -1
  550. package/modules/coloraxis.js +1 -1
  551. package/modules/coloraxis.js.map +1 -1
  552. package/modules/coloraxis.src.js +11 -8
  553. package/modules/current-date-indicator.js +1 -1
  554. package/modules/current-date-indicator.src.js +1 -1
  555. package/modules/cylinder.js +1 -1
  556. package/modules/cylinder.js.map +1 -1
  557. package/modules/cylinder.src.js +37 -5
  558. package/modules/data.d.ts +6 -6
  559. package/modules/data.js +31 -31
  560. package/modules/data.js.map +1 -1
  561. package/modules/data.src.d.ts +6 -6
  562. package/modules/data.src.js +10 -53
  563. package/modules/datagrouping.js +2 -2
  564. package/modules/datagrouping.js.map +1 -1
  565. package/modules/datagrouping.src.js +23 -16
  566. package/modules/debugger.js +1 -1
  567. package/modules/debugger.src.js +1 -1
  568. package/modules/dependency-wheel.js +3 -3
  569. package/modules/dependency-wheel.js.map +1 -1
  570. package/modules/dependency-wheel.src.js +2 -2
  571. package/modules/dotplot.js +1 -1
  572. package/modules/dotplot.src.js +1 -1
  573. package/modules/drag-panes.js +1 -1
  574. package/modules/drag-panes.src.js +1 -1
  575. package/modules/draggable-points.js +1 -1
  576. package/modules/draggable-points.js.map +1 -1
  577. package/modules/draggable-points.src.js +8 -9
  578. package/modules/drilldown.js +1 -1
  579. package/modules/drilldown.js.map +1 -1
  580. package/modules/drilldown.src.js +10 -5
  581. package/modules/dumbbell.js +1 -1
  582. package/modules/dumbbell.js.map +1 -1
  583. package/modules/dumbbell.src.js +1 -5
  584. package/modules/export-data.js +19 -19
  585. package/modules/export-data.js.map +1 -1
  586. package/modules/export-data.src.js +7 -6
  587. package/modules/exporting.js +1 -1
  588. package/modules/exporting.js.map +1 -1
  589. package/modules/exporting.src.js +33 -45
  590. package/modules/full-screen.js +1 -1
  591. package/modules/full-screen.js.map +1 -1
  592. package/modules/full-screen.src.js +5 -4
  593. package/modules/funnel.js +1 -1
  594. package/modules/funnel.src.js +1 -1
  595. package/modules/funnel3d.js +1 -1
  596. package/modules/funnel3d.js.map +1 -1
  597. package/modules/funnel3d.src.js +17 -10
  598. package/modules/gantt.js +1 -1
  599. package/modules/gantt.js.map +1 -1
  600. package/modules/gantt.src.js +199 -213
  601. package/modules/grid-axis.js +1 -1
  602. package/modules/grid-axis.js.map +1 -1
  603. package/modules/grid-axis.src.js +27 -19
  604. package/modules/heatmap.js +39 -39
  605. package/modules/heatmap.js.map +1 -1
  606. package/modules/heatmap.src.js +88 -112
  607. package/modules/heikinashi.js +1 -1
  608. package/modules/heikinashi.js.map +1 -1
  609. package/modules/heikinashi.src.js +9 -7
  610. package/modules/histogram-bellcurve.js +1 -1
  611. package/modules/histogram-bellcurve.js.map +1 -1
  612. package/modules/histogram-bellcurve.src.js +7 -6
  613. package/modules/hollowcandlestick.js +1 -1
  614. package/modules/hollowcandlestick.js.map +1 -1
  615. package/modules/hollowcandlestick.src.js +21 -25
  616. package/modules/item-series.js +6 -6
  617. package/modules/item-series.js.map +1 -1
  618. package/modules/item-series.src.js +6 -6
  619. package/modules/lollipop.js +1 -1
  620. package/modules/lollipop.src.js +1 -1
  621. package/modules/map.d.ts +2 -0
  622. package/modules/map.js +144 -144
  623. package/modules/map.js.map +1 -1
  624. package/modules/map.src.d.ts +2 -0
  625. package/modules/map.src.js +162 -171
  626. package/modules/marker-clusters.js +1 -1
  627. package/modules/marker-clusters.js.map +1 -1
  628. package/modules/marker-clusters.src.js +4 -2
  629. package/modules/networkgraph.js +1 -1
  630. package/modules/networkgraph.js.map +1 -1
  631. package/modules/networkgraph.src.js +13 -36
  632. package/modules/no-data-to-display.js +1 -1
  633. package/modules/no-data-to-display.src.js +1 -1
  634. package/modules/offline-exporting.js +18 -18
  635. package/modules/offline-exporting.js.map +1 -1
  636. package/modules/offline-exporting.src.js +27 -32
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.js.map +1 -1
  641. package/modules/oldie.src.js +19 -79
  642. package/modules/organization.js +1 -1
  643. package/modules/organization.js.map +1 -1
  644. package/modules/organization.src.js +5 -3
  645. package/modules/overlapping-datalabels.js +1 -1
  646. package/modules/overlapping-datalabels.src.js +1 -1
  647. package/modules/parallel-coordinates.js +1 -1
  648. package/modules/parallel-coordinates.js.map +1 -1
  649. package/modules/parallel-coordinates.src.js +6 -4
  650. package/modules/pareto.js +1 -1
  651. package/modules/pareto.src.js +1 -1
  652. package/modules/pathfinder.js +1 -1
  653. package/modules/pathfinder.js.map +1 -1
  654. package/modules/pathfinder.src.js +21 -20
  655. package/modules/pattern-fill.js +1 -1
  656. package/modules/pattern-fill.js.map +1 -1
  657. package/modules/pattern-fill.src.js +18 -12
  658. package/modules/price-indicator.js +1 -1
  659. package/modules/price-indicator.js.map +1 -1
  660. package/modules/price-indicator.src.js +3 -2
  661. package/modules/pyramid3d.js +1 -1
  662. package/modules/pyramid3d.js.map +1 -1
  663. package/modules/pyramid3d.src.js +3 -2
  664. package/modules/sankey.js +1 -1
  665. package/modules/sankey.js.map +1 -1
  666. package/modules/sankey.src.js +8 -6
  667. package/modules/series-label.js +1 -1
  668. package/modules/series-label.js.map +1 -1
  669. package/modules/series-label.src.js +2 -2
  670. package/modules/solid-gauge.js +1 -1
  671. package/modules/solid-gauge.js.map +1 -1
  672. package/modules/solid-gauge.src.js +17 -2
  673. package/modules/sonification.js +53 -53
  674. package/modules/sonification.js.map +1 -1
  675. package/modules/sonification.src.js +121 -103
  676. package/modules/static-scale.js +1 -1
  677. package/modules/static-scale.src.js +1 -1
  678. package/modules/stock-tools.js +66 -66
  679. package/modules/stock-tools.js.map +1 -1
  680. package/modules/stock-tools.src.js +119 -96
  681. package/modules/stock.js +3 -3
  682. package/modules/stock.js.map +1 -1
  683. package/modules/stock.src.js +222 -246
  684. package/modules/streamgraph.js +1 -1
  685. package/modules/streamgraph.src.js +1 -1
  686. package/modules/sunburst.js +60 -61
  687. package/modules/sunburst.js.map +1 -1
  688. package/modules/sunburst.src.js +83 -113
  689. package/modules/tilemap.js +1 -1
  690. package/modules/tilemap.js.map +1 -1
  691. package/modules/tilemap.src.js +1 -10
  692. package/modules/timeline.js +1 -1
  693. package/modules/timeline.src.js +1 -1
  694. package/modules/treegrid.js +1 -1
  695. package/modules/treegrid.js.map +1 -1
  696. package/modules/treegrid.src.js +76 -50
  697. package/modules/treemap.js +41 -41
  698. package/modules/treemap.js.map +1 -1
  699. package/modules/treemap.src.js +78 -109
  700. package/modules/variable-pie.js +1 -1
  701. package/modules/variable-pie.src.js +1 -1
  702. package/modules/variwide.js +1 -1
  703. package/modules/variwide.js.map +1 -1
  704. package/modules/variwide.src.js +7 -3
  705. package/modules/vector.js +1 -1
  706. package/modules/vector.src.js +1 -1
  707. package/modules/venn.js +1 -1
  708. package/modules/venn.js.map +1 -1
  709. package/modules/venn.src.js +17 -18
  710. package/modules/windbarb.js +1 -1
  711. package/modules/windbarb.src.js +1 -1
  712. package/modules/wordcloud.js +1 -1
  713. package/modules/wordcloud.js.map +1 -1
  714. package/modules/wordcloud.src.js +9 -13
  715. package/modules/xrange.js +1 -1
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +11 -33
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +15 -0
  722. package/themes/brand-dark.js.map +1 -0
  723. package/themes/brand-dark.src.js +328 -0
  724. package/themes/brand-light.js +15 -0
  725. package/themes/brand-light.js.map +1 -0
  726. package/themes/brand-light.src.js +294 -0
  727. package/themes/dark-blue.js +1 -1
  728. package/themes/dark-blue.src.js +1 -1
  729. package/themes/dark-green.js +1 -1
  730. package/themes/dark-green.src.js +1 -1
  731. package/themes/dark-unica.js +1 -1
  732. package/themes/dark-unica.js.map +1 -1
  733. package/themes/dark-unica.src.js +5 -3
  734. package/themes/gray.js +1 -1
  735. package/themes/gray.src.js +1 -1
  736. package/themes/grid-light.js +1 -1
  737. package/themes/grid-light.js.map +1 -1
  738. package/themes/grid-light.src.js +5 -3
  739. package/themes/grid.js +1 -1
  740. package/themes/grid.js.map +1 -1
  741. package/themes/grid.src.js +5 -3
  742. package/themes/high-contrast-dark.js +1 -1
  743. package/themes/high-contrast-dark.src.js +1 -1
  744. package/themes/high-contrast-light.js +1 -1
  745. package/themes/high-contrast-light.src.js +1 -1
  746. package/themes/sand-signika.js +1 -1
  747. package/themes/sand-signika.src.js +1 -1
  748. package/themes/skies.js +1 -1
  749. package/themes/skies.src.js +1 -1
  750. package/themes/sunset.js +1 -1
  751. package/themes/sunset.src.js +1 -1
  752. package/es-modules/Series/ColorMapComposition.js +0 -109
package/highstock.src.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v9.3.1 (2021-11-05)
2
+ * @license Highstock JS v9.3.2 (2021-11-29)
3
3
  *
4
4
  * (c) 2009-2021 Torstein Honsi
5
5
  *
@@ -71,7 +71,7 @@
71
71
  * Constants
72
72
  *
73
73
  * */
74
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.3.1', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
74
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.3.2', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
75
75
  Globals.doc.createElementNS &&
76
76
  !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
77
77
  parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
@@ -761,7 +761,7 @@
761
761
  return obj;
762
762
  }
763
763
  /**
764
- * Left-pad a string to a given length by adding a character repetetively.
764
+ * Left-pad a string to a given length by adding a character repetitively.
765
765
  *
766
766
  * @function Highcharts.pad
767
767
  *
@@ -1030,7 +1030,7 @@
1030
1030
  });
1031
1031
  }
1032
1032
  /**
1033
- * Discard a HTML element by moving it to the bin and delete.
1033
+ * Discard a HTML element
1034
1034
  *
1035
1035
  * @function Highcharts.discardElement
1036
1036
  *
@@ -1038,17 +1038,10 @@
1038
1038
  * The HTML node to discard.
1039
1039
  */
1040
1040
  function discardElement(element) {
1041
- // create a garbage bin element, not part of the DOM
1042
- if (!garbageBin) {
1043
- garbageBin = createElement('div');
1041
+ if (element && element.parentElement) {
1042
+ element.parentElement.removeChild(element);
1044
1043
  }
1045
- // move the node and empty bin
1046
- if (element) {
1047
- garbageBin.appendChild(element);
1048
- }
1049
- garbageBin.innerHTML = '';
1050
1044
  }
1051
- var garbageBin;
1052
1045
  /**
1053
1046
  * Fix JS round off float errors.
1054
1047
  *
@@ -1247,7 +1240,7 @@
1247
1240
  var i;
1248
1241
  var length = arr.length;
1249
1242
  for (i = 0; i < length; i++) {
1250
- if (callback(arr[i], i)) { // eslint-disable-line callback-return
1243
+ if (callback(arr[i], i)) { // eslint-disable-line node/callback-return
1251
1244
  return arr[i];
1252
1245
  }
1253
1246
  }
@@ -1519,9 +1512,6 @@
1519
1512
  /* eslint-enable valid-jsdoc */
1520
1513
  /**
1521
1514
  * @private
1522
- * @param {string} type - event type
1523
- * @param {Highcharts.EventCallbackFunction<T>} fn - callback
1524
- * @return {void}
1525
1515
  */
1526
1516
  function removeOneEvent(type, fn) {
1527
1517
  var removeEventListener = (el.removeEventListener || H.removeEventListenerPolyfill);
@@ -1531,8 +1521,6 @@
1531
1521
  }
1532
1522
  /**
1533
1523
  * @private
1534
- * @param {any} eventCollection - collection
1535
- * @return {void}
1536
1524
  */
1537
1525
  function removeAllEvents(eventCollection) {
1538
1526
  var types,
@@ -3882,7 +3870,8 @@
3882
3870
  // time
3883
3871
  if (unit === 'Milliseconds' ||
3884
3872
  unit === 'Seconds' ||
3885
- (unit === 'Minutes' && this.getTimezoneOffset(date) % 3600000 === 0) // #13961
3873
+ (unit === 'Minutes' &&
3874
+ this.getTimezoneOffset(date) % 3600000 === 0) // #13961
3886
3875
  ) {
3887
3876
  return date['setUTC' + unit](value);
3888
3877
  }
@@ -3899,8 +3888,8 @@
3899
3888
  }
3900
3889
  // UTC time with no timezone handling
3901
3890
  if (this.useUTC ||
3902
- (hasNewSafariBug && unit === 'FullYear') // leap calculation in UTC only
3903
- ) {
3891
+ // leap calculation in UTC only
3892
+ (hasNewSafariBug && unit === 'FullYear')) {
3904
3893
  return date['setUTC' + unit](value);
3905
3894
  }
3906
3895
  // Else, local time
@@ -3916,7 +3905,6 @@
3916
3905
  *
3917
3906
  * @param {Highcharts.TimeOptions} options
3918
3907
  *
3919
- * @return {void}
3920
3908
  */
3921
3909
  Time.prototype.update = function (options) {
3922
3910
  var useUTC = pick(options && options.useUTC,
@@ -4005,6 +3993,7 @@
4005
3993
  Time.prototype.timezoneOffsetFunction = function () {
4006
3994
  var time = this,
4007
3995
  options = this.options,
3996
+ getTimezoneOffset = options.getTimezoneOffset,
4008
3997
  moment = options.moment || win.moment;
4009
3998
  if (!this.useUTC) {
4010
3999
  return function (timestamp) {
@@ -4024,9 +4013,9 @@
4024
4013
  }
4025
4014
  }
4026
4015
  // If not timezone is set, look for the getTimezoneOffset callback
4027
- if (this.useUTC && options.getTimezoneOffset) {
4016
+ if (this.useUTC && getTimezoneOffset) {
4028
4017
  return function (timestamp) {
4029
- return options.getTimezoneOffset(timestamp.valueOf()) * 60000;
4018
+ return getTimezoneOffset(timestamp.valueOf()) * 60000;
4030
4019
  };
4031
4020
  }
4032
4021
  // Last, use the `timezoneOffset` option if set
@@ -4160,8 +4149,10 @@
4160
4149
  * Resolve legacy formats of dateTimeLabelFormats (strings and arrays) into
4161
4150
  * an object.
4162
4151
  * @private
4163
- * @param {string|Array<T>|Highcharts.Dictionary<T>} f - General format description
4164
- * @return {Highcharts.Dictionary<T>} - The object definition
4152
+ * @param {string|Array<T>|Highcharts.Dictionary<T>} f
4153
+ * General format description
4154
+ * @return {Highcharts.Dictionary<T>}
4155
+ * The object definition
4165
4156
  */
4166
4157
  Time.prototype.resolveDTLFormat = function (f) {
4167
4158
  if (!isObject(f, true)) { // check for string or array
@@ -4193,6 +4184,7 @@
4193
4184
  * @param {number} [startOfWeek=1]
4194
4185
  *
4195
4186
  * @return {Highcharts.AxisTickPositionsArray}
4187
+ * Time positions
4196
4188
  */
4197
4189
  Time.prototype.getTimeTicks = function (normalizedInterval, min, max, startOfWeek) {
4198
4190
  var time = this,
@@ -4462,8 +4454,8 @@
4462
4454
  * In case of loading the library from a `script` tag,
4463
4455
  * this option is not needed, it will be loaded from there by default.
4464
4456
  *
4465
- * @type {function}
4466
- * @since 8.2.0
4457
+ * @type {Function}
4458
+ * @since 8.2.0
4467
4459
  * @apioption time.moment
4468
4460
  */
4469
4461
  ''; // keeps doclets above in JS file
@@ -6982,6 +6974,7 @@
6982
6974
  * @function Highcharts.getOptions
6983
6975
  *
6984
6976
  * @return {Highcharts.Options}
6977
+ * Default options.
6985
6978
  */
6986
6979
  function getOptions() {
6987
6980
  return defaultOptions;
@@ -6996,10 +6989,10 @@
6996
6989
  * @function Highcharts.setOptions
6997
6990
  *
6998
6991
  * @param {Highcharts.Options} options
6999
- * The new custom chart options.
6992
+ * The new custom chart options.
7000
6993
  *
7001
6994
  * @return {Highcharts.Options}
7002
- * Updated options.
6995
+ * Updated options.
7003
6996
  */
7004
6997
  function setOptions(options) {
7005
6998
  // Copy in the default options
@@ -7274,7 +7267,6 @@
7274
7267
  *
7275
7268
  * @function Highcharts.Fx#dSetter
7276
7269
  *
7277
- * @return {void}
7278
7270
  */
7279
7271
  Fx.prototype.dSetter = function () {
7280
7272
  var paths = this.paths,
@@ -7323,7 +7315,6 @@
7323
7315
  *
7324
7316
  * @function Highcharts.Fx#update
7325
7317
  *
7326
- * @return {void}
7327
7318
  */
7328
7319
  Fx.prototype.update = function () {
7329
7320
  var elem = this.elem,
@@ -7362,7 +7353,6 @@
7362
7353
  * @param {string} unit
7363
7354
  * The property unit, for example `px`.
7364
7355
  *
7365
- * @return {void}
7366
7356
  */
7367
7357
  Fx.prototype.run = function (from, to, unit) {
7368
7358
  var self = this,
@@ -7384,7 +7374,8 @@
7384
7374
  };
7385
7375
  if (from === to && !this.elem['forceAnimate:' + this.prop]) {
7386
7376
  delete options.curAnim[this.prop];
7387
- if (options.complete && Object.keys(options.curAnim).length === 0) {
7377
+ if (options.complete &&
7378
+ Object.keys(options.curAnim).length === 0) {
7388
7379
  options.complete.call(this.elem);
7389
7380
  }
7390
7381
  }
@@ -7443,7 +7434,8 @@
7443
7434
  }
7444
7435
  else {
7445
7436
  this.pos = options.easing((t - this.startTime) / duration);
7446
- this.now = this.start + ((this.end - this.start) * this.pos);
7437
+ this.now = this.start + ((this.end -
7438
+ this.start) * this.pos);
7447
7439
  this.update();
7448
7440
  ret = true;
7449
7441
  }
@@ -7485,9 +7477,6 @@
7485
7477
  /**
7486
7478
  * If shifting points, prepend a dummy point to the end path.
7487
7479
  * @private
7488
- * @param {Highcharts.SVGPathArray} arr - array
7489
- * @param {Highcharts.SVGPathArray} other - array
7490
- * @return {void}
7491
7480
  */
7492
7481
  function prepend(arr, other) {
7493
7482
  while (arr.length < fullLength) {
@@ -7523,9 +7512,6 @@
7523
7512
  /**
7524
7513
  * Copy and append last point until the length matches the end length.
7525
7514
  * @private
7526
- * @param {Highcharts.SVGPathArray} arr - array
7527
- * @param {Highcharts.SVGPathArray} other - array
7528
- * @return {void}
7529
7515
  */
7530
7516
  function append(arr, other) {
7531
7517
  while (arr.length < fullLength) {
@@ -7597,7 +7583,6 @@
7597
7583
  *
7598
7584
  * @function Highcharts.Fx#fillSetter
7599
7585
  *
7600
- * @return {void}
7601
7586
  */
7602
7587
  Fx.prototype.fillSetter = function () {
7603
7588
  Fx.prototype.strokeSetter.apply(this, arguments);
@@ -7607,10 +7592,9 @@
7607
7592
  *
7608
7593
  * @function Highcharts.Fx#strokeSetter
7609
7594
  *
7610
- * @return {void}
7611
7595
  */
7612
7596
  Fx.prototype.strokeSetter = function () {
7613
- this.elem.attr(this.prop, color(this.start).tweenTo(color(this.end), this.pos), null, true);
7597
+ this.elem.attr(this.prop, color(this.start).tweenTo(color(this.end), this.pos), void 0, true);
7614
7598
  };
7615
7599
  /* *
7616
7600
  *
@@ -7853,23 +7837,34 @@
7853
7837
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
7854
7838
  *
7855
7839
  * */
7856
- var SVG_NS = H.SVG_NS;
7840
+ var SVG_NS = H.SVG_NS,
7841
+ win = H.win;
7857
7842
  var attr = U.attr,
7858
7843
  createElement = U.createElement,
7859
- discardElement = U.discardElement,
7860
7844
  error = U.error,
7845
+ isFunction = U.isFunction,
7861
7846
  isString = U.isString,
7862
7847
  objectEach = U.objectEach,
7863
7848
  splat = U.splat;
7849
+ var trustedTypes = win.trustedTypes;
7864
7850
  /* *
7865
7851
  *
7866
7852
  * Constants
7867
7853
  *
7868
7854
  * */
7855
+ // Create the trusted type policy. This should not be exposed.
7856
+ var trustedTypesPolicy = (trustedTypes &&
7857
+ isFunction(trustedTypes.createPolicy) &&
7858
+ trustedTypes.createPolicy('highcharts', {
7859
+ createHTML: function (s) { return s; }
7860
+ }));
7861
+ var emptyHTML = trustedTypesPolicy ?
7862
+ trustedTypesPolicy.createHTML('') :
7863
+ '';
7869
7864
  // In IE8, DOMParser is undefined. IE9 and PhantomJS are only able to parse XML.
7870
7865
  var hasValidDOMParser = (function () {
7871
7866
  try {
7872
- return Boolean(new DOMParser().parseFromString('', 'text/html'));
7867
+ return Boolean(new DOMParser().parseFromString(emptyHTML, 'text/html'));
7873
7868
  }
7874
7869
  catch (e) {
7875
7870
  return false;
@@ -7952,7 +7947,7 @@
7952
7947
  * Markup string
7953
7948
  */
7954
7949
  AST.setElementHTML = function (el, html) {
7955
- el.innerHTML = ''; // Clear previous
7950
+ el.innerHTML = AST.emptyHTML; // Clear previous
7956
7951
  if (html) {
7957
7952
  var ast = new AST(html);
7958
7953
  ast.addToDOM(el);
@@ -7977,9 +7972,12 @@
7977
7972
  AST.prototype.addToDOM = function (parent) {
7978
7973
  /**
7979
7974
  * @private
7980
- * @param {Highcharts.ASTNode} subtree - HTML/SVG definition
7981
- * @param {Element} [subParent] - parent node
7982
- * @return {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement} The inserted node.
7975
+ * @param {Highcharts.ASTNode} subtree
7976
+ * HTML/SVG definition
7977
+ * @param {Element} [subParent]
7978
+ * parent node
7979
+ * @return {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement}
7980
+ * The inserted node.
7983
7981
  */
7984
7982
  function recurse(subtree, subParent) {
7985
7983
  var ret;
@@ -8020,7 +8018,8 @@
8020
8018
  node = element;
8021
8019
  }
8022
8020
  else {
8023
- error("Highcharts warning: Invalid tagName '" + tagName + "' in config");
8021
+ error('Highcharts warning: Invalid tagName ' +
8022
+ tagName + ' in config');
8024
8023
  }
8025
8024
  }
8026
8025
  // Add to the tree
@@ -8050,12 +8049,13 @@
8050
8049
  var nodes = [];
8051
8050
  markup = markup.trim();
8052
8051
  var doc;
8053
- var body;
8054
8052
  if (hasValidDOMParser) {
8055
- doc = new DOMParser().parseFromString(markup, 'text/html');
8053
+ doc = new DOMParser().parseFromString(trustedTypesPolicy ?
8054
+ trustedTypesPolicy.createHTML(markup) :
8055
+ markup, 'text/html');
8056
8056
  }
8057
8057
  else {
8058
- body = createElement('div');
8058
+ var body = createElement('div');
8059
8059
  body.innerHTML = markup;
8060
8060
  doc = { body: body };
8061
8061
  }
@@ -8091,9 +8091,6 @@
8091
8091
  addTo.push(astNode);
8092
8092
  };
8093
8093
  [].forEach.call(doc.body.childNodes, function (childNode) { return appendChildNodes(childNode, nodes); });
8094
- if (body) {
8095
- discardElement(body);
8096
- }
8097
8094
  return nodes;
8098
8095
  };
8099
8096
  /* *
@@ -8280,6 +8277,7 @@
8280
8277
  'ul',
8281
8278
  '#text'
8282
8279
  ];
8280
+ AST.emptyHTML = emptyHTML;
8283
8281
  return AST;
8284
8282
  }());
8285
8283
  /* *
@@ -8615,7 +8613,8 @@
8615
8613
  * @private
8616
8614
  */
8617
8615
  function distribute(boxes, len, maxDistance) {
8618
- var origBoxes = boxes, // Original array will be altered with added .pos
8616
+ // Original array will be altered with added .pos
8617
+ var origBoxes = boxes,
8619
8618
  reducedLen = origBoxes.reducedLen || len,
8620
8619
  sortByRank = function (a,
8621
8620
  b) {
@@ -8870,7 +8869,6 @@
8870
8869
  *
8871
8870
  * @param {Highcharts.SVGDOMElement} element
8872
8871
  *
8873
- * @return {void}
8874
8872
  */
8875
8873
  SVGElement.prototype._defaultSetter = function (value, key, element) {
8876
8874
  element.setAttribute(key, value);
@@ -9023,7 +9021,8 @@
9023
9021
  alignByTranslate = this.alignByTranslate;
9024
9022
  alignTo = this.alignTo;
9025
9023
  }
9026
- box = pick(box, renderer[alignTo], alignTo === 'scrollablePlotBox' ? renderer.plotBox : void 0, renderer);
9024
+ box = pick(box, renderer[alignTo], alignTo === 'scrollablePlotBox' ?
9025
+ renderer.plotBox : void 0, renderer);
9027
9026
  // Assign variables
9028
9027
  var align = alignOptions.align,
9029
9028
  vAlign = alignOptions.verticalAlign;
@@ -9319,7 +9318,8 @@
9319
9318
  // Let the shadow follow the main element
9320
9319
  if (!this.styledMode &&
9321
9320
  this.shadows &&
9322
- /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(key)) {
9321
+ /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/
9322
+ .test(key)) {
9323
9323
  this.updateShadows(key, val, setter);
9324
9324
  }
9325
9325
  }
@@ -9708,7 +9708,6 @@
9708
9708
  * @private
9709
9709
  * @function Highcharts.SVGElement#destroyShadows
9710
9710
  *
9711
- * @return {void}
9712
9711
  */
9713
9712
  SVGElement.prototype.destroyShadows = function () {
9714
9713
  (this.shadows || []).forEach(function (shadow) {
@@ -9948,8 +9947,7 @@
9948
9947
  bBox.height = height = ({
9949
9948
  '11px,17': 14,
9950
9949
  '13px,20': 16
9951
- }[styles &&
9952
- styles.fontSize + ',' + Math.round(height)] ||
9950
+ }[(fontSize || '') + "," + Math.round(height)] ||
9953
9951
  height);
9954
9952
  }
9955
9953
  // Adjust for rotated text
@@ -10628,12 +10626,13 @@
10628
10626
  * @function Highcharts.SVGElement#translate
10629
10627
  *
10630
10628
  * @param {number} x
10631
- * The x value.
10629
+ * The x value.
10632
10630
  *
10633
10631
  * @param {number} y
10634
- * The y value.
10632
+ * The y value.
10635
10633
  *
10636
10634
  * @return {Highcharts.SVGElement}
10635
+ * Translated element.
10637
10636
  */
10638
10637
  SVGElement.prototype.translate = function (x, y) {
10639
10638
  return this.attr({
@@ -10727,7 +10726,6 @@
10727
10726
  *
10728
10727
  * @param {Highcharts.SVGDOMElement} element
10729
10728
  *
10730
- * @return {void}
10731
10729
  */
10732
10730
  SVGElement.prototype.visibilitySetter = function (value, key, element) {
10733
10731
  // IE9-11 doesn't handle visibilty:inherit well, so we remove the
@@ -10743,10 +10741,6 @@
10743
10741
  /**
10744
10742
  * @private
10745
10743
  * @function Highcharts.SVGElement#xGetter
10746
- *
10747
- * @param {string} key
10748
- *
10749
- * @return {number|string|null}
10750
10744
  */
10751
10745
  SVGElement.prototype.xGetter = function (key) {
10752
10746
  if (this.element.nodeName === 'circle') {
@@ -10762,9 +10756,6 @@
10762
10756
  /**
10763
10757
  * @private
10764
10758
  * @function Highcharts.SVGElement#zIndexSetter
10765
- * @param {number} [value]
10766
- * @param {string} [key]
10767
- * @return {boolean}
10768
10759
  */
10769
10760
  SVGElement.prototype.zIndexSetter = function (value, key) {
10770
10761
  var renderer = this.renderer,
@@ -11249,7 +11240,8 @@
11249
11240
  }
11250
11241
  });
11251
11242
  this.text.css(textStyles_1);
11252
- var isWidth = 'width' in textStyles_1, isFontStyle = ('fontSize' in textStyles_1 || 'fontWeight' in textStyles_1);
11243
+ var isWidth = 'width' in textStyles_1, isFontStyle = ('fontSize' in textStyles_1 ||
11244
+ 'fontWeight' in textStyles_1);
11253
11245
  // Update existing text, box (#9400, #12163)
11254
11246
  if (isFontStyle) {
11255
11247
  this.updateTextPadding();
@@ -11419,13 +11411,15 @@
11419
11411
  this.renderer.symbol(this.symbolKey) :
11420
11412
  this.renderer.rect();
11421
11413
  box.addClass(// Don't use label className for buttons
11422
- (this.className === 'button' ? '' : 'highcharts-label-box') +
11423
- (this.className ? ' highcharts-' + this.className + '-box' : ''));
11414
+ (this.className === 'button' ?
11415
+ '' : 'highcharts-label-box') +
11416
+ (this.className ?
11417
+ ' highcharts-' + this.className + '-box' : ''));
11424
11418
  box.add(this);
11425
11419
  }
11426
11420
  crispAdjust = this.getCrispAdjust();
11427
11421
  attribs.x = crispAdjust;
11428
- attribs.y = (this.baseline ? -this.baselineOffset : 0) + crispAdjust;
11422
+ attribs.y = ((this.baseline ? -this.baselineOffset : 0) + crispAdjust);
11429
11423
  // Apply the box attributes
11430
11424
  attribs.width = Math.round(this.width);
11431
11425
  attribs.height = Math.round(this.height);
@@ -11448,8 +11442,7 @@
11448
11442
  if (defined(this.widthSetting) &&
11449
11443
  this.bBox &&
11450
11444
  (this.textAlign === 'center' || this.textAlign === 'right')) {
11451
- textX += { center: 0.5, right: 1 }[this.textAlign] *
11452
- (this.widthSetting - this.bBox.width);
11445
+ textX += { center: 0.5, right: 1 }[this.textAlign] * (this.widthSetting - this.bBox.width);
11453
11446
  }
11454
11447
  // update if anything changed
11455
11448
  if (textX !== text.x || textY !== text.y) {
@@ -11477,7 +11470,9 @@
11477
11470
  padding);
11478
11471
  var paddingRight = pick(this.paddingRight,
11479
11472
  padding);
11480
- return (this.widthSetting || this.bBox.width || 0) + paddingLeft + paddingRight;
11473
+ return ((this.widthSetting || this.bBox.width || 0) +
11474
+ paddingLeft +
11475
+ paddingRight);
11481
11476
  };
11482
11477
  SVGLabel.prototype.xSetter = function (value) {
11483
11478
  this.x = value; // for animation getter
@@ -11498,7 +11493,12 @@
11498
11493
  * Static Properties
11499
11494
  *
11500
11495
  * */
11501
- SVGLabel.emptyBBox = { width: 0, height: 0, x: 0, y: 0 };
11496
+ SVGLabel.emptyBBox = {
11497
+ width: 0,
11498
+ height: 0,
11499
+ x: 0,
11500
+ y: 0
11501
+ };
11502
11502
  /**
11503
11503
  * For labels, these CSS properties are applied to the `text` node directly.
11504
11504
  *
@@ -11861,7 +11861,6 @@
11861
11861
  *
11862
11862
  * @private
11863
11863
  *
11864
- * @return {void}
11865
11864
  */
11866
11865
  TextBuilder.prototype.modifyDOM = function () {
11867
11866
  var _this = this;
@@ -12005,7 +12004,7 @@
12005
12004
  TextBuilder.prototype.getLineHeight = function (node) {
12006
12005
  var fontSizeStyle;
12007
12006
  // If the node is a text node, use its parent
12008
- var element = node.nodeType === win.Node.TEXT_NODE ?
12007
+ var element = (node.nodeType === win.Node.TEXT_NODE) ?
12009
12008
  node.parentElement :
12010
12009
  node;
12011
12010
  if (!this.renderer.styledMode) {
@@ -12027,22 +12026,23 @@
12027
12026
  *
12028
12027
  * @param {ASTNode[]} nodes The AST nodes
12029
12028
  *
12030
- * @return {void}
12031
12029
  */
12032
12030
  TextBuilder.prototype.modifyTree = function (nodes) {
12033
12031
  var _this = this;
12034
12032
  var modifyChild = function (node,
12035
12033
  i) {
12036
- var tagName = node.tagName;
12037
- var styledMode = _this.renderer.styledMode;
12038
- var attributes = node.attributes || {};
12034
+ var _a = node.attributes,
12035
+ attributes = _a === void 0 ? {} : _a,
12036
+ children = node.children,
12037
+ tagName = node.tagName,
12038
+ styledMode = _this.renderer.styledMode;
12039
12039
  // Apply styling to text tags
12040
12040
  if (tagName === 'b' || tagName === 'strong') {
12041
12041
  if (styledMode) {
12042
12042
  attributes['class'] = 'highcharts-strong'; // eslint-disable-line dot-notation
12043
12043
  }
12044
12044
  else {
12045
- attributes.style = 'font-weight:bold;' + (attributes.style || '');
12045
+ attributes.style = ('font-weight:bold;' + (attributes.style || ''));
12046
12046
  }
12047
12047
  }
12048
12048
  else if (tagName === 'i' || tagName === 'em') {
@@ -12050,13 +12050,14 @@
12050
12050
  attributes['class'] = 'highcharts-emphasized'; // eslint-disable-line dot-notation
12051
12051
  }
12052
12052
  else {
12053
- attributes.style = 'font-style:italic;' + (attributes.style || '');
12053
+ attributes.style = ('font-style:italic;' + (attributes.style || ''));
12054
12054
  }
12055
12055
  }
12056
12056
  // Modify attributes
12057
12057
  if (isString(attributes.style)) {
12058
12058
  attributes.style = attributes.style.replace(/(;| |^)color([ :])/, '$1fill$2');
12059
12059
  }
12060
+ // Handle breaks
12060
12061
  if (tagName === 'br') {
12061
12062
  attributes['class'] = 'highcharts-br'; // eslint-disable-line dot-notation
12062
12063
  node.textContent = '\u200B'; // zero-width space
@@ -12066,14 +12067,23 @@
12066
12067
  nextNode.textContent =
12067
12068
  nextNode.textContent.replace(/^ +/gm, '');
12068
12069
  }
12070
+ // If an anchor has direct text node children, the text is unable to
12071
+ // wrap because there is no `getSubStringLength` function on the
12072
+ // element. Therefore we need to wrap the child text node or nodes
12073
+ // in a tspan. #16173.
12074
+ }
12075
+ else if (tagName === 'a' &&
12076
+ children &&
12077
+ children.some(function (child) { return child.tagName === '#text'; })) {
12078
+ node.children = [{ children: children, tagName: 'tspan' }];
12069
12079
  }
12070
12080
  if (tagName !== '#text' && tagName !== 'a') {
12071
12081
  node.tagName = 'tspan';
12072
12082
  }
12073
12083
  node.attributes = attributes;
12074
12084
  // Recurse
12075
- if (node.children) {
12076
- node.children
12085
+ if (children) {
12086
+ children
12077
12087
  .filter(function (c) { return c.tagName !== '#text'; })
12078
12088
  .forEach(modifyChild);
12079
12089
  }
@@ -12410,7 +12420,7 @@
12410
12420
  this.url = this.getReferenceURL();
12411
12421
  // Add description
12412
12422
  var desc = this.createElement('desc').add();
12413
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.3.1'));
12423
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.3.2'));
12414
12424
  renderer.defs = this.createElement('defs').add();
12415
12425
  renderer.allowHTML = allowHTML;
12416
12426
  renderer.forExport = forExport;
@@ -12602,6 +12612,7 @@
12602
12612
  * @function Highcharts.SVGRenderer#destroy
12603
12613
  *
12604
12614
  * @return {null}
12615
+ * Pass through value.
12605
12616
  */
12606
12617
  SVGRenderer.prototype.destroy = function () {
12607
12618
  var renderer = this,
@@ -13278,6 +13289,7 @@
13278
13289
  * Additional options, depending on the actual symbol drawn.
13279
13290
  *
13280
13291
  * @return {Highcharts.SVGElement}
13292
+ * SVG symbol.
13281
13293
  */
13282
13294
  SVGRenderer.prototype.symbol = function (symbol, x, y, width, height, options) {
13283
13295
  var ren = this,
@@ -13507,8 +13519,8 @@
13507
13519
  parentVal = element.getAttribute(key);
13508
13520
  for (var i = 0, tspan = void 0; i < tspans.length; i++) {
13509
13521
  tspan = tspans[i];
13510
- // If the x values are equal, the tspan represents a
13511
- // linebreak
13522
+ // If the x values are equal, the tspan represents a line
13523
+ // break
13512
13524
  if (tspan.getAttribute(key) === parentVal) {
13513
13525
  tspan.setAttribute(key, value);
13514
13526
  }
@@ -13572,14 +13584,6 @@
13572
13584
  *
13573
13585
  * @private
13574
13586
  * @function Highcharts.SVGRenderer#rotCorr
13575
- *
13576
- * @param {number} baseline
13577
- *
13578
- * @param {number} rotation
13579
- *
13580
- * @param {boolean} [alterY]
13581
- *
13582
- * @param {Highcharts.PositionObject}
13583
13587
  */
13584
13588
  SVGRenderer.prototype.rotCorr = function (baseline, rotation, alterY) {
13585
13589
  var y = baseline;
@@ -13883,7 +13887,6 @@
13883
13887
  *
13884
13888
  * @private
13885
13889
  * @function Highcharts.SVGRenderer#alignElements
13886
- * @return {void}
13887
13890
  */
13888
13891
  SVGRenderer.prototype.alignElements = function () {
13889
13892
  this.alignedObjects.forEach(function (el) { return el.align(); });
@@ -14213,10 +14216,12 @@
14213
14216
  HTMLElement.composedClasses.push(SVGElementClass);
14214
14217
  var htmlElementProto = HTMLElement.prototype,
14215
14218
  svgElementProto = SVGElementClass.prototype;
14216
- svgElementProto.getSpanCorrection = htmlElementProto.getSpanCorrection;
14219
+ svgElementProto.getSpanCorrection = htmlElementProto
14220
+ .getSpanCorrection;
14217
14221
  svgElementProto.htmlCss = htmlElementProto.htmlCss;
14218
14222
  svgElementProto.htmlGetBBox = htmlElementProto.htmlGetBBox;
14219
- svgElementProto.htmlUpdateTransform = htmlElementProto.htmlUpdateTransform;
14223
+ svgElementProto.htmlUpdateTransform = htmlElementProto
14224
+ .htmlUpdateTransform;
14220
14225
  svgElementProto.setSpanRotation = htmlElementProto.setSpanRotation;
14221
14226
  }
14222
14227
  return SVGElementClass;
@@ -14510,15 +14515,16 @@
14510
14515
  * @function Highcharts.SVGRenderer#html
14511
14516
  *
14512
14517
  * @param {string} str
14513
- * The text of (subset) HTML to draw.
14518
+ * The text of (subset) HTML to draw.
14514
14519
  *
14515
14520
  * @param {number} x
14516
- * The x position of the text's lower left corner.
14521
+ * The x position of the text's lower left corner.
14517
14522
  *
14518
14523
  * @param {number} y
14519
- * The y position of the text's lower left corner.
14524
+ * The y position of the text's lower left corner.
14520
14525
  *
14521
14526
  * @return {Highcharts.HTMLDOMElement}
14527
+ * HTML element.
14522
14528
  */
14523
14529
  HTMLRenderer.prototype.html = function (str, x, y) {
14524
14530
  var wrapper = this.createElement('span'), element = wrapper.element, renderer = wrapper.renderer, isSVG = renderer.isSVG, addSetters = function (gWrapper, style) {
@@ -14628,8 +14634,7 @@
14628
14634
  * @private
14629
14635
  * @param {*} value
14630
14636
  * @param {string} key
14631
- * @return {void}
14632
- */
14637
+ */
14633
14638
  function translateSetter(value, key) {
14634
14639
  parentGroup[key] = value;
14635
14640
  if (key === 'translateX') {
@@ -14652,7 +14657,9 @@
14652
14657
  display: parentGroup.display,
14653
14658
  opacity: parentGroup.opacity,
14654
14659
  cursor: parentGroupStyles.cursor,
14655
- pointerEvents: parentGroupStyles.pointerEvents,
14660
+ pointerEvents: (
14661
+ // #5595
14662
+ parentGroupStyles.pointerEvents),
14656
14663
  visibility: parentGroup.visibility
14657
14664
  // the top group is appended to container
14658
14665
  }, htmlGroup || container);
@@ -17764,7 +17771,7 @@
17764
17771
  * @param {boolean} [noLabel=false]
17765
17772
  * Whether to disable the label or not. Defaults to false.
17766
17773
  *
17767
- * @param {object} [parameters]
17774
+ * @param {Object} [parameters]
17768
17775
  * Optional parameters for the tick.
17769
17776
  */
17770
17777
  var Tick = /** @class */ (function () {
@@ -18018,7 +18025,7 @@
18018
18025
  * @return {Highcharts.PositionObject}
18019
18026
  * The tick position.
18020
18027
  *
18021
- * @fires Highcharts.Tick#event:afterGetPosition
18028
+ * @emits Highcharts.Tick#event:afterGetPosition
18022
18029
  */
18023
18030
  Tick.prototype.getPosition = function (horiz, tickPos, tickmarkOffset, old) {
18024
18031
  var axis = this.axis,
@@ -18058,9 +18065,7 @@
18058
18065
  };
18059
18066
  /**
18060
18067
  * Get the x, y position of the tick label
18061
- *
18062
18068
  * @private
18063
- * @return {Highcharts.PositionObject}
18064
18069
  */
18065
18070
  Tick.prototype.getLabelPosition = function (x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {
18066
18071
  var axis = this.axis,
@@ -18710,8 +18715,8 @@
18710
18715
  * @param {AxisOptions} userOptions
18711
18716
  * Axis options.
18712
18717
  *
18713
- * @fires Highcharts.Axis#event:afterInit
18714
- * @fires Highcharts.Axis#event:init
18718
+ * @emits Highcharts.Axis#event:afterInit
18719
+ * @emits Highcharts.Axis#event:init
18715
18720
  */
18716
18721
  Axis.prototype.init = function (chart, userOptions) {
18717
18722
  var isXAxis = userOptions.isX,
@@ -18747,7 +18752,8 @@
18747
18752
  */
18748
18753
  axis.coll = axis.coll || (isXAxis ? 'xAxis' : 'yAxis');
18749
18754
  fireEvent(this, 'init', { userOptions: userOptions });
18750
- axis.opposite = pick(userOptions.opposite, axis.opposite); // needed in setOptions
18755
+ // Needed in setOptions
18756
+ axis.opposite = pick(userOptions.opposite, axis.opposite);
18751
18757
  /**
18752
18758
  * The side on which the axis is rendered. 0 is top, 1 is right, 2
18753
18759
  * is bottom and 3 is left.
@@ -18912,7 +18918,7 @@
18912
18918
  * @param {Highcharts.AxisOptions} userOptions
18913
18919
  * Axis options.
18914
18920
  *
18915
- * @fires Highcharts.Axis#event:afterSetOptions
18921
+ * @emits Highcharts.Axis#event:afterSetOptions
18916
18922
  */
18917
18923
  Axis.prototype.setOptions = function (userOptions) {
18918
18924
  this.options = merge(AxisDefaults.defaultXAxisOptions, (this.coll === 'yAxis') && AxisDefaults.defaultYAxisOptions, [
@@ -19005,8 +19011,8 @@
19005
19011
  * @private
19006
19012
  * @function Highcharts.Axis#getSeriesExtremes
19007
19013
  *
19008
- * @fires Highcharts.Axis#event:afterGetSeriesExtremes
19009
- * @fires Highcharts.Axis#event:getSeriesExtremes
19014
+ * @emits Highcharts.Axis#event:afterGetSeriesExtremes
19015
+ * @emits Highcharts.Axis#event:getSeriesExtremes
19010
19016
  */
19011
19017
  Axis.prototype.getSeriesExtremes = function () {
19012
19018
  var axis = this,
@@ -19104,26 +19110,6 @@
19104
19110
  *
19105
19111
  * @private
19106
19112
  * @function Highcharts.Axis#translate
19107
- *
19108
- * @param {number} val
19109
- * TO-DO: parameter description
19110
- *
19111
- * @param {boolean|null} [backwards]
19112
- * TO-DO: parameter description
19113
- *
19114
- * @param {boolean|null} [cvsCoord]
19115
- * TO-DO: parameter description
19116
- *
19117
- * @param {boolean|null} [old]
19118
- * TO-DO: parameter description
19119
- *
19120
- * @param {boolean} [handleLog]
19121
- * TO-DO: parameter description
19122
- *
19123
- * @param {number} [pointPlacement]
19124
- * TO-DO: parameter description
19125
- *
19126
- * @return {number|undefined}
19127
19113
  */
19128
19114
  Axis.prototype.translate = function (val, backwards, cvsCoord, old, handleLog, pointPlacement) {
19129
19115
  var axis = (this.linkedParent || this), // #1417
@@ -19357,6 +19343,7 @@
19357
19343
  * @function Highcharts.Axis#getMinorTickInterval
19358
19344
  *
19359
19345
  * @return {number|"auto"|null}
19346
+ * Legacy option
19360
19347
  */
19361
19348
  Axis.prototype.getMinorTickInterval = function () {
19362
19349
  var options = this.options;
@@ -19466,7 +19453,8 @@
19466
19453
  if (xData.length > 1) {
19467
19454
  for (i = loopLength; i > 0; i--) {
19468
19455
  distance = xData[i] - xData[i - 1];
19469
- if (!closestDataRange || distance < closestDataRange) {
19456
+ if (!closestDataRange ||
19457
+ distance < closestDataRange) {
19470
19458
  closestDataRange = distance;
19471
19459
  }
19472
19460
  }
@@ -19521,8 +19509,6 @@
19521
19509
  *
19522
19510
  * @private
19523
19511
  * @function Highcharts.Axis#getClosest
19524
- *
19525
- * @return {number}
19526
19512
  */
19527
19513
  Axis.prototype.getClosest = function () {
19528
19514
  var ret;
@@ -19641,7 +19627,7 @@
19641
19627
  * @private
19642
19628
  * @function Highcharts.Axis#setAxisTranslation
19643
19629
  *
19644
- * @fires Highcharts.Axis#event:afterSetAxisTranslation
19630
+ * @emits Highcharts.Axis#event:afterSetAxisTranslation
19645
19631
  */
19646
19632
  Axis.prototype.setAxisTranslation = function () {
19647
19633
  var axis = this,
@@ -19677,7 +19663,9 @@
19677
19663
  if (!axis.single || hasCategories) {
19678
19664
  // TODO: series should internally set x- and y-
19679
19665
  // pointPlacement to simplify this logic.
19680
- var isPointPlacementAxis = series.is('xrange') ? !isXAxis : isXAxis;
19666
+ var isPointPlacementAxis = series.is('xrange') ?
19667
+ !isXAxis :
19668
+ isXAxis;
19681
19669
  // minPointOffset is the value padding to the left of
19682
19670
  // the axis in order to make room for points with a
19683
19671
  // pointRange, typically columns. When the
@@ -19696,7 +19684,7 @@
19696
19684
  });
19697
19685
  }
19698
19686
  // Record minPointOffset and pointRangePadding
19699
- ordinalCorrection = axis.ordinal && axis.ordinal.slope && closestPointRange ?
19687
+ ordinalCorrection = (axis.ordinal && axis.ordinal.slope && closestPointRange) ?
19700
19688
  axis.ordinal.slope / closestPointRange :
19701
19689
  1; // #988, #1853
19702
19690
  axis.minPointOffset = minPointOffset =
@@ -19725,8 +19713,6 @@
19725
19713
  /**
19726
19714
  * @private
19727
19715
  * @function Highcharts.Axis#minFromRange
19728
- *
19729
- * @return {number|undefined}
19730
19716
  */
19731
19717
  Axis.prototype.minFromRange = function () {
19732
19718
  var axis = this;
@@ -19742,7 +19728,7 @@
19742
19728
  * @param {boolean} secondPass
19743
19729
  * TO-DO: parameter description
19744
19730
  *
19745
- * @fires Highcharts.Axis#event:foundExtremes
19731
+ * @emits Highcharts.Axis#event:foundExtremes
19746
19732
  */
19747
19733
  Axis.prototype.setTickInterval = function (secondPass) {
19748
19734
  var axis = this,
@@ -19939,12 +19925,13 @@
19939
19925
  // First process all series assigned to that axis.
19940
19926
  axis.series.forEach(function (series) {
19941
19927
  // Allows filtering out points outside the plot area.
19942
- series.forceCrop = series.forceCropping && series.forceCropping();
19928
+ series.forceCrop = (series.forceCropping &&
19929
+ series.forceCropping());
19943
19930
  series.processData(hasExtemesChanged_1);
19944
19931
  });
19945
- // Then apply grouping if needed.
19946
- // The hasExtemesChanged helps to decide if the data grouping should
19947
- // be skipped in the further calculations #16319.
19932
+ // Then apply grouping if needed. The hasExtemesChanged helps to
19933
+ // decide if the data grouping should be skipped in the further
19934
+ // calculations #16319.
19948
19935
  fireEvent(this, 'postProcessData', { hasExtemesChanged: hasExtemesChanged_1 });
19949
19936
  }
19950
19937
  // set the translation factor used in translate function
@@ -19989,7 +19976,7 @@
19989
19976
  * @private
19990
19977
  * @function Highcharts.Axis#setTickPositions
19991
19978
  *
19992
- * @fires Highcharts.Axis#event:afterSetTickPositions
19979
+ * @emits Highcharts.Axis#event:afterSetTickPositions
19993
19980
  */
19994
19981
  Axis.prototype.setTickPositions = function () {
19995
19982
  var axis = this,
@@ -19998,8 +19985,8 @@
19998
19985
  minorTickIntervalOption = this.getMinorTickInterval(),
19999
19986
  hasVerticalPanning = this.hasVerticalPanning(),
20000
19987
  isColorAxis = this.coll === 'colorAxis',
20001
- startOnTick = (isColorAxis || !hasVerticalPanning) && options.startOnTick,
20002
- endOnTick = (isColorAxis || !hasVerticalPanning) && options.endOnTick;
19988
+ startOnTick = ((isColorAxis || !hasVerticalPanning) && options.startOnTick),
19989
+ endOnTick = ((isColorAxis || !hasVerticalPanning) && options.endOnTick);
20003
19990
  var tickPositions,
20004
19991
  tickPositioner = options.tickPositioner;
20005
19992
  // Set the tickmarkOffset
@@ -20246,7 +20233,9 @@
20246
20233
  axis.softThreshold ? 0 : null);
20247
20234
  var len,
20248
20235
  i;
20249
- if (axis.hasData() && isNumber(axis.min) && isNumber(axis.max)) { // #14769
20236
+ if (axis.hasData() &&
20237
+ isNumber(axis.min) &&
20238
+ isNumber(axis.max)) { // #14769
20250
20239
  if (currentTickAmount < tickAmount) {
20251
20240
  while (tickPositions.length < tickAmount) {
20252
20241
  // Extend evenly for both sides unless we're on the
@@ -20298,7 +20287,7 @@
20298
20287
  * @private
20299
20288
  * @function Highcharts.Axis#setScale
20300
20289
  *
20301
- * @fires Highcharts.Axis#event:afterSetScale
20290
+ * @emits Highcharts.Axis#event:afterSetScale
20302
20291
  */
20303
20292
  Axis.prototype.setScale = function () {
20304
20293
  var axis = this;
@@ -20386,7 +20375,7 @@
20386
20375
  * @param {*} [eventArguments]
20387
20376
  * Arguments to be accessed in event handler.
20388
20377
  *
20389
- * @fires Highcharts.Axis#event:setExtremes
20378
+ * @emits Highcharts.Axis#event:setExtremes
20390
20379
  */
20391
20380
  Axis.prototype.setExtremes = function (newMin, newMax, redraw, animation, eventArguments) {
20392
20381
  var axis = this,
@@ -20416,14 +20405,6 @@
20416
20405
  *
20417
20406
  * @private
20418
20407
  * @function Highcharts.Axis#zoom
20419
- *
20420
- * @param {number} newMin
20421
- * TO-DO: parameter description
20422
- *
20423
- * @param {number} newMax
20424
- * TO-DO: parameter description
20425
- *
20426
- * @return {boolean}
20427
20408
  */
20428
20409
  Axis.prototype.zoom = function (newMin, newMax) {
20429
20410
  var axis = this,
@@ -20634,8 +20615,6 @@
20634
20615
  *
20635
20616
  * @private
20636
20617
  * @function Highcharts.Axis#labelMetrics
20637
- *
20638
- * @return {Highcharts.FontMetricsObject}
20639
20618
  */
20640
20619
  Axis.prototype.labelMetrics = function () {
20641
20620
  var index = this.tickPositions && this.tickPositions[0] || 0;
@@ -20648,8 +20627,6 @@
20648
20627
  *
20649
20628
  * @private
20650
20629
  * @function Highcharts.Axis#unsquish
20651
- *
20652
- * @return {number}
20653
20630
  */
20654
20631
  Axis.prototype.unsquish = function () {
20655
20632
  var labelOptions = this.options.labels,
@@ -21011,7 +20988,7 @@
21011
20988
  * @private
21012
20989
  * @function Highcharts.Axis#getOffset
21013
20990
  *
21014
- * @fires Highcharts.Axis#event:afterGetOffset
20991
+ * @emits Highcharts.Axis#event:afterGetOffset
21015
20992
  */
21016
20993
  Axis.prototype.getOffset = function () {
21017
20994
  var _this = this;
@@ -21338,7 +21315,7 @@
21338
21315
  * @private
21339
21316
  * @function Highcharts.Axis#render
21340
21317
  *
21341
- * @fires Highcharts.Axis#event:afterRender
21318
+ * @emits Highcharts.Axis#event:afterRender
21342
21319
  */
21343
21320
  Axis.prototype.render = function () {
21344
21321
  var axis = this,
@@ -21429,7 +21406,8 @@
21429
21406
  (options.plotLines || [])
21430
21407
  .concat(options.plotBands || [])
21431
21408
  .forEach(function (plotLineOptions) {
21432
- axis.addPlotBandOrLine(plotLineOptions);
21409
+ axis
21410
+ .addPlotBandOrLine(plotLineOptions);
21433
21411
  });
21434
21412
  }
21435
21413
  } // end if hasData
@@ -21529,8 +21507,6 @@
21529
21507
  *
21530
21508
  * @private
21531
21509
  * @function Highcharts.Axis#getKeepProps
21532
- *
21533
- * @return {Array<string>}
21534
21510
  */
21535
21511
  Axis.prototype.getKeepProps = function () {
21536
21512
  return (this.keepProps || Axis.keepProps);
@@ -21596,8 +21572,8 @@
21596
21572
  * @param {Highcharts.Point} [point]
21597
21573
  * The Point object if the crosshair snaps to points.
21598
21574
  *
21599
- * @fires Highcharts.Axis#event:afterDrawCrosshair
21600
- * @fires Highcharts.Axis#event:drawCrosshair
21575
+ * @emits Highcharts.Axis#event:afterDrawCrosshair
21576
+ * @emits Highcharts.Axis#event:drawCrosshair
21601
21577
  */
21602
21578
  Axis.prototype.drawCrosshair = function (e, point) {
21603
21579
  var options = this.crosshair,
@@ -21724,8 +21700,6 @@
21724
21700
  *
21725
21701
  * @private
21726
21702
  * @function Highcharts.Axis#hasVerticalPanning
21727
- *
21728
- * @return {boolean}
21729
21703
  */
21730
21704
  Axis.prototype.hasVerticalPanning = function () {
21731
21705
  var panningOptions = this.chart.options.chart.panning;
@@ -21741,8 +21715,6 @@
21741
21715
  *
21742
21716
  * @param {unknown} value
21743
21717
  * The axis value
21744
- *
21745
- * @return {boolean}
21746
21718
  */
21747
21719
  Axis.prototype.validatePositiveValue = function (value) {
21748
21720
  return isNumber(value) && value > 0;
@@ -21852,7 +21824,14 @@
21852
21824
  Axis.defaultOptions = AxisDefaults.defaultXAxisOptions;
21853
21825
  // Properties to survive after destroy, needed for Axis.update (#4317,
21854
21826
  // #5773, #5881).
21855
- Axis.keepProps = ['extKey', 'hcEvents', 'names', 'series', 'userMax', 'userMin'];
21827
+ Axis.keepProps = [
21828
+ 'extKey',
21829
+ 'hcEvents',
21830
+ 'names',
21831
+ 'series',
21832
+ 'userMax',
21833
+ 'userMin'
21834
+ ];
21856
21835
  return Axis;
21857
21836
  }());
21858
21837
  /* *
@@ -22153,19 +22132,12 @@
22153
22132
  *
22154
22133
  * @private
22155
22134
  * @function Highcharts.Axis#getTimeTicks
22156
- *
22157
22135
  * @param {Highcharts.TimeNormalizeObject} normalizedInterval
22158
22136
  * The interval in axis values (ms) and thecount.
22159
- *
22160
22137
  * @param {number} min
22161
22138
  * The minimum in axis values.
22162
- *
22163
22139
  * @param {number} max
22164
22140
  * The maximum in axis values.
22165
- *
22166
- * @param {number} startOfWeek
22167
- *
22168
- * @return {Highcharts.AxisTickPositionsArray}
22169
22141
  */
22170
22142
  function getTimeTicks() {
22171
22143
  return this.chart.time.getTimeTicks.apply(this.chart.time, arguments);
@@ -22215,8 +22187,10 @@
22215
22187
  */
22216
22188
  Additions.prototype.normalizeTimeTickInterval = function (tickInterval, unitsOption) {
22217
22189
  var units = (unitsOption || [[
22190
+ // unit name
22218
22191
  'millisecond',
22219
- [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
22192
+ // allowed multiples
22193
+ [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]
22220
22194
  ],
22221
22195
  [
22222
22196
  'second',
@@ -22289,12 +22263,6 @@
22289
22263
  * point range on the axis.
22290
22264
  *
22291
22265
  * @private
22292
- *
22293
- * @param {number} x
22294
- *
22295
- * @param {Highcharts.Dictionary<string>} dateTimeLabelFormats
22296
- *
22297
- * @return {string}
22298
22266
  */
22299
22267
  Additions.prototype.getXDateFormat = function (x, dateTimeLabelFormats) {
22300
22268
  var axis = this.axis;
@@ -22721,13 +22689,8 @@
22721
22689
  *
22722
22690
  * @private
22723
22691
  * @function Highcharts.Axis#addPlotBandOrLine
22724
- *
22725
22692
  * @param {Highcharts.AxisPlotBandsOptions|Highcharts.AxisPlotLinesOptions} options
22726
22693
  * The plotBand or plotLine configuration object.
22727
- *
22728
- * @param {"plotBands"|"plotLines"} [coll]
22729
- *
22730
- * @return {Highcharts.PlotLineOrBand|undefined}
22731
22694
  */
22732
22695
  Additions.prototype.addPlotBandOrLine = function (options, coll) {
22733
22696
  var _this = this;
@@ -23870,8 +23833,6 @@
23870
23833
  *
23871
23834
  * @private
23872
23835
  * @function Highcharts.Tooltip#bodyFormatter
23873
- * @param {Array<(Highcharts.Point|Highcharts.Series)>} items
23874
- * @return {Array<string>}
23875
23836
  */
23876
23837
  Tooltip.prototype.bodyFormatter = function (items) {
23877
23838
  return items.map(function (item) {
@@ -23888,7 +23849,7 @@
23888
23849
  * @function Highcharts.Tooltip#cleanSplit
23889
23850
  *
23890
23851
  * @param {boolean} [force]
23891
- * Force destroy all tooltips.
23852
+ * Force destroy all tooltips.
23892
23853
  */
23893
23854
  Tooltip.prototype.cleanSplit = function (force) {
23894
23855
  this.chart.series.forEach(function (series) {
@@ -23908,10 +23869,6 @@
23908
23869
  * the context here is an object holding point, series, x, y etc.
23909
23870
  *
23910
23871
  * @function Highcharts.Tooltip#defaultFormatter
23911
- *
23912
- * @param {Highcharts.Tooltip} tooltip
23913
- *
23914
- * @return {Array<string>}
23915
23872
  */
23916
23873
  Tooltip.prototype.defaultFormatter = function (tooltip) {
23917
23874
  var items = this.points || splat(this);
@@ -23951,12 +23908,6 @@
23951
23908
  *
23952
23909
  * @private
23953
23910
  * @function Highcharts.Tooltip#getAnchor
23954
- *
23955
- * @param {Highcharts.Point|Array<Highcharts.Point>} points
23956
- *
23957
- * @param {Highcharts.PointerEventObject} [mouseEvent]
23958
- *
23959
- * @return {Array<number>}
23960
23911
  */
23961
23912
  Tooltip.prototype.getAnchor = function (points, mouseEvent) {
23962
23913
  var chart = this.chart,
@@ -24001,8 +23952,8 @@
24001
23952
  plotY += yAxis.pos - plotTop;
24002
23953
  }
24003
23954
  else { // #14771
24004
- plotX += plotTop + chart.plotHeight - xAxis.len - xAxis.pos;
24005
- plotY += plotLeft + chart.plotWidth - yAxis.len - yAxis.pos;
23955
+ plotX += (plotTop + chart.plotHeight - xAxis.len - xAxis.pos);
23956
+ plotY += (plotLeft + chart.plotWidth - yAxis.len - yAxis.pos);
24006
23957
  }
24007
23958
  }
24008
23959
  });
@@ -24031,6 +23982,7 @@
24031
23982
  * @function Highcharts.Tooltip#getLabel
24032
23983
  *
24033
23984
  * @return {Highcharts.SVGElement}
23985
+ * Tooltip label
24034
23986
  */
24035
23987
  Tooltip.prototype.getLabel = function () {
24036
23988
  var tooltip = this,
@@ -24041,7 +23993,8 @@
24041
23993
  ' ' + options.className :
24042
23994
  '')),
24043
23995
  pointerEvents = (options.style.pointerEvents ||
24044
- (!this.followPointer && options.stickOnContact ? 'auto' : 'none')),
23996
+ (!this.followPointer &&
23997
+ options.stickOnContact ? 'auto' : 'none')),
24045
23998
  onMouseEnter = function () {
24046
23999
  tooltip.inContact = true;
24047
24000
  }, onMouseLeave = function (e) {
@@ -24157,14 +24110,6 @@
24157
24110
  *
24158
24111
  * @private
24159
24112
  * @function Highcharts.Tooltip#getPosition
24160
- *
24161
- * @param {number} boxWidth
24162
- *
24163
- * @param {number} boxHeight
24164
- *
24165
- * @param {Highcharts.Point} point
24166
- *
24167
- * @return {Highcharts.PositionObject}
24168
24113
  */
24169
24114
  Tooltip.prototype.getPosition = function (boxWidth, boxHeight, point) {
24170
24115
  var chart = this.chart,
@@ -24536,7 +24481,7 @@
24536
24481
  pointOrPoints.series &&
24537
24482
  pointOrPoints.series.noSharedTooltip);
24538
24483
  // get the reference point coordinates (pie charts use tooltipPos)
24539
- tooltip.followPointer = !tooltip.split && point.series.tooltipOptions.followPointer;
24484
+ tooltip.followPointer = (!tooltip.split && point.series.tooltipOptions.followPointer);
24540
24485
  var anchor = tooltip.getAnchor(pointOrPoints,
24541
24486
  mouseEvent),
24542
24487
  x = anchor[0],
@@ -24670,9 +24615,10 @@
24670
24615
  options = tooltip.options,
24671
24616
  positioner = tooltip.options.positioner;
24672
24617
  // The area which the tooltip should be limited to. Limit to scrollable
24673
- // plot area if enabled, otherwise limit to the chart container.
24674
- // If outside is true it should be the whole viewport
24675
- var bounds = tooltip.outside && typeof scrollablePixelsX !== 'number' ?
24618
+ // plot area if enabled, otherwise limit to the chart container. If
24619
+ // outside is true it should be the whole viewport
24620
+ var bounds = (tooltip.outside &&
24621
+ typeof scrollablePixelsX !== 'number') ?
24676
24622
  doc.documentElement.getBoundingClientRect() : {
24677
24623
  left: scrollLeft,
24678
24624
  right: scrollLeft + chartWidth,
@@ -24693,7 +24639,7 @@
24693
24639
  *
24694
24640
  * @private
24695
24641
  * @param {Highcharts.Point} point The point related to the tooltip
24696
- * @return {object} Returns an object with anchorX and anchorY
24642
+ * @return {Object} Returns an object with anchorX and anchorY
24697
24643
  */
24698
24644
  function getAnchor(point) {
24699
24645
  var isHeader = point.isHeader,
@@ -24885,13 +24831,14 @@
24885
24831
  }
24886
24832
  return boxes;
24887
24833
  }, []);
24888
- // Realign the tooltips towards the right if there is not enough
24889
- // space to the left and there is space to to the right
24834
+ // Realign the tooltips towards the right if there is not enough space
24835
+ // to the left and there is space to to the right
24890
24836
  if (!positioner && boxes.some(function (box) {
24891
24837
  // Always realign if the beginning of a label is outside bounds
24892
24838
  var outside = tooltip.outside;
24893
24839
  var boxStart = (outside ? chartLeft : 0) + box.anchorX;
24894
- if (boxStart < bounds.left && boxStart + box.boxWidth < bounds.right) {
24840
+ if (boxStart < bounds.left &&
24841
+ boxStart + box.boxWidth < bounds.right) {
24895
24842
  return true;
24896
24843
  }
24897
24844
  // Otherwise, check if there is more space available to the right
@@ -24929,7 +24876,9 @@
24929
24876
  if (tooltip.outside && chartLeft + x < boxExtremes.left) {
24930
24877
  boxExtremes.left = chartLeft + x;
24931
24878
  }
24932
- if (!isHeader && tooltip.outside && boxExtremes.left + boxWidth > boxExtremes.right) {
24879
+ if (!isHeader &&
24880
+ tooltip.outside &&
24881
+ boxExtremes.left + boxWidth > boxExtremes.right) {
24933
24882
  boxExtremes.right = chartLeft + x;
24934
24883
  }
24935
24884
  }
@@ -25063,9 +25012,6 @@
25063
25012
  *
25064
25013
  * @private
25065
25014
  * @function Highcharts.Tooltip#tooltipFooterHeaderFormatter
25066
- * @param {Highcharts.PointLabelObject} labelConfig
25067
- * @param {boolean} [isFooter]
25068
- * @return {string}
25069
25015
  */
25070
25016
  Tooltip.prototype.tooltipFooterHeaderFormatter = function (labelConfig, isFooter) {
25071
25017
  var series = labelConfig.series,
@@ -25474,7 +25420,9 @@
25474
25420
  options = Point.prototype.optionsToObject.call(this, options);
25475
25421
  // copy options directly to point
25476
25422
  extend(point, options);
25477
- point.options = point.options ? extend(point.options, options) : options;
25423
+ point.options = point.options ?
25424
+ extend(point.options, options) :
25425
+ options;
25478
25426
  // Since options are copied into the Point instance, some accidental
25479
25427
  // options must be shielded (#5681)
25480
25428
  if (options.group) {
@@ -25616,7 +25564,7 @@
25616
25564
  * @param {Highcharts.EventCallbackFunction<Highcharts.Point>|Function} [defaultFunction]
25617
25565
  * Default event handler.
25618
25566
  *
25619
- * @fires Highcharts.Point#event:*
25567
+ * @emits Highcharts.Point#event:*
25620
25568
  */
25621
25569
  Point.prototype.firePointEvent = function (eventType, eventArgs, defaultFunction) {
25622
25570
  var point = this,
@@ -25667,8 +25615,6 @@
25667
25615
  *
25668
25616
  * @private
25669
25617
  * @function Highcharts.Point#getGraphicalProps
25670
- * @param {Highcharts.Dictionary<number>} [kinds]
25671
- * @return {Highcharts.PointGraphicalProps}
25672
25618
  */
25673
25619
  Point.prototype.getGraphicalProps = function (kinds) {
25674
25620
  var point = this,
@@ -25767,8 +25713,7 @@
25767
25713
  /**
25768
25714
  * Utility to check if point has new shape type. Used in column series and
25769
25715
  * all others that are based on column series.
25770
- *
25771
- * @return boolean|undefined
25716
+ * @private
25772
25717
  */
25773
25718
  Point.prototype.hasNewShapeType = function () {
25774
25719
  var point = this;
@@ -25794,7 +25739,7 @@
25794
25739
  * @return {Highcharts.Point}
25795
25740
  * The Point instance.
25796
25741
  *
25797
- * @fires Highcharts.Point#event:afterInit
25742
+ * @emits Highcharts.Point#event:afterInit
25798
25743
  */
25799
25744
  Point.prototype.init = function (series, options, x) {
25800
25745
  this.series = series;
@@ -25880,7 +25825,6 @@
25880
25825
  /**
25881
25826
  * @private
25882
25827
  * @function Highcharts.Point#resolveColor
25883
- * @return {void}
25884
25828
  */
25885
25829
  Point.prototype.resolveColor = function () {
25886
25830
  var series = this.series,
@@ -26015,7 +25959,7 @@
26015
25959
  * Whether to apply animation, and optionally animation
26016
25960
  * configuration.
26017
25961
  *
26018
- * @fires Highcharts.Point#event:update
25962
+ * @emits Highcharts.Point#event:update
26019
25963
  */
26020
25964
  Point.prototype.update = function (options, redraw, animation, runEvent) {
26021
25965
  var point = this,
@@ -26033,7 +25977,9 @@
26033
25977
  // Update visuals, #4146
26034
25978
  // Handle dummy graphic elements for a11y, #12718
26035
25979
  var hasDummyGraphic = graphic && point.hasDummyGraphic;
26036
- var shouldDestroyGraphic = point.y === null ? !hasDummyGraphic : hasDummyGraphic;
25980
+ var shouldDestroyGraphic = point.y === null ?
25981
+ !hasDummyGraphic :
25982
+ hasDummyGraphic;
26037
25983
  if (graphic && shouldDestroyGraphic) {
26038
25984
  point.graphic = graphic.destroy();
26039
25985
  delete point.hasDummyGraphic;
@@ -26136,8 +26082,8 @@
26136
26082
  * is `true`, selected points are accumulated on Control, Shift or Cmd
26137
26083
  * clicking the point.
26138
26084
  *
26139
- * @fires Highcharts.Point#event:select
26140
- * @fires Highcharts.Point#event:unselect
26085
+ * @emits Highcharts.Point#event:select
26086
+ * @emits Highcharts.Point#event:unselect
26141
26087
  */
26142
26088
  Point.prototype.select = function (selected, accumulate) {
26143
26089
  var point = this,
@@ -26206,7 +26152,7 @@
26206
26152
  * events.
26207
26153
  *
26208
26154
  * @function Highcharts.Point#onMouseOut
26209
- * @fires Highcharts.Point#event:mouseOut
26155
+ * @emits Highcharts.Point#event:mouseOut
26210
26156
  */
26211
26157
  Point.prototype.onMouseOut = function () {
26212
26158
  var point = this,
@@ -26253,7 +26199,7 @@
26253
26199
  * @param {boolean} [move]
26254
26200
  * State for animation.
26255
26201
  *
26256
- * @fires Highcharts.Point#event:afterSetState
26202
+ * @emits Highcharts.Point#event:afterSetState
26257
26203
  */
26258
26204
  Point.prototype.setState = function (state, move) {
26259
26205
  var point = this,
@@ -26314,8 +26260,9 @@
26314
26260
  pointAttribs = series.pointAttribs(point, state);
26315
26261
  pointAttribsAnimation = pick(chart.options.chart.animation, stateOptions.animation);
26316
26262
  // Some inactive points (e.g. slices in pie) should apply
26317
- // oppacity also for it's labels
26318
- if (series.options.inactiveOtherPoints && isNumber(pointAttribs.opacity)) {
26263
+ // opacity also for their labels
26264
+ if (series.options.inactiveOtherPoints &&
26265
+ isNumber(pointAttribs.opacity)) {
26319
26266
  (point.dataLabels || []).forEach(function (label) {
26320
26267
  if (label) {
26321
26268
  label.animate({
@@ -26776,7 +26723,7 @@
26776
26723
  Pointer.unbindDocumentMouseUp = Pointer.unbindDocumentMouseUp();
26777
26724
  }
26778
26725
  if (Pointer.unbindDocumentTouchEnd) {
26779
- Pointer.unbindDocumentTouchEnd = Pointer.unbindDocumentTouchEnd();
26726
+ Pointer.unbindDocumentTouchEnd = (Pointer.unbindDocumentTouchEnd());
26780
26727
  }
26781
26728
  }
26782
26729
  // memory and CPU leak
@@ -27129,6 +27076,7 @@
27129
27076
  * Pointer event, extended with `chartX` and `chartY` properties.
27130
27077
  *
27131
27078
  * @return {Highcharts.PointerAxisCoordinatesObject}
27079
+ * Axis coordinates.
27132
27080
  */
27133
27081
  Pointer.prototype.getCoordinates = function (e) {
27134
27082
  var coordinates = {
@@ -27167,7 +27115,7 @@
27167
27115
  * @param {Highcharts.PointerEventObject} [e]
27168
27116
  * The triggering event, containing chart coordinates of the pointer.
27169
27117
  *
27170
- * @return {object}
27118
+ * @return {Object}
27171
27119
  * Object containing resulting hover data: hoverPoint, hoverSeries, and
27172
27120
  * hoverPoints.
27173
27121
  */
@@ -27464,9 +27412,8 @@
27464
27412
  // Also reset the chart position, used in #149 fix
27465
27413
  chart.pointer.chartPosition = void 0;
27466
27414
  }
27467
- if ( // #11635, Firefox wheel scroll does not fire out events consistently
27468
- tooltip &&
27469
- !tooltip.isHidden) {
27415
+ // #11635, Firefox wheel scroll does not fire out events consistently
27416
+ if (tooltip && !tooltip.isHidden) {
27470
27417
  this.reset();
27471
27418
  }
27472
27419
  };
@@ -27613,7 +27560,10 @@
27613
27560
  }
27614
27561
  // On touch devices, only proceed to trigger click if a handler is
27615
27562
  // defined
27616
- if (hasZoom && self.initiated && !fireClickEvent && e.cancelable !== false) {
27563
+ if (hasZoom &&
27564
+ self.initiated &&
27565
+ !fireClickEvent &&
27566
+ e.cancelable !== false) {
27617
27567
  e.preventDefault();
27618
27568
  }
27619
27569
  // Normalize each touch
@@ -27754,7 +27704,8 @@
27754
27704
  clip[xy] = clipXY - plotLeftTop;
27755
27705
  clip[wh] = selectionWH;
27756
27706
  }
27757
- var scaleKey = inverted ? (horiz ? 'scaleY' : 'scaleX') : 'scale' + XY;
27707
+ var scaleKey = inverted ?
27708
+ (horiz ? 'scaleY' : 'scaleX') : 'scale' + XY;
27758
27709
  var transformScale = inverted ? 1 / scale : scale;
27759
27710
  selectionMarker[wh] = selectionWH;
27760
27711
  selectionMarker[xy] = selectionXY;
@@ -27857,8 +27808,8 @@
27857
27808
  * @private
27858
27809
  * @function Highcharts.Pointer#runPointActions
27859
27810
  *
27860
- * @fires Highcharts.Point#event:mouseOut
27861
- * @fires Highcharts.Point#event:mouseOver
27811
+ * @emits Highcharts.Point#event:mouseOut
27812
+ * @emits Highcharts.Point#event:mouseOver
27862
27813
  */
27863
27814
  Pointer.prototype.runPointActions = function (e, p) {
27864
27815
  var pointer = this,
@@ -28611,7 +28562,8 @@
28611
28562
  this.symbolWidth = pick(options.symbolWidth, 16);
28612
28563
  this.pages = [];
28613
28564
  this.proximate = options.layout === 'proximate' && !this.chart.inverted;
28614
- this.baseline = void 0; // #12705: baseline has to be reset on every update
28565
+ // #12705: baseline has to be reset on every update
28566
+ this.baseline = void 0;
28615
28567
  };
28616
28568
  /**
28617
28569
  * Update the legend with new options. Equivalent to running `chart.update`
@@ -28630,7 +28582,7 @@
28630
28582
  * operations on the chart, it is a good idea to set redraw to false and
28631
28583
  * call {@link Chart#redraw} after. Whether to redraw the chart.
28632
28584
  *
28633
- * @fires Highcharts.Legends#event:afterUpdate
28585
+ * @emits Highcharts.Legends#event:afterUpdate
28634
28586
  */
28635
28587
  Legend.prototype.update = function (options, redraw) {
28636
28588
  var chart = this.chart;
@@ -28780,8 +28732,7 @@
28780
28732
  /**
28781
28733
  * @private
28782
28734
  * @param {string} key
28783
- * @return {void}
28784
- */
28735
+ */
28785
28736
  function destroyItems(key) {
28786
28737
  if (this[key]) {
28787
28738
  this[key] = this[key].destroy();
@@ -28998,13 +28949,16 @@
28998
28949
  legend.setText(item);
28999
28950
  // calculate the positions for the next line
29000
28951
  var bBox = li.getBBox();
28952
+ var fontMetricsH = (legend.fontMetrics && legend.fontMetrics.h) || 0;
29001
28953
  item.itemWidth = item.checkboxOffset =
29002
28954
  options.itemWidth ||
29003
28955
  item.legendItemWidth ||
29004
28956
  bBox.width + itemExtraWidth;
29005
28957
  legend.maxItemWidth = Math.max(legend.maxItemWidth, item.itemWidth);
29006
28958
  legend.totalItemWidth += item.itemWidth;
29007
- legend.itemHeight = item.itemHeight = Math.round(item.legendItemHeight || bBox.height || legend.symbolHeight);
28959
+ legend.itemHeight = item.itemHeight = Math.round(item.legendItemHeight ||
28960
+ // use bBox for multiline (#16398)
28961
+ (bBox.height > fontMetricsH * 1.5 ? bBox.height : fontMetricsH));
29008
28962
  };
29009
28963
  /**
29010
28964
  * Get the position of the item in the layout. We now know the
@@ -29068,7 +29022,7 @@
29068
29022
  * @function Highcharts.Legend#getAllItems
29069
29023
  * @return {Array<(Highcharts.BubbleLegendItem|Highcharts.Point|Highcharts.Series)>}
29070
29024
  * The current items in the legend.
29071
- * @fires Highcharts.Legend#event:afterGetAllItems
29025
+ * @emits Highcharts.Legend#event:afterGetAllItems
29072
29026
  */
29073
29027
  Legend.prototype.getAllItems = function () {
29074
29028
  var allItems = [];
@@ -29338,7 +29292,6 @@
29338
29292
  * @private
29339
29293
  * @function Highcharts.align
29340
29294
  * @param {Highcharts.BBoxObject} alignTo
29341
- * @return {void}
29342
29295
  */
29343
29296
  Legend.prototype.align = function (alignTo) {
29344
29297
  if (alignTo === void 0) { alignTo = this.chart.spacingBox; }
@@ -29370,8 +29323,6 @@
29370
29323
  *
29371
29324
  * @private
29372
29325
  * @function Highcharts.Legend#handleOverflow
29373
- * @param {number} legendHeight
29374
- * @return {number}
29375
29326
  */
29376
29327
  Legend.prototype.handleOverflow = function (legendHeight) {
29377
29328
  var legend = this,
@@ -29532,7 +29483,6 @@
29532
29483
  * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]
29533
29484
  * Whether and how to apply animation.
29534
29485
  *
29535
- * @return {void}
29536
29486
  */
29537
29487
  Legend.prototype.scroll = function (scrollBy, animation) {
29538
29488
  var _this = this;
@@ -29621,8 +29571,8 @@
29621
29571
  * @param {Highcharts.BubbleLegendItem|Point|Highcharts.Series} item
29622
29572
  * @param {Highcharts.SVGElement} legendItem
29623
29573
  * @param {boolean} [useHTML=false]
29624
- * @fires Highcharts.Point#event:legendItemClick
29625
- * @fires Highcharts.Series#event:legendItemClick
29574
+ * @emits Highcharts.Point#event:legendItemClick
29575
+ * @emits Highcharts.Series#event:legendItemClick
29626
29576
  */
29627
29577
  Legend.prototype.setItemEvents = function (item, legendItem, useHTML) {
29628
29578
  var legend = this,
@@ -29712,7 +29662,7 @@
29712
29662
  * @private
29713
29663
  * @function Highcharts.Legend#createCheckboxForItem
29714
29664
  * @param {Highcharts.BubbleLegendItem|Point|Highcharts.Series} item
29715
- * @fires Highcharts.Series#event:checkboxClick
29665
+ * @emits Highcharts.Series#event:checkboxClick
29716
29666
  */
29717
29667
  Legend.prototype.createCheckboxForItem = function (item) {
29718
29668
  var legend = this;
@@ -30141,8 +30091,8 @@
30141
30091
  * @param {...Array<*>} arguments
30142
30092
  * All arguments for the constructor.
30143
30093
  *
30144
- * @fires Highcharts.Chart#event:init
30145
- * @fires Highcharts.Chart#event:afterInit
30094
+ * @emits Highcharts.Chart#event:init
30095
+ * @emits Highcharts.Chart#event:afterInit
30146
30096
  */
30147
30097
  Chart.prototype.getArgs = function (a, b, c) {
30148
30098
  // Remove the optional first argument, renderTo, and
@@ -30168,10 +30118,9 @@
30168
30118
  * Function to run when the chart has loaded and and all external
30169
30119
  * images are loaded.
30170
30120
  *
30171
- * @return {void}
30172
30121
  *
30173
- * @fires Highcharts.Chart#event:init
30174
- * @fires Highcharts.Chart#event:afterInit
30122
+ * @emits Highcharts.Chart#event:init
30123
+ * @emits Highcharts.Chart#event:afterInit
30175
30124
  */
30176
30125
  Chart.prototype.init = function (userOptions, callback) {
30177
30126
  // Handle regular options
@@ -30349,7 +30298,6 @@
30349
30298
  *
30350
30299
  * @private
30351
30300
  * @function Highcharts.Series#getSeriesOrderByLinks
30352
- * @return {Array<Highcharts.Series>}
30353
30301
  */
30354
30302
  Chart.prototype.getSeriesOrderByLinks = function () {
30355
30303
  return this.series.concat().sort(function (a, b) {
@@ -30430,7 +30378,8 @@
30430
30378
  pos: plotLeft,
30431
30379
  len: Infinity
30432
30380
  };
30433
- var chartX = options.paneCoordinates ? xAxis.pos + x : plotLeft + x;
30381
+ var chartX = options.paneCoordinates ?
30382
+ xAxis.pos + x : plotLeft + x;
30434
30383
  if (!(chartX >= Math.max(scrollLeft + plotLeft, xAxis.pos) &&
30435
30384
  chartX <= Math.min(scrollLeft + plotLeft + box.width, xAxis.pos + xAxis.len))) {
30436
30385
  e.isInsidePlot = false;
@@ -30441,7 +30390,8 @@
30441
30390
  pos: plotTop,
30442
30391
  len: Infinity
30443
30392
  };
30444
- var chartY = options.paneCoordinates ? yAxis.pos + y : plotTop + y;
30393
+ var chartY = options.paneCoordinates ?
30394
+ yAxis.pos + y : plotTop + y;
30445
30395
  if (!(chartY >= Math.max(scrollTop + plotTop, yAxis.pos) &&
30446
30396
  chartY <= Math.min(scrollTop + plotTop + box.height, yAxis.pos + yAxis.len))) {
30447
30397
  e.isInsidePlot = false;
@@ -30464,12 +30414,12 @@
30464
30414
  * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]
30465
30415
  * If or how to apply animation to the redraw.
30466
30416
  *
30467
- * @fires Highcharts.Chart#event:afterSetExtremes
30468
- * @fires Highcharts.Chart#event:beforeRedraw
30469
- * @fires Highcharts.Chart#event:predraw
30470
- * @fires Highcharts.Chart#event:redraw
30471
- * @fires Highcharts.Chart#event:render
30472
- * @fires Highcharts.Chart#event:updatedData
30417
+ * @emits Highcharts.Chart#event:afterSetExtremes
30418
+ * @emits Highcharts.Chart#event:beforeRedraw
30419
+ * @emits Highcharts.Chart#event:predraw
30420
+ * @emits Highcharts.Chart#event:redraw
30421
+ * @emits Highcharts.Chart#event:render
30422
+ * @emits Highcharts.Chart#event:updatedData
30473
30423
  */
30474
30424
  Chart.prototype.redraw = function (animation) {
30475
30425
  fireEvent(this, 'beforeRedraw');
@@ -30631,8 +30581,6 @@
30631
30581
  var series = this.series;
30632
30582
  /**
30633
30583
  * @private
30634
- * @param {Highcharts.Axis|Highcharts.Series} item
30635
- * @return {boolean}
30636
30584
  */
30637
30585
  function itemById(item) {
30638
30586
  return (item.id === id ||
@@ -30656,8 +30604,8 @@
30656
30604
  *
30657
30605
  * @private
30658
30606
  * @function Highcharts.Chart#getAxes
30659
- * @fires Highcharts.Chart#event:afterGetAxes
30660
- * @fires Highcharts.Chart#event:getAxes
30607
+ * @emits Highcharts.Chart#event:afterGetAxes
30608
+ * @emits Highcharts.Chart#event:getAxes
30661
30609
  */
30662
30610
  Chart.prototype.getAxes = function () {
30663
30611
  var chart = this,
@@ -30839,7 +30787,7 @@
30839
30787
  * @function Highcharts.Chart#layOutTitles
30840
30788
  *
30841
30789
  * @param {boolean} [redraw=true]
30842
- * @fires Highcharts.Chart#event:afterLayOutTitles
30790
+ * @emits Highcharts.Chart#event:afterLayOutTitles
30843
30791
  */
30844
30792
  Chart.prototype.layOutTitles = function (redraw) {
30845
30793
  var titleOffset = [0, 0, 0],
@@ -30847,7 +30795,7 @@
30847
30795
  spacingBox = this.spacingBox;
30848
30796
  // Lay out the title and the subtitle respectively
30849
30797
  ['title', 'subtitle', 'caption'].forEach(function (key) {
30850
- var title = this[key], titleOptions = this.options[key], verticalAlign = titleOptions.verticalAlign || 'top', offset = key === 'title' ?
30798
+ var title = this[key], titleOptions = (this.options[key]), verticalAlign = titleOptions.verticalAlign || 'top', offset = key === 'title' ?
30851
30799
  verticalAlign === 'top' ? -3 : 0 :
30852
30800
  // Floating subtitle (#6574)
30853
30801
  verticalAlign === 'top' ? titleOffset[0] + 2 : 0;
@@ -30855,7 +30803,8 @@
30855
30803
  height;
30856
30804
  if (title) {
30857
30805
  if (!this.styledMode) {
30858
- titleSize = titleOptions.style && titleOptions.style.fontSize;
30806
+ titleSize = (titleOptions.style &&
30807
+ titleOptions.style.fontSize);
30859
30808
  }
30860
30809
  titleSize = renderer.fontMetrics(titleSize, title).b;
30861
30810
  title
@@ -31030,7 +30979,7 @@
31030
30979
  *
31031
30980
  * @private
31032
30981
  * @function Highcharts.Chart#afterGetContainer
31033
- * @fires Highcharts.Chart#event:afterGetContainer
30982
+ * @emits Highcharts.Chart#event:afterGetContainer
31034
30983
  */
31035
30984
  Chart.prototype.getContainer = function () {
31036
30985
  var chart = this,
@@ -31067,7 +31016,7 @@
31067
31016
  // Make a reference to the chart from the div
31068
31017
  attr(renderTo, indexAttrName, chart.index);
31069
31018
  // remove previous chart
31070
- renderTo.innerHTML = '';
31019
+ renderTo.innerHTML = AST.emptyHTML;
31071
31020
  // If the container doesn't have an offsetWidth, it has or is a child of
31072
31021
  // a node that has display:none. We need to temporarily move it out to a
31073
31022
  // visible state to determine the size, else the legend and tooltips
@@ -31152,7 +31101,7 @@
31152
31101
  *
31153
31102
  * @private
31154
31103
  * @function Highcharts.Chart#getMargins
31155
- * @fires Highcharts.Chart#event:getMargins
31104
+ * @emits Highcharts.Chart#event:getMargins
31156
31105
  */
31157
31106
  Chart.prototype.getMargins = function (skipAxes) {
31158
31107
  var _a = this,
@@ -31318,10 +31267,9 @@
31318
31267
  * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation=true]
31319
31268
  * Whether and how to apply animation.
31320
31269
  *
31321
- * @return {void}
31322
31270
  *
31323
- * @fires Highcharts.Chart#event:endResize
31324
- * @fires Highcharts.Chart#event:resize
31271
+ * @emits Highcharts.Chart#event:endResize
31272
+ * @emits Highcharts.Chart#event:resize
31325
31273
  */
31326
31274
  Chart.prototype.setSize = function (width, height, animation) {
31327
31275
  var chart = this,
@@ -31378,7 +31326,7 @@
31378
31326
  *
31379
31327
  * @private
31380
31328
  * @function Highcharts.Chart#setChartSize
31381
- * @fires Highcharts.Chart#event:afterSetChartSize
31329
+ * @emits Highcharts.Chart#event:afterSetChartSize
31382
31330
  */
31383
31331
  Chart.prototype.setChartSize = function (skipAxes) {
31384
31332
  var chart = this,
@@ -31501,7 +31449,7 @@
31501
31449
  *
31502
31450
  * @private
31503
31451
  * @function Highcharts.Chart#drawChartBox
31504
- * @fires Highcharts.Chart#event:afterDrawChartBox
31452
+ * @emits Highcharts.Chart#event:afterDrawChartBox
31505
31453
  */
31506
31454
  Chart.prototype.drawChartBox = function () {
31507
31455
  var chart = this,
@@ -31635,7 +31583,6 @@
31635
31583
  *
31636
31584
  * @private
31637
31585
  * @function Highcharts.Chart#propFromSeries
31638
- * @return {void}
31639
31586
  */
31640
31587
  Chart.prototype.propFromSeries = function () {
31641
31588
  var chart = this,
@@ -31679,7 +31626,7 @@
31679
31626
  *
31680
31627
  * @private
31681
31628
  * @function Highcharts.Chart#linkSeries
31682
- * @fires Highcharts.Chart#event:afterLinkSeries
31629
+ * @emits Highcharts.Chart#event:afterLinkSeries
31683
31630
  */
31684
31631
  Chart.prototype.linkSeries = function () {
31685
31632
  var chart = this,
@@ -31907,7 +31854,7 @@
31907
31854
  *
31908
31855
  * @function Highcharts.Chart#destroy
31909
31856
  *
31910
- * @fires Highcharts.Chart#event:destroy
31857
+ * @emits Highcharts.Chart#event:destroy
31911
31858
  */
31912
31859
  Chart.prototype.destroy = function () {
31913
31860
  var chart = this,
@@ -31959,7 +31906,7 @@
31959
31906
  // Remove container and all SVG, check container as it can break in IE
31960
31907
  // when destroyed before finished loading
31961
31908
  if (container) {
31962
- container.innerHTML = '';
31909
+ container.innerHTML = AST.emptyHTML;
31963
31910
  removeEvent(container);
31964
31911
  if (parentNode) {
31965
31912
  discardElement(container);
@@ -31975,7 +31922,7 @@
31975
31922
  *
31976
31923
  * @private
31977
31924
  * @function Highcharts.Chart#firstRender
31978
- * @fires Highcharts.Chart#event:beforeRender
31925
+ * @emits Highcharts.Chart#event:beforeRender
31979
31926
  */
31980
31927
  Chart.prototype.firstRender = function () {
31981
31928
  var chart = this,
@@ -32039,8 +31986,8 @@
32039
31986
  *
32040
31987
  * @private
32041
31988
  * @function Highcharts.Chart#onload
32042
- * @fires Highcharts.Chart#event:load
32043
- * @fires Highcharts.Chart#event:render
31989
+ * @emits Highcharts.Chart#event:load
31990
+ * @emits Highcharts.Chart#event:render
32044
31991
  */
32045
31992
  Chart.prototype.onload = function () {
32046
31993
  // Run callbacks, first the ones registered by modules, then user's one
@@ -32086,8 +32033,8 @@
32086
32033
  * @return {Highcharts.Series}
32087
32034
  * The newly created series object.
32088
32035
  *
32089
- * @fires Highcharts.Chart#event:addSeries
32090
- * @fires Highcharts.Chart#event:afterAddSeries
32036
+ * @emits Highcharts.Chart#event:addSeries
32037
+ * @emits Highcharts.Chart#event:afterAddSeries
32091
32038
  */
32092
32039
  Chart.prototype.addSeries = function (options, redraw, animation) {
32093
32040
  var chart = this;
@@ -32346,8 +32293,8 @@
32346
32293
  * Whether to apply animation, and optionally animation
32347
32294
  * configuration.
32348
32295
  *
32349
- * @fires Highcharts.Chart#event:update
32350
- * @fires Highcharts.Chart#event:afterUpdate
32296
+ * @emits Highcharts.Chart#event:update
32297
+ * @emits Highcharts.Chart#event:afterUpdate
32351
32298
  */
32352
32299
  Chart.prototype.update = function (options, redraw, oneToOne, animation) {
32353
32300
  var chart = this,
@@ -32615,8 +32562,8 @@
32615
32562
  *
32616
32563
  * @function Highcharts.Chart#showResetZoom
32617
32564
  *
32618
- * @fires Highcharts.Chart#event:afterShowResetZoom
32619
- * @fires Highcharts.Chart#event:beforeShowResetZoom
32565
+ * @emits Highcharts.Chart#event:afterShowResetZoom
32566
+ * @emits Highcharts.Chart#event:beforeShowResetZoom
32620
32567
  */
32621
32568
  Chart.prototype.showResetZoom = function () {
32622
32569
  var chart = this,
@@ -32653,7 +32600,7 @@
32653
32600
  *
32654
32601
  * @function Highcharts.Chart#zoomOut
32655
32602
  *
32656
- * @fires Highcharts.Chart#event:selection
32603
+ * @emits Highcharts.Chart#event:selection
32657
32604
  */
32658
32605
  Chart.prototype.zoomOut = function () {
32659
32606
  fireEvent(this, 'selection', { resetSelection: true }, this.zoom);
@@ -32668,7 +32615,8 @@
32668
32615
  Chart.prototype.zoom = function (event) {
32669
32616
  var chart = this,
32670
32617
  pointer = chart.pointer,
32671
- mouseDownPos = (chart.inverted ? pointer.mouseDownX : pointer.mouseDownY);
32618
+ mouseDownPos = chart.inverted ?
32619
+ pointer.mouseDownX : pointer.mouseDownY;
32672
32620
  var displayButton = false,
32673
32621
  hasZoomed;
32674
32622
  // If zoom is called with no arguments, reset the axes
@@ -34769,9 +34717,9 @@
34769
34717
  */
34770
34718
  // eslint-disable-next-line valid-jsdoc
34771
34719
  /**
34772
- * Callback JavaScript function to format the data label. Note that
34773
- * if a `format` is defined, the format takes precedence and the
34774
- * formatter is ignored.
34720
+ * Callback JavaScript function to format the data label. Note that if a
34721
+ * `format` is defined, the format takes precedence and the formatter is
34722
+ * ignored.
34775
34723
  *
34776
34724
  * @sample {highmaps} maps/plotoptions/series-datalabels-format/
34777
34725
  * Formatted value
@@ -34780,7 +34728,8 @@
34780
34728
  */
34781
34729
  formatter: function () {
34782
34730
  var numberFormatter = this.series.chart.numberFormatter;
34783
- return typeof this.y !== 'number' ? '' : numberFormatter(this.y, -1);
34731
+ return typeof this.y !== 'number' ?
34732
+ '' : numberFormatter(this.y, -1);
34784
34733
  },
34785
34734
  /**
34786
34735
  * For points with an extent, like columns or map areas, whether to
@@ -35861,7 +35810,6 @@
35861
35810
  *
35862
35811
  * @private
35863
35812
  * @function Highcharts.Series#hasData
35864
- * @return {boolean}
35865
35813
  */
35866
35814
  Series.prototype.hasData = function () {
35867
35815
  return ((this.visible &&
@@ -35879,7 +35827,6 @@
35879
35827
  *
35880
35828
  * @private
35881
35829
  * @function Highcharts.Series#autoIncrement
35882
- * @return {number}
35883
35830
  */
35884
35831
  Series.prototype.autoIncrement = function (x) {
35885
35832
  var options = this.options,
@@ -35940,13 +35887,9 @@
35940
35887
  * not redraw the series. For API usage, use {@link Series#update}.
35941
35888
  * @private
35942
35889
  * @function Highcharts.Series#setOptions
35943
- *
35944
35890
  * @param {Highcharts.SeriesOptionsType} itemOptions
35945
35891
  * The series options.
35946
- *
35947
- * @return {Highcharts.SeriesOptionsType}
35948
- *
35949
- * @fires Highcharts.Series#event:afterSetOptions
35892
+ * @emits Highcharts.Series#event:afterSetOptions
35950
35893
  */
35951
35894
  Series.prototype.setOptions = function (itemOptions) {
35952
35895
  var chart = this.chart,
@@ -36104,7 +36047,6 @@
36104
36047
  *
36105
36048
  * @private
36106
36049
  * @function Highcharts.Series#getPointsCollection
36107
- * @return {Array<Highcharts.Point>}
36108
36050
  */
36109
36051
  Series.prototype.getPointsCollection = function () {
36110
36052
  return (this.hasGroupedData ? this.points : this.data) || [];
@@ -36115,7 +36057,6 @@
36115
36057
  *
36116
36058
  * @private
36117
36059
  * @function Highcharts.Series#getSymbol
36118
- * @return {void}
36119
36060
  */
36120
36061
  Series.prototype.getSymbol = function () {
36121
36062
  var seriesMarkerOption = this.options.marker;
@@ -36127,14 +36068,13 @@
36127
36068
  *
36128
36069
  * @private
36129
36070
  * @function Highcharts.Series#findPointIndex
36130
- * @param {Highcharts.PointOptionsObject} optionsObject
36131
- * The options of the point.
36132
- * @param {number} fromIndex
36133
- * The index to start searching from, used for optimizing
36134
- * series with required sorting.
36135
- * @returns {number|undefined}
36136
- * Returns the index of a matching point, or undefined if no
36137
- * match is found.
36071
+ * @param {Highcharts.PointOptionsObject} optionsObject
36072
+ * The options of the point.
36073
+ * @param {number} fromIndex
36074
+ * The index to start searching from, used for optimizing series with
36075
+ * required sorting.
36076
+ * @return {number|undefined}
36077
+ * Returns the index of a matching point, or undefined if no match is found.
36138
36078
  */
36139
36079
  Series.prototype.findPointIndex = function (optionsObject, fromIndex) {
36140
36080
  var id = optionsObject.id,
@@ -36517,11 +36457,8 @@
36517
36457
  *
36518
36458
  * @private
36519
36459
  * @function Highcharts.Series#sortData
36520
- *
36521
36460
  * @param {Array<Highcharts.PointOptionsType>} data
36522
36461
  * Force data grouping.
36523
- *
36524
- * @return {Array<Highcharts.PointOptionsObject>}
36525
36462
  */
36526
36463
  Series.prototype.sortData = function (data) {
36527
36464
  var series = this,
@@ -36583,8 +36520,7 @@
36583
36520
  * @private
36584
36521
  * @function Highcharts.Series#getProcessedData
36585
36522
  * @param {boolean} [forceExtremesFromAll]
36586
- * Force getting extremes of a total series data range.
36587
- * @return {Highcharts.SeriesProcessedDataObject}
36523
+ * Force getting extremes of a total series data range.
36588
36524
  */
36589
36525
  Series.prototype.getProcessedData = function (forceExtremesFromAll) {
36590
36526
  var series = this,
@@ -36680,8 +36616,7 @@
36680
36616
  * @private
36681
36617
  * @function Highcharts.Series#processData
36682
36618
  * @param {boolean} [force]
36683
- * Force data grouping.
36684
- * @return {boolean|undefined}
36619
+ * Force data grouping.
36685
36620
  */
36686
36621
  Series.prototype.processData = function (force) {
36687
36622
  var series = this,
@@ -36702,7 +36637,7 @@
36702
36637
  series.cropStart = processedData.cropStart;
36703
36638
  series.processedXData = processedData.xData;
36704
36639
  series.processedYData = processedData.yData;
36705
- series.closestPointRange = series.basePointRange = processedData.closestPointRange;
36640
+ series.closestPointRange = (series.basePointRange = processedData.closestPointRange);
36706
36641
  fireEvent(series, 'afterProcessData');
36707
36642
  };
36708
36643
  /**
@@ -36712,12 +36647,6 @@
36712
36647
  *
36713
36648
  * @private
36714
36649
  * @function Highcharts.Series#cropData
36715
- * @param {Array<number>} xData
36716
- * @param {Array<number>} yData
36717
- * @param {number} min
36718
- * @param {number} max
36719
- * @param {number} [cropShoulder]
36720
- * @return {Highcharts.SeriesCropDataObject}
36721
36650
  */
36722
36651
  Series.prototype.cropData = function (xData, yData, min, max, cropShoulder) {
36723
36652
  var dataLength = xData.length;
@@ -36835,7 +36764,8 @@
36835
36764
  * @readonly
36836
36765
  */
36837
36766
  // For faster access in Point.update
36838
- point.index = hasGroupedData ? (groupCropStartIndex + i) : cursor;
36767
+ point.index = hasGroupedData ?
36768
+ (groupCropStartIndex + i) : cursor;
36839
36769
  points[i] = point;
36840
36770
  }
36841
36771
  }
@@ -36895,12 +36825,9 @@
36895
36825
  *
36896
36826
  * @private
36897
36827
  * @function Highcharts.Series#getXExtremes
36898
- *
36899
36828
  * @param {Array<number>} xData
36900
36829
  * The data to inspect. Defaults to the current data within the visible
36901
36830
  * range.
36902
- *
36903
- * @return {Highcharts.RangeObject}
36904
36831
  */
36905
36832
  Series.prototype.getXExtremes = function (xData) {
36906
36833
  return {
@@ -36914,14 +36841,11 @@
36914
36841
  *
36915
36842
  * @private
36916
36843
  * @function Highcharts.Series#getExtremes
36917
- *
36918
36844
  * @param {Array<number>} [yData]
36919
36845
  * The data to inspect. Defaults to the current data within the visible
36920
36846
  * range.
36921
36847
  * @param {boolean} [forceExtremesFromAll]
36922
36848
  * Force getting extremes of a total series data range.
36923
- *
36924
- * @return {Highcharts.DataExtremesObject}
36925
36849
  */
36926
36850
  Series.prototype.getExtremes = function (yData, forceExtremesFromAll) {
36927
36851
  var xAxis = this.xAxis,
@@ -37021,11 +36945,8 @@
37021
36945
  *
37022
36946
  * @private
37023
36947
  * @function Highcharts.Series.getFirstValidPoint
37024
- *
37025
36948
  * @param {Array<Highcharts.PointOptionsType>} data
37026
36949
  * Array of options for points
37027
- *
37028
- * @return {Highcharts.PointOptionsType}
37029
36950
  */
37030
36951
  Series.prototype.getFirstValidPoint = function (data) {
37031
36952
  var dataLength = data.length;
@@ -37045,7 +36966,7 @@
37045
36966
  *
37046
36967
  * @function Highcharts.Series#translate
37047
36968
  *
37048
- * @fires Highcharts.Series#events:translate
36969
+ * @emits Highcharts.Series#events:translate
37049
36970
  */
37050
36971
  Series.prototype.translate = function () {
37051
36972
  if (!this.processedXData) { // hidden series
@@ -37093,8 +37014,10 @@
37093
37014
  (stackThreshold ? 0 : threshold) ?
37094
37015
  '-' :
37095
37016
  '') + series.stackKey];
37096
- if (yAxis.positiveValuesOnly && !yAxis.validatePositiveValue(yValue) ||
37097
- xAxis.positiveValuesOnly && !xAxis.validatePositiveValue(xValue)) {
37017
+ if (yAxis.positiveValuesOnly &&
37018
+ !yAxis.validatePositiveValue(yValue) ||
37019
+ xAxis.positiveValuesOnly &&
37020
+ !xAxis.validatePositiveValue(xValue)) {
37098
37021
  point.isNull = true;
37099
37022
  }
37100
37023
  // Get the plotX translation
@@ -37229,8 +37152,6 @@
37229
37152
  *
37230
37153
  * @private
37231
37154
  * @function Highcharts.Series#getClip
37232
- *
37233
- * @return {Highcharts.Dictionary<number>}
37234
37155
  */
37235
37156
  Series.prototype.getClipBox = function () {
37236
37157
  var _a = this,
@@ -37380,7 +37301,7 @@
37380
37301
  * @private
37381
37302
  * @function Highcharts.Series#afterAnimate
37382
37303
  *
37383
- * @fires Highcharts.Series#event:afterAnimate
37304
+ * @emits Highcharts.Series#event:afterAnimate
37384
37305
  */
37385
37306
  Series.prototype.afterAnimate = function () {
37386
37307
  var _this = this;
@@ -37601,7 +37522,7 @@
37601
37522
  // Handle hover and select states
37602
37523
  state = state || 'normal';
37603
37524
  if (state) {
37604
- seriesStateOptions = seriesMarkerOptions.states[state] || {};
37525
+ seriesStateOptions = (seriesMarkerOptions.states[state] || {});
37605
37526
  pointStateOptions = (pointMarkerOptions.states &&
37606
37527
  pointMarkerOptions.states[state]) || {};
37607
37528
  strokeWidth = pick(pointStateOptions.lineWidth, seriesStateOptions.lineWidth, strokeWidth + pick(pointStateOptions.lineWidthPlus, seriesStateOptions.lineWidthPlus, 0));
@@ -37626,7 +37547,7 @@
37626
37547
  * @private
37627
37548
  * @function Highcharts.Series#destroy
37628
37549
  *
37629
- * @fires Highcharts.Series#event:destroy
37550
+ * @emits Highcharts.Series#event:destroy
37630
37551
  */
37631
37552
  Series.prototype.destroy = function (keepEventsForUpdate) {
37632
37553
  var series = this,
@@ -37921,8 +37842,6 @@
37921
37842
  * Get the translation and scale for the plot area of this series.
37922
37843
  *
37923
37844
  * @function Highcharts.Series#getPlotBox
37924
- *
37925
- * @return {Highcharts.SeriesPlotBoxObject}
37926
37845
  */
37927
37846
  Series.prototype.getPlotBox = function () {
37928
37847
  var chart = this.chart;
@@ -37967,7 +37886,7 @@
37967
37886
  *
37968
37887
  * @function Highcharts.Series#render
37969
37888
  *
37970
- * @fires Highcharts.Series#event:afterRender
37889
+ * @emits Highcharts.Series#event:afterRender
37971
37890
  */
37972
37891
  Series.prototype.render = function () {
37973
37892
  var series = this,
@@ -38413,7 +38332,7 @@
38413
38332
  * @param {boolean} [withEvent=true]
38414
38333
  * Used internally, whether to fire the series `addPoint` event.
38415
38334
  *
38416
- * @fires Highcharts.Series#event:addPoint
38335
+ * @emits Highcharts.Series#event:addPoint
38417
38336
  */
38418
38337
  Series.prototype.addPoint = function (options, redraw, shift, animation, withEvent) {
38419
38338
  var series = this,
@@ -38505,7 +38424,7 @@
38505
38424
  * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]
38506
38425
  * Whether and optionally how the series should be animated.
38507
38426
  *
38508
- * @fires Highcharts.Point#event:remove
38427
+ * @emits Highcharts.Point#event:remove
38509
38428
  */
38510
38429
  Series.prototype.removePoint = function (i, redraw, animation) {
38511
38430
  var series = this,
@@ -38559,7 +38478,7 @@
38559
38478
  * @param {boolean} [withEvent=true]
38560
38479
  * Used internally, whether to fire the series `remove` event.
38561
38480
  *
38562
- * @fires Highcharts.Series#event:remove
38481
+ * @emits Highcharts.Series#event:remove
38563
38482
  */
38564
38483
  Series.prototype.remove = function (redraw, animation, withEvent, keepEvents) {
38565
38484
  var series = this,
@@ -38609,8 +38528,8 @@
38609
38528
  * more operations on the chart, it is a good idea to set redraw to
38610
38529
  * false and call {@link Chart#redraw} after.
38611
38530
  *
38612
- * @fires Highcharts.Series#event:update
38613
- * @fires Highcharts.Series#event:afterUpdate
38531
+ * @emits Highcharts.Series#event:update
38532
+ * @emits Highcharts.Series#event:afterUpdate
38614
38533
  */
38615
38534
  Series.prototype.update = function (options, redraw) {
38616
38535
  options = cleanRecursively(options, this.userOptions);
@@ -38692,7 +38611,9 @@
38692
38611
  series.index : oldOptions.index,
38693
38612
  pointStart: pick(
38694
38613
  // when updating from blank (#7933)
38695
- plotOptions && plotOptions.series && plotOptions.series.pointStart, oldOptions.pointStart,
38614
+ (plotOptions &&
38615
+ plotOptions.series &&
38616
+ plotOptions.series.pointStart), oldOptions.pointStart,
38696
38617
  // when updating after addPoint
38697
38618
  series.xData[0])
38698
38619
  }, (!keepPoints && { data: series.options.data }), options);
@@ -38722,8 +38643,7 @@
38722
38643
  // Legacy (IE < 11)
38723
38644
  }
38724
38645
  else {
38725
- var ownEvents = Object.hasOwnProperty.call(series, 'hcEvents') &&
38726
- series.hcEvents;
38646
+ var ownEvents = Object.hasOwnProperty.call(series, 'hcEvents') && series.hcEvents;
38727
38647
  for (n in initialSeriesProto) { // eslint-disable-line guard-for-in
38728
38648
  series[n] = void 0;
38729
38649
  }
@@ -38821,13 +38741,17 @@
38821
38741
  return option !== oldOption;
38822
38742
  }
38823
38743
  return option !==
38824
- pick(plotOptions && plotOptions[this.type] && plotOptions[this.type][optionName], plotOptions && plotOptions.series && plotOptions.series[optionName], option);
38744
+ pick(plotOptions &&
38745
+ plotOptions[this.type] &&
38746
+ plotOptions[this.type][optionName], plotOptions &&
38747
+ plotOptions.series &&
38748
+ plotOptions.series[optionName], option);
38825
38749
  };
38826
38750
  /**
38827
38751
  * Runs on mouse over the series graphical items.
38828
38752
  *
38829
38753
  * @function Highcharts.Series#onMouseOver
38830
- * @fires Highcharts.Series#event:mouseOver
38754
+ * @emits Highcharts.Series#event:mouseOver
38831
38755
  */
38832
38756
  Series.prototype.onMouseOver = function () {
38833
38757
  var series = this,
@@ -38859,7 +38783,7 @@
38859
38783
  *
38860
38784
  * @function Highcharts.Series#onMouseOut
38861
38785
  *
38862
- * @fires Highcharts.Series#event:mouseOut
38786
+ * @emits Highcharts.Series#event:mouseOut
38863
38787
  */
38864
38788
  Series.prototype.onMouseOut = function () {
38865
38789
  // trigger the event only if listeners exist
@@ -39014,8 +38938,8 @@
39014
38938
  * operations on the chart, it is a good idea to set redraw to false and
39015
38939
  * call {@link Chart#redraw|chart.redraw()} after.
39016
38940
  *
39017
- * @fires Highcharts.Series#event:hide
39018
- * @fires Highcharts.Series#event:show
38941
+ * @emits Highcharts.Series#event:hide
38942
+ * @emits Highcharts.Series#event:show
39019
38943
  */
39020
38944
  Series.prototype.setVisible = function (vis, redraw) {
39021
38945
  var series = this,
@@ -39079,7 +39003,7 @@
39079
39003
  * Toggle visibility from a button
39080
39004
  *
39081
39005
  * @function Highcharts.Series#show
39082
- * @fires Highcharts.Series#event:show
39006
+ * @emits Highcharts.Series#event:show
39083
39007
  */
39084
39008
  Series.prototype.show = function () {
39085
39009
  this.setVisible(true);
@@ -39093,7 +39017,7 @@
39093
39017
  * Toggle visibility from a button
39094
39018
  *
39095
39019
  * @function Highcharts.Series#hide
39096
- * @fires Highcharts.Series#event:hide
39020
+ * @emits Highcharts.Series#event:hide
39097
39021
  */
39098
39022
  Series.prototype.hide = function () {
39099
39023
  this.setVisible(false);
@@ -39114,8 +39038,8 @@
39114
39038
  * True to select the series, false to unselect. If undefined, the selection
39115
39039
  * state is toggled.
39116
39040
  *
39117
- * @fires Highcharts.Series#event:select
39118
- * @fires Highcharts.Series#event:unselect
39041
+ * @emits Highcharts.Series#event:select
39042
+ * @emits Highcharts.Series#event:unselect
39119
39043
  */
39120
39044
  Series.prototype.select = function (selected) {
39121
39045
  var series = this;
@@ -39133,10 +39057,6 @@
39133
39057
  * Checks if a tooltip should be shown for a given point.
39134
39058
  *
39135
39059
  * @private
39136
- * @param {number} plotX
39137
- * @param {number} plotY
39138
- * @param {Highcharts.ChartIsInsideOptionsObject} [options]
39139
- * @return {boolean}
39140
39060
  */
39141
39061
  Series.prototype.shouldShowTooltip = function (plotX, plotY, options) {
39142
39062
  if (options === void 0) { options = {}; }
@@ -39573,7 +39493,7 @@
39573
39493
  if (scrollableMinWidth) {
39574
39494
  this.scrollablePixelsX = scrollablePixelsX = Math.max(0, scrollableMinWidth - this.chartWidth);
39575
39495
  if (scrollablePixelsX) {
39576
- this.scrollablePlotBox = this.renderer.scrollablePlotBox = merge(this.plotBox);
39496
+ this.scrollablePlotBox = (this.renderer.scrollablePlotBox = merge(this.plotBox));
39577
39497
  this.plotBox.width = this.plotWidth += scrollablePixelsX;
39578
39498
  if (this.inverted) {
39579
39499
  this.clipBox.height += scrollablePixelsX;
@@ -39591,7 +39511,7 @@
39591
39511
  else if (scrollableMinHeight) {
39592
39512
  this.scrollablePixelsY = scrollablePixelsY = Math.max(0, scrollableMinHeight - this.chartHeight);
39593
39513
  if (scrollablePixelsY) {
39594
- this.scrollablePlotBox = this.renderer.scrollablePlotBox = merge(this.plotBox);
39514
+ this.scrollablePlotBox = (this.renderer.scrollablePlotBox = merge(this.plotBox));
39595
39515
  this.plotBox.height = this.plotHeight += scrollablePixelsY;
39596
39516
  if (this.inverted) {
39597
39517
  this.clipBox.width += scrollablePixelsY;
@@ -40135,7 +40055,8 @@
40135
40055
  chart = axis.chart,
40136
40056
  renderer = chart.renderer,
40137
40057
  stacks = stacking.stacks,
40138
- stackLabelsAnim = axis.options.stackLabels && axis.options.stackLabels.animation,
40058
+ stackLabelsAnim = axis.options.stackLabels &&
40059
+ axis.options.stackLabels.animation,
40139
40060
  animationConfig = getDeferredAnimation(chart,
40140
40061
  stackLabelsAnim || false),
40141
40062
  stackTotalGroup = stacking.stackTotalGroup = (stacking.stackTotalGroup ||
@@ -40282,6 +40203,7 @@
40282
40203
  r: options.borderRadius || 0,
40283
40204
  text: str,
40284
40205
  rotation: options.rotation,
40206
+ // set default padding to 5 as it is in datalabels #12308
40285
40207
  padding: pick(options.padding, 5),
40286
40208
  visibility: 'hidden' // hidden until setOffset is called
40287
40209
  };
@@ -40357,7 +40279,8 @@
40357
40279
  }
40358
40280
  else {
40359
40281
  boxOffsetX = chart.inverted ?
40360
- (isNegative ? bBox.width + padding : -padding) : bBox.width / 2;
40282
+ (isNegative ? bBox.width + padding : -padding) :
40283
+ bBox.width / 2;
40361
40284
  }
40362
40285
  }
40363
40286
  boxOffsetY = chart.inverted ?
@@ -40402,22 +40325,6 @@
40402
40325
  /**
40403
40326
  * @private
40404
40327
  * @function Highcharts.StackItem#getStackBox
40405
- *
40406
- * @param {Highcharts.Chart} chart
40407
- *
40408
- * @param {Highcharts.StackItem} stackItem
40409
- *
40410
- * @param {number} x
40411
- *
40412
- * @param {number} y
40413
- *
40414
- * @param {number} xWidth
40415
- *
40416
- * @param {number} h
40417
- *
40418
- * @param {Highcharts.Axis} axis
40419
- *
40420
- * @return {Highcharts.BBoxObject}
40421
40328
  */
40422
40329
  StackItem.prototype.getStackBox = function (chart, stackItem, x, y, xWidth, h, axis) {
40423
40330
  var reversed = stackItem.axis.reversed,
@@ -40427,7 +40334,8 @@
40427
40334
  neg = (stackItem.isNegative && !reversed) ||
40428
40335
  (!stackItem.isNegative && reversed); // #4056
40429
40336
  return {
40430
- x: inverted ? (neg ? y - axis.right : y - h + axis.pos - chart.plotLeft) :
40337
+ x: inverted ?
40338
+ (neg ? y - axis.right : y - h + axis.pos - chart.plotLeft) :
40431
40339
  x + chart.xAxis[0].transB - chart.plotLeft,
40432
40340
  y: inverted ?
40433
40341
  axis.height - x - xWidth :
@@ -40671,11 +40579,6 @@
40671
40579
  *
40672
40580
  * @private
40673
40581
  * @function Highcharts.Series#getStackIndicator
40674
- * @param {Highcharts.StackItemIndicatorObject|undefined} stackIndicator
40675
- * @param {number} x
40676
- * @param {number} index
40677
- * @param {string} [key]
40678
- * @return {Highcharts.StackItemIndicatorObject}
40679
40582
  */
40680
40583
  Series.prototype.getStackIndicator = function (stackIndicator, x, index, key) {
40681
40584
  // Update stack indicator, when:
@@ -41489,7 +41392,9 @@
41489
41392
  }
41490
41393
  isNull = points[i].isNull;
41491
41394
  plotX = pick(points[i].rectPlotX, points[i].plotX);
41492
- yBottom = stacking ? pick(points[i].yBottom, translatedThreshold) : translatedThreshold;
41395
+ yBottom = stacking ?
41396
+ pick(points[i].yBottom, translatedThreshold) :
41397
+ translatedThreshold;
41493
41398
  if (!isNull || connectNulls) {
41494
41399
  if (!connectNulls) {
41495
41400
  addDummyPoints(i, i - 1, 'left');
@@ -41593,24 +41498,22 @@
41593
41498
  var si = yAxisSeries[i].index;
41594
41499
  stackPoint = otherStack.points[si];
41595
41500
  if (!stackPoint) {
41596
- // If the next point in this series
41597
- // is missing, mark the point
41598
- // with point.leftNull or
41599
- // point.rightNull = true.
41501
+ // If the next point in this series is
41502
+ // missing, mark the point with
41503
+ // point.leftNull or point.rightNull = true.
41600
41504
  if (si === series.index) {
41601
41505
  pointMap[x][nullName] = true;
41602
- // If there are missing points in
41603
- // the next stack in any of the
41604
- // series below this one, we need
41605
- // to substract the missing values
41606
- // and add a hiatus to the left or
41506
+ // If there are missing points in the next
41507
+ // stack in any of the series below this
41508
+ // one, we need to substract the missing
41509
+ // values and add a hiatus to the left or
41607
41510
  // right.
41608
41511
  }
41609
41512
  else if (visibleSeries_1[i]) {
41610
- stackedValues =
41611
- stack[x].points[si];
41513
+ stackedValues = stack[x].points[si];
41612
41514
  if (stackedValues) {
41613
- cliff -= stackedValues[1] - stackedValues[0];
41515
+ cliff -= (stackedValues[1] -
41516
+ stackedValues[0]);
41614
41517
  }
41615
41518
  }
41616
41519
  }
@@ -41959,14 +41862,6 @@
41959
41862
  *
41960
41863
  * @private
41961
41864
  * @function Highcharts.seriesTypes.spline#getPointSpline
41962
- *
41963
- * @param {Array<Highcharts.Point>}
41964
- *
41965
- * @param {Highcharts.Point} point
41966
- *
41967
- * @param {number} i
41968
- *
41969
- * @return {Highcharts.SVGPathArray}
41970
41865
  */
41971
41866
  SplineSeries.prototype.getPointSpline = function (points, point, i) {
41972
41867
  var
@@ -42501,7 +42396,9 @@
42501
42396
  options = series.options,
42502
42397
  inverted = this.chart.inverted,
42503
42398
  attr = {},
42504
- translateProp = inverted ? 'translateX' : 'translateY';
42399
+ translateProp = inverted ?
42400
+ 'translateX' :
42401
+ 'translateY';
42505
42402
  var translateStart,
42506
42403
  translatedThreshold;
42507
42404
  if (init) {
@@ -42562,7 +42459,6 @@
42562
42459
  *
42563
42460
  * @private
42564
42461
  * @function Highcharts.seriesTypes.column#getColumnMetrics
42565
- * @return {Highcharts.ColumnMetricsObject}
42566
42462
  */
42567
42463
  ColumnSeries.prototype.getColumnMetrics = function () {
42568
42464
  var series = this,
@@ -42593,7 +42489,8 @@
42593
42489
  !series.chart.options.chart.ignoreHiddenSeries) &&
42594
42490
  yAxis.len === otherYAxis.len &&
42595
42491
  yAxis.pos === otherYAxis.pos) { // #642, #2086
42596
- if (otherOptions.stacking && otherOptions.stacking !== 'group') {
42492
+ if (otherOptions.stacking &&
42493
+ otherOptions.stacking !== 'group') {
42597
42494
  stackKey = otherSeries.stackKey;
42598
42495
  if (typeof stackGroups[stackKey] ===
42599
42496
  'undefined') {
@@ -42705,21 +42602,21 @@
42705
42602
  if (!point.isNull && metrics.columnCount > 1) {
42706
42603
  var indexInCategory_1 = 0;
42707
42604
  var totalInCategory_1 = 0;
42708
- // Loop over all the stacks on the Y axis. When stacking is
42709
- // enabled, these are real point stacks. When stacking is not
42710
- // enabled, but `centerInCategory` is true, there is one stack
42711
- // handling the grouping of points in each category. This is
42712
- // done in the `setGroupedPoints` function.
42605
+ // Loop over all the stacks on the Y axis. When stacking is enabled,
42606
+ // these are real point stacks. When stacking is not enabled, but
42607
+ // `centerInCategory` is true, there is one stack handling the
42608
+ // grouping of points in each category. This is done in the
42609
+ // `setGroupedPoints` function.
42713
42610
  objectEach(this.yAxis.stacking && this.yAxis.stacking.stacks, function (stack) {
42714
42611
  if (typeof point.x === 'number') {
42715
42612
  var stackItem = stack[point.x.toString()];
42716
42613
  if (stackItem) {
42717
42614
  var pointValues = stackItem.points[_this.index],
42718
42615
  total = stackItem.total;
42719
- // If true `stacking` is enabled, count the
42720
- // total number of non-null stacks in the
42721
- // category, and note which index this point is
42722
- // within those stacks.
42616
+ // If true `stacking` is enabled, count the total
42617
+ // number of non-null stacks in the category, and
42618
+ // note which index this point is within those
42619
+ // stacks.
42723
42620
  if (stacking) {
42724
42621
  if (pointValues) {
42725
42622
  indexInCategory_1 = totalInCategory_1;
@@ -42727,8 +42624,8 @@
42727
42624
  if (stackItem.hasValidPoints) {
42728
42625
  totalInCategory_1++;
42729
42626
  }
42730
- // If `stacking` is not enabled, look for the
42731
- // index and total of the `group` stack.
42627
+ // If `stacking` is not enabled, look for the index
42628
+ // and total of the `group` stack.
42732
42629
  }
42733
42630
  else if (isArray(pointValues)) {
42734
42631
  indexInCategory_1 = pointValues[1];
@@ -43931,8 +43828,10 @@
43931
43828
  // Merge in series options for the point.
43932
43829
  // @note dataLabelAttribs (like pointAttribs) would eradicate
43933
43830
  // the need for dlOptions, and simplify the section below.
43934
- pointOptions = splat(mergeArrays(seriesDlOptions, point.dlOptions || // dlOptions is used in treemaps
43935
- (point.options && point.options.dataLabels)));
43831
+ pointOptions = splat(mergeArrays(seriesDlOptions,
43832
+ // dlOptions is used in treemaps
43833
+ (point.dlOptions ||
43834
+ (point.options && point.options.dataLabels))));
43936
43835
  // Handle each individual data label for this point
43937
43836
  pointOptions.forEach(function (labelOptions, i) {
43938
43837
  // Options for one datalabel
@@ -43950,8 +43849,8 @@
43950
43849
  style,
43951
43850
  rotation,
43952
43851
  attr,
43953
- dataLabel = point.dataLabels ? point.dataLabels[i] :
43954
- point.dataLabel;
43852
+ dataLabel = point.dataLabels ?
43853
+ point.dataLabels[i] : point.dataLabel;
43955
43854
  var labelDistance = pick(labelOptions.distance,
43956
43855
  point.labelDistance),
43957
43856
  isNew = !dataLabel;
@@ -44006,8 +43905,10 @@
44006
43905
  }
44007
43906
  // If the point is outside the plot area, destroy it. #678,
44008
43907
  // #820
44009
- if (dataLabel && (!labelEnabled || !defined(labelText))) {
44010
- point.dataLabel =
43908
+ if (dataLabel && (!labelEnabled ||
43909
+ !defined(labelText) ||
43910
+ !!dataLabel.div !== !!labelOptions.useHTML)) {
43911
+ point.dataLabel = dataLabel =
44011
43912
  point.dataLabel && point.dataLabel.destroy();
44012
43913
  if (point.dataLabels) {
44013
43914
  // Remove point.dataLabels if this was the last one
@@ -44034,11 +43935,11 @@
44034
43935
  }
44035
43936
  }
44036
43937
  }
44037
- // Individual labels are disabled if the are explicitly
44038
- // disabled in the point options, or if they fall outside
44039
- // the plot area.
44040
43938
  }
44041
- else if (labelEnabled && defined(labelText)) {
43939
+ // Individual labels are disabled if the are explicitly
43940
+ // disabled in the point options, or if they fall outside
43941
+ // the plot area.
43942
+ if (labelEnabled && defined(labelText)) {
44042
43943
  if (!dataLabel) {
44043
43944
  // Create new label element
44044
43945
  point.dataLabels = point.dataLabels || [];
@@ -44052,7 +43953,8 @@
44052
43953
  if (!i) {
44053
43954
  point.dataLabel = dataLabel;
44054
43955
  }
44055
- dataLabel.addClass(' highcharts-data-label-color-' + point.colorIndex +
43956
+ dataLabel.addClass(' highcharts-data-label-color-' +
43957
+ point.colorIndex +
44056
43958
  ' ' + (labelOptions.className || '') +
44057
43959
  ( // #3398
44058
43960
  labelOptions.useHTML ?
@@ -44080,7 +43982,7 @@
44080
43982
  if (point.dataLabelPath &&
44081
43983
  !labelOptions.textPath.enabled) {
44082
43984
  // clean the DOM
44083
- point.dataLabelPath = point.dataLabelPath.destroy();
43985
+ point.dataLabelPath = (point.dataLabelPath.destroy());
44084
43986
  }
44085
43987
  }
44086
43988
  // Now the data label is created and placed at 0,0, so
@@ -45200,10 +45102,10 @@
45200
45102
  * @param {boolean} sliced
45201
45103
  * When undefined, the slice state is toggled.
45202
45104
  *
45203
- * @param {boolean} redraw
45105
+ * @param {boolean} [redraw]
45204
45106
  * Whether to redraw the chart. True by default.
45205
45107
  *
45206
- * @param {boolean|Partial<Highcharts.AnimationOptionsObject>}
45108
+ * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]
45207
45109
  * Animation options.
45208
45110
  */
45209
45111
  PiePoint.prototype.slice = function (sliced, redraw, animation) {
@@ -46279,7 +46181,7 @@
46279
46181
  */
46280
46182
  borderWidth: 1,
46281
46183
  /**
46282
- * @ignore-options
46184
+ * @ignore-option
46283
46185
  * @private
46284
46186
  */
46285
46187
  lineWidth: void 0,
@@ -47057,7 +46959,8 @@
47057
46959
  if (alignValue) {
47058
46960
  xOffset = +alignValue * boxWidth;
47059
46961
  }
47060
- else if (isNumber(label.x) && Math.round(label.x) !== label.translateX) {
46962
+ else if (isNumber(label.x) &&
46963
+ Math.round(label.x) !== label.translateX) {
47061
46964
  xOffset = label.x - label.translateX;
47062
46965
  }
47063
46966
  return {
@@ -47119,10 +47022,11 @@
47119
47022
  * @private
47120
47023
  * @function hideOrShow
47121
47024
  * @param {Highcharts.SVGElement} label
47122
- * The label.
47025
+ * The label.
47123
47026
  * @param {Highcharts.Chart} chart
47124
- * The chart that contains the label.
47027
+ * The chart that contains the label.
47125
47028
  * @return {boolean}
47029
+ * Whether label is affected
47126
47030
  */
47127
47031
  function hideOrShow(label, chart) {
47128
47032
  var complete,
@@ -47131,13 +47035,15 @@
47131
47035
  if (label) {
47132
47036
  newOpacity = label.newOpacity;
47133
47037
  if (label.oldOpacity !== newOpacity) {
47134
- // Make sure the label is completely hidden to avoid catching
47135
- // clicks (#4362)
47038
+ // Make sure the label is completely hidden to avoid catching clicks
47039
+ // (#4362)
47136
47040
  if (label.alignAttr && label.placed) { // data labels
47137
47041
  label[newOpacity ? 'removeClass' : 'addClass']('highcharts-data-label-hidden');
47138
47042
  complete = function () {
47139
47043
  if (!chart.styledMode) {
47140
- label.css({ pointerEvents: newOpacity ? 'auto' : 'none' });
47044
+ label.css({
47045
+ pointerEvents: newOpacity ? 'auto' : 'none'
47046
+ });
47141
47047
  }
47142
47048
  };
47143
47049
  isLabelAffected = true;
@@ -47299,8 +47205,7 @@
47299
47205
  fn = condition.callback || function () {
47300
47206
  return (this.chartWidth <= pick(condition.maxWidth,
47301
47207
  Number.MAX_VALUE) &&
47302
- this.chartHeight <=
47303
- pick(condition.maxHeight,
47208
+ this.chartHeight <= pick(condition.maxHeight,
47304
47209
  Number.MAX_VALUE) &&
47305
47210
  this.chartWidth >= pick(condition.minWidth, 0) &&
47306
47211
  this.chartHeight >= pick(condition.minHeight, 0));
@@ -47343,7 +47248,7 @@
47343
47248
  mergedOptions.isResponsiveOptions = true;
47344
47249
  // Stringified key for the rules that currently apply.
47345
47250
  ruleIds = (ruleIds.toString() || void 0);
47346
- var currentRuleIds = currentResponsive && currentResponsive.ruleIds;
47251
+ var currentRuleIds = (currentResponsive && currentResponsive.ruleIds);
47347
47252
  // Changes in what rules apply
47348
47253
  if (ruleIds !== currentRuleIds) {
47349
47254
  // Undo previous rules. Before we apply a new set of rules, we
@@ -47831,12 +47736,12 @@
47831
47736
  while (i--) {
47832
47737
  translated = translatedArr[i];
47833
47738
  distance = Math.abs(lastTranslated - translated);
47834
- // #4175 - when axis is reversed, the distance, is negative
47835
- // but tickPixelIntervalOption positive, so we need to
47836
- // compare the same values
47739
+ // #4175 - when axis is reversed, the distance, is negative but
47740
+ // tickPixelIntervalOption positive, so we need to compare the
47741
+ // same values
47837
47742
  // Remove ticks that are closer than 0.6 times the pixel
47838
- // interval from the one to the right, but not if it is
47839
- // close to the median distance (#748).
47743
+ // interval from the one to the right, but not if it is close to
47744
+ // the median distance (#748).
47840
47745
  if (lastTranslated &&
47841
47746
  distance < tickPixelIntervalOption * 0.8 &&
47842
47747
  (medianDistance === null || distance < medianDistance * 0.8)) {
@@ -47868,11 +47773,8 @@
47868
47773
  *
47869
47774
  * @private
47870
47775
  * @function Highcharts.Axis#index2val
47871
- *
47872
47776
  * @param {number} index
47873
- * The index value of searched point
47874
- *
47875
- * @return {number}
47777
+ * The index value of searched point
47876
47778
  */
47877
47779
  function index2val(index) {
47878
47780
  var axis = this,
@@ -47909,11 +47811,8 @@
47909
47811
  *
47910
47812
  * @private
47911
47813
  * @function Highcharts.Axis#lin2val
47912
- *
47913
47814
  * @param {number} val
47914
- * The linear abstracted value.
47915
- *
47916
- * @return {number}
47815
+ * The linear abstracted value.
47917
47816
  */
47918
47817
  function lin2val(val) {
47919
47818
  var axis = this,
@@ -47926,37 +47825,37 @@
47926
47825
  return val;
47927
47826
  }
47928
47827
  // Convert back from modivied value to pixels. // #15970
47929
- var pixelVal = (val - localMin) * localA + axis.minPixelPadding,
47828
+ var pixelVal = (val - localMin) * localA +
47829
+ axis.minPixelPadding,
47930
47830
  isInside = pixelVal > 0 && pixelVal < axis.left + axis.len;
47931
- // If the value is not inside the plot area,
47932
- // use the extended positions.
47831
+ // If the value is not inside the plot area, use the extended positions.
47933
47832
  // (array contains also points that are outside of the plotArea).
47934
47833
  if (!isInside) {
47935
47834
  // When iterating for the first time,
47936
47835
  // get the extended ordinal positional and assign them.
47937
47836
  if (!ordinal.extendedOrdinalPositions) {
47938
- ordinal.extendedOrdinalPositions = ordinal.getExtendedPositions();
47837
+ ordinal.extendedOrdinalPositions = (ordinal.getExtendedPositions());
47939
47838
  }
47940
47839
  positions = ordinal.extendedOrdinalPositions;
47941
47840
  }
47942
- // In some cases (especially in early stages of the chart creation)
47943
- // the getExtendedPositions might return undefined.
47841
+ // In some cases (especially in early stages of the chart creation) the
47842
+ // getExtendedPositions might return undefined.
47944
47843
  if (positions && positions.length) {
47945
47844
  var index = ordinal.getIndexOfPoint(pixelVal,
47946
47845
  positions),
47947
47846
  mantissa = correctFloat(index % 1);
47948
- // Check if the index is inside position array.
47949
- // If true, read/approximate value for that exact index.
47847
+ // Check if the index is inside position array. If true,
47848
+ // read/approximate value for that exact index.
47950
47849
  if (index >= 0 && index < positions.length - 1) {
47951
47850
  var leftNeighbour = positions[Math.floor(index)],
47952
47851
  rightNeighbour = positions[Math.ceil(index)],
47953
47852
  distance = rightNeighbour - leftNeighbour;
47954
47853
  return positions[Math.floor(index)] + mantissa * distance;
47955
47854
  }
47956
- // For cases when the index is not in the extended ordinal
47957
- // position array, like when the value we are looking
47958
- // for exceed the available data,
47959
- // approximate that value based on the calculated slope.
47855
+ // For cases when the index is not in the extended ordinal position
47856
+ // array, like when the value we are looking for exceed the
47857
+ // available data, approximate that value based on the calculated
47858
+ // slope.
47960
47859
  var positionsLength = positions.length,
47961
47860
  firstPositionsValue = positions[0],
47962
47861
  lastPositionsValue = positions[positionsLength - 1],
@@ -47969,8 +47868,8 @@
47969
47868
  return val;
47970
47869
  }
47971
47870
  /**
47972
- * Internal function to calculate the precise index
47973
- * in ordinalPositions array.
47871
+ * Internal function to calculate the precise index in ordinalPositions
47872
+ * array.
47974
47873
  * @private
47975
47874
  */
47976
47875
  function getIndexInArray(ordinalPositions, val) {
@@ -48068,7 +47967,11 @@
48068
47967
  // how many ordinal units did we move?
48069
47968
  movedUnits = (mouseDownX - chartX) / pointPixelWidth,
48070
47969
  // get index of all the chart's points
48071
- extendedAxis = { ordinal: { positions: xAxis.ordinal.getExtendedPositions() } },
47970
+ extendedAxis = {
47971
+ ordinal: {
47972
+ positions: xAxis.ordinal.getExtendedPositions()
47973
+ }
47974
+ },
48072
47975
  index2val_1 = xAxis.index2val,
48073
47976
  val2lin_1 = xAxis.val2lin;
48074
47977
  var trimmedRange = void 0,
@@ -48088,37 +47991,41 @@
48088
47991
  }
48089
47992
  if (movedUnits < 0) {
48090
47993
  searchAxisLeft = extendedAxis;
48091
- searchAxisRight = xAxis.ordinal.positions ? xAxis : extendedAxis;
47994
+ searchAxisRight = xAxis.ordinal.positions ?
47995
+ xAxis : extendedAxis;
48092
47996
  }
48093
47997
  else {
48094
- searchAxisLeft = xAxis.ordinal.positions ? xAxis : extendedAxis;
47998
+ searchAxisLeft = xAxis.ordinal.positions ?
47999
+ xAxis : extendedAxis;
48095
48000
  searchAxisRight = extendedAxis;
48096
48001
  }
48097
- // In grouped data series, the last ordinal position
48098
- // represents the grouped data, which is to the left of the
48099
- // real data max. If we don't compensate for this, we will
48100
- // be allowed to pan grouped data series passed the right of
48101
- // the plot area.
48002
+ // In grouped data series, the last ordinal position represents
48003
+ // the grouped data, which is to the left of the real data max.
48004
+ // If we don't compensate for this, we will be allowed to pan
48005
+ // grouped data series passed the right of the plot area.
48102
48006
  ordinalPositions = searchAxisRight.ordinal.positions;
48103
48007
  if (dataMax >
48104
48008
  ordinalPositions[ordinalPositions.length - 1]) {
48105
48009
  ordinalPositions.push(dataMax);
48106
48010
  }
48107
- // Get the new min and max values by getting the ordinal
48108
- // index for the current extreme, then add the moved units
48109
- // and translate back to values. This happens on the
48110
- // extended ordinal positions if the new position is out of
48111
- // range, else it happens on the current x axis which is
48112
- // smaller and faster.
48011
+ // Get the new min and max values by getting the ordinal index
48012
+ // for the current extreme, then add the moved units and
48013
+ // translate back to values. This happens on the extended
48014
+ // ordinal positions if the new position is out of range, else
48015
+ // it happens on the current x axis which is smaller and faster.
48113
48016
  chart.fixedRange = max - min;
48114
- trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null, index2val_1.apply(searchAxisLeft, [
48115
- val2lin_1.apply(searchAxisLeft, [min, true]) + movedUnits
48017
+ trimmedRange = xAxis.navigatorAxis
48018
+ .toFixedRange(void 0, void 0, index2val_1.apply(searchAxisLeft, [
48019
+ val2lin_1.apply(searchAxisLeft, [min, true]) +
48020
+ movedUnits
48116
48021
  ]), index2val_1.apply(searchAxisRight, [
48117
- val2lin_1.apply(searchAxisRight, [max, true]) + movedUnits
48022
+ val2lin_1.apply(searchAxisRight, [max, true]) +
48023
+ movedUnits
48118
48024
  ]));
48119
48025
  // Apply it if it is within the available data range
48120
48026
  if (trimmedRange.min >= Math.min(extremes.dataMin, min) &&
48121
- trimmedRange.max <= Math.max(dataMax, max) + overscroll) {
48027
+ trimmedRange.max <= Math.max(dataMax, max) +
48028
+ overscroll) {
48122
48029
  xAxis.setExtremes(trimmedRange.min, trimmedRange.max, true, false, { trigger: 'pan' });
48123
48030
  }
48124
48031
  chart.mouseDownX = chartX; // set new reference for next run
@@ -48158,14 +48065,10 @@
48158
48065
  *
48159
48066
  * @private
48160
48067
  * @function Highcharts.Axis#val2lin
48161
- *
48162
48068
  * @param {number} val
48163
48069
  * The axis value.
48164
- *
48165
48070
  * @param {boolean} [toIndex]
48166
48071
  * Whether to return the index in the ordinalPositions or the new value.
48167
- *
48168
- * @return {number}
48169
48072
  */
48170
48073
  function val2lin(val, toIndex) {
48171
48074
  var axis = this,
@@ -48212,7 +48115,8 @@
48212
48115
  val <=
48213
48116
  extendedOrdinalPositions[length_2 - 1]) {
48214
48117
  // Return Value
48215
- ordinalIndex = getIndexInArray(extendedOrdinalPositions, val) - originalPositionsReference;
48118
+ ordinalIndex = getIndexInArray(extendedOrdinalPositions, val) -
48119
+ originalPositionsReference;
48216
48120
  }
48217
48121
  else {
48218
48122
  // Since ordinal.slope is the average distance between 2
@@ -48294,7 +48198,9 @@
48294
48198
  axis.series.forEach(function (series, i) {
48295
48199
  uniqueOrdinalPositions = [];
48296
48200
  if ((!ignoreHiddenSeries || series.visible !== false) &&
48297
- (series.takeOrdinalPosition !== false || hasBreaks)) {
48201
+ (series
48202
+ .takeOrdinalPosition !== false ||
48203
+ hasBreaks)) {
48298
48204
  // concatenate the processed X data into the existing
48299
48205
  // positions, or the empty array
48300
48206
  ordinalPositions = ordinalPositions.concat(series.processedXData);
@@ -48310,13 +48216,15 @@
48310
48216
  if (len) {
48311
48217
  i = 0;
48312
48218
  while (i < len - 1) {
48313
- if (ordinalPositions[i] !== ordinalPositions[i + 1]) {
48219
+ if (ordinalPositions[i] !==
48220
+ ordinalPositions[i + 1]) {
48314
48221
  uniqueOrdinalPositions.push(ordinalPositions[i + 1]);
48315
48222
  }
48316
48223
  i++;
48317
48224
  }
48318
48225
  // Check first item:
48319
- if (uniqueOrdinalPositions[0] !== ordinalPositions[0]) {
48226
+ if (uniqueOrdinalPositions[0] !==
48227
+ ordinalPositions[0]) {
48320
48228
  uniqueOrdinalPositions.unshift(ordinalPositions[0]);
48321
48229
  }
48322
48230
  ordinalPositions = uniqueOrdinalPositions;
@@ -48332,7 +48240,8 @@
48332
48240
  dist = ordinalPositions[1] - ordinalPositions[0];
48333
48241
  i = len - 1;
48334
48242
  while (i-- && !useOrdinal) {
48335
- if (ordinalPositions[i + 1] - ordinalPositions[i] !== dist) {
48243
+ if (ordinalPositions[i + 1] - ordinalPositions[i] !==
48244
+ dist) {
48336
48245
  useOrdinal = true;
48337
48246
  }
48338
48247
  }
@@ -48341,8 +48250,8 @@
48341
48250
  // spaced.
48342
48251
  if (!axis.options.keepOrdinalPadding &&
48343
48252
  (ordinalPositions[0] - min > dist ||
48344
- max - ordinalPositions[ordinalPositions.length - 1] >
48345
- dist)) {
48253
+ (max -
48254
+ ordinalPositions[ordinalPositions.length - 1]) > dist)) {
48346
48255
  useOrdinal = true;
48347
48256
  }
48348
48257
  }
@@ -48520,9 +48429,10 @@
48520
48429
  fakeAxis.series.push(fakeSeries);
48521
48430
  series.processData.apply(fakeSeries);
48522
48431
  });
48523
- // Force to use the ordinal when points are evenly spaced
48524
- // (e.g. weeks), #3825.
48525
- if (fakeSeries.closestPointRange !== fakeSeries.basePointRange &&
48432
+ // Force to use the ordinal when points are evenly spaced (e.g.
48433
+ // weeks), #3825.
48434
+ if ((fakeSeries.closestPointRange !==
48435
+ fakeSeries.basePointRange) &&
48526
48436
  fakeSeries.currentDataGrouping) {
48527
48437
  fakeAxis.forceOrdinal = true;
48528
48438
  }
@@ -48570,8 +48480,8 @@
48570
48480
  if (!groupIntervalFactor) {
48571
48481
  // Register all the distances in an array
48572
48482
  for (i = 0; i < len - 1; i++) {
48573
- distances[i] =
48574
- processedXData[i + 1] - processedXData[i];
48483
+ distances[i] = (processedXData[i + 1] -
48484
+ processedXData[i]);
48575
48485
  }
48576
48486
  // Sort them and find the median
48577
48487
  distances.sort(function (a, b) {
@@ -48593,15 +48503,12 @@
48593
48503
  *
48594
48504
  * @private
48595
48505
  * @param {number} val
48596
- * The pixel value of a point.
48506
+ * The pixel value of a point.
48597
48507
  *
48598
48508
  * @param {Array<number>} [ordinallArray]
48599
- * An array of all points available on the axis
48600
- * for the given data set.
48601
- * Either ordinalPositions if the value is inside the plotArea
48602
- * or extendedOrdinalPositions if not.
48603
- *
48604
- * @return {number}
48509
+ * An array of all points available on the axis for the given data set.
48510
+ * Either ordinalPositions if the value is inside the plotArea or
48511
+ * extendedOrdinalPositions if not.
48605
48512
  */
48606
48513
  Additions.prototype.getIndexOfPoint = function (val, ordinalArray) {
48607
48514
  var ordinal = this,
@@ -48622,10 +48529,11 @@
48622
48529
  }
48623
48530
  });
48624
48531
  }
48625
- // Distance in pixels between two points
48626
- // on the ordinal axis in the current zoom.
48627
- var ordinalPointPixelInterval = axis.translationSlope *
48628
- (ordinal.slope || axis.closestPointRange || ordinal.overscrollPointsRange),
48532
+ // Distance in pixels between two points on the ordinal axis in the
48533
+ // current zoom.
48534
+ var ordinalPointPixelInterval = axis.translationSlope * (ordinal.slope ||
48535
+ axis.closestPointRange ||
48536
+ ordinal.overscrollPointsRange),
48629
48537
  // toValue for the first point.
48630
48538
  shiftIndex = (val - firstPointX) / ordinalPointPixelInterval;
48631
48539
  return Additions.findIndexOf(ordinalArray, firstPointVal) + shiftIndex;
@@ -48661,19 +48569,20 @@
48661
48569
  * @private
48662
48570
  */
48663
48571
  Additions.prototype.postProcessTickInterval = function (tickInterval) {
48664
- // Problem: https://jsfiddle.net/highcharts/FQm4E/1/
48665
- // This is a case where this algorithm doesn't work optimally. In
48666
- // this case, the tick labels are spread out per week, but all the
48667
- // gaps reside within weeks. So we have a situation where the labels
48668
- // are courser than the ordinal gaps, and thus the tick interval
48669
- // should not be altered.
48572
+ // Problem: https://jsfiddle.net/highcharts/FQm4E/1/. This is a case
48573
+ // where this algorithm doesn't work optimally. In this case, the
48574
+ // tick labels are spread out per week, but all the gaps reside
48575
+ // within weeks. So we have a situation where the labels are courser
48576
+ // than the ordinal gaps, and thus the tick interval should not be
48577
+ // altered.
48670
48578
  var ordinal = this,
48671
48579
  axis = ordinal.axis,
48672
48580
  ordinalSlope = ordinal.slope;
48673
48581
  var ret;
48674
48582
  if (ordinalSlope) {
48675
48583
  if (!axis.options.breaks) {
48676
- ret = tickInterval / (ordinalSlope / axis.closestPointRange);
48584
+ ret = (tickInterval /
48585
+ (ordinalSlope / axis.closestPointRange));
48677
48586
  }
48678
48587
  else {
48679
48588
  ret = axis.closestPointRange || tickInterval; // #7275
@@ -49430,8 +49339,11 @@
49430
49339
  (threshold > brk.from && y < brk.from)) {
49431
49340
  eventName = 'pointBreak';
49432
49341
  }
49433
- else if ((threshold < brk.from && y > brk.from && y < brk.to) ||
49434
- (threshold > brk.from && y > brk.to && y < brk.from)) {
49342
+ else if ((threshold < brk.from &&
49343
+ y > brk.from &&
49344
+ y < brk.to) || (threshold > brk.from &&
49345
+ y > brk.to &&
49346
+ y < brk.from)) {
49435
49347
  eventName = 'pointInBreak';
49436
49348
  }
49437
49349
  if (eventName) {
@@ -49550,12 +49462,9 @@
49550
49462
  isNull: true,
49551
49463
  x: xRange
49552
49464
  });
49553
- // For stacked chart generate empty stack items,
49554
- // #6546
49465
+ // For stacked chart generate empty stack items, #6546
49555
49466
  if (yAxis.stacking && this.options.stacking) {
49556
- stack = yAxis.stacking.stacks[this.stackKey][xRange] =
49557
- new StackItem(yAxis, yAxis.options
49558
- .stackLabels, false, xRange, this.stack);
49467
+ stack = yAxis.stacking.stacks[this.stackKey][xRange] = new StackItem(yAxis, yAxis.options.stackLabels, false, xRange, this.stack);
49559
49468
  stack.total = 0;
49560
49469
  }
49561
49470
  }
@@ -49792,10 +49701,12 @@
49792
49701
  repeat_1 = brk.repeat || Infinity;
49793
49702
  if (isNumber(min_1) && isNumber(max_1)) {
49794
49703
  if (Additions.isInBreak(brk, min_1)) {
49795
- min_1 += (brk.to % repeat_1) - (min_1 % repeat_1);
49704
+ min_1 += ((brk.to % repeat_1) -
49705
+ (min_1 % repeat_1));
49796
49706
  }
49797
49707
  if (Additions.isInBreak(brk, max_1)) {
49798
- max_1 -= (max_1 % repeat_1) - (brk.from % repeat_1);
49708
+ max_1 -= ((max_1 % repeat_1) -
49709
+ (brk.from % repeat_1));
49799
49710
  }
49800
49711
  }
49801
49712
  });
@@ -49843,13 +49754,17 @@
49843
49754
  to: brk.value,
49844
49755
  len: brk.value - start_1 - (brk.size || 0)
49845
49756
  });
49846
- length_1 += brk.value - start_1 - (brk.size || 0);
49757
+ length_1 += (brk.value -
49758
+ start_1 -
49759
+ (brk.size || 0));
49847
49760
  }
49848
49761
  });
49849
49762
  brokenAxis.breakArray = breakArray_1;
49850
49763
  // Used with staticScale, and below the actual axis
49851
49764
  // length, when breaks are substracted.
49852
- if (isNumber(min_1) && isNumber(max_1) && isNumber(axis.min)) {
49765
+ if (isNumber(min_1) &&
49766
+ isNumber(max_1) &&
49767
+ isNumber(axis.min)) {
49853
49768
  brokenAxis.unitLength = max_1 - min_1 - length_1 +
49854
49769
  pointRangePadding;
49855
49770
  fireEvent(axis, 'afterBreaks');
@@ -50132,13 +50047,17 @@
50132
50047
  groupedXData = groupedData.groupedXData,
50133
50048
  groupedYData = groupedData.groupedYData,
50134
50049
  gapSize = 0;
50135
- // The smoothed option is deprecated, instead,
50136
- // there is a fallback to the new anchoring mechanism. #12455.
50137
- if (dataGroupingOptions && dataGroupingOptions.smoothed && groupedXData.length) {
50050
+ // The smoothed option is deprecated, instead, there is a fallback
50051
+ // to the new anchoring mechanism. #12455.
50052
+ if (dataGroupingOptions &&
50053
+ dataGroupingOptions.smoothed &&
50054
+ groupedXData.length) {
50138
50055
  dataGroupingOptions.firstAnchor = 'firstPoint';
50139
50056
  dataGroupingOptions.anchor = 'middle';
50140
50057
  dataGroupingOptions.lastAnchor = 'lastPoint';
50141
- error(32, false, chart, { 'dataGrouping.smoothed': 'use dataGrouping.anchor' });
50058
+ error(32, false, chart, {
50059
+ 'dataGrouping.smoothed': 'use dataGrouping.anchor'
50060
+ });
50142
50061
  }
50143
50062
  anchorPoints(series, groupedXData, xMax);
50144
50063
  // Record what data grouping values were used
@@ -50215,7 +50134,8 @@
50215
50134
  pointArrayMap = series.pointArrayMap,
50216
50135
  pointArrayMapLength = pointArrayMap && pointArrayMap.length,
50217
50136
  extendedPointArrayMap = ['x'].concat(pointArrayMap || ['y']),
50218
- groupAll = this.options.dataGrouping && this.options.dataGrouping.groupAll,
50137
+ groupAll = (this.options.dataGrouping &&
50138
+ this.options.dataGrouping.groupAll),
50219
50139
  pos = 0,
50220
50140
  start = 0,
50221
50141
  valuesLen,
@@ -50345,7 +50265,7 @@
50345
50265
  xMax) {
50346
50266
  var options = series.options,
50347
50267
  dataGroupingOptions = options.dataGrouping,
50348
- totalRange = series.currentDataGrouping && series.currentDataGrouping.gapSize;
50268
+ totalRange = (series.currentDataGrouping && series.currentDataGrouping.gapSize);
50349
50269
  var i;
50350
50270
  // DataGrouping x-coordinates.
50351
50271
  if (dataGroupingOptions && series.xData && totalRange && series.groupMap) {
@@ -50357,9 +50277,9 @@
50357
50277
  anchor);
50358
50278
  // Anchor points that are not extremes.
50359
50279
  if (anchor && anchor !== 'start') {
50360
- var shiftInterval = totalRange *
50280
+ var shiftInterval = (totalRange *
50361
50281
  { middle: 0.5,
50362
- end: 1 }[anchor];
50282
+ end: 1 }[anchor]);
50363
50283
  i = groupedXData.length - 1;
50364
50284
  while (i-- && i > 0) {
50365
50285
  groupedXData[i] += shiftInterval;
@@ -50625,7 +50545,8 @@
50625
50545
  series.forEach(function (series) {
50626
50546
  // Reset the groupPixelWidth, then calculate if needed.
50627
50547
  series.groupPixelWidth = void 0; // #2110
50628
- series.groupPixelWidth = axis.getGroupPixelWidth && axis.getGroupPixelWidth();
50548
+ series.groupPixelWidth = (axis.getGroupPixelWidth &&
50549
+ axis.getGroupPixelWidth());
50629
50550
  if (series.groupPixelWidth) {
50630
50551
  series.hasProcessed = true; // #2692
50631
50552
  }
@@ -50664,7 +50585,8 @@
50664
50585
  // Execute grouping if the amount of points is greater than the
50665
50586
  // limit defined in groupPixelWidth
50666
50587
  if (series[i].groupPixelWidth ||
50667
- dataLength > (this.chart.plotSizeX / groupPixelWidth) ||
50588
+ (dataLength >
50589
+ (this.chart.plotSizeX / groupPixelWidth)) ||
50668
50590
  (dataLength && dgOptions.forced)) {
50669
50591
  doGrouping = true;
50670
50592
  }
@@ -50805,10 +50727,10 @@
50805
50727
  type = this.type,
50806
50728
  plotOptions = this.chart.options.plotOptions,
50807
50729
  defaultOptions = D.defaultOptions.plotOptions[type].dataGrouping,
50808
- // External series, for example technical indicators should also
50809
- // inherit commonOptions which are not available outside this module
50810
- baseOptions = this.useCommonDataGrouping && commonOptions;
50811
- if (specificOptions[type] || baseOptions) { // #1284
50730
+ // External series, for example technical indicators should also inherit
50731
+ // commonOptions which are not available outside this module
50732
+ baseOptions = (this.useCommonDataGrouping && commonOptions);
50733
+ if (plotOptions && (specificOptions[type] || baseOptions)) { // #1284
50812
50734
  if (!defaultOptions) {
50813
50735
  defaultOptions = merge(commonOptions, specificOptions[type]);
50814
50736
  }
@@ -50941,7 +50863,7 @@
50941
50863
  * to two weeks, the second and third item of the week array are used,
50942
50864
  * and applied to the start and end date of the time span.
50943
50865
  *
50944
- * @type {object}
50866
+ * @type {Object}
50945
50867
  * @apioption plotOptions.series.dataGrouping.dateTimeLabelFormats
50946
50868
  */
50947
50869
  /**
@@ -51279,10 +51201,7 @@
51279
51201
  /**
51280
51202
  * Function to create SVGPath of the point based on the
51281
51203
  * plot positions of this point.
51282
- *
51283
- * @param {SVGPath} point
51284
- * @param {SVGElement} graphic
51285
- * @returns {SVGPath}
51204
+ * @private
51286
51205
  */
51287
51206
  HLCSeries.prototype.getPointPath = function (point, graphic) {
51288
51207
  // crisp vector coordinates
@@ -51342,7 +51261,6 @@
51342
51261
  /**
51343
51262
  * @private
51344
51263
  * @function Highcharts.seriesTypes.hlc#init
51345
- * @return {void}
51346
51264
  */
51347
51265
  HLCSeries.prototype.init = function () {
51348
51266
  _super.prototype.init.apply(this, arguments);
@@ -51368,7 +51286,6 @@
51368
51286
  *
51369
51287
  * @private
51370
51288
  * @function Highcharts.seriesTypes.hlc#translate
51371
- * @return {void}
51372
51289
  */
51373
51290
  HLCSeries.prototype.translate = function () {
51374
51291
  var series = this,
@@ -51644,7 +51561,6 @@
51644
51561
  * Extend the parent method by adding up or down to the class name.
51645
51562
  * @private
51646
51563
  * @function Highcharts.seriesTypes.ohlc#getClassName
51647
- * @return {string}
51648
51564
  */
51649
51565
  OHLCPoint.prototype.getClassName = function () {
51650
51566
  return _super.prototype.getClassName.call(this) +
@@ -51819,7 +51735,7 @@
51819
51735
  * @sample stock/demo/ohlc/
51820
51736
  * OHLC chart
51821
51737
  *
51822
- * @extends plotOptions.ohlc
51738
+ * @extends plotOptions.hlc
51823
51739
  * @product highstock
51824
51740
  * @optionparent plotOptions.ohlc
51825
51741
  */
@@ -52084,7 +52000,6 @@
52084
52000
  *
52085
52001
  * @private
52086
52002
  * @function Highcharts.seriesTypes.candlestick#drawPoints
52087
- * @return {void}
52088
52003
  */
52089
52004
  CandlestickSeries.prototype.drawPoints = function () {
52090
52005
  var series = this,
@@ -52629,8 +52544,8 @@
52629
52544
  /**
52630
52545
  * Create the circlepin and squarepin icons with anchor.
52631
52546
  * @private
52632
- * @param {string} shape - circle or square
52633
- * @return {void}
52547
+ * @param {string} shape
52548
+ * circle or square
52634
52549
  */
52635
52550
  function createPinSymbol(shape) {
52636
52551
  symbols[(shape + 'pin')] = function (x, y, w, h, options) {
@@ -53433,7 +53348,8 @@
53433
53348
  from = unitedMin + range * (1 - this.to);
53434
53349
  }
53435
53350
  if (this.shouldUpdateExtremes(e.DOMType)) {
53436
- axis.setExtremes(from, to, true, e.DOMType !== 'mousemove' && e.DOMType !== 'touchmove', e);
53351
+ axis.setExtremes(from, to, true, (e.DOMType !== 'mousemove' &&
53352
+ e.DOMType !== 'touchmove'), e);
53437
53353
  }
53438
53354
  else {
53439
53355
  // When live redraw is disabled, don't change extremes
@@ -53450,7 +53366,7 @@
53450
53366
  scrollMin = _a.scrollMin,
53451
53367
  scrollMax = _a.scrollMax,
53452
53368
  scrollbar = axis.scrollbar,
53453
- offset = axis.axisTitleMargin + (axis.titleOffset || 0),
53369
+ offset = (axis.axisTitleMargin + (axis.titleOffset || 0)),
53454
53370
  scrollbarsOffsets = axis.chart.scrollbarsOffsets,
53455
53371
  axisMargin = axis.options.margin || 0,
53456
53372
  offsetsIndex,
@@ -53462,8 +53378,11 @@
53462
53378
  if (!axis.opposite) {
53463
53379
  scrollbarsOffsets[1] += offset;
53464
53380
  }
53465
- scrollbar.position(axis.left, axis.top + axis.height + 2 + scrollbarsOffsets[1] -
53466
- (axis.opposite ? axisMargin : 0), axis.width, axis.height);
53381
+ scrollbar.position(axis.left, (axis.top +
53382
+ axis.height +
53383
+ 2 +
53384
+ scrollbarsOffsets[1] -
53385
+ (axis.opposite ? axisMargin : 0)), axis.width, axis.height);
53467
53386
  // Next scrollbar should reserve space for margin (if set)
53468
53387
  if (!axis.opposite) {
53469
53388
  scrollbarsOffsets[1] += axisMargin;
@@ -53480,7 +53399,10 @@
53480
53399
  xPosition = axis.opposite ? 0 : axisMargin;
53481
53400
  }
53482
53401
  else {
53483
- xPosition = axis.left + axis.width + 2 + scrollbarsOffsets[0] -
53402
+ xPosition = axis.left +
53403
+ axis.width +
53404
+ 2 +
53405
+ scrollbarsOffsets[0] -
53484
53406
  (axis.opposite ? 0 : axisMargin);
53485
53407
  }
53486
53408
  scrollbar.position(xPosition, axis.top, axis.width, axis.height);
@@ -53504,10 +53426,10 @@
53504
53426
  scrollbar.setRange(0, 1);
53505
53427
  }
53506
53428
  else {
53507
- from =
53508
- (axis.min - scrollMin) / (scrollMax - scrollMin);
53509
- to =
53510
- (axis.max - scrollMin) / (scrollMax - scrollMin);
53429
+ from = ((axis.min - scrollMin) /
53430
+ (scrollMax - scrollMin));
53431
+ to = ((axis.max - scrollMin) /
53432
+ (scrollMax - scrollMin));
53511
53433
  if ((axis.horiz && !axis.reversed) ||
53512
53434
  (!axis.horiz && axis.reversed)) {
53513
53435
  scrollbar.setRange(from, to);
@@ -53526,7 +53448,8 @@
53526
53448
  index = axis.horiz ? 2 : opposite ? 3 : 1,
53527
53449
  scrollbar = axis.scrollbar;
53528
53450
  if (scrollbar) {
53529
- axis.chart.scrollbarsOffsets = [0, 0]; // reset scrollbars offsets
53451
+ // reset scrollbars offsets
53452
+ axis.chart.scrollbarsOffsets = [0, 0];
53530
53453
  axis.chart.axisOffset[index] +=
53531
53454
  scrollbar.size + scrollbar.options.margin;
53532
53455
  }
@@ -53893,10 +53816,16 @@
53893
53816
  mouseUpHandler = this.mouseUpHandler.bind(this);
53894
53817
  // Mouse events
53895
53818
  var _events = [
53896
- [buttons[buttonsOrder[0]].element, 'click',
53897
- this.buttonToMinClick.bind(this)],
53898
- [buttons[buttonsOrder[1]].element, 'click',
53899
- this.buttonToMaxClick.bind(this)],
53819
+ [
53820
+ buttons[buttonsOrder[0]].element,
53821
+ 'click',
53822
+ this.buttonToMinClick.bind(this)
53823
+ ],
53824
+ [
53825
+ buttons[buttonsOrder[1]].element,
53826
+ 'click',
53827
+ this.buttonToMaxClick.bind(this)
53828
+ ],
53900
53829
  [track, 'click',
53901
53830
  this.trackClick.bind(this)],
53902
53831
  [bar, 'mousedown',
@@ -53918,7 +53847,8 @@
53918
53847
  };
53919
53848
  Scrollbar.prototype.buttonToMaxClick = function (e) {
53920
53849
  var scroller = this;
53921
- var range = (scroller.to - scroller.from) * pick(scroller.options.step, 0.2);
53850
+ var range = ((scroller.to - scroller.from) *
53851
+ pick(scroller.options.step, 0.2));
53922
53852
  scroller.updatePosition(scroller.from + range, scroller.to + range);
53923
53853
  fireEvent(scroller, 'changed', {
53924
53854
  from: scroller.from,
@@ -53971,7 +53901,6 @@
53971
53901
  *
53972
53902
  * @private
53973
53903
  * @function Highcharts.Scrollbar#destroy
53974
- * @return {void}
53975
53904
  */
53976
53905
  Scrollbar.prototype.destroy = function () {
53977
53906
  var scroller = this,
@@ -54004,7 +53933,6 @@
54004
53933
  * @function Highcharts.Scrollbar#drawScrollbarButton
54005
53934
  * @param {number} index
54006
53935
  * 0 is left, 1 is right
54007
- * @return {void}
54008
53936
  */
54009
53937
  Scrollbar.prototype.drawScrollbarButton = function (index) {
54010
53938
  var scroller = this,
@@ -54097,7 +54025,8 @@
54097
54025
  var scroller = this,
54098
54026
  normalizedEvent = scroller.chart.pointer.normalize(e),
54099
54027
  options = scroller.options,
54100
- direction = options.vertical ? 'chartY' : 'chartX',
54028
+ direction = options.vertical ?
54029
+ 'chartY' : 'chartX',
54101
54030
  initPositions = scroller.initPositions || [];
54102
54031
  var scrollPosition,
54103
54032
  chartPosition,
@@ -54158,7 +54087,6 @@
54158
54087
  * width of the scrollbar
54159
54088
  * @param {number} height
54160
54089
  * height of the scorllbar
54161
- * @return {void}
54162
54090
  */
54163
54091
  Scrollbar.prototype.position = function (x, y, width, height) {
54164
54092
  var scroller = this,
@@ -54207,7 +54135,6 @@
54207
54135
  *
54208
54136
  * @private
54209
54137
  * @function Highcharts.Scrollbar#removeEvents
54210
- * @return {void}
54211
54138
  */
54212
54139
  Scrollbar.prototype.removeEvents = function () {
54213
54140
  this._events.forEach(function (args) {
@@ -54299,7 +54226,6 @@
54299
54226
  * scale (0-1) where bar should start
54300
54227
  * @param {number} to
54301
54228
  * scale (0-1) where bar should end
54302
- * @return {void}
54303
54229
  */
54304
54230
  Scrollbar.prototype.setRange = function (from, to) {
54305
54231
  var scroller = this,
@@ -54378,8 +54304,6 @@
54378
54304
  *
54379
54305
  * @private
54380
54306
  * @function Highcharts.Scrollbar#shouldUpdateExtremes
54381
- * @param {string} [eventType]
54382
- * @return {boolean}
54383
54307
  */
54384
54308
  Scrollbar.prototype.shouldUpdateExtremes = function (eventType) {
54385
54309
  return (pick(this.options.liveRedraw, H.svg && !H.isTouchDevice && !this.chart.isBoosting) ||
@@ -54429,7 +54353,6 @@
54429
54353
  * @function Highcharts.Scrollbar#updatePosition
54430
54354
  * @param {number} from
54431
54355
  * @param {number} to
54432
- * @return {void}
54433
54356
  */
54434
54357
  Scrollbar.prototype.updatePosition = function (from, to) {
54435
54358
  if (to > 1) {
@@ -54512,11 +54435,6 @@
54512
54435
  *
54513
54436
  * @private
54514
54437
  * @function Highcharts.Axis#toFixedRange
54515
- * @param {number} [pxMin]
54516
- * @param {number} [pxMax]
54517
- * @param {number} [fixedMin]
54518
- * @param {number} [fixedMax]
54519
- * @return {*}
54520
54438
  */
54521
54439
  NavigatorAxisAdditions.prototype.toFixedRange = function (pxMin, pxMax, fixedMin, fixedMax) {
54522
54440
  var navigator = this;
@@ -55267,17 +55185,32 @@
55267
55185
  verticalMin = navigatorTop + zoomedMax + outlineCorrection;
55268
55186
  zoomedMax = navigatorTop + zoomedMin + outlineCorrection;
55269
55187
  path = [
55270
- ['M', left + outlineHeight, navigatorTop - scrollbarHeight - outlineCorrection],
55188
+ [
55189
+ 'M',
55190
+ left + outlineHeight,
55191
+ navigatorTop - scrollbarHeight - outlineCorrection
55192
+ ],
55193
+ // top right of zoomed range
55271
55194
  ['L', left + outlineHeight, verticalMin],
55272
55195
  ['L', left, verticalMin],
55273
55196
  ['L', left, zoomedMax],
55274
55197
  ['L', left + outlineHeight, zoomedMax],
55275
- ['L', left + outlineHeight, navigatorTop + navigatorSize + scrollbarHeight]
55198
+ [
55199
+ 'L',
55200
+ left + outlineHeight,
55201
+ navigatorTop + navigatorSize + scrollbarHeight
55202
+ ]
55276
55203
  ];
55277
55204
  if (maskInside) {
55278
- path.push(['M', left + outlineHeight, verticalMin - halfOutline], // upper left of zoomed range
55279
- ['L', left + outlineHeight, zoomedMax + halfOutline] // upper right of z.r.
55280
- );
55205
+ path.push(
55206
+ // upper left of zoomed range
55207
+ ['M', left + outlineHeight, verticalMin - halfOutline],
55208
+ // upper right of z.r.
55209
+ [
55210
+ 'L',
55211
+ left + outlineHeight,
55212
+ zoomedMax + halfOutline
55213
+ ]);
55281
55214
  }
55282
55215
  }
55283
55216
  else {
@@ -55285,17 +55218,25 @@
55285
55218
  zoomedMax += left + scrollbarHeight - outlineCorrection;
55286
55219
  navigatorTop += halfOutline;
55287
55220
  path = [
55221
+ // left
55288
55222
  ['M', left, navigatorTop],
55223
+ // upper left of zoomed range
55289
55224
  ['L', zoomedMin, navigatorTop],
55225
+ // lower left of z.r.
55290
55226
  ['L', zoomedMin, navigatorTop + outlineHeight],
55227
+ // lower right of z.r.
55291
55228
  ['L', zoomedMax, navigatorTop + outlineHeight],
55229
+ // upper right of z.r.
55292
55230
  ['L', zoomedMax, navigatorTop],
55293
- ['L', left + navigatorSize + scrollbarHeight * 2, navigatorTop] // right
55231
+ // right
55232
+ ['L', left + navigatorSize + scrollbarHeight * 2, navigatorTop]
55294
55233
  ];
55295
55234
  if (maskInside) {
55296
- path.push(['M', zoomedMin - halfOutline, navigatorTop], // upper left of zoomed range
55297
- ['L', zoomedMax + halfOutline, navigatorTop] // upper right of z.r.
55298
- );
55235
+ path.push(
55236
+ // upper left of zoomed range
55237
+ ['M', zoomedMin - halfOutline, navigatorTop],
55238
+ // upper right of z.r.
55239
+ ['L', zoomedMax + halfOutline, navigatorTop]);
55299
55240
  }
55300
55241
  }
55301
55242
  navigator.outline[verb]({
@@ -55481,7 +55422,6 @@
55481
55422
  * Pixel value minimum
55482
55423
  * @param {number} [pxMax]
55483
55424
  * Pixel value maximum
55484
- * @return {void}
55485
55425
  */
55486
55426
  Navigator.prototype.render = function (min, max, pxMin, pxMax) {
55487
55427
  var navigator = this,
@@ -55758,7 +55698,6 @@
55758
55698
  * Mouse event
55759
55699
  * @param {number} index
55760
55700
  * Index of a handle in Navigator.handles array
55761
- * @return {void}
55762
55701
  */
55763
55702
  Navigator.prototype.handlesMousedown = function (e, index) {
55764
55703
  e = this.chart.pointer.normalize(e);
@@ -55854,7 +55793,6 @@
55854
55793
  * @function Highcharts.Navigator#onMouseUp
55855
55794
  * @param {Highcharts.PointerEventObject} e
55856
55795
  * Mouse event
55857
- * @return {void}
55858
55796
  */
55859
55797
  Navigator.prototype.onMouseUp = function (e) {
55860
55798
  var navigator = this,
@@ -55941,7 +55879,6 @@
55941
55879
  *
55942
55880
  * @private
55943
55881
  * @function Highcharts.Navigator#removeEvents
55944
- * @return {void}
55945
55882
  */
55946
55883
  Navigator.prototype.removeEvents = function () {
55947
55884
  if (this.eventsToUnbind) {
@@ -55957,7 +55894,6 @@
55957
55894
  *
55958
55895
  * @private
55959
55896
  * @function Highcharts.Navigator#removeBaseSeriesEvents
55960
- * @return {void}
55961
55897
  */
55962
55898
  Navigator.prototype.removeBaseSeriesEvents = function () {
55963
55899
  var baseSeries = this.baseSeries || [];
@@ -56043,7 +55979,8 @@
56043
55979
  offset: 0,
56044
55980
  index: yAxisIndex,
56045
55981
  isInternal: true,
56046
- reversed: pick((navigatorOptions.yAxis && navigatorOptions.yAxis.reversed), (chart.yAxis[0] && chart.yAxis[0].reversed), false),
55982
+ reversed: pick((navigatorOptions.yAxis &&
55983
+ navigatorOptions.yAxis.reversed), (chart.yAxis[0] && chart.yAxis[0].reversed), false),
56047
55984
  zoomEnabled: false
56048
55985
  }, chart.inverted ? {
56049
55986
  width: height
@@ -56125,9 +56062,6 @@
56125
56062
  *
56126
56063
  * @private
56127
56064
  * @function Highcharts.Navigator#getUnionExtremes
56128
- * @param {boolean} [returnFalseOnNoBaseSeries]
56129
- * as the param says.
56130
- * @return {Highcharts.Dictionary<(number|undefined)>|undefined}
56131
56065
  */
56132
56066
  Navigator.prototype.getUnionExtremes = function (returnFalseOnNoBaseSeries) {
56133
56067
  var baseAxis = this.chart.xAxis[0],
@@ -56155,7 +56089,6 @@
56155
56089
  * Additional series options for a navigator
56156
56090
  * @param {boolean} [redraw]
56157
56091
  * Whether to redraw after update.
56158
- * @return {void}
56159
56092
  */
56160
56093
  Navigator.prototype.setBaseSeries = function (baseSeriesOptions, redraw) {
56161
56094
  var chart = this.chart,
@@ -56194,7 +56127,6 @@
56194
56127
  * @function Highcharts.Navigator.updateNavigatorSeries
56195
56128
  * @param {boolean} addEvents
56196
56129
  * @param {boolean} [redraw]
56197
- * @return {void}
56198
56130
  */
56199
56131
  Navigator.prototype.updateNavigatorSeries = function (addEvents, redraw) {
56200
56132
  var navigator = this,
@@ -56335,7 +56267,6 @@
56335
56267
  *
56336
56268
  * @private
56337
56269
  * @function Highcharts.Navigator#addBaseSeriesEvent
56338
- * @return {void}
56339
56270
  */
56340
56271
  Navigator.prototype.addBaseSeriesEvents = function () {
56341
56272
  var navigator = this,
@@ -56529,7 +56460,6 @@
56529
56460
  *
56530
56461
  * @private
56531
56462
  * @function Highcharts.Navigator#addChartEvents
56532
- * @return {void}
56533
56463
  */
56534
56464
  Navigator.prototype.addChartEvents = function () {
56535
56465
  if (!this.eventsToUnbind) {
@@ -57328,7 +57258,6 @@
57328
57258
  * @param {number} i
57329
57259
  * The index of the button
57330
57260
  * @param {boolean} [redraw]
57331
- * @return {void}
57332
57261
  */
57333
57262
  RangeSelector.prototype.clickButton = function (i, redraw) {
57334
57263
  var rangeSelector = this,
@@ -57426,7 +57355,8 @@
57426
57355
  // If the navigator exist and the axis range is declared reset that
57427
57356
  // range and from now on only use the range set by a user, #14742.
57428
57357
  if (chart.navigator && chart.navigator.baseSeries[0]) {
57429
- chart.navigator.baseSeries[0].xAxis.options.range = void 0;
57358
+ chart.navigator.baseSeries[0].xAxis.options
57359
+ .range = void 0;
57430
57360
  }
57431
57361
  newMin = dataMin;
57432
57362
  newMax = dataMax;
@@ -57471,7 +57401,6 @@
57471
57401
  * @private
57472
57402
  * @function Highcharts.RangeSelector#setSelected
57473
57403
  * @param {number} [selected]
57474
- * @return {void}
57475
57404
  */
57476
57405
  RangeSelector.prototype.setSelected = function (selected) {
57477
57406
  this.selected = this.options.selected = selected;
@@ -57482,12 +57411,11 @@
57482
57411
  * @private
57483
57412
  * @function Highcharts.RangeSelector#init
57484
57413
  * @param {Highcharts.Chart} chart
57485
- * @return {void}
57486
57414
  */
57487
57415
  RangeSelector.prototype.init = function (chart) {
57488
57416
  var rangeSelector = this,
57489
57417
  options = chart.options.rangeSelector,
57490
- buttonOptions = options.buttons || rangeSelector.defaultButtons.slice(),
57418
+ buttonOptions = (options.buttons || rangeSelector.defaultButtons.slice()),
57491
57419
  selectedOption = options.selected,
57492
57420
  blurInputs = function () {
57493
57421
  var minInput = rangeSelector.minInput,
@@ -57537,7 +57465,6 @@
57537
57465
  *
57538
57466
  * @private
57539
57467
  * @function Highcharts.RangeSelector#updateButtonStates
57540
- * @return {void}
57541
57468
  */
57542
57469
  RangeSelector.prototype.updateButtonStates = function () {
57543
57470
  var rangeSelector = this,
@@ -57643,7 +57570,6 @@
57643
57570
  * @private
57644
57571
  * @function Highcharts.RangeSelector#computeButtonRange
57645
57572
  * @param {Highcharts.RangeSelectorButtonsOptions} rangeOptions
57646
- * @return {void}
57647
57573
  */
57648
57574
  RangeSelector.prototype.computeButtonRange = function (rangeOptions) {
57649
57575
  var type = rangeOptions.type,
@@ -57678,12 +57604,11 @@
57678
57604
  *
57679
57605
  * @private
57680
57606
  * @function Highcharts.RangeSelector#getInputValue
57681
- * @param {string} name
57682
- * @return {number}
57683
57607
  */
57684
57608
  RangeSelector.prototype.getInputValue = function (name) {
57685
57609
  var input = name === 'min' ? this.minInput : this.maxInput;
57686
- var options = this.chart.options.rangeSelector;
57610
+ var options = this.chart.options
57611
+ .rangeSelector;
57687
57612
  var time = this.chart.time;
57688
57613
  if (input) {
57689
57614
  return ((input.type === 'text' && options.inputDateParser) ||
@@ -57696,9 +57621,6 @@
57696
57621
  *
57697
57622
  * @private
57698
57623
  * @function Highcharts.RangeSelector#setInputValue
57699
- * @param {string} name
57700
- * @param {number} [inputTime]
57701
- * @return {void}
57702
57624
  */
57703
57625
  RangeSelector.prototype.setInputValue = function (name, inputTime) {
57704
57626
  var options = this.options, time = this.chart.time, input = name === 'min' ? this.minInput : this.maxInput, dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
@@ -57713,7 +57635,8 @@
57713
57635
  input.setAttribute('data-hc-time', inputTime);
57714
57636
  updatedTime = inputTime;
57715
57637
  }
57716
- input.value = time.dateFormat(this.inputTypeFormats[input.type] || options.inputEditDateFormat, updatedTime);
57638
+ input.value = time.dateFormat((this.inputTypeFormats[input.type] ||
57639
+ options.inputEditDateFormat), updatedTime);
57717
57640
  if (dateBox) {
57718
57641
  dateBox.attr({
57719
57642
  text: time.dateFormat(options.inputDateFormat, updatedTime)
@@ -57726,10 +57649,6 @@
57726
57649
  *
57727
57650
  * @private
57728
57651
  * @function Highcharts.RangeSelector#setInputExtremes
57729
- * @param {string} name
57730
- * @param {number} min
57731
- * @param {number} max
57732
- * @return {void}
57733
57652
  */
57734
57653
  RangeSelector.prototype.setInputExtremes = function (name, min, max) {
57735
57654
  var input = name === 'min' ? this.minInput : this.maxInput;
@@ -57754,7 +57673,6 @@
57754
57673
  * @private
57755
57674
  * @function Highcharts.RangeSelector#showInput
57756
57675
  * @param {string} name
57757
- * @return {void}
57758
57676
  */
57759
57677
  RangeSelector.prototype.showInput = function (name) {
57760
57678
  var dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
@@ -57766,7 +57684,9 @@
57766
57684
  translateY = _a.translateY;
57767
57685
  var inputBoxWidth = this.options.inputBoxWidth;
57768
57686
  css(input, {
57769
- width: isTextInput ? ((dateBox.width + (inputBoxWidth ? -2 : 20)) + 'px') : 'auto',
57687
+ width: isTextInput ?
57688
+ ((dateBox.width + (inputBoxWidth ? -2 : 20)) + 'px') :
57689
+ 'auto',
57770
57690
  height: isTextInput ? ((dateBox.height - 2) + 'px') : 'auto',
57771
57691
  border: '2px solid silver'
57772
57692
  });
@@ -57792,7 +57712,6 @@
57792
57712
  * @private
57793
57713
  * @function Highcharts.RangeSelector#hideInput
57794
57714
  * @param {string} name
57795
- * @return {void}
57796
57715
  */
57797
57716
  RangeSelector.prototype.hideInput = function (name) {
57798
57717
  var input = name === 'min' ? this.minInput : this.maxInput;
@@ -57844,8 +57763,6 @@
57844
57763
  *
57845
57764
  * @private
57846
57765
  * @function Highcharts.RangeSelector#drawInput
57847
- * @param {string} name
57848
- * @return {RangeSelectorInputElements}
57849
57766
  */
57850
57767
  RangeSelector.prototype.drawInput = function (name) {
57851
57768
  var _a = this,
@@ -58014,8 +57931,6 @@
58014
57931
  *
58015
57932
  * @private
58016
57933
  * @function Highcharts.RangeSelector#getPosition
58017
- *
58018
- * @return {Highcharts.Dictionary<number>}
58019
57934
  */
58020
57935
  RangeSelector.prototype.getPosition = function () {
58021
57936
  var chart = this.chart,
@@ -58035,13 +57950,8 @@
58035
57950
  *
58036
57951
  * @private
58037
57952
  * @function Highcharts.RangeSelector#getYTDExtremes
58038
- *
58039
- * @param {number} dataMax
58040
- *
58041
- * @param {number} dataMin
58042
- *
58043
57953
  * @return {*}
58044
- * Returns min and max for the YTD
57954
+ * Returns min and max for the YTD
58045
57955
  */
58046
57956
  RangeSelector.prototype.getYTDExtremes = function (dataMax, dataMin, useUTC) {
58047
57957
  var time = this.chart.time,
@@ -58070,7 +57980,6 @@
58070
57980
  * X axis minimum
58071
57981
  * @param {number} [max]
58072
57982
  * X axis maximum
58073
- * @return {void}
58074
57983
  */
58075
57984
  RangeSelector.prototype.render = function (min, max) {
58076
57985
  var chart = this.chart,
@@ -58124,7 +58033,8 @@
58124
58033
  this.setInputValue('min', min);
58125
58034
  this.setInputValue('max', max);
58126
58035
  var unionExtremes = (chart.scroller && chart.scroller.getUnionExtremes()) || chart.xAxis[0] || {};
58127
- if (defined(unionExtremes.dataMin) && defined(unionExtremes.dataMax)) {
58036
+ if (defined(unionExtremes.dataMin) &&
58037
+ defined(unionExtremes.dataMax)) {
58128
58038
  var minRange = chart.xAxis[0].minRange || 0;
58129
58039
  this.setInputExtremes('min', unionExtremes.dataMin, Math.min(unionExtremes.dataMax, this.getInputValue('max')) - minRange);
58130
58040
  this.setInputExtremes('max', Math.max(unionExtremes.dataMin, this.getInputValue('min')) + minRange, unionExtremes.dataMax);
@@ -58157,7 +58067,6 @@
58157
58067
  *
58158
58068
  * @private
58159
58069
  * @function Highcharts.RangeSelector#renderButtons
58160
- * @return {void}
58161
58070
  */
58162
58071
  RangeSelector.prototype.renderButtons = function () {
58163
58072
  var _this = this;
@@ -58258,7 +58167,6 @@
58258
58167
  *
58259
58168
  * @private
58260
58169
  * @function Highcharts.RangeSelector#alignElements
58261
- * @return {void}
58262
58170
  */
58263
58171
  RangeSelector.prototype.alignElements = function () {
58264
58172
  var _this = this;
@@ -58414,7 +58322,6 @@
58414
58322
  * @function Highcharts.RangeSelector#alignButtonGroup
58415
58323
  * @param {number} xOffsetForExportButton
58416
58324
  * @param {number} [width]
58417
- * @return {void}
58418
58325
  */
58419
58326
  RangeSelector.prototype.alignButtonGroup = function (xOffsetForExportButton, width) {
58420
58327
  var _a = this,
@@ -58444,7 +58351,6 @@
58444
58351
  /**
58445
58352
  * @private
58446
58353
  * @function Highcharts.RangeSelector#positionButtons
58447
- * @return {void}
58448
58354
  */
58449
58355
  RangeSelector.prototype.positionButtons = function () {
58450
58356
  var _a = this,
@@ -58485,7 +58391,6 @@
58485
58391
  * @param {number} xOffsetForExportButton
58486
58392
  * The X offset of the group required to make room for the
58487
58393
  * exporting button
58488
- * @return {void}
58489
58394
  */
58490
58395
  RangeSelector.prototype.handleCollision = function (xOffsetForExportButton) {
58491
58396
  var _this = this;
@@ -58586,7 +58491,6 @@
58586
58491
  * @private
58587
58492
  * @function Highcharts.RangeSelector#collapseButtons
58588
58493
  * @param {number} xOffsetForExportButton
58589
- * @return {void}
58590
58494
  */
58591
58495
  RangeSelector.prototype.collapseButtons = function (xOffsetForExportButton) {
58592
58496
  var _a = this,
@@ -58640,7 +58544,6 @@
58640
58544
  *
58641
58545
  * @private
58642
58546
  * @function Highcharts.RangeSelector#expandButtons
58643
- * @return {void}
58644
58547
  */
58645
58548
  RangeSelector.prototype.expandButtons = function () {
58646
58549
  var _a = this,
@@ -58672,7 +58575,6 @@
58672
58575
  *
58673
58576
  * @private
58674
58577
  * @function Highcharts.RangeSelector#currentButtonIndex
58675
- * @return {number}
58676
58578
  */
58677
58579
  RangeSelector.prototype.currentButtonIndex = function () {
58678
58580
  var dropdown = this.dropdown;
@@ -58686,7 +58588,6 @@
58686
58588
  *
58687
58589
  * @private
58688
58590
  * @function Highcharts.RangeSelector#showDropdown
58689
- * @return {void}
58690
58591
  */
58691
58592
  RangeSelector.prototype.showDropdown = function () {
58692
58593
  var _a = this,
@@ -58710,7 +58611,6 @@
58710
58611
  /**
58711
58612
  * @private
58712
58613
  * @function Highcharts.RangeSelector#hideDropdown
58713
- * @return {void}
58714
58614
  */
58715
58615
  RangeSelector.prototype.hideDropdown = function () {
58716
58616
  var dropdown = this.dropdown;
@@ -58729,7 +58629,7 @@
58729
58629
  * @private
58730
58630
  * @function Highcharts.RangeSelector#getHeight
58731
58631
  * @return {number}
58732
- * Returns rangeSelector height
58632
+ * Returns rangeSelector height
58733
58633
  */
58734
58634
  RangeSelector.prototype.getHeight = function () {
58735
58635
  var rangeSelector = this,
@@ -58765,11 +58665,8 @@
58765
58665
  *
58766
58666
  * @private
58767
58667
  * @function Highcharts.RangeSelector#titleCollision
58768
- *
58769
- * @param {Highcharts.Chart} chart
58770
- *
58771
58668
  * @return {boolean}
58772
- * Returns collision status
58669
+ * Returns collision status
58773
58670
  */
58774
58671
  RangeSelector.prototype.titleCollision = function (chart) {
58775
58672
  return !(chart.options.title.text ||
@@ -58781,7 +58678,6 @@
58781
58678
  * @private
58782
58679
  * @function Highcharts.RangeSelector#update
58783
58680
  * @param {Highcharts.RangeSelectorOptions} options
58784
- * @return {void}
58785
58681
  */
58786
58682
  RangeSelector.prototype.update = function (options) {
58787
58683
  var chart = this.chart;
@@ -58877,17 +58773,14 @@
58877
58773
  *
58878
58774
  * @private
58879
58775
  * @function preferredInputType
58880
- * @param {string} format
58881
- * @return {string}
58882
58776
  */
58883
58777
  function preferredInputType(format) {
58884
58778
  var ms = format.indexOf('%L') !== -1;
58885
58779
  if (ms) {
58886
58780
  return 'text';
58887
58781
  }
58888
- var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y'].some(function (char) {
58889
- return format.indexOf('%' + char) !== -1;
58890
- });
58782
+ var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y']
58783
+ .some(function (char) { return format.indexOf('%' + char) !== -1; });
58891
58784
  var time = ['H', 'k', 'I', 'l', 'M', 'S'].some(function (char) {
58892
58785
  return format.indexOf('%' + char) !== -1;
58893
58786
  });
@@ -58924,7 +58817,8 @@
58924
58817
  // Get the true range from a start date
58925
58818
  getTrueRange = function (base,
58926
58819
  count) {
58927
- var timeName = type === 'year' ? 'FullYear' : 'Month';
58820
+ var timeName = type === 'year' ?
58821
+ 'FullYear' : 'Month';
58928
58822
  var date = new time.Date(base);
58929
58823
  var basePeriod = time.get(timeName,
58930
58824
  date);
@@ -59208,10 +59102,9 @@
59208
59102
  * Function to run when the chart has loaded and and all external
59209
59103
  * images are loaded.
59210
59104
  *
59211
- * @return {void}
59212
59105
  *
59213
- * @fires Highcharts.StockChart#event:init
59214
- * @fires Highcharts.StockChart#event:afterInit
59106
+ * @emits Highcharts.StockChart#event:init
59107
+ * @emits Highcharts.StockChart#event:afterInit
59215
59108
  */
59216
59109
  StockChart.prototype.init = function (userOptions, callback) {
59217
59110
  var defaultOptions = getOptions(),
@@ -59237,7 +59130,8 @@
59237
59130
  },
59238
59131
  scrollbar: {
59239
59132
  // #4988 - check if setOptions was called
59240
- enabled: pick(defaultOptions.scrollbar && defaultOptions.scrollbar.enabled,
59133
+ enabled: pick((defaultOptions.scrollbar &&
59134
+ defaultOptions.scrollbar.enabled),
59241
59135
  true)
59242
59136
  },
59243
59137
  rangeSelector: {
@@ -59266,15 +59160,15 @@
59266
59160
  // apply X axis options to both single and multi y axes
59267
59161
  options.xAxis = splat(userOptions.xAxis || {}).map(function (xAxisOptions, i) {
59268
59162
  return merge(getDefaultAxisOptions('xAxis', xAxisOptions), defaultOptions.xAxis, // #3802
59269
- defaultOptions.xAxis && defaultOptions.xAxis[i], // #7690
59270
- xAxisOptions, // user options
59163
+ // #7690
59164
+ defaultOptions.xAxis && defaultOptions.xAxis[i], xAxisOptions, // user options
59271
59165
  getForcedAxisOptions('xAxis', userOptions));
59272
59166
  });
59273
59167
  // apply Y axis options to both single and multi y axes
59274
59168
  options.yAxis = splat(userOptions.yAxis || {}).map(function (yAxisOptions, i) {
59275
59169
  return merge(getDefaultAxisOptions('yAxis', yAxisOptions), defaultOptions.yAxis, // #3802
59276
- defaultOptions.yAxis && defaultOptions.yAxis[i], // #7690
59277
- yAxisOptions // user options
59170
+ // #7690
59171
+ defaultOptions.yAxis && defaultOptions.yAxis[i], yAxisOptions // user options
59278
59172
  );
59279
59173
  });
59280
59174
  _super.prototype.init.call(this, options, callback);
@@ -59285,14 +59179,10 @@
59285
59179
  *
59286
59180
  * @private
59287
59181
  * @function Highcharts.StockChart#createAxis
59288
- *
59289
59182
  * @param {string} type
59290
- * An axis type.
59291
- *
59183
+ * An axis type.
59292
59184
  * @param {Chart.CreateAxisOptionsObject} options
59293
- * The axis creation options.
59294
- *
59295
- * @return {Highcharts.Axis | Highcharts.ColorAxis}
59185
+ * The axis creation options.
59296
59186
  */
59297
59187
  StockChart.prototype.createAxis = function (type, options) {
59298
59188
  options.axis = merge(getDefaultAxisOptions(type, options.axis), options.axis, getForcedAxisOptions(type, this.userOptions));
@@ -59348,9 +59238,6 @@
59348
59238
  *
59349
59239
  * @private
59350
59240
  * @function getDefaultAxisOptions
59351
- * @param {string} type
59352
- * @param {Highcharts.AxisOptions} options
59353
- * @return {Highcharts.AxisOptions}
59354
59241
  */
59355
59242
  function getDefaultAxisOptions(type, options) {
59356
59243
  if (type === 'xAxis') {
@@ -59397,9 +59284,6 @@
59397
59284
  *
59398
59285
  * @private
59399
59286
  * @function getForcedAxisOptions
59400
- * @param {string} type
59401
- * @param {Highcharts.Options} chartOptions
59402
- * @return {Highcharts.AxisOptions}
59403
59287
  */
59404
59288
  function getForcedAxisOptions(type, chartOptions) {
59405
59289
  if (type === 'xAxis') {
@@ -59618,9 +59502,6 @@
59618
59502
  *
59619
59503
  * @private
59620
59504
  * @function Highcharts.SVGRenderer#crispPolyLine
59621
- * @param {Highcharts.SVGPathArray} points
59622
- * @param {number} width
59623
- * @return {Highcharts.SVGPathArray}
59624
59505
  */
59625
59506
  SVGRenderer.prototype.crispPolyLine = function (points, width) {
59626
59507
  // points format: [['M', 0, 0], ['L', 100, 0]]