highcharts 6.1.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +29 -0
  3. package/css/highcharts.scss +25 -1
  4. package/css/themes/dark-unica.css +29 -0
  5. package/css/themes/grid-light.css +29 -0
  6. package/css/themes/sand-signika.css +29 -0
  7. package/es-modules/indicators/accumulation-distribution.src.js +1 -1
  8. package/es-modules/indicators/atr.src.js +1 -1
  9. package/es-modules/indicators/bollinger-bands.src.js +2 -2
  10. package/es-modules/indicators/cci.src.js +1 -1
  11. package/es-modules/indicators/cmf.src.js +1 -1
  12. package/es-modules/indicators/ema.src.js +1 -1
  13. package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  14. package/es-modules/indicators/indicators.src.js +29 -14
  15. package/es-modules/indicators/macd.src.js +4 -4
  16. package/es-modules/indicators/mfi.src.js +1 -1
  17. package/es-modules/indicators/momentum.src.js +2 -2
  18. package/es-modules/indicators/pivot-points.src.js +7 -2
  19. package/es-modules/indicators/price-envelopes.src.js +2 -2
  20. package/es-modules/indicators/psar.src.js +1 -1
  21. package/es-modules/indicators/roc.src.js +1 -1
  22. package/es-modules/indicators/rsi.src.js +1 -1
  23. package/es-modules/indicators/stochastic.src.js +9 -7
  24. package/es-modules/indicators/volume-by-price.src.js +1 -1
  25. package/es-modules/indicators/vwap.src.js +1 -1
  26. package/es-modules/indicators/wma.src.js +1 -1
  27. package/es-modules/indicators/zigzag.src.js +1 -1
  28. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  29. package/es-modules/masters/modules/annotations.src.js +1 -1
  30. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  31. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  32. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  33. package/es-modules/masters/modules/data.src.js +1 -1
  34. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  35. package/es-modules/masters/modules/export-data.src.js +1 -1
  36. package/es-modules/masters/modules/exporting.src.js +1 -1
  37. package/es-modules/masters/modules/funnel.src.js +1 -1
  38. package/es-modules/masters/modules/gantt.src.js +2 -1
  39. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  40. package/es-modules/masters/modules/heatmap.src.js +1 -1
  41. package/es-modules/masters/modules/item-series.src.js +1 -1
  42. package/es-modules/masters/modules/map.src.js +1 -1
  43. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  44. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  45. package/es-modules/masters/modules/sankey.src.js +1 -1
  46. package/es-modules/masters/modules/series-label.src.js +1 -1
  47. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  48. package/es-modules/masters/modules/stock.src.js +1 -1
  49. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  50. package/es-modules/masters/modules/treegrid.src.js +12 -0
  51. package/es-modules/masters/modules/variwide.src.js +1 -1
  52. package/es-modules/masters/modules/vector.src.js +1 -1
  53. package/es-modules/masters/modules/windbarb.src.js +1 -1
  54. package/es-modules/masters/modules/xrange.src.js +1 -1
  55. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  56. package/es-modules/masters/themes/dark-green.src.js +1 -1
  57. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  58. package/es-modules/masters/themes/gray.src.js +1 -1
  59. package/es-modules/masters/themes/grid-light.src.js +1 -1
  60. package/es-modules/masters/themes/grid.src.js +1 -1
  61. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  62. package/es-modules/masters/themes/skies.src.js +1 -1
  63. package/es-modules/mixins/centered-series.js +36 -5
  64. package/es-modules/mixins/on-series.js +1 -1
  65. package/es-modules/mixins/polygon.js +4 -4
  66. package/es-modules/modules/annotations.src.js +2 -2
  67. package/es-modules/modules/boost-canvas.src.js +19 -8
  68. package/es-modules/modules/boost.src.js +300 -137
  69. package/es-modules/modules/broken-axis.src.js +169 -134
  70. package/es-modules/modules/bullet.src.js +2 -2
  71. package/es-modules/modules/data.src.js +8 -6
  72. package/es-modules/modules/draggable-points.src.js +2257 -0
  73. package/es-modules/modules/drilldown.src.js +4 -2
  74. package/es-modules/modules/export-data.src.js +11 -1
  75. package/es-modules/modules/exporting.src.js +62 -36
  76. package/es-modules/modules/funnel.src.js +5 -5
  77. package/es-modules/modules/histogram.src.js +30 -28
  78. package/es-modules/modules/item-series.src.js +36 -11
  79. package/es-modules/modules/keyboard-navigation.src.js +81 -44
  80. package/es-modules/modules/no-data-to-display.src.js +5 -5
  81. package/es-modules/modules/oldie.src.js +14 -9
  82. package/es-modules/modules/overlapping-datalabels.src.js +45 -21
  83. package/es-modules/modules/parallel-coordinates.src.js +4 -3
  84. package/es-modules/modules/pareto.src.js +1 -1
  85. package/es-modules/modules/sankey.src.js +28 -10
  86. package/es-modules/modules/series-label.src.js +6 -6
  87. package/es-modules/modules/solid-gauge.src.js +10 -7
  88. package/es-modules/modules/static-scale.src.js +67 -28
  89. package/es-modules/modules/streamgraph.src.js +4 -4
  90. package/es-modules/modules/sunburst.src.js +4 -4
  91. package/es-modules/modules/tilemap.src.js +231 -134
  92. package/es-modules/modules/treemap.src.js +30 -27
  93. package/es-modules/modules/variable-pie.src.js +3 -3
  94. package/es-modules/modules/variwide.src.js +36 -24
  95. package/es-modules/modules/vector.src.js +98 -28
  96. package/es-modules/modules/windbarb.src.js +4 -4
  97. package/es-modules/modules/wordcloud.src.js +133 -48
  98. package/es-modules/modules/xrange.src.js +258 -78
  99. package/es-modules/parts/AreaSeries.js +83 -50
  100. package/es-modules/parts/AreaSplineSeries.js +66 -29
  101. package/es-modules/parts/Axis.js +2184 -745
  102. package/es-modules/parts/BarSeries.js +70 -53
  103. package/es-modules/parts/CandlestickSeries.js +20 -10
  104. package/es-modules/parts/Chart.js +349 -157
  105. package/es-modules/parts/Color.js +74 -25
  106. package/es-modules/parts/ColumnSeries.js +274 -147
  107. package/es-modules/parts/DataGrouping.js +36 -3
  108. package/es-modules/parts/DataLabels.js +318 -144
  109. package/es-modules/parts/DateTimeAxis.js +27 -5
  110. package/es-modules/parts/Dynamics.js +236 -144
  111. package/es-modules/parts/FlagsSeries.js +49 -7
  112. package/es-modules/parts/Globals.js +4 -3
  113. package/es-modules/parts/Html.js +82 -16
  114. package/es-modules/parts/Interaction.js +198 -65
  115. package/es-modules/parts/Legend.js +181 -31
  116. package/es-modules/parts/LogarithmicAxis.js +36 -3
  117. package/es-modules/parts/MSPointer.js +31 -4
  118. package/es-modules/parts/Navigator.js +479 -187
  119. package/es-modules/parts/OHLCSeries.js +11 -5
  120. package/es-modules/parts/Options.js +1052 -686
  121. package/es-modules/parts/OrdinalAxis.js +20 -6
  122. package/es-modules/parts/PieSeries.js +258 -142
  123. package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  124. package/es-modules/parts/PlotLineOrBand.js +671 -35
  125. package/es-modules/parts/Point.js +189 -73
  126. package/es-modules/parts/Pointer.js +263 -62
  127. package/es-modules/parts/RangeSelector.js +601 -91
  128. package/es-modules/parts/Responsive.js +82 -36
  129. package/es-modules/parts/ScatterSeries.js +59 -27
  130. package/es-modules/parts/ScrollablePlotArea.js +30 -9
  131. package/es-modules/parts/Scrollbar.js +284 -113
  132. package/es-modules/parts/Series.js +1105 -836
  133. package/es-modules/parts/SplineSeries.js +53 -31
  134. package/es-modules/parts/Stacking.js +108 -7
  135. package/es-modules/parts/StockChart.js +26 -8
  136. package/es-modules/parts/SvgRenderer.js +1251 -613
  137. package/es-modules/parts/Tick.js +164 -30
  138. package/es-modules/parts/Time.js +171 -71
  139. package/es-modules/parts/Tooltip.js +271 -49
  140. package/es-modules/parts/TouchPointer.js +70 -3
  141. package/es-modules/parts/Utilities.js +1024 -429
  142. package/es-modules/parts-3d/Axis.js +4 -3
  143. package/es-modules/parts-3d/Chart.js +8 -9
  144. package/es-modules/parts-3d/Column.js +1 -1
  145. package/es-modules/parts-3d/Math.js +1 -1
  146. package/es-modules/parts-3d/Pie.js +1 -1
  147. package/es-modules/parts-3d/SVGRenderer.js +13 -10
  148. package/es-modules/parts-3d/Scatter.js +4 -4
  149. package/es-modules/parts-3d/Series.js +1 -1
  150. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  151. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  152. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  153. package/es-modules/parts-gantt/GanttChart.js +111 -0
  154. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  155. package/es-modules/parts-gantt/GridAxis.js +965 -0
  156. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  157. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  158. package/es-modules/parts-gantt/Tree.js +146 -0
  159. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  160. package/es-modules/parts-map/ColorAxis.js +4 -5
  161. package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  162. package/es-modules/parts-map/GeoJSON.js +1 -1
  163. package/es-modules/parts-map/HeatmapSeries.js +126 -55
  164. package/es-modules/parts-map/Map.js +144 -51
  165. package/es-modules/parts-map/MapAxis.js +1 -1
  166. package/es-modules/parts-map/MapBubbleSeries.js +6 -5
  167. package/es-modules/parts-map/MapLineSeries.js +4 -4
  168. package/es-modules/parts-map/MapNavigation.js +50 -12
  169. package/es-modules/parts-map/MapPointSeries.js +3 -3
  170. package/es-modules/parts-map/MapPointer.js +1 -1
  171. package/es-modules/parts-map/MapSeries.js +7 -7
  172. package/es-modules/parts-more/AreaRangeSeries.js +82 -40
  173. package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  174. package/es-modules/parts-more/BoxPlotSeries.js +3 -3
  175. package/es-modules/parts-more/BubbleSeries.js +9 -4
  176. package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  177. package/es-modules/parts-more/ErrorBarSeries.js +6 -4
  178. package/es-modules/parts-more/GaugeSeries.js +3 -3
  179. package/es-modules/parts-more/Pane.js +3 -2
  180. package/es-modules/parts-more/Polar.js +1 -1
  181. package/es-modules/parts-more/PolygonSeries.js +3 -3
  182. package/es-modules/parts-more/RadialAxis.js +5 -4
  183. package/es-modules/parts-more/WaterfallSeries.js +9 -4
  184. package/es-modules/supplemental.docs.js +0 -1955
  185. package/es-modules/themes/dark-blue.js +1 -1
  186. package/es-modules/themes/dark-green.js +1 -1
  187. package/es-modules/themes/dark-unica.js +1 -1
  188. package/es-modules/themes/gray.js +1 -1
  189. package/es-modules/themes/grid-light.js +1 -1
  190. package/es-modules/themes/grid.js +1 -1
  191. package/es-modules/themes/sand-signika.js +1 -1
  192. package/es-modules/themes/skies.js +1 -1
  193. package/highcharts-3d.js +77 -75
  194. package/highcharts-3d.js.map +1 -8
  195. package/highcharts-3d.src.js +39 -32
  196. package/highcharts-gantt.js +503 -0
  197. package/highcharts-gantt.js.map +1 -0
  198. package/highcharts-gantt.src.js +49289 -0
  199. package/highcharts-more.js +66 -64
  200. package/highcharts-more.js.map +1 -8
  201. package/highcharts-more.src.js +135 -75
  202. package/highcharts.js +413 -403
  203. package/highcharts.js.map +1 -8
  204. package/highcharts.src.js +11114 -4781
  205. package/highmaps.js +442 -433
  206. package/highmaps.js.map +1 -8
  207. package/highmaps.src.js +10740 -4598
  208. package/highstock.js +553 -540
  209. package/highstock.js.map +1 -8
  210. package/highstock.src.js +12807 -5343
  211. package/indicators/accumulation-distribution.js +4 -3
  212. package/indicators/accumulation-distribution.js.map +1 -8
  213. package/indicators/accumulation-distribution.src.js +6 -2
  214. package/indicators/atr.js +4 -3
  215. package/indicators/atr.js.map +1 -8
  216. package/indicators/atr.src.js +6 -2
  217. package/indicators/bollinger-bands.js +7 -6
  218. package/indicators/bollinger-bands.js.map +1 -8
  219. package/indicators/bollinger-bands.src.js +7 -3
  220. package/indicators/cci.js +4 -3
  221. package/indicators/cci.js.map +1 -8
  222. package/indicators/cci.src.js +6 -2
  223. package/indicators/cmf.js +5 -4
  224. package/indicators/cmf.js.map +1 -8
  225. package/indicators/cmf.src.js +6 -2
  226. package/indicators/ema.js +4 -3
  227. package/indicators/ema.js.map +1 -8
  228. package/indicators/ema.src.js +6 -2
  229. package/indicators/ichimoku-kinko-hyo.js +10 -9
  230. package/indicators/ichimoku-kinko-hyo.js.map +1 -8
  231. package/indicators/ichimoku-kinko-hyo.src.js +6 -2
  232. package/indicators/indicators.js +6 -5
  233. package/indicators/indicators.js.map +1 -8
  234. package/indicators/indicators.src.js +34 -15
  235. package/indicators/macd.js +11 -10
  236. package/indicators/macd.js.map +1 -8
  237. package/indicators/macd.src.js +10 -6
  238. package/indicators/mfi.js +5 -3
  239. package/indicators/mfi.js.map +1 -8
  240. package/indicators/mfi.src.js +6 -2
  241. package/indicators/momentum.js +4 -3
  242. package/indicators/momentum.js.map +1 -8
  243. package/indicators/momentum.src.js +7 -3
  244. package/indicators/pivot-points.js +8 -7
  245. package/indicators/pivot-points.js.map +1 -8
  246. package/indicators/pivot-points.src.js +12 -3
  247. package/indicators/price-envelopes.js +7 -6
  248. package/indicators/price-envelopes.js.map +1 -8
  249. package/indicators/price-envelopes.src.js +7 -3
  250. package/indicators/psar.js +5 -4
  251. package/indicators/psar.js.map +1 -8
  252. package/indicators/psar.src.js +6 -2
  253. package/indicators/roc.js +4 -3
  254. package/indicators/roc.js.map +1 -8
  255. package/indicators/roc.src.js +6 -2
  256. package/indicators/rsi.js +4 -3
  257. package/indicators/rsi.js.map +1 -8
  258. package/indicators/rsi.src.js +6 -2
  259. package/indicators/stochastic.js +7 -5
  260. package/indicators/stochastic.js.map +1 -8
  261. package/indicators/stochastic.src.js +14 -8
  262. package/indicators/volume-by-price.js +13 -12
  263. package/indicators/volume-by-price.js.map +1 -8
  264. package/indicators/volume-by-price.src.js +6 -2
  265. package/indicators/vwap.js +4 -3
  266. package/indicators/vwap.js.map +1 -8
  267. package/indicators/vwap.src.js +6 -2
  268. package/indicators/wma.js +4 -3
  269. package/indicators/wma.js.map +1 -8
  270. package/indicators/wma.src.js +6 -2
  271. package/indicators/zigzag.js +5 -3
  272. package/indicators/zigzag.js.map +1 -8
  273. package/indicators/zigzag.src.js +6 -2
  274. package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
  275. package/js/es-modules/indicators/atr.src.js +1 -1
  276. package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
  277. package/js/es-modules/indicators/cci.src.js +1 -1
  278. package/js/es-modules/indicators/cmf.src.js +1 -1
  279. package/js/es-modules/indicators/ema.src.js +1 -1
  280. package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  281. package/js/es-modules/indicators/indicators.src.js +29 -14
  282. package/js/es-modules/indicators/macd.src.js +4 -4
  283. package/js/es-modules/indicators/mfi.src.js +1 -1
  284. package/js/es-modules/indicators/momentum.src.js +2 -2
  285. package/js/es-modules/indicators/pivot-points.src.js +7 -2
  286. package/js/es-modules/indicators/price-envelopes.src.js +2 -2
  287. package/js/es-modules/indicators/psar.src.js +1 -1
  288. package/js/es-modules/indicators/roc.src.js +1 -1
  289. package/js/es-modules/indicators/rsi.src.js +1 -1
  290. package/js/es-modules/indicators/stochastic.src.js +9 -7
  291. package/js/es-modules/indicators/volume-by-price.src.js +1 -1
  292. package/js/es-modules/indicators/vwap.src.js +1 -1
  293. package/js/es-modules/indicators/wma.src.js +1 -1
  294. package/js/es-modules/indicators/zigzag.src.js +1 -1
  295. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  296. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  297. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  298. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  299. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  300. package/js/es-modules/masters/modules/data.src.js +1 -1
  301. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  302. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  305. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  306. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  307. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  308. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  309. package/js/es-modules/masters/modules/map.src.js +1 -1
  310. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  311. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  312. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  313. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  314. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  315. package/js/es-modules/masters/modules/stock.src.js +1 -1
  316. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  317. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  318. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  319. package/js/es-modules/masters/modules/vector.src.js +1 -1
  320. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  321. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  322. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  323. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  324. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  325. package/js/es-modules/masters/themes/gray.src.js +1 -1
  326. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  327. package/js/es-modules/masters/themes/grid.src.js +1 -1
  328. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  329. package/js/es-modules/masters/themes/skies.src.js +1 -1
  330. package/js/es-modules/mixins/centered-series.js +36 -5
  331. package/js/es-modules/mixins/on-series.js +1 -1
  332. package/js/es-modules/mixins/polygon.js +4 -4
  333. package/js/es-modules/modules/annotations.src.js +2 -2
  334. package/js/es-modules/modules/boost-canvas.src.js +19 -8
  335. package/js/es-modules/modules/boost.src.js +300 -137
  336. package/js/es-modules/modules/broken-axis.src.js +169 -134
  337. package/js/es-modules/modules/bullet.src.js +2 -2
  338. package/js/es-modules/modules/data.src.js +8 -6
  339. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  340. package/js/es-modules/modules/drilldown.src.js +4 -2
  341. package/js/es-modules/modules/export-data.src.js +11 -1
  342. package/js/es-modules/modules/exporting.src.js +62 -36
  343. package/js/es-modules/modules/funnel.src.js +5 -5
  344. package/js/es-modules/modules/histogram.src.js +30 -28
  345. package/js/es-modules/modules/item-series.src.js +36 -11
  346. package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
  347. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  348. package/js/es-modules/modules/oldie.src.js +14 -9
  349. package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
  350. package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
  351. package/js/es-modules/modules/pareto.src.js +1 -1
  352. package/js/es-modules/modules/sankey.src.js +23 -7
  353. package/js/es-modules/modules/series-label.src.js +6 -6
  354. package/js/es-modules/modules/solid-gauge.src.js +8 -5
  355. package/js/es-modules/modules/static-scale.src.js +67 -28
  356. package/js/es-modules/modules/streamgraph.src.js +4 -4
  357. package/js/es-modules/modules/sunburst.src.js +4 -4
  358. package/js/es-modules/modules/tilemap.src.js +231 -134
  359. package/js/es-modules/modules/treemap.src.js +29 -26
  360. package/js/es-modules/modules/variable-pie.src.js +3 -3
  361. package/js/es-modules/modules/variwide.src.js +36 -24
  362. package/js/es-modules/modules/vector.src.js +98 -28
  363. package/js/es-modules/modules/windbarb.src.js +4 -4
  364. package/js/es-modules/modules/wordcloud.src.js +133 -48
  365. package/js/es-modules/modules/xrange.src.js +256 -69
  366. package/js/es-modules/parts/AreaSeries.js +83 -50
  367. package/js/es-modules/parts/AreaSplineSeries.js +66 -29
  368. package/js/es-modules/parts/Axis.js +2089 -694
  369. package/js/es-modules/parts/BarSeries.js +70 -53
  370. package/js/es-modules/parts/CandlestickSeries.js +20 -10
  371. package/js/es-modules/parts/Chart.js +349 -157
  372. package/js/es-modules/parts/Color.js +74 -25
  373. package/js/es-modules/parts/ColumnSeries.js +241 -128
  374. package/js/es-modules/parts/DataGrouping.js +36 -3
  375. package/js/es-modules/parts/DataLabels.js +287 -116
  376. package/js/es-modules/parts/DateTimeAxis.js +27 -5
  377. package/js/es-modules/parts/Dynamics.js +236 -144
  378. package/js/es-modules/parts/FlagsSeries.js +49 -7
  379. package/js/es-modules/parts/Globals.js +4 -3
  380. package/js/es-modules/parts/Html.js +82 -16
  381. package/js/es-modules/parts/Interaction.js +187 -67
  382. package/js/es-modules/parts/Legend.js +181 -31
  383. package/js/es-modules/parts/LogarithmicAxis.js +36 -3
  384. package/js/es-modules/parts/MSPointer.js +31 -4
  385. package/js/es-modules/parts/Navigator.js +432 -162
  386. package/js/es-modules/parts/OHLCSeries.js +5 -5
  387. package/js/es-modules/parts/Options.js +855 -592
  388. package/js/es-modules/parts/OrdinalAxis.js +20 -6
  389. package/js/es-modules/parts/PieSeries.js +247 -134
  390. package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  391. package/js/es-modules/parts/PlotLineOrBand.js +671 -35
  392. package/js/es-modules/parts/Point.js +182 -70
  393. package/js/es-modules/parts/Pointer.js +263 -62
  394. package/js/es-modules/parts/RangeSelector.js +579 -91
  395. package/js/es-modules/parts/Responsive.js +82 -36
  396. package/js/es-modules/parts/ScatterSeries.js +58 -27
  397. package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
  398. package/js/es-modules/parts/Scrollbar.js +201 -71
  399. package/js/es-modules/parts/Series.js +995 -745
  400. package/js/es-modules/parts/SplineSeries.js +53 -31
  401. package/js/es-modules/parts/Stacking.js +108 -7
  402. package/js/es-modules/parts/StockChart.js +26 -8
  403. package/js/es-modules/parts/SvgRenderer.js +1208 -598
  404. package/js/es-modules/parts/Tick.js +164 -30
  405. package/js/es-modules/parts/Time.js +171 -71
  406. package/js/es-modules/parts/Tooltip.js +276 -49
  407. package/js/es-modules/parts/TouchPointer.js +70 -3
  408. package/js/es-modules/parts/Utilities.js +1024 -429
  409. package/js/es-modules/parts-3d/Axis.js +4 -3
  410. package/js/es-modules/parts-3d/Chart.js +8 -9
  411. package/js/es-modules/parts-3d/Column.js +1 -1
  412. package/js/es-modules/parts-3d/Math.js +1 -1
  413. package/js/es-modules/parts-3d/Pie.js +1 -1
  414. package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
  415. package/js/es-modules/parts-3d/Scatter.js +4 -4
  416. package/js/es-modules/parts-3d/Series.js +1 -1
  417. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  418. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  419. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  420. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  421. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  422. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  423. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  424. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  425. package/js/es-modules/parts-gantt/Tree.js +146 -0
  426. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  427. package/js/es-modules/parts-map/ColorAxis.js +4 -5
  428. package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  429. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  430. package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
  431. package/js/es-modules/parts-map/Map.js +136 -47
  432. package/js/es-modules/parts-map/MapAxis.js +1 -1
  433. package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
  434. package/js/es-modules/parts-map/MapLineSeries.js +4 -4
  435. package/js/es-modules/parts-map/MapNavigation.js +50 -12
  436. package/js/es-modules/parts-map/MapPointSeries.js +3 -3
  437. package/js/es-modules/parts-map/MapPointer.js +1 -1
  438. package/js/es-modules/parts-map/MapSeries.js +5 -5
  439. package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
  440. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  441. package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
  442. package/js/es-modules/parts-more/BubbleSeries.js +9 -4
  443. package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  444. package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
  445. package/js/es-modules/parts-more/GaugeSeries.js +3 -3
  446. package/js/es-modules/parts-more/Pane.js +3 -2
  447. package/js/es-modules/parts-more/Polar.js +1 -1
  448. package/js/es-modules/parts-more/PolygonSeries.js +3 -3
  449. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  450. package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
  451. package/js/es-modules/supplemental.docs.js +0 -1955
  452. package/js/es-modules/themes/dark-blue.js +1 -1
  453. package/js/es-modules/themes/dark-green.js +1 -1
  454. package/js/es-modules/themes/dark-unica.js +1 -1
  455. package/js/es-modules/themes/gray.js +1 -1
  456. package/js/es-modules/themes/grid-light.js +1 -1
  457. package/js/es-modules/themes/grid.js +1 -1
  458. package/js/es-modules/themes/sand-signika.js +1 -1
  459. package/js/es-modules/themes/skies.js +1 -1
  460. package/js/highcharts-3d.js +75 -74
  461. package/js/highcharts-3d.js.map +1 -8
  462. package/js/highcharts-3d.src.js +39 -32
  463. package/js/highcharts-gantt.js +480 -0
  464. package/js/highcharts-gantt.js.map +1 -0
  465. package/js/highcharts-gantt.src.js +47011 -0
  466. package/js/highcharts-more.js +63 -61
  467. package/js/highcharts-more.js.map +1 -8
  468. package/js/highcharts-more.src.js +135 -75
  469. package/js/highcharts.js +396 -387
  470. package/js/highcharts.js.map +1 -8
  471. package/js/highcharts.src.js +10765 -4659
  472. package/js/highmaps.js +419 -411
  473. package/js/highmaps.js.map +1 -8
  474. package/js/highmaps.src.js +10198 -4285
  475. package/js/highstock.js +529 -516
  476. package/js/highstock.js.map +1 -8
  477. package/js/highstock.src.js +12108 -4962
  478. package/js/indicators/accumulation-distribution.js +4 -3
  479. package/js/indicators/accumulation-distribution.js.map +1 -8
  480. package/js/indicators/accumulation-distribution.src.js +6 -2
  481. package/js/indicators/atr.js +4 -3
  482. package/js/indicators/atr.js.map +1 -8
  483. package/js/indicators/atr.src.js +6 -2
  484. package/js/indicators/bollinger-bands.js +7 -6
  485. package/js/indicators/bollinger-bands.js.map +1 -8
  486. package/js/indicators/bollinger-bands.src.js +7 -3
  487. package/js/indicators/cci.js +4 -3
  488. package/js/indicators/cci.js.map +1 -8
  489. package/js/indicators/cci.src.js +6 -2
  490. package/js/indicators/cmf.js +5 -4
  491. package/js/indicators/cmf.js.map +1 -8
  492. package/js/indicators/cmf.src.js +6 -2
  493. package/js/indicators/ema.js +4 -3
  494. package/js/indicators/ema.js.map +1 -8
  495. package/js/indicators/ema.src.js +6 -2
  496. package/js/indicators/ichimoku-kinko-hyo.js +10 -9
  497. package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
  498. package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
  499. package/js/indicators/indicators.js +6 -5
  500. package/js/indicators/indicators.js.map +1 -8
  501. package/js/indicators/indicators.src.js +34 -15
  502. package/js/indicators/macd.js +11 -10
  503. package/js/indicators/macd.js.map +1 -8
  504. package/js/indicators/macd.src.js +10 -6
  505. package/js/indicators/mfi.js +5 -3
  506. package/js/indicators/mfi.js.map +1 -8
  507. package/js/indicators/mfi.src.js +6 -2
  508. package/js/indicators/momentum.js +4 -3
  509. package/js/indicators/momentum.js.map +1 -8
  510. package/js/indicators/momentum.src.js +7 -3
  511. package/js/indicators/pivot-points.js +8 -7
  512. package/js/indicators/pivot-points.js.map +1 -8
  513. package/js/indicators/pivot-points.src.js +12 -3
  514. package/js/indicators/price-envelopes.js +7 -6
  515. package/js/indicators/price-envelopes.js.map +1 -8
  516. package/js/indicators/price-envelopes.src.js +7 -3
  517. package/js/indicators/psar.js +5 -4
  518. package/js/indicators/psar.js.map +1 -8
  519. package/js/indicators/psar.src.js +6 -2
  520. package/js/indicators/roc.js +4 -3
  521. package/js/indicators/roc.js.map +1 -8
  522. package/js/indicators/roc.src.js +6 -2
  523. package/js/indicators/rsi.js +4 -3
  524. package/js/indicators/rsi.js.map +1 -8
  525. package/js/indicators/rsi.src.js +6 -2
  526. package/js/indicators/stochastic.js +7 -5
  527. package/js/indicators/stochastic.js.map +1 -8
  528. package/js/indicators/stochastic.src.js +14 -8
  529. package/js/indicators/volume-by-price.js +13 -12
  530. package/js/indicators/volume-by-price.js.map +1 -8
  531. package/js/indicators/volume-by-price.src.js +6 -2
  532. package/js/indicators/vwap.js +4 -3
  533. package/js/indicators/vwap.js.map +1 -8
  534. package/js/indicators/vwap.src.js +6 -2
  535. package/js/indicators/wma.js +4 -3
  536. package/js/indicators/wma.js.map +1 -8
  537. package/js/indicators/wma.src.js +6 -2
  538. package/js/indicators/zigzag.js +5 -3
  539. package/js/indicators/zigzag.js.map +1 -8
  540. package/js/indicators/zigzag.src.js +6 -2
  541. package/js/modules/accessibility.js +52 -51
  542. package/js/modules/accessibility.js.map +1 -8
  543. package/js/modules/accessibility.src.js +86 -45
  544. package/js/modules/annotations.js +22 -21
  545. package/js/modules/annotations.js.map +1 -8
  546. package/js/modules/annotations.src.js +8 -4
  547. package/js/modules/arrow-symbols.js +13 -0
  548. package/js/modules/arrow-symbols.js.map +1 -0
  549. package/js/modules/arrow-symbols.src.js +138 -0
  550. package/js/modules/boost-canvas.js +15 -13
  551. package/js/modules/boost-canvas.js.map +1 -8
  552. package/js/modules/boost-canvas.src.js +24 -9
  553. package/js/modules/boost.js +57 -52
  554. package/js/modules/boost.js.map +1 -8
  555. package/js/modules/boost.src.js +305 -138
  556. package/js/modules/broken-axis.js +12 -10
  557. package/js/modules/broken-axis.js.map +1 -8
  558. package/js/modules/broken-axis.src.js +175 -136
  559. package/js/modules/bullet.js +3 -2
  560. package/js/modules/bullet.js.map +1 -8
  561. package/js/modules/bullet.src.js +7 -3
  562. package/js/modules/current-date-indicator.js +13 -0
  563. package/js/modules/current-date-indicator.js.map +1 -0
  564. package/js/modules/current-date-indicator.src.js +120 -0
  565. package/js/modules/data.js +25 -24
  566. package/js/modules/data.js.map +1 -8
  567. package/js/modules/data.src.js +14 -8
  568. package/js/modules/drag-panes.js +9 -8
  569. package/js/modules/drag-panes.js.map +1 -8
  570. package/js/modules/drag-panes.src.js +5 -1
  571. package/js/modules/draggable-points.js +38 -0
  572. package/js/modules/draggable-points.js.map +1 -0
  573. package/js/modules/draggable-points.src.js +2281 -0
  574. package/js/modules/drilldown.js +20 -19
  575. package/js/modules/drilldown.js.map +1 -8
  576. package/js/modules/drilldown.src.js +9 -3
  577. package/js/modules/export-data.js +20 -19
  578. package/js/modules/export-data.js.map +1 -8
  579. package/js/modules/export-data.src.js +17 -3
  580. package/js/modules/exporting.js +24 -23
  581. package/js/modules/exporting.js.map +1 -8
  582. package/js/modules/exporting.src.js +68 -38
  583. package/js/modules/funnel.js +8 -6
  584. package/js/modules/funnel.js.map +1 -8
  585. package/js/modules/funnel.src.js +11 -7
  586. package/js/modules/gantt.js +81 -18
  587. package/js/modules/gantt.js.map +1 -8
  588. package/js/modules/gantt.src.js +5494 -372
  589. package/js/modules/grid-axis.js +16 -10
  590. package/js/modules/grid-axis.js.map +1 -8
  591. package/js/modules/grid-axis.src.js +735 -293
  592. package/js/modules/heatmap.js +22 -21
  593. package/js/modules/heatmap.js.map +1 -8
  594. package/js/modules/heatmap.src.js +137 -62
  595. package/js/modules/histogram-bellcurve.js +9 -8
  596. package/js/modules/histogram-bellcurve.js.map +1 -8
  597. package/js/modules/histogram-bellcurve.src.js +35 -29
  598. package/js/modules/item-series.js +6 -4
  599. package/js/modules/item-series.js.map +1 -8
  600. package/js/modules/item-series.src.js +42 -13
  601. package/js/modules/map.js +63 -62
  602. package/js/modules/map.js.map +1 -8
  603. package/js/modules/map.src.js +353 -145
  604. package/js/modules/no-data-to-display.js +5 -4
  605. package/js/modules/no-data-to-display.js.map +1 -8
  606. package/js/modules/no-data-to-display.src.js +10 -6
  607. package/js/modules/offline-exporting.js +14 -13
  608. package/js/modules/offline-exporting.js.map +1 -8
  609. package/js/modules/offline-exporting.src.js +6 -2
  610. package/js/modules/oldie.js +29 -27
  611. package/js/modules/oldie.js.map +1 -8
  612. package/js/modules/oldie.src.js +20 -11
  613. package/js/modules/overlapping-datalabels.js +4 -3
  614. package/js/modules/overlapping-datalabels.js.map +1 -8
  615. package/js/modules/overlapping-datalabels.src.js +6 -2
  616. package/js/modules/parallel-coordinates.js +10 -9
  617. package/js/modules/parallel-coordinates.js.map +1 -8
  618. package/js/modules/parallel-coordinates.src.js +9 -4
  619. package/js/modules/pareto.js +5 -4
  620. package/js/modules/pareto.js.map +1 -8
  621. package/js/modules/pareto.src.js +6 -2
  622. package/js/modules/pathfinder.js +34 -0
  623. package/js/modules/pathfinder.js.map +1 -0
  624. package/js/modules/pathfinder.src.js +2106 -0
  625. package/js/modules/pattern-fill.js +13 -12
  626. package/js/modules/pattern-fill.js.map +1 -8
  627. package/js/modules/pattern-fill.src.js +5 -1
  628. package/js/modules/sankey.js +13 -12
  629. package/js/modules/sankey.js.map +1 -8
  630. package/js/modules/sankey.src.js +29 -9
  631. package/js/modules/series-label.js +17 -15
  632. package/js/modules/series-label.js.map +1 -8
  633. package/js/modules/series-label.src.js +12 -8
  634. package/js/modules/solid-gauge.js +9 -8
  635. package/js/modules/solid-gauge.js.map +1 -8
  636. package/js/modules/solid-gauge.src.js +14 -7
  637. package/js/modules/static-scale.js +4 -3
  638. package/js/modules/static-scale.js.map +1 -8
  639. package/js/modules/static-scale.src.js +69 -26
  640. package/js/modules/stock.js +136 -132
  641. package/js/modules/stock.js.map +1 -8
  642. package/js/modules/stock.src.js +1543 -499
  643. package/js/modules/streamgraph.js +4 -3
  644. package/js/modules/streamgraph.js.map +1 -8
  645. package/js/modules/streamgraph.src.js +10 -6
  646. package/js/modules/sunburst.js +40 -39
  647. package/js/modules/sunburst.js.map +1 -8
  648. package/js/modules/sunburst.src.js +38 -31
  649. package/js/modules/tilemap.js +19 -18
  650. package/js/modules/tilemap.js.map +1 -8
  651. package/js/modules/tilemap.src.js +363 -190
  652. package/js/modules/treegrid.js +51 -0
  653. package/js/modules/treegrid.js.map +1 -0
  654. package/js/modules/treegrid.src.js +2759 -0
  655. package/js/modules/treemap.js +27 -26
  656. package/js/modules/treemap.js.map +1 -8
  657. package/js/modules/treemap.src.js +34 -27
  658. package/js/modules/variable-pie.js +8 -7
  659. package/js/modules/variable-pie.js.map +1 -8
  660. package/js/modules/variable-pie.src.js +8 -4
  661. package/js/modules/variwide.js +8 -7
  662. package/js/modules/variwide.js.map +1 -8
  663. package/js/modules/variwide.src.js +42 -26
  664. package/js/modules/vector.js +7 -6
  665. package/js/modules/vector.js.map +1 -8
  666. package/js/modules/vector.src.js +104 -30
  667. package/js/modules/windbarb.js +11 -10
  668. package/js/modules/windbarb.js.map +1 -8
  669. package/js/modules/windbarb.src.js +11 -7
  670. package/js/modules/wordcloud.js +18 -15
  671. package/js/modules/wordcloud.js.map +1 -8
  672. package/js/modules/wordcloud.src.js +142 -53
  673. package/js/modules/xrange.js +12 -10
  674. package/js/modules/xrange.js.map +1 -8
  675. package/js/modules/xrange.src.js +262 -71
  676. package/js/themes/avocado.js +3 -2
  677. package/js/themes/avocado.js.map +1 -8
  678. package/js/themes/avocado.src.js +5 -1
  679. package/js/themes/dark-blue.js +9 -8
  680. package/js/themes/dark-blue.js.map +1 -8
  681. package/js/themes/dark-blue.src.js +7 -3
  682. package/js/themes/dark-green.js +9 -8
  683. package/js/themes/dark-green.js.map +1 -8
  684. package/js/themes/dark-green.src.js +7 -3
  685. package/js/themes/dark-unica.js +9 -7
  686. package/js/themes/dark-unica.js.map +1 -8
  687. package/js/themes/dark-unica.src.js +7 -3
  688. package/js/themes/gray.js +10 -8
  689. package/js/themes/gray.js.map +1 -8
  690. package/js/themes/gray.src.js +7 -3
  691. package/js/themes/grid-light.js +5 -4
  692. package/js/themes/grid-light.js.map +1 -8
  693. package/js/themes/grid-light.src.js +7 -3
  694. package/js/themes/grid.js +6 -5
  695. package/js/themes/grid.js.map +1 -8
  696. package/js/themes/grid.src.js +7 -3
  697. package/js/themes/sand-signika.js +6 -5
  698. package/js/themes/sand-signika.js.map +1 -8
  699. package/js/themes/sand-signika.src.js +7 -3
  700. package/js/themes/skies.js +6 -5
  701. package/js/themes/skies.js.map +1 -8
  702. package/js/themes/skies.src.js +7 -3
  703. package/js/themes/sunset.js +3 -2
  704. package/js/themes/sunset.js.map +1 -8
  705. package/js/themes/sunset.src.js +5 -1
  706. package/modules/accessibility.js +53 -51
  707. package/modules/accessibility.js.map +1 -8
  708. package/modules/accessibility.src.js +86 -45
  709. package/modules/annotations.js +24 -22
  710. package/modules/annotations.js.map +1 -8
  711. package/modules/annotations.src.js +8 -4
  712. package/modules/arrow-symbols.js +13 -0
  713. package/modules/arrow-symbols.js.map +1 -0
  714. package/modules/arrow-symbols.src.js +138 -0
  715. package/modules/boost-canvas.js +15 -13
  716. package/modules/boost-canvas.js.map +1 -8
  717. package/modules/boost-canvas.src.js +24 -9
  718. package/modules/boost.js +57 -52
  719. package/modules/boost.js.map +1 -8
  720. package/modules/boost.src.js +305 -138
  721. package/modules/broken-axis.js +12 -10
  722. package/modules/broken-axis.js.map +1 -8
  723. package/modules/broken-axis.src.js +175 -136
  724. package/modules/bullet.js +6 -5
  725. package/modules/bullet.js.map +1 -8
  726. package/modules/bullet.src.js +7 -3
  727. package/modules/current-date-indicator.js +13 -0
  728. package/modules/current-date-indicator.js.map +1 -0
  729. package/modules/current-date-indicator.src.js +120 -0
  730. package/modules/data.js +25 -24
  731. package/modules/data.js.map +1 -8
  732. package/modules/data.src.js +14 -8
  733. package/modules/drag-panes.js +9 -8
  734. package/modules/drag-panes.js.map +1 -8
  735. package/modules/drag-panes.src.js +5 -1
  736. package/modules/draggable-points.js +38 -0
  737. package/modules/draggable-points.js.map +1 -0
  738. package/modules/draggable-points.src.js +2281 -0
  739. package/modules/drilldown.js +16 -15
  740. package/modules/drilldown.js.map +1 -8
  741. package/modules/drilldown.src.js +9 -3
  742. package/modules/export-data.js +20 -19
  743. package/modules/export-data.js.map +1 -8
  744. package/modules/export-data.src.js +17 -3
  745. package/modules/exporting.js +23 -21
  746. package/modules/exporting.js.map +1 -8
  747. package/modules/exporting.src.js +68 -38
  748. package/modules/funnel.js +8 -7
  749. package/modules/funnel.js.map +1 -8
  750. package/modules/funnel.src.js +11 -7
  751. package/modules/gantt.js +84 -19
  752. package/modules/gantt.js.map +1 -8
  753. package/modules/gantt.src.js +5557 -379
  754. package/modules/grid-axis.js +17 -10
  755. package/modules/grid-axis.js.map +1 -8
  756. package/modules/grid-axis.src.js +736 -293
  757. package/modules/heatmap.js +22 -21
  758. package/modules/heatmap.js.map +1 -8
  759. package/modules/heatmap.src.js +139 -63
  760. package/modules/histogram-bellcurve.js +9 -8
  761. package/modules/histogram-bellcurve.js.map +1 -8
  762. package/modules/histogram-bellcurve.src.js +35 -29
  763. package/modules/item-series.js +6 -4
  764. package/modules/item-series.js.map +1 -8
  765. package/modules/item-series.src.js +42 -13
  766. package/modules/map.js +65 -64
  767. package/modules/map.js.map +1 -8
  768. package/modules/map.src.js +365 -152
  769. package/modules/no-data-to-display.js +5 -4
  770. package/modules/no-data-to-display.js.map +1 -8
  771. package/modules/no-data-to-display.src.js +10 -6
  772. package/modules/offline-exporting.js +14 -12
  773. package/modules/offline-exporting.js.map +1 -8
  774. package/modules/offline-exporting.src.js +6 -2
  775. package/modules/oldie.js +29 -27
  776. package/modules/oldie.js.map +1 -8
  777. package/modules/oldie.src.js +20 -11
  778. package/modules/overlapping-datalabels.js +4 -3
  779. package/modules/overlapping-datalabels.js.map +1 -8
  780. package/modules/overlapping-datalabels.src.js +6 -2
  781. package/modules/parallel-coordinates.js +10 -9
  782. package/modules/parallel-coordinates.js.map +1 -8
  783. package/modules/parallel-coordinates.src.js +9 -4
  784. package/modules/pareto.js +5 -4
  785. package/modules/pareto.js.map +1 -8
  786. package/modules/pareto.src.js +6 -2
  787. package/modules/pathfinder.js +35 -0
  788. package/modules/pathfinder.js.map +1 -0
  789. package/modules/pathfinder.src.js +2128 -0
  790. package/modules/pattern-fill.js +13 -12
  791. package/modules/pattern-fill.js.map +1 -8
  792. package/modules/pattern-fill.src.js +5 -1
  793. package/modules/sankey.js +13 -12
  794. package/modules/sankey.js.map +1 -8
  795. package/modules/sankey.src.js +34 -12
  796. package/modules/series-label.js +17 -15
  797. package/modules/series-label.js.map +1 -8
  798. package/modules/series-label.src.js +12 -8
  799. package/modules/solid-gauge.js +9 -8
  800. package/modules/solid-gauge.js.map +1 -8
  801. package/modules/solid-gauge.src.js +16 -9
  802. package/modules/static-scale.js +4 -3
  803. package/modules/static-scale.js.map +1 -8
  804. package/modules/static-scale.src.js +69 -26
  805. package/modules/stock.js +143 -139
  806. package/modules/stock.js.map +1 -8
  807. package/modules/stock.src.js +1701 -566
  808. package/modules/streamgraph.js +4 -3
  809. package/modules/streamgraph.js.map +1 -8
  810. package/modules/streamgraph.src.js +10 -6
  811. package/modules/sunburst.js +42 -41
  812. package/modules/sunburst.js.map +1 -8
  813. package/modules/sunburst.src.js +39 -32
  814. package/modules/tilemap.js +18 -17
  815. package/modules/tilemap.js.map +1 -8
  816. package/modules/tilemap.src.js +365 -191
  817. package/modules/treegrid.js +52 -0
  818. package/modules/treegrid.js.map +1 -0
  819. package/modules/treegrid.src.js +2797 -0
  820. package/modules/treemap.js +29 -28
  821. package/modules/treemap.js.map +1 -8
  822. package/modules/treemap.src.js +35 -28
  823. package/modules/variable-pie.js +8 -7
  824. package/modules/variable-pie.js.map +1 -8
  825. package/modules/variable-pie.src.js +8 -4
  826. package/modules/variwide.js +8 -7
  827. package/modules/variwide.js.map +1 -8
  828. package/modules/variwide.src.js +42 -26
  829. package/modules/vector.js +7 -6
  830. package/modules/vector.js.map +1 -8
  831. package/modules/vector.src.js +104 -30
  832. package/modules/windbarb.js +11 -10
  833. package/modules/windbarb.js.map +1 -8
  834. package/modules/windbarb.src.js +11 -7
  835. package/modules/wordcloud.js +18 -15
  836. package/modules/wordcloud.js.map +1 -8
  837. package/modules/wordcloud.src.js +142 -53
  838. package/modules/xrange.js +13 -11
  839. package/modules/xrange.js.map +1 -8
  840. package/modules/xrange.src.js +264 -80
  841. package/package.json +1 -1
  842. package/themes/avocado.js +3 -2
  843. package/themes/avocado.js.map +1 -8
  844. package/themes/avocado.src.js +5 -1
  845. package/themes/dark-blue.js +9 -8
  846. package/themes/dark-blue.js.map +1 -8
  847. package/themes/dark-blue.src.js +7 -3
  848. package/themes/dark-green.js +9 -8
  849. package/themes/dark-green.js.map +1 -8
  850. package/themes/dark-green.src.js +7 -3
  851. package/themes/dark-unica.js +9 -7
  852. package/themes/dark-unica.js.map +1 -8
  853. package/themes/dark-unica.src.js +7 -3
  854. package/themes/gray.js +10 -8
  855. package/themes/gray.js.map +1 -8
  856. package/themes/gray.src.js +7 -3
  857. package/themes/grid-light.js +5 -4
  858. package/themes/grid-light.js.map +1 -8
  859. package/themes/grid-light.src.js +7 -3
  860. package/themes/grid.js +6 -5
  861. package/themes/grid.js.map +1 -8
  862. package/themes/grid.src.js +7 -3
  863. package/themes/sand-signika.js +6 -5
  864. package/themes/sand-signika.js.map +1 -8
  865. package/themes/sand-signika.src.js +7 -3
  866. package/themes/skies.js +6 -5
  867. package/themes/skies.js.map +1 -8
  868. package/themes/skies.src.js +7 -3
  869. package/themes/sunset.js +3 -2
  870. package/themes/sunset.js.map +1 -8
  871. package/themes/sunset.src.js +5 -1
@@ -1,10 +1,304 @@
1
1
  /**
2
- * (c) 2010-2017 Torstein Honsi
2
+ * (c) 2010-2018 Torstein Honsi
3
3
  *
4
4
  * License: www.highcharts.com/license
5
5
  */
6
6
 
7
+ /**
8
+ * Reference to the global SVGElement class as a workaround for a name conflict
9
+ * in the Highcharts namespace.
10
+ *
11
+ * @typedef {global.SVGElement} GlobalSVGElement
12
+ *
13
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/SVGElement
14
+ */
15
+
16
+ /**
17
+ * An animation configuration. Animation configurations can also be defined as
18
+ * booleans, where `false` turns off animation and `true` defaults to a duration
19
+ * of 500ms.
20
+ *
21
+ * @typedef Highcharts.AnimationOptionsObject
22
+ *
23
+ * @property {number} duration
24
+ * The animation duration in milliseconds.
25
+ *
26
+ * @property {string} [easing]
27
+ * The name of an easing function as defined on the `Math` object.
28
+ *
29
+ * @property {Function} [complete]
30
+ * A callback function to exectute when the animation finishes.
31
+ *
32
+ * @property {Function} [step]
33
+ * A callback function to execute on each step of each attribute or
34
+ * CSS property that's being animated. The first argument contains
35
+ * information about the animation and progress.
36
+ */
37
+
38
+ /**
39
+ * A style object with camel case property names to define visual appearance of
40
+ * a SVG element or HTML element. The properties can be whatever styles are
41
+ * supported on the given SVG or HTML element.
42
+ *
43
+ * @example
44
+ * {
45
+ * fontFamily: 'monospace',
46
+ * fontSize: '1.2em'
47
+ * }
48
+ *
49
+ * @typedef Highcharts.CSSObject
50
+ *
51
+ * @property {boolean|number|string|undefined} [key:string]
52
+ *
53
+ * @property {string} [background]
54
+ * Background style for the element.
55
+ *
56
+ * @property {Highcharts.ColorString} [backgroundColor]
57
+ * Background color of the element.
58
+ *
59
+ * @property {string} [border]
60
+ * Border style for the element.
61
+ *
62
+ * @property {number} [borderRadius]
63
+ * Radius of the element border.
64
+ *
65
+ * @property {"contrast"|Highcharts.ColorString} [color]
66
+ * Color used in the element. The "contrast" option is a Highcharts
67
+ * custom property that results in black or white, depending on the
68
+ * background of the element.
69
+ *
70
+ * @property {string} [cursor]
71
+ * Style of the mouse cursor when resting over the element.
72
+ *
73
+ * @property {string} [fontFamily]
74
+ * Font family of the element text. Multiple values have to be in
75
+ * decreasing preference order and separated by comma.
76
+ *
77
+ * @property {string} [fontSize]
78
+ * Font size of the element text.
79
+ *
80
+ * @property {string} [fontWeight]
81
+ * Font weight of the element text.
82
+ *
83
+ * @property {number} [height]
84
+ * Height of the element.
85
+ *
86
+ * @property {number} [lineWidth]
87
+ * Width of the element border.
88
+ *
89
+ * @property {number} [opacity]
90
+ * Opacity of the element.
91
+ *
92
+ * @property {string} [padding]
93
+ * Space around the element content.
94
+ *
95
+ * @property {string} [pointerEvents]
96
+ * Behaviour of the element when the mouse cursor rests over it.
97
+ *
98
+ * @property {string} [position]
99
+ * Positioning of the element.
100
+ *
101
+ * @property {string} [textAlign]
102
+ * Alignment of the element text.
103
+ *
104
+ * @property {string} [textOutline]
105
+ * Outline style of the element text.
106
+ *
107
+ * @property {string} [textDecoration]
108
+ * Additional decoration of the element text.
109
+ *
110
+ * @property {string} [textOverflow]
111
+ * Line break style of the element text. Highcharts SVG elements
112
+ * support `ellipsis` when a `width` is set.
113
+ *
114
+ * @property {string} [transition]
115
+ * Animated transition of selected element properties.
116
+ *
117
+ * @property {string} [top]
118
+ * Top spacing of the element relative to the parent element.
119
+ *
120
+ * @property {string} [whiteSpace]
121
+ * Line break style of the element text.
122
+ *
123
+ * @property {number} [width]
124
+ * Width of the element.
125
+ */
126
+
127
+ /**
128
+ * Generic dictionary in TypeScript notation.
129
+ *
130
+ * @typedef Highcharts.Dictionary<T>
131
+ *
132
+ * @property {T} [key:string]
133
+ */
134
+
135
+ /**
136
+ * An object of key-value pairs for HTML attributes.
137
+ *
138
+ * @typedef {Highcharts.Dictionary<boolean|number|string>} Highcharts.HTMLAttributes
139
+ */
140
+
141
+ /**
142
+ * The iterator callback.
143
+ *
144
+ * @callback Highcharts.EachCallbackFunction<T>
145
+ *
146
+ * @param {T} item
147
+ * The array item.
148
+ *
149
+ * @param {number} index
150
+ * The item's index in the array.
151
+ *
152
+ * @param {Array<T>} arr
153
+ * The array that each is being applied to.
154
+ */
155
+
156
+ /**
157
+ * The function callback to execute when the event is fired. The `this` context
158
+ * contains the instance, that fired the event.
159
+ *
160
+ * @callback Highcharts.EventCallbackFunction
161
+ *
162
+ * @param {Highcharts.Dictionary<*>} [eventArguments]
163
+ * Event arguments.
164
+ */
165
+
166
+ /**
167
+ * Formats data as a string. Usually the data is accessible throught the `this`
168
+ * keyword.
169
+ *
170
+ * @callback Highcharts.FormatterCallbackFunction
171
+ *
172
+ * @return {string}
173
+ */
174
+
175
+ /**
176
+ * An HTML DOM element. The type is a reference to the regular SVGElement in the
177
+ * global scope.
178
+ *
179
+ * @typedef {global.HTMLElement} Highcharts.HTMLDOMElement
180
+ *
181
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
182
+ */
183
+
184
+ /**
185
+ * The iterator callback.
186
+ *
187
+ * @callback Highcharts.ObjectEachCallbackFunction
188
+ *
189
+ * @param {*} value
190
+ * The property value.
191
+ *
192
+ * @param {string} key
193
+ * The property key.
194
+ *
195
+ * @param {*} obj
196
+ * The object that objectEach is being applied to.
197
+ */
198
+
199
+ /**
200
+ * An object containing `left` and `top` properties for the position in the
201
+ * page.
202
+ *
203
+ * @typedef Highcharts.OffsetObject
204
+ *
205
+ * @property {number} left
206
+ * Left distance to the page border.
207
+ *
208
+ * @property {number} top
209
+ * Top distance to the page border.
210
+ */
211
+
212
+ /**
213
+ * An object containing `x` and `y` properties for the position of an element.
214
+ *
215
+ * @typedef Highcharts.PositionObject
216
+ *
217
+ * @property {number} x
218
+ * X position of the element.
219
+ *
220
+ * @property {number} y
221
+ * Y position of the element.
222
+ */
223
+
224
+ /**
225
+ * If a number is given, it defines the pixel length. If a percentage string is
226
+ * given, like for example `'50%'`, the setting defines a length relative to a
227
+ * base size, for example the size of a container.
228
+ *
229
+ * @typedef {number|string} Highcharts.RelativeSize
230
+ */
231
+
232
+ /**
233
+ * An object of key-value pairs for SVG attributes. Attributes in Highcharts
234
+ * elements for the most parts correspond to SVG, but some are specific to
235
+ * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`,
236
+ * `rotationOriginY`, `translateX`, `translateY`, `scaleX` and `scaleY`. SVG
237
+ * attributes containing a hyphen are _not_ camel-cased, they should be
238
+ * quoted to preserve the hyphen.
239
+ *
240
+ * @example
241
+ * {
242
+ * 'stroke': '#ff0000', // basic
243
+ * 'stroke-width': 2, // hyphenated
244
+ * 'rotation': 45 // custom
245
+ * 'd': ['M', 10, 10, 'L', 30, 30, 'z'] // path definition, note format
246
+ * }
247
+ *
248
+ * @typedef Highcharts.SVGAttributes
249
+ *
250
+ * @property {boolean|number|string|Array<any>|undefined} [key:string]
251
+ *
252
+ * @property {string|Highcharts.SVGPathArray} [d]
253
+ *
254
+ * @property {boolean} [inverted]
255
+ *
256
+ * @property {Array<number>} [matrix]
257
+ *
258
+ * @property {Highcharts.ColorString} [stroke]
259
+ *
260
+ * @property {string} [rotation]
261
+ *
262
+ * @property {number} [rotationOriginX]
263
+ *
264
+ * @property {number} [rotationOriginY]
265
+ *
266
+ * @property {number} [scaleX]
267
+ *
268
+ * @property {number} [scaleY]
269
+ *
270
+ * @property {number} [translateX]
271
+ *
272
+ * @property {number} [translateY]
273
+ *
274
+ * @property {number} [zIndex]
275
+ */
276
+
277
+ /**
278
+ * An SVG DOM element. The type is a reference to the regular SVGElement in the
279
+ * global scope.
280
+ *
281
+ * @typedef {global.GlobalSVGElement} Highcharts.SVGDOMElement
282
+ *
283
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/SVGElement
284
+ */
285
+
286
+ /**
287
+ * Array of path commands, that will go into the `d` attribute of an SVG
288
+ * element.
289
+ *
290
+ * @typedef {Array<number|Highcharts.SVGPathCommand>} Highcharts.SVGPathArray
291
+ */
292
+
293
+ /**
294
+ * Possible path commands in a SVG path array.
295
+ *
296
+ * @typedef {string} Highcharts.SVGPathCommand
297
+ * @validvalue ["a","c","h","l","m","q","s","t","v","z","A","C","H","L","M","Q","S","T","V","Z"]
298
+ */
299
+
7
300
  'use strict';
301
+
8
302
  import H from './Globals.js';
9
303
 
10
304
  /**
@@ -28,16 +322,19 @@ var charts = H.charts,
28
322
  * Provide error messages for debugging, with links to online explanation. This
29
323
  * function can be overridden to provide custom error handling.
30
324
  *
31
- * @function #error
32
- * @memberof Highcharts
33
- * @param {Number|String} code - The error code. See [errors.xml]{@link
34
- * https://github.com/highcharts/highcharts/blob/master/errors/errors.xml}
35
- * for available codes. If it is a string, the error message is printed
36
- * directly in the console.
37
- * @param {Boolean} [stop=false] - Whether to throw an error or just log a
38
- * warning in the console.
325
+ * @sample highcharts/chart/highcharts-error/
326
+ * Custom error handler
327
+ *
328
+ * @function Highcharts.error
39
329
  *
40
- * @sample highcharts/chart/highcharts-error/ Custom error handler
330
+ * @param {number|string} code
331
+ * The error code. See
332
+ * [errors.xml]{@link https://github.com/highcharts/highcharts/blob/master/errors/errors.xml}
333
+ * for available codes. If it is a string, the error message is printed
334
+ * directly in the console.
335
+ *
336
+ * @param {boolean} [stop=false]
337
+ * Whether to throw an error or just log a warning in the console.
41
338
  */
42
339
  H.error = function (code, stop) {
43
340
  var msg = H.isNumber(code) ?
@@ -57,16 +354,21 @@ H.error = function (code, stop) {
57
354
  * (attribute or style prop) on one element. Animation is always initiated
58
355
  * through {@link SVGElement#animate}.
59
356
  *
60
- * @constructor Fx
61
- * @memberof Highcharts
62
- * @param {HTMLDOMElement|SVGElement} elem - The element to animate.
63
- * @param {AnimationOptions} options - Animation options.
64
- * @param {string} prop - The single attribute or CSS property to animate.
65
- * @private
66
- *
67
357
  * @example
68
358
  * var rect = renderer.rect(0, 0, 10, 10).add();
69
359
  * rect.animate({ width: 100 });
360
+ *
361
+ * @private
362
+ * @class Highcharts.Fx
363
+ *
364
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} elem
365
+ * The element to animate.
366
+ *
367
+ * @param {Highcharts.AnimationOptionsObject} options
368
+ * Animation options.
369
+ *
370
+ * @param {string} prop
371
+ * The single attribute or CSS property to animate.
70
372
  */
71
373
  H.Fx = function (elem, options, prop) {
72
374
  this.options = options;
@@ -78,8 +380,7 @@ H.Fx.prototype = {
78
380
  /**
79
381
  * Set the current step of a path definition on SVGElement.
80
382
  *
81
- * @function #dSetter
82
- * @memberof Highcharts.Fx
383
+ * @function Highcharts.Fx#dSetter
83
384
  */
84
385
  dSetter: function () {
85
386
  var start = this.paths[0],
@@ -112,8 +413,7 @@ H.Fx.prototype = {
112
413
  /**
113
414
  * Update the element with the current animation step.
114
415
  *
115
- * @function #update
116
- * @memberof Highcharts.Fx
416
+ * @function Highcharts.Fx#update
117
417
  */
118
418
  update: function () {
119
419
  var elem = this.elem,
@@ -145,12 +445,16 @@ H.Fx.prototype = {
145
445
  /**
146
446
  * Run an animation.
147
447
  *
148
- * @function #run
149
- * @memberof Highcharts.Fx
150
- * @param {Number} from - The current value, value to start from.
151
- * @param {Number} to - The end value, value to land on.
152
- * @param {String} [unit] - The property unit, for example `px`.
448
+ * @function Highcharts.Fx#run
449
+ *
450
+ * @param {number} from
451
+ * The current value, value to start from.
153
452
  *
453
+ * @param {number} to
454
+ * The end value, value to land on.
455
+ *
456
+ * @param {string} [unit]
457
+ * The property unit, for example `px`.
154
458
  */
155
459
  run: function (from, to, unit) {
156
460
  var self = this,
@@ -200,11 +504,13 @@ H.Fx.prototype = {
200
504
  /**
201
505
  * Run a single step in the animation.
202
506
  *
203
- * @function #step
204
- * @memberof Highcharts.Fx
205
- * @param {Boolean} [gotoEnd] - Whether to go to the endpoint of the
206
- * animation after abort.
207
- * @returns {Boolean} Returns `true` if animation continues.
507
+ * @function Highcharts.Fx#step
508
+ *
509
+ * @param {boolean} [gotoEnd]
510
+ * Whether to go to the endpoint of the animation after abort.
511
+ *
512
+ * @return {boolean}
513
+ * Returns `true` if animation continues.
208
514
  */
209
515
  step: function (gotoEnd) {
210
516
  var t = +new Date(),
@@ -251,13 +557,20 @@ H.Fx.prototype = {
251
557
  /**
252
558
  * Prepare start and end values so that the path can be animated one to one.
253
559
  *
254
- * @function #initPath
255
- * @memberof Highcharts.Fx
256
- * @param {SVGElement} elem - The SVGElement item.
257
- * @param {String} fromD - Starting path definition.
258
- * @param {Array} toD - Ending path definition.
259
- * @returns {Array} An array containing start and end paths in array form
260
- * so that they can be animated in parallel.
560
+ * @function Highcharts.Fx#initPath
561
+ *
562
+ * @param {Highcharts.SVGElement} elem
563
+ * The SVGElement item.
564
+ *
565
+ * @param {string} fromD
566
+ * Starting path definition.
567
+ *
568
+ * @param {Highcharts.SVGPathArray} toD
569
+ * Ending path definition.
570
+ *
571
+ * @return {Array<Highcharts.SVGPathArray>}
572
+ * An array containing start and end paths in array form so that
573
+ * they can be animated in parallel.
261
574
  */
262
575
  initPath: function (elem, fromD, toD) {
263
576
  fromD = fromD || '';
@@ -335,7 +648,7 @@ H.Fx.prototype = {
335
648
  }
336
649
 
337
650
  /**
338
- * Copy and append last point until the length matches the end length
651
+ * Copy and append last point until the length matches the end length.
339
652
  */
340
653
  function append(arr, other) {
341
654
  var i = (fullLength - arr.length) / numParams;
@@ -413,38 +726,74 @@ H.Fx.prototype = {
413
726
  }
414
727
 
415
728
  return [start, end];
729
+ },
730
+
731
+ /**
732
+ * Handle animation of the color attributes directly.
733
+ *
734
+ * @function Highcharts.Fx#fillSetter
735
+ */
736
+ fillSetter: function () {
737
+ H.Fx.prototype.strokeSetter.apply(this, arguments);
738
+ },
739
+
740
+ /**
741
+ * Handle animation of the color attributes directly.
742
+ *
743
+ * @function Highcharts.Fx#strokeSetter
744
+ */
745
+ strokeSetter: function () {
746
+ this.elem.attr(
747
+ this.prop,
748
+ H.color(this.start).tweenTo(H.color(this.end), this.pos),
749
+ null,
750
+ true
751
+ );
416
752
  }
753
+
417
754
  }; // End of Fx prototype
418
755
 
419
- /**
420
- * Handle animation of the color attributes directly.
421
- */
422
- H.Fx.prototype.fillSetter =
423
- H.Fx.prototype.strokeSetter = function () {
424
- this.elem.attr(
425
- this.prop,
426
- H.color(this.start).tweenTo(H.color(this.end), this.pos),
427
- null,
428
- true
429
- );
430
- };
431
756
 
432
757
 
433
758
  /**
759
+ * Utility function to deep merge two or more objects and return a third object.
760
+ * The merge function can also be used with a single object argument to create a
761
+ * deep copy of an object.
762
+ *
763
+ * @function Highcharts.merge
764
+ *
765
+ * @param {*} a
766
+ * The first object to extend. When only this is given, the function
767
+ * returns a deep copy.
768
+ *
769
+ * @param {*} [n]
770
+ * An object to merge into the previous one.
771
+ *
772
+ * @return {*}
773
+ * The merged object. If the first argument is true, the return is the
774
+ * same as the second argument.
775
+ *//**
434
776
  * Utility function to deep merge two or more objects and return a third object.
435
777
  * If the first argument is true, the contents of the second object is copied
436
778
  * into the first object. The merge function can also be used with a single
437
779
  * object argument to create a deep copy of an object.
438
780
  *
439
- * @function #merge
440
- * @memberof Highcharts
441
- * @param {Boolean} [extend] - Whether to extend the left-side object (a) or
442
- return a whole new object.
443
- * @param {Object} a - The first object to extend. When only this is given, the
444
- function returns a deep copy.
445
- * @param {...Object} [n] - An object to merge into the previous one.
446
- * @returns {Object} - The merged object. If the first argument is true, the
447
- * return is the same as the second argument.
781
+ * @function Highcharts.merge
782
+ *
783
+ * @param {boolean} extend
784
+ * Whether to extend the left-side object (a) or return a whole new
785
+ * object.
786
+ *
787
+ * @param {*} a
788
+ * The first object to extend. When only this is given, the function
789
+ * returns a deep copy.
790
+ *
791
+ * @param {*} [n]
792
+ * An object to merge into the previous one.
793
+ *
794
+ * @return {*}
795
+ * The merged object. If the first argument is true, the return is the
796
+ * same as the second argument.
448
797
  */
449
798
  H.merge = function () {
450
799
  var i,
@@ -493,9 +842,16 @@ H.merge = function () {
493
842
 
494
843
  /**
495
844
  * Shortcut for parseInt
496
- * @ignore
497
- * @param {Object} s
498
- * @param {Number} mag Magnitude
845
+ *
846
+ * @private
847
+ * @function Highcharts.pInt
848
+ *
849
+ * @param {*} s
850
+ *
851
+ * @param {number} mag
852
+ * Magnitude
853
+ *
854
+ * @return {number}
499
855
  */
500
856
  H.pInt = function (s, mag) {
501
857
  return parseInt(s, mag || 10);
@@ -504,10 +860,13 @@ H.pInt = function (s, mag) {
504
860
  /**
505
861
  * Utility function to check for string type.
506
862
  *
507
- * @function #isString
508
- * @memberof Highcharts
509
- * @param {Object} s - The item to check.
510
- * @returns {Boolean} - True if the argument is a string.
863
+ * @function Highcharts.isString
864
+ *
865
+ * @param {*} s
866
+ * The item to check.
867
+ *
868
+ * @return {boolean}
869
+ * True if the argument is a string.
511
870
  */
512
871
  H.isString = function (s) {
513
872
  return typeof s === 'string';
@@ -516,10 +875,13 @@ H.isString = function (s) {
516
875
  /**
517
876
  * Utility function to check if an item is an array.
518
877
  *
519
- * @function #isArray
520
- * @memberof Highcharts
521
- * @param {Object} obj - The item to check.
522
- * @returns {Boolean} - True if the argument is an array.
878
+ * @function Highcharts.isArray
879
+ *
880
+ * @param {*} obj
881
+ * The item to check.
882
+ *
883
+ * @return {boolean}
884
+ * True if the argument is an array.
523
885
  */
524
886
  H.isArray = function (obj) {
525
887
  var str = Object.prototype.toString.call(obj);
@@ -529,12 +891,16 @@ H.isArray = function (obj) {
529
891
  /**
530
892
  * Utility function to check if an item is of type object.
531
893
  *
532
- * @function #isObject
533
- * @memberof Highcharts
534
- * @param {Object} obj - The item to check.
535
- * @param {Boolean} [strict=false] - Also checks that the object is not an
536
- * array.
537
- * @returns {Boolean} - True if the argument is an object.
894
+ * @function Highcharts.isObject
895
+ *
896
+ * @param {*} obj
897
+ * The item to check.
898
+ *
899
+ * @param {boolean} [strict=false]
900
+ * Also checks that the object is not an array.
901
+ *
902
+ * @return {boolean}
903
+ * True if the argument is an object.
538
904
  */
539
905
  H.isObject = function (obj, strict) {
540
906
  return !!obj && typeof obj === 'object' && (!strict || !H.isArray(obj));
@@ -543,10 +909,13 @@ H.isObject = function (obj, strict) {
543
909
  /**
544
910
  * Utility function to check if an Object is a HTML Element.
545
911
  *
546
- * @function #isDOMElement
547
- * @memberof Highcharts
548
- * @param {Object} obj - The item to check.
549
- * @returns {Boolean} - True if the argument is a HTML Element.
912
+ * @function Highcharts.isDOMElement
913
+ *
914
+ * @param {*} obj
915
+ * The item to check.
916
+ *
917
+ * @return {boolean}
918
+ * True if the argument is a HTML Element.
550
919
  */
551
920
  H.isDOMElement = function (obj) {
552
921
  return H.isObject(obj) && typeof obj.nodeType === 'number';
@@ -555,10 +924,13 @@ H.isDOMElement = function (obj) {
555
924
  /**
556
925
  * Utility function to check if an Object is an class.
557
926
  *
558
- * @function #isClass
559
- * @memberof Highcharts
560
- * @param {Object} obj - The item to check.
561
- * @returns {Boolean} - True if the argument is an class.
927
+ * @function Highcharts.isClass
928
+ *
929
+ * @param {*} obj
930
+ * The item to check.
931
+ *
932
+ * @return {boolean}
933
+ * True if the argument is an class.
562
934
  */
563
935
  H.isClass = function (obj) {
564
936
  var c = obj && obj.constructor;
@@ -573,11 +945,12 @@ H.isClass = function (obj) {
573
945
  * Utility function to check if an item is a number and it is finite (not NaN,
574
946
  * Infinity or -Infinity).
575
947
  *
576
- * @function #isNumber
577
- * @memberof Highcharts
578
- * @param {Object} n
579
- * The item to check.
580
- * @return {Boolean}
948
+ * @function Highcharts.isNumber
949
+ *
950
+ * @param {*} n
951
+ * The item to check.
952
+ *
953
+ * @return {boolean}
581
954
  * True if the item is a finite number
582
955
  */
583
956
  H.isNumber = function (n) {
@@ -587,10 +960,13 @@ H.isNumber = function (n) {
587
960
  /**
588
961
  * Remove the last occurence of an item from an array.
589
962
  *
590
- * @function #erase
591
- * @memberof Highcharts
592
- * @param {Array} arr - The array.
593
- * @param {*} item - The item to remove.
963
+ * @function Highcharts.erase
964
+ *
965
+ * @param {Array} arr
966
+ * The array.
967
+ *
968
+ * @param {*} item
969
+ * The item to remove.
594
970
  */
595
971
  H.erase = function (arr, item) {
596
972
  var i = arr.length;
@@ -605,11 +981,13 @@ H.erase = function (arr, item) {
605
981
  /**
606
982
  * Check if an object is null or undefined.
607
983
  *
608
- * @function #defined
609
- * @memberof Highcharts
610
- * @param {Object} obj - The object to check.
611
- * @returns {Boolean} - False if the object is null or undefined, otherwise
612
- * true.
984
+ * @function Highcharts.defined
985
+ *
986
+ * @param {*} obj
987
+ * The object to check.
988
+ *
989
+ * @return {boolean}
990
+ * False if the object is null or undefined, otherwise true.
613
991
  */
614
992
  H.defined = function (obj) {
615
993
  return obj !== undefined && obj !== null;
@@ -620,12 +998,19 @@ H.defined = function (obj) {
620
998
  * a key and a value, or let the second argument be a collection of keys and
621
999
  * values. To use as a getter, pass only a string as the second argument.
622
1000
  *
623
- * @function #attr
624
- * @memberof Highcharts
625
- * @param {Object} elem - The DOM element to receive the attribute(s).
626
- * @param {String|Object} [prop] - The property or an object of key-value pairs.
627
- * @param {String} [value] - The value if a single property is set.
628
- * @returns {*} When used as a getter, return the value.
1001
+ * @function Highcharts.attr
1002
+ *
1003
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} elem
1004
+ * The DOM element to receive the attribute(s).
1005
+ *
1006
+ * @param {string|Highcharts.HTMLAttributes|Highcharts.SVGAttributes} [prop]
1007
+ * The property or an object of key-value pairs.
1008
+ *
1009
+ * @param {string} [value]
1010
+ * The value if a single property is set.
1011
+ *
1012
+ * @return {*}
1013
+ * When used as a getter, return the value.
629
1014
  */
630
1015
  H.attr = function (elem, prop, value) {
631
1016
  var ret;
@@ -658,10 +1043,13 @@ H.attr = function (elem, prop, value) {
658
1043
  /**
659
1044
  * Check if an element is an array, and if not, make it into an array.
660
1045
  *
661
- * @function #splat
662
- * @memberof Highcharts
663
- * @param obj {*} - The object to splat.
664
- * @returns {Array} The produced or original array.
1046
+ * @function Highcharts.splat
1047
+ *
1048
+ * @param {*} obj
1049
+ * The object to splat.
1050
+ *
1051
+ * @return {Array}
1052
+ * The produced or original array.
665
1053
  */
666
1054
  H.splat = function (obj) {
667
1055
  return H.isArray(obj) ? obj : [obj];
@@ -671,13 +1059,20 @@ H.splat = function (obj) {
671
1059
  * Set a timeout if the delay is given, otherwise perform the function
672
1060
  * synchronously.
673
1061
  *
674
- * @function #syncTimeout
675
- * @memberof Highcharts
676
- * @param {Function} fn - The function callback.
677
- * @param {Number} delay - Delay in milliseconds.
678
- * @param {Object} [context] - The context.
679
- * @returns {Number} An identifier for the timeout that can later be cleared
680
- * with H.clearTimeout.
1062
+ * @function Highcharts.syncTimeout
1063
+ *
1064
+ * @param {Function} fn
1065
+ * The function callback.
1066
+ *
1067
+ * @param {number} delay
1068
+ * Delay in milliseconds.
1069
+ *
1070
+ * @param {*} [context]
1071
+ * The context.
1072
+ *
1073
+ * @return {number}
1074
+ * An identifier for the timeout that can later be cleared with
1075
+ * Highcharts.clearTimeout.
681
1076
  */
682
1077
  H.syncTimeout = function (fn, delay, context) {
683
1078
  if (delay) {
@@ -691,9 +1086,10 @@ H.syncTimeout = function (fn, delay, context) {
691
1086
  * (e.g. by `chart.destroy()`). For the details see
692
1087
  * [issue #7901](https://github.com/highcharts/highcharts/issues/7901).
693
1088
  *
694
- * @function #clearTimeout
695
- * @memberof Highcharts
696
- * @param {Number} id - id of a timeout.
1089
+ * @function Highcharts.clearTimeout
1090
+ *
1091
+ * @param {number} id
1092
+ * Id of a timeout.
697
1093
  */
698
1094
  H.clearTimeout = function (id) {
699
1095
  if (H.defined(id)) {
@@ -704,11 +1100,16 @@ H.clearTimeout = function (id) {
704
1100
  /**
705
1101
  * Utility function to extend an object with the members of another.
706
1102
  *
707
- * @function #extend
708
- * @memberof Highcharts
709
- * @param {Object} a - The object to be extended.
710
- * @param {Object} b - The object to add to the first one.
711
- * @returns {Object} Object a, the original object.
1103
+ * @function Highcharts.extend
1104
+ *
1105
+ * @param {Highcharts.Dictionary<*>} a
1106
+ * The object to be extended.
1107
+ *
1108
+ * @param {Highcharts.Dictionary<*>} b
1109
+ * The object to add to the first one.
1110
+ *
1111
+ * @return {Highcharts.Dictionary<*>}
1112
+ * Object a, the original object.
712
1113
  */
713
1114
  H.extend = function (a, b) {
714
1115
  var n;
@@ -725,10 +1126,13 @@ H.extend = function (a, b) {
725
1126
  /**
726
1127
  * Return the first value that is not null or undefined.
727
1128
  *
728
- * @function #pick
729
- * @memberof Highcharts
730
- * @param {...*} items - Variable number of arguments to inspect.
731
- * @returns {*} The value of the first argument that is not null or undefined.
1129
+ * @function Highcharts.pick
1130
+ *
1131
+ * @param {...*} items
1132
+ * Variable number of arguments to inspect.
1133
+ *
1134
+ * @return {*}
1135
+ * The value of the first argument that is not null or undefined.
732
1136
  */
733
1137
  H.pick = function () {
734
1138
  var args = arguments,
@@ -743,24 +1147,16 @@ H.pick = function () {
743
1147
  }
744
1148
  };
745
1149
 
746
- /**
747
- * @typedef {Object} CSSObject - A style object with camel case property names.
748
- * The properties can be whatever styles are supported on the given SVG or HTML
749
- * element.
750
- * @example
751
- * {
752
- * fontFamily: 'monospace',
753
- * fontSize: '1.2em'
754
- * }
755
- */
756
1150
  /**
757
1151
  * Set CSS on a given element.
758
1152
  *
759
- * @function #css
760
- * @memberof Highcharts
761
- * @param {HTMLDOMElement} el - A HTML DOM element.
762
- * @param {CSSObject} styles - Style object with camel case property names.
1153
+ * @function Highcharts.css
763
1154
  *
1155
+ * @param {Highcharts.HTMLDOMElement} el
1156
+ * An HTML DOM element.
1157
+ *
1158
+ * @param {Highcharts.CSSObject} styles
1159
+ * Style object with camel case property names.
764
1160
  */
765
1161
  H.css = function (el, styles) {
766
1162
  if (H.isMS && !H.svg) { // #2686
@@ -771,23 +1167,28 @@ H.css = function (el, styles) {
771
1167
  H.extend(el.style, styles);
772
1168
  };
773
1169
 
774
- /**
775
- * A HTML DOM element.
776
- * @typedef {Object} HTMLDOMElement
777
- */
778
-
779
1170
  /**
780
1171
  * Utility function to create an HTML element with attributes and styles.
781
1172
  *
782
- * @function #createElement
783
- * @memberof Highcharts
784
- * @param {String} tag - The HTML tag.
785
- * @param {Object} [attribs] - Attributes as an object of key-value pairs.
786
- * @param {CSSObject} [styles] - Styles as an object of key-value pairs.
787
- * @param {Object} [parent] - The parent HTML object.
788
- * @param {Boolean} [nopad=false] - If true, remove all padding, border and
789
- * margin.
790
- * @returns {HTMLDOMElement} The created DOM element.
1173
+ * @function Highcharts.createElement
1174
+ *
1175
+ * @param {string} tag
1176
+ * The HTML tag.
1177
+ *
1178
+ * @param {Highcharts.HTMLAttributes} [attribs]
1179
+ * Attributes as an object of key-value pairs.
1180
+ *
1181
+ * @param {Highcharts.CSSObject} [styles]
1182
+ * Styles as an object of key-value pairs.
1183
+ *
1184
+ * @param {Highcharts.HTMLDOMElement} [parent]
1185
+ * The parent HTML object.
1186
+ *
1187
+ * @param {boolean} [nopad=false]
1188
+ * If true, remove all padding, border and margin.
1189
+ *
1190
+ * @return {Highcharts.HTMLDOMElement}
1191
+ * The created DOM element.
791
1192
  */
792
1193
  H.createElement = function (tag, attribs, styles, parent, nopad) {
793
1194
  var el = doc.createElement(tag),
@@ -810,12 +1211,17 @@ H.createElement = function (tag, attribs, styles, parent, nopad) {
810
1211
  /**
811
1212
  * Extend a prototyped class by new members.
812
1213
  *
813
- * @function #extendClass
814
- * @memberof Highcharts
815
- * @param {Object} parent - The parent prototype to inherit.
816
- * @param {Object} members - A collection of prototype members to add or
817
- * override compared to the parent prototype.
818
- * @returns {Object} A new prototype.
1214
+ * @function Highcharts.extendClass
1215
+ *
1216
+ * @param {*} parent
1217
+ * The parent prototype to inherit.
1218
+ *
1219
+ * @param {Highcharts.Dictionary<*>} members
1220
+ * A collection of prototype members to add or override compared to the
1221
+ * parent prototype.
1222
+ *
1223
+ * @return {*}
1224
+ * A new prototype.
819
1225
  */
820
1226
  H.extendClass = function (parent, members) {
821
1227
  var object = function () {};
@@ -827,12 +1233,19 @@ H.extendClass = function (parent, members) {
827
1233
  /**
828
1234
  * Left-pad a string to a given length by adding a character repetetively.
829
1235
  *
830
- * @function #pad
831
- * @memberof Highcharts
832
- * @param {Number} number - The input string or number.
833
- * @param {Number} length - The desired string length.
834
- * @param {String} [padder=0] - The character to pad with.
835
- * @returns {String} The padded string.
1236
+ * @function Highcharts.pad
1237
+ *
1238
+ * @param {number} number
1239
+ * The input string or number.
1240
+ *
1241
+ * @param {number} length
1242
+ * The desired string length.
1243
+ *
1244
+ * @param {string} [padder=0]
1245
+ * The character to pad with.
1246
+ *
1247
+ * @return {string}
1248
+ * The padded string.
836
1249
  */
837
1250
  H.pad = function (number, length, padder) {
838
1251
  return new Array(
@@ -844,24 +1257,21 @@ H.pad = function (number, length, padder) {
844
1257
  ).join(padder || 0) + number;
845
1258
  };
846
1259
 
847
- /**
848
- * @typedef {Number|String} RelativeSize - If a number is given, it defines the
849
- * pixel length. If a percentage string is given, like for example `'50%'`,
850
- * the setting defines a length relative to a base size, for example the size
851
- * of a container.
852
- */
853
1260
  /**
854
1261
  * Return a length based on either the integer value, or a percentage of a base.
855
1262
  *
856
- * @function #relativeLength
857
- * @memberof Highcharts
858
- * @param {RelativeSize} value
859
- * A percentage string or a number.
860
- * @param {number} base
861
- * The full length that represents 100%.
862
- * @param {number} [offset=0]
863
- * A pixel offset to apply for percentage values. Used internally in
864
- * axis positioning.
1263
+ * @function Highcharts.relativeLength
1264
+ *
1265
+ * @param {Highcharts.RelativeSize} value
1266
+ * A percentage string or a number.
1267
+ *
1268
+ * @param {number} base
1269
+ * The full length that represents 100%.
1270
+ *
1271
+ * @param {number} [offset=0]
1272
+ * A pixel offset to apply for percentage values. Used internally in
1273
+ * axis positioning.
1274
+ *
865
1275
  * @return {number}
866
1276
  * The computed length.
867
1277
  */
@@ -874,15 +1284,19 @@ H.relativeLength = function (value, base, offset) {
874
1284
  /**
875
1285
  * Wrap a method with extended functionality, preserving the original function.
876
1286
  *
877
- * @function #wrap
878
- * @memberof Highcharts
879
- * @param {Object} obj - The context object that the method belongs to. In real
880
- * cases, this is often a prototype.
881
- * @param {String} method - The name of the method to extend.
882
- * @param {Function} func - A wrapper function callback. This function is called
883
- * with the same arguments as the original function, except that the
884
- * original function is unshifted and passed as the first argument.
1287
+ * @function Highcharts.wrap
885
1288
  *
1289
+ * @param {*} obj
1290
+ * The context object that the method belongs to. In real cases, this is
1291
+ * often a prototype.
1292
+ *
1293
+ * @param {string} method
1294
+ * The name of the method to extend.
1295
+ *
1296
+ * @param {Function} func
1297
+ * A wrapper function callback. This function is called with the same
1298
+ * arguments as the original function, except that the original function
1299
+ * is unshifted and passed as the first argument.
886
1300
  */
887
1301
  H.wrap = function (obj, method, func) {
888
1302
  var proceed = obj[method];
@@ -903,21 +1317,41 @@ H.wrap = function (obj, method, func) {
903
1317
 
904
1318
 
905
1319
 
1320
+ /**
1321
+ * Recursively converts all Date properties to timestamps.
1322
+ *
1323
+ * @param {Object} object - any object to convert properties of
1324
+ */
1325
+ H.datePropsToTimestamps = function (object) {
1326
+ H.objectEach(object, function (val, key) {
1327
+ if (H.isObject(val) && typeof val.getTime === 'function') {
1328
+ object[key] = val.getTime();
1329
+ } else if (H.isObject(val) || H.isArray(val)) {
1330
+ H.datePropsToTimestamps(val);
1331
+ }
1332
+ });
1333
+ };
1334
+
906
1335
  /**
907
1336
  * Format a single variable. Similar to sprintf, without the % prefix.
908
1337
  *
909
1338
  * @example
910
1339
  * formatSingle('.2f', 5); // => '5.00'.
911
1340
  *
912
- * @function #formatSingle
913
- * @memberof Highcharts
914
- * @param {String} format The format string.
915
- * @param {*} val The value.
916
- * @param {Time} [time]
917
- * A `Time` instance that determines the date formatting, for example for
918
- * applying time zone corrections to the formatted date.
919
-
920
- * @returns {String} The formatted representation of the value.
1341
+ * @function Highcharts.formatSingle
1342
+ *
1343
+ * @param {string} format
1344
+ * The format string.
1345
+ *
1346
+ * @param {*} val
1347
+ * The value.
1348
+ *
1349
+ * @param {Highcharts.Time} [time]
1350
+ * A `Time` instance that determines the date formatting, for example
1351
+ * for applying time zone corrections to the formatted date.
1352
+ *
1353
+ * @return {string}
1354
+ * The formatted representation of the value.
921
1355
  */
922
1356
  H.formatSingle = function (format, val, time) {
923
1357
  var floatRegex = /f$/,
@@ -946,24 +1380,28 @@ H.formatSingle = function (format, val, time) {
946
1380
  * Format a string according to a subset of the rules of Python's String.format
947
1381
  * method.
948
1382
  *
949
- * @function #format
950
- * @memberof Highcharts
951
- * @param {String} str
952
- * The string to format.
953
- * @param {Object} ctx
954
- * The context, a collection of key-value pairs where each key is
955
- * replaced by its value.
956
- * @param {Time} [time]
957
- * A `Time` instance that determines the date formatting, for example for
958
- * applying time zone corrections to the formatted date.
959
- * @returns {String} The formatted string.
960
- *
961
1383
  * @example
962
1384
  * var s = Highcharts.format(
963
1385
  * 'The {color} fox was {len:.2f} feet long',
964
1386
  * { color: 'red', len: Math.PI }
965
1387
  * );
966
1388
  * // => The red fox was 3.14 feet long
1389
+ *
1390
+ * @function Highcharts.format
1391
+ *
1392
+ * @param {string} str
1393
+ * The string to format.
1394
+ *
1395
+ * @param {*} ctx
1396
+ * The context, a collection of key-value pairs where each key is
1397
+ * replaced by its value.
1398
+ *
1399
+ * @param {Highcharts.Time} [time]
1400
+ * A `Time` instance that determines the date formatting, for example
1401
+ * for applying time zone corrections to the formatted date.
1402
+ *
1403
+ * @return {string}
1404
+ * The formatted string.
967
1405
  */
968
1406
  H.format = function (str, ctx, time) {
969
1407
  var splitter = '{',
@@ -1021,11 +1459,13 @@ H.format = function (str, ctx, time) {
1021
1459
  /**
1022
1460
  * Get the magnitude of a number.
1023
1461
  *
1024
- * @function #getMagnitude
1025
- * @memberof Highcharts
1026
- * @param {Number} number The number.
1027
- * @returns {Number} The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2
1028
- * etc.
1462
+ * @function Highcharts.getMagnitude
1463
+ *
1464
+ * @param {number} number
1465
+ * The number.
1466
+ *
1467
+ * @return {number}
1468
+ * The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
1029
1469
  */
1030
1470
  H.getMagnitude = function (num) {
1031
1471
  return Math.pow(10, Math.floor(Math.log(num) / Math.LN10));
@@ -1034,17 +1474,31 @@ H.getMagnitude = function (num) {
1034
1474
  /**
1035
1475
  * Take an interval and normalize it to multiples of round numbers.
1036
1476
  *
1037
- * @todo Move this function to the Axis prototype. It is here only for
1038
- * historical reasons.
1039
- * @function #normalizeTickInterval
1040
- * @memberof Highcharts
1041
- * @param {Number} interval - The raw, un-rounded interval.
1042
- * @param {Array} [multiples] - Allowed multiples.
1043
- * @param {Number} [magnitude] - The magnitude of the number.
1044
- * @param {Boolean} [allowDecimals] - Whether to allow decimals.
1045
- * @param {Boolean} [hasTickAmount] - If it has tickAmount, avoid landing
1046
- * on tick intervals lower than original.
1047
- * @returns {Number} The normalized interval.
1477
+ * @deprecated
1478
+ * @function Highcharts.normalizeTickInterval
1479
+ *
1480
+ * @param {number} interval
1481
+ * The raw, un-rounded interval.
1482
+ *
1483
+ * @param {Array} [multiples]
1484
+ * Allowed multiples.
1485
+ *
1486
+ * @param {number} [magnitude]
1487
+ * The magnitude of the number.
1488
+ *
1489
+ * @param {boolean} [allowDecimals]
1490
+ * Whether to allow decimals.
1491
+ *
1492
+ * @param {boolean} [hasTickAmount]
1493
+ * If it has tickAmount, avoid landing on tick intervals lower than
1494
+ * original.
1495
+ *
1496
+ * @return {number}
1497
+ * The normalized interval.
1498
+ *
1499
+ * @todo
1500
+ * Move this function to the Axis prototype. It is here only for historical
1501
+ * reasons.
1048
1502
  */
1049
1503
  H.normalizeTickInterval = function (interval, multiples, magnitude,
1050
1504
  allowDecimals, hasTickAmount) {
@@ -1118,12 +1572,13 @@ H.normalizeTickInterval = function (interval, multiples, magnitude,
1118
1572
  * Sort an object array and keep the order of equal items. The ECMAScript
1119
1573
  * standard does not specify the behaviour when items are equal.
1120
1574
  *
1121
- * @function #stableSort
1122
- * @memberof Highcharts
1123
- * @param {Array} arr - The array to sort.
1124
- * @param {Function} sortFunction - The function to sort it with, like with
1125
- * regular Array.prototype.sort.
1575
+ * @function Highcharts.stableSort
1576
+ *
1577
+ * @param {Array} arr
1578
+ * The array to sort.
1126
1579
  *
1580
+ * @param {Function} sortFunction
1581
+ * The function to sort it with, like with regular Array.prototype.sort.
1127
1582
  */
1128
1583
  H.stableSort = function (arr, sortFunction) {
1129
1584
  var length = arr.length,
@@ -1151,10 +1606,13 @@ H.stableSort = function (arr, sortFunction) {
1151
1606
  * a maximum call stack size exceeded error in Chrome when trying to apply more
1152
1607
  * than 150.000 points. This method is slightly slower, but safe.
1153
1608
  *
1154
- * @function #arrayMin
1155
- * @memberof Highcharts
1156
- * @param {Array} data An array of numbers.
1157
- * @returns {Number} The lowest number.
1609
+ * @function Highcharts.arrayMin
1610
+ *
1611
+ * @param {Array} data
1612
+ * An array of numbers.
1613
+ *
1614
+ * @return {number}
1615
+ * The lowest number.
1158
1616
  */
1159
1617
  H.arrayMin = function (data) {
1160
1618
  var i = data.length,
@@ -1173,10 +1631,13 @@ H.arrayMin = function (data) {
1173
1631
  * a maximum call stack size exceeded error in Chrome when trying to apply more
1174
1632
  * than 150.000 points. This method is slightly slower, but safe.
1175
1633
  *
1176
- * @function #arrayMax
1177
- * @memberof Highcharts
1178
- * @param {Array} data - An array of numbers.
1179
- * @returns {Number} The highest number.
1634
+ * @function Highcharts.arrayMax
1635
+ *
1636
+ * @param {Array} data
1637
+ * An array of numbers.
1638
+ *
1639
+ * @return {number}
1640
+ * The highest number.
1180
1641
  */
1181
1642
  H.arrayMax = function (data) {
1182
1643
  var i = data.length,
@@ -1195,12 +1656,13 @@ H.arrayMax = function (data) {
1195
1656
  * the given object. It loops all properties and invokes destroy if there is a
1196
1657
  * destroy method. The property is then delete.
1197
1658
  *
1198
- * @function #destroyObjectProperties
1199
- * @memberof Highcharts
1200
- * @param {Object} obj - The object to destroy properties on.
1201
- * @param {Object} [except] - Exception, do not destroy this property, only
1202
- * delete it.
1659
+ * @function Highcharts.destroyObjectProperties
1660
+ *
1661
+ * @param {*} obj
1662
+ * The object to destroy properties on.
1203
1663
  *
1664
+ * @param {*} [except]
1665
+ * Exception, do not destroy this property, only delete it.
1204
1666
  */
1205
1667
  H.destroyObjectProperties = function (obj, except) {
1206
1668
  H.objectEach(obj, function (val, n) {
@@ -1219,10 +1681,10 @@ H.destroyObjectProperties = function (obj, except) {
1219
1681
  /**
1220
1682
  * Discard a HTML element by moving it to the bin and delete.
1221
1683
  *
1222
- * @function #discardElement
1223
- * @memberof Highcharts
1224
- * @param {HTMLDOMElement} element - The HTML node to discard.
1684
+ * @function Highcharts.discardElement
1225
1685
  *
1686
+ * @param {Highcharts.HTMLDOMElement} element
1687
+ * The HTML node to discard.
1226
1688
  */
1227
1689
  H.discardElement = function (element) {
1228
1690
  var garbageBin = H.garbageBin;
@@ -1241,11 +1703,16 @@ H.discardElement = function (element) {
1241
1703
  /**
1242
1704
  * Fix JS round off float errors.
1243
1705
  *
1244
- * @function #correctFloat
1245
- * @memberof Highcharts
1246
- * @param {Number} num - A float number to fix.
1247
- * @param {Number} [prec=14] - The precision.
1248
- * @returns {Number} The corrected float number.
1706
+ * @function Highcharts.correctFloat
1707
+ *
1708
+ * @param {number} num
1709
+ * A float number to fix.
1710
+ *
1711
+ * @param {number} [prec=14]
1712
+ * The precision.
1713
+ *
1714
+ * @return {number}
1715
+ * The corrected float number.
1249
1716
  */
1250
1717
  H.correctFloat = function (num, prec) {
1251
1718
  return parseFloat(
@@ -1257,13 +1724,17 @@ H.correctFloat = function (num, prec) {
1257
1724
  * Set the global animation to either a given value, or fall back to the given
1258
1725
  * chart's animation option.
1259
1726
  *
1260
- * @function #setAnimation
1261
- * @memberof Highcharts
1262
- * @param {Boolean|Animation} animation - The animation object.
1263
- * @param {Object} chart - The chart instance.
1727
+ * @function Highcharts.setAnimation
1728
+ *
1729
+ * @param {boolean|Highcharts.AnimationOptionsObject} animation
1730
+ * The animation object.
1731
+ *
1732
+ * @param {Highcharts.Chart} chart
1733
+ * The chart instance.
1264
1734
  *
1265
- * @todo This function always relates to a chart, and sets a property on the
1266
- * renderer, so it should be moved to the SVGRenderer.
1735
+ * @todo
1736
+ * This function always relates to a chart, and sets a property on the renderer,
1737
+ * so it should be moved to the SVGRenderer.
1267
1738
  */
1268
1739
  H.setAnimation = function (animation, chart) {
1269
1740
  chart.renderer.globalAnimation = H.pick(
@@ -1277,12 +1748,14 @@ H.setAnimation = function (animation, chart) {
1277
1748
  * Get the animation in object form, where a disabled animation is always
1278
1749
  * returned as `{ duration: 0 }`.
1279
1750
  *
1280
- * @function #animObject
1281
- * @memberof Highcharts
1282
- * @param {Boolean|AnimationOptions} animation - An animation setting. Can be an
1283
- * object with duration, complete and easing properties, or a boolean to
1284
- * enable or disable.
1285
- * @returns {AnimationOptions} An object with at least a duration property.
1751
+ * @function Highcharts.animObject
1752
+ *
1753
+ * @param {boolean|Highcharts.AnimationOptionsObject} animation
1754
+ * An animation setting. Can be an object with duration, complete and
1755
+ * easing properties, or a boolean to enable or disable.
1756
+ *
1757
+ * @return {Highcharts.AnimationOptionsObject}
1758
+ * An object with at least a duration property.
1286
1759
  */
1287
1760
  H.animObject = function (animation) {
1288
1761
  return H.isObject(animation) ?
@@ -1292,6 +1765,8 @@ H.animObject = function (animation) {
1292
1765
 
1293
1766
  /**
1294
1767
  * The time unit lookup
1768
+ *
1769
+ * @ignore
1295
1770
  */
1296
1771
  H.timeUnits = {
1297
1772
  millisecond: 1,
@@ -1307,18 +1782,28 @@ H.timeUnits = {
1307
1782
  /**
1308
1783
  * Format a number and return a string based on input settings.
1309
1784
  *
1310
- * @function #numberFormat
1311
- * @memberof Highcharts
1312
- * @param {Number} number - The input number to format.
1313
- * @param {Number} decimals - The amount of decimals. A value of -1 preserves
1314
- * the amount in the input number.
1315
- * @param {String} [decimalPoint] - The decimal point, defaults to the one given
1316
- * in the lang options, or a dot.
1317
- * @param {String} [thousandsSep] - The thousands separator, defaults to the one
1318
- * given in the lang options, or a space character.
1319
- * @returns {String} The formatted number.
1785
+ * @sample highcharts/members/highcharts-numberformat/
1786
+ * Custom number format
1787
+ *
1788
+ * @function Highcharts.numberFormat
1789
+ *
1790
+ * @param {number} number
1791
+ * The input number to format.
1792
+ *
1793
+ * @param {number} decimals
1794
+ * The amount of decimals. A value of -1 preserves the amount in the
1795
+ * input number.
1320
1796
  *
1321
- * @sample highcharts/members/highcharts-numberformat/ Custom number format
1797
+ * @param {string} [decimalPoint]
1798
+ * The decimal point, defaults to the one given in the lang options, or
1799
+ * a dot.
1800
+ *
1801
+ * @param {string} [thousandsSep]
1802
+ * The thousands separator, defaults to the one given in the lang
1803
+ * options, or a space character.
1804
+ *
1805
+ * @return {string}
1806
+ * The formatted number.
1322
1807
  */
1323
1808
  H.numberFormat = function (number, decimals, decimalPoint, thousandsSep) {
1324
1809
  number = +number || 0;
@@ -1406,8 +1891,14 @@ H.numberFormat = function (number, decimals, decimalPoint, thousandsSep) {
1406
1891
 
1407
1892
  /**
1408
1893
  * Easing definition
1409
- * @ignore
1410
- * @param {Number} pos Current position, ranging from 0 to 1.
1894
+ *
1895
+ * @private
1896
+ * @function Math.easeInOutSine
1897
+ *
1898
+ * @param {number} pos
1899
+ * Current position, ranging from 0 to 1.
1900
+ *
1901
+ * @return {number}
1411
1902
  */
1412
1903
  Math.easeInOutSine = function (pos) {
1413
1904
  return -0.5 * (Math.cos(Math.PI * pos) - 1);
@@ -1418,12 +1909,19 @@ Math.easeInOutSine = function (pos) {
1418
1909
  * properties. For width and height, the dimension of the inner box (excluding
1419
1910
  * padding) is returned. Used for fitting the chart within the container.
1420
1911
  *
1421
- * @function #getStyle
1422
- * @memberof Highcharts
1423
- * @param {HTMLDOMElement} el - A HTML element.
1424
- * @param {String} prop - The property name.
1425
- * @param {Boolean} [toInt=true] - Parse to integer.
1426
- * @returns {Number} - The numeric value.
1912
+ * @function Highcharts.getStyle
1913
+ *
1914
+ * @param {Highcharts.HTMLDOMElement} el
1915
+ * An HTML element.
1916
+ *
1917
+ * @param {string} prop
1918
+ * The property name.
1919
+ *
1920
+ * @param {boolean} [toInt=true]
1921
+ * Parse to integer.
1922
+ *
1923
+ * @return {number}
1924
+ * The numeric value.
1427
1925
  */
1428
1926
  H.getStyle = function (el, prop, toInt) {
1429
1927
 
@@ -1465,12 +1963,19 @@ H.getStyle = function (el, prop, toInt) {
1465
1963
  /**
1466
1964
  * Search for an item in an array.
1467
1965
  *
1468
- * @function #inArray
1469
- * @memberof Highcharts
1470
- * @param {*} item - The item to search for.
1471
- * @param {arr} arr - The array or node collection to search in.
1472
- * @param {fromIndex} [fromIndex=0] - The index to start searching from.
1473
- * @returns {Number} - The index within the array, or -1 if not found.
1966
+ * @function Highcharts.inArray
1967
+ *
1968
+ * @param {*} item
1969
+ * The item to search for.
1970
+ *
1971
+ * @param {Array} arr
1972
+ * The array or node collection to search in.
1973
+ *
1974
+ * @param {number} [fromIndex=0]
1975
+ * The index to start searching from.
1976
+ *
1977
+ * @return {number}
1978
+ * The index within the array, or -1 if not found.
1474
1979
  */
1475
1980
  H.inArray = function (item, arr, fromIndex) {
1476
1981
  return (
@@ -1482,13 +1987,17 @@ H.inArray = function (item, arr, fromIndex) {
1482
1987
  /**
1483
1988
  * Filter an array by a callback.
1484
1989
  *
1485
- * @function #grep
1486
- * @memberof Highcharts
1487
- * @param {Array} arr - The array to filter.
1488
- * @param {Function} callback - The callback function. The function receives the
1489
- * item as the first argument. Return `true` if the item is to be
1490
- * preserved.
1491
- * @returns {Array} - A new, filtered array.
1990
+ * @function Highcharts.grep
1991
+ *
1992
+ * @param {Array} arr
1993
+ * The array to filter.
1994
+ *
1995
+ * @param {Function} callback
1996
+ * The callback function. The function receives the item as the first
1997
+ * argument. Return `true` if the item is to be preserved.
1998
+ *
1999
+ * @return {Array}
2000
+ * A new, filtered array.
1492
2001
  */
1493
2002
  H.grep = function (arr, callback) {
1494
2003
  return (H.filterPolyfill || Array.prototype.filter).call(arr, callback);
@@ -1498,13 +2007,17 @@ H.grep = function (arr, callback) {
1498
2007
  * Return the value of the first element in the array that satisfies the
1499
2008
  * provided testing function.
1500
2009
  *
1501
- * @function #find
1502
- * @memberof Highcharts
1503
- * @param {Array} arr - The array to test.
1504
- * @param {Function} callback - The callback function. The function receives the
1505
- * item as the first argument. Return `true` if this item satisfies the
1506
- * condition.
1507
- * @returns {Mixed} - The value of the element.
2010
+ * @function Highcharts.find
2011
+ *
2012
+ * @param {Array} arr
2013
+ * The array to test.
2014
+ *
2015
+ * @param {Function} callback
2016
+ * The callback function. The function receives the item as the first
2017
+ * argument. Return `true` if this item satisfies the condition.
2018
+ *
2019
+ * @return {*}
2020
+ * The value of the element.
1508
2021
  */
1509
2022
  H.find = Array.prototype.find ?
1510
2023
  function (arr, callback) {
@@ -1526,13 +2039,19 @@ H.find = Array.prototype.find ?
1526
2039
  * Test whether at least one element in the array passes the test implemented by
1527
2040
  * the provided function.
1528
2041
  *
1529
- * @function #some
1530
- * @memberof Highcharts
1531
- * @param {Array} arr The array to test
1532
- * @param {Function} fn The function to run on each item. Return truty to pass
1533
- * the test. Receives arguments `currentValue`, `index`
1534
- * and `array`.
1535
- * @param {Object} ctx The context.
2042
+ * @function Highcharts.some
2043
+ *
2044
+ * @param {Array} arr
2045
+ * The array to test
2046
+ *
2047
+ * @param {Function} fn
2048
+ * The function to run on each item. Return truty to pass the test.
2049
+ * Receives arguments `currentValue`, `index` and `array`.
2050
+ *
2051
+ * @param {*} ctx
2052
+ * The context.
2053
+ *
2054
+ * @return {boolean}
1536
2055
  */
1537
2056
  H.some = function (arr, fn, ctx) {
1538
2057
  return (H.somePolyfill || Array.prototype.some).call(arr, fn, ctx);
@@ -1541,12 +2060,16 @@ H.some = function (arr, fn, ctx) {
1541
2060
  /**
1542
2061
  * Map an array by a callback.
1543
2062
  *
1544
- * @function #map
1545
- * @memberof Highcharts
1546
- * @param {Array} arr - The array to map.
1547
- * @param {Function} fn - The callback function. Return the new value for the
1548
- * new array.
1549
- * @returns {Array} - A new array item with modified items.
2063
+ * @function Highcharts.map
2064
+ *
2065
+ * @param {Array} arr
2066
+ * The array to map.
2067
+ *
2068
+ * @param {Function} fn
2069
+ * The callback function. Return the new value for the new array.
2070
+ *
2071
+ * @return {Array}
2072
+ * A new array item with modified items.
1550
2073
  */
1551
2074
  H.map = function (arr, fn) {
1552
2075
  var results = [],
@@ -1563,10 +2086,13 @@ H.map = function (arr, fn) {
1563
2086
  /**
1564
2087
  * Returns an array of a given object's own properties.
1565
2088
  *
1566
- * @function #keys
1567
- * @memberof Highcharts
1568
- * @param {Object} obj - The object of which the properties are to be returned.
1569
- * @returns {Array} - An array of strings that represents all the properties.
2089
+ * @function Highcharts.keys
2090
+ *
2091
+ * @param {*} obj
2092
+ * The object of which the properties are to be returned.
2093
+ *
2094
+ * @return {Array<string>}
2095
+ * An array of strings that represents all the properties.
1570
2096
  */
1571
2097
  H.keys = function (obj) {
1572
2098
  return (H.keysPolyfill || Object.keys).call(undefined, obj);
@@ -1575,14 +2101,21 @@ H.keys = function (obj) {
1575
2101
  /**
1576
2102
  * Reduce an array to a single value.
1577
2103
  *
1578
- * @function #reduce
1579
- * @memberof Highcharts
1580
- * @param {Array} arr - The array to reduce.
1581
- * @param {Function} fn - The callback function. Return the reduced value.
1582
- * Receives 4 arguments: Accumulated/reduced value, current value, current
1583
- * array index, and the array.
1584
- * @param {Mixed} initialValue - The initial value of the accumulator.
1585
- * @returns {Mixed} - The reduced value.
2104
+ * @function Highcharts.reduce
2105
+ *
2106
+ * @param {Array<*>} arr
2107
+ * The array to reduce.
2108
+ *
2109
+ * @param {Function} fn
2110
+ * The callback function. Return the reduced value. Receives 4
2111
+ * arguments: Accumulated/reduced value, current value, current array
2112
+ * index, and the array.
2113
+ *
2114
+ * @param {*} initialValue
2115
+ * The initial value of the accumulator.
2116
+ *
2117
+ * @return {*}
2118
+ * The reduced value.
1586
2119
  */
1587
2120
  H.reduce = function (arr, func, initialValue) {
1588
2121
  var fn = (H.reducePolyfill || Array.prototype.reduce);
@@ -1595,11 +2128,14 @@ H.reduce = function (arr, func, initialValue) {
1595
2128
  /**
1596
2129
  * Get the element's offset position, corrected for `overflow: auto`.
1597
2130
  *
1598
- * @function #offset
1599
- * @memberof Highcharts
1600
- * @param {HTMLDOMElement} el - The HTML element.
1601
- * @returns {Object} An object containing `left` and `top` properties for the
1602
- * position in the page.
2131
+ * @function Highcharts.offset
2132
+ *
2133
+ * @param {Highcharts.HTMLDOMElement} el
2134
+ * The HTML element.
2135
+ *
2136
+ * @return {Highcharts.OffsetObject}
2137
+ * An object containing `left` and `top` properties for the position in
2138
+ * the page.
1603
2139
  */
1604
2140
  H.offset = function (el) {
1605
2141
  var docElem = doc.documentElement,
@@ -1618,18 +2154,21 @@ H.offset = function (el) {
1618
2154
  /**
1619
2155
  * Stop running animation.
1620
2156
  *
1621
- * @todo A possible extension to this would be to stop a single property, when
2157
+ * @function Highcharts.stop
2158
+ *
2159
+ * @param {Highcharts.SVGElement} el
2160
+ * The SVGElement to stop animation on.
2161
+ *
2162
+ * @param {string} [prop]
2163
+ * The property to stop animating. If given, the stop method will stop a
2164
+ * single property from animating, while others continue.
2165
+ *
2166
+ * @todo
2167
+ * A possible extension to this would be to stop a single property, when
1622
2168
  * we want to continue animating others. Then assign the prop to the timer
1623
2169
  * in the Fx.run method, and check for the prop here. This would be an
1624
2170
  * improvement in all cases where we stop the animation from .attr. Instead of
1625
2171
  * stopping everything, we can just stop the actual attributes we're setting.
1626
- *
1627
- * @function #stop
1628
- * @memberof Highcharts
1629
- * @param {SVGElement} el - The SVGElement to stop animation on.
1630
- * @param {string} [prop] - The property to stop animating. If given, the stop
1631
- * method will stop a single property from animating, while others continue.
1632
- *
1633
2172
  */
1634
2173
  H.stop = function (el, prop) {
1635
2174
 
@@ -1646,14 +2185,19 @@ H.stop = function (el, prop) {
1646
2185
  /**
1647
2186
  * Iterate over an array.
1648
2187
  *
1649
- * @function #each
1650
- * @memberof Highcharts
1651
- * @param {Array} arr - The array to iterate over.
1652
- * @param {Function} fn - The iterator callback. It passes three arguments:
1653
- * * item - The array item.
1654
- * * index - The item's index in the array.
1655
- * * arr - The array that each is being applied to.
1656
- * @param {Object} [ctx] The context.
2188
+ * @function Highcharts.each<T>
2189
+ *
2190
+ * @param {Array<T>} arr
2191
+ * The array to iterate over.
2192
+ *
2193
+ * @param {Highcharts.EachCallbackFunction<T>} fn
2194
+ * The iterator callback. It passes three arguments:
2195
+ * * item - The array item.
2196
+ * * index - The item's index in the array.
2197
+ * * arr - The array that each is being applied to.
2198
+ *
2199
+ * @param {*} [ctx]
2200
+ * The context.
1657
2201
  */
1658
2202
  H.each = function (arr, fn, ctx) { // modern browsers
1659
2203
  return (H.forEachPolyfill || Array.prototype.forEach).call(arr, fn, ctx);
@@ -1662,14 +2206,19 @@ H.each = function (arr, fn, ctx) { // modern browsers
1662
2206
  /**
1663
2207
  * Iterate over object key pairs in an object.
1664
2208
  *
1665
- * @function #objectEach
1666
- * @memberof Highcharts
1667
- * @param {Object} obj - The object to iterate over.
1668
- * @param {Function} fn - The iterator callback. It passes three arguments:
1669
- * * value - The property value.
1670
- * * key - The property key.
1671
- * * obj - The object that objectEach is being applied to.
1672
- * @param {Object} ctx The context
2209
+ * @function Highcharts.objectEach
2210
+ *
2211
+ * @param {*} obj
2212
+ * The object to iterate over.
2213
+ *
2214
+ * @param {Highcharts.ObjectEachCallbackFunction} fn
2215
+ * The iterator callback. It passes three arguments:
2216
+ * * value - The property value.
2217
+ * * key - The property key.
2218
+ * * obj - The object that objectEach is being applied to.
2219
+ *
2220
+ * @param {*} [ctx]
2221
+ * The context.
1673
2222
  */
1674
2223
  H.objectEach = function (obj, fn, ctx) {
1675
2224
  for (var key in obj) {
@@ -1682,20 +2231,28 @@ H.objectEach = function (obj, fn, ctx) {
1682
2231
  /**
1683
2232
  * Add an event listener.
1684
2233
  *
1685
- * @function #addEvent
1686
- * @memberof Highcharts
1687
- * @param {Object} el - The element or object to add a listener to. It can be a
2234
+ * @function Highcharts.addEvent
2235
+ *
2236
+ * @param {*} el
2237
+ * The element or object to add a listener to. It can be a
1688
2238
  * {@link HTMLDOMElement}, an {@link SVGElement} or any other object.
1689
- * @param {String} type - The event type.
1690
- * @param {Function} fn - The function callback to execute when the event is
1691
- * fired.
1692
- * @param {Object} options
2239
+ *
2240
+ * @param {string} type
2241
+ * The event type.
2242
+ *
2243
+ * @param {Highcharts.EventCallbackFunction} fn
2244
+ * The function callback to execute when the event is fired.
2245
+ *
2246
+ * @param {Highcharts.Dictionary<*>} options
1693
2247
  * Event options
1694
- * @param {Number} options.order
2248
+ *
2249
+ * @param {number} options.order
1695
2250
  * The order the event handler should be called. This opens for having
1696
2251
  * one handler be called before another, independent of in which order
1697
2252
  * they were added.
1698
- * @returns {Function} A callback function to remove the added event.
2253
+ *
2254
+ * @return {Function}
2255
+ * A callback function to remove the added event.
1699
2256
  */
1700
2257
  H.addEvent = function (el, type, fn, options) {
1701
2258
 
@@ -1745,14 +2302,18 @@ H.addEvent = function (el, type, fn, options) {
1745
2302
  /**
1746
2303
  * Remove an event that was added with {@link Highcharts#addEvent}.
1747
2304
  *
1748
- * @function #removeEvent
1749
- * @memberof Highcharts
1750
- * @param {Object} el - The element to remove events on.
1751
- * @param {String} [type] - The type of events to remove. If undefined, all
1752
- * events are removed from the element.
1753
- * @param {Function} [fn] - The specific callback to remove. If undefined, all
1754
- * events that match the element and optionally the type are removed.
2305
+ * @function Highcharts.removeEvent
2306
+ *
2307
+ * @param {*} el
2308
+ * The element to remove events on.
1755
2309
  *
2310
+ * @param {string} [type]
2311
+ * The type of events to remove. If undefined, all events are removed
2312
+ * from the element.
2313
+ *
2314
+ * @param {Function} [fn]
2315
+ * The specific callback to remove. If undefined, all events that match
2316
+ * the element and optionally the type are removed.
1756
2317
  */
1757
2318
  H.removeEvent = function (el, type, fn) {
1758
2319
 
@@ -1821,16 +2382,22 @@ H.removeEvent = function (el, type, fn) {
1821
2382
  /**
1822
2383
  * Fire an event that was registered with {@link Highcharts#addEvent}.
1823
2384
  *
1824
- * @function #fireEvent
1825
- * @memberof Highcharts
1826
- * @param {Object} el - The object to fire the event on. It can be a
1827
- * {@link HTMLDOMElement}, an {@link SVGElement} or any other object.
1828
- * @param {String} type - The type of event.
1829
- * @param {Object} [eventArguments] - Custom event arguments that are passed on
1830
- * as an argument to the event handler.
1831
- * @param {Function} [defaultFunction] - The default function to execute if the
1832
- * other listeners haven't returned false.
2385
+ * @function Highcharts.fireEvent
2386
+ *
2387
+ * @param {*} el
2388
+ * The object to fire the event on. It can be a {@link HTMLDOMElement},
2389
+ * an {@link SVGElement} or any other object.
2390
+ *
2391
+ * @param {string} type
2392
+ * The type of event.
1833
2393
  *
2394
+ * @param {Highcharts.Dictionary<*>} [eventArguments]
2395
+ * Custom event arguments that are passed on as an argument to the event
2396
+ * handler.
2397
+ *
2398
+ * @param {Function} [defaultFunction]
2399
+ * The default function to execute if the other listeners haven't
2400
+ * returned false.
1834
2401
  */
1835
2402
  H.fireEvent = function (el, type, eventArguments, defaultFunction) {
1836
2403
  var e,
@@ -1900,32 +2467,21 @@ H.fireEvent = function (el, type, eventArguments, defaultFunction) {
1900
2467
  }
1901
2468
  };
1902
2469
 
1903
- /**
1904
- * An animation configuration. Animation configurations can also be defined as
1905
- * booleans, where `false` turns off animation and `true` defaults to a duration
1906
- * of 500ms.
1907
- * @typedef {Object} AnimationOptions
1908
- * @property {Number} duration - The animation duration in milliseconds.
1909
- * @property {String} [easing] - The name of an easing function as defined on
1910
- * the `Math` object.
1911
- * @property {Function} [complete] - A callback function to exectute when the
1912
- * animation finishes.
1913
- * @property {Function} [step] - A callback function to execute on each step of
1914
- * each attribute or CSS property that's being animated. The first argument
1915
- * contains information about the animation and progress.
1916
- */
1917
-
1918
-
1919
2470
  /**
1920
2471
  * The global animate method, which uses Fx to create individual animators.
1921
2472
  *
1922
- * @function #animate
1923
- * @memberof Highcharts
1924
- * @param {HTMLDOMElement|SVGElement} el - The element to animate.
1925
- * @param {Object} params - An object containing key-value pairs of the
1926
- * properties to animate. Supports numeric as pixel-based CSS properties
1927
- * for HTML objects and attributes for SVGElements.
1928
- * @param {AnimationOptions} [opt] - Animation options.
2473
+ * @function Highcharts.animate
2474
+ *
2475
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
2476
+ * The element to animate.
2477
+ *
2478
+ * @param {Highcharts.HTMLAttributes|Highcharts.SVGAttributes} params
2479
+ * An object containing key-value pairs of the properties to animate.
2480
+ * Supports numeric as pixel-based CSS properties for HTML objects and
2481
+ * attributes for SVGElements.
2482
+ *
2483
+ * @param {Highcharts.AnimationOptionsObject} [opt]
2484
+ * Animation options.
1929
2485
  */
1930
2486
  H.animate = function (el, params, opt) {
1931
2487
  var start,
@@ -1988,20 +2544,30 @@ H.animate = function (el, params, opt) {
1988
2544
  /**
1989
2545
  * Factory to create new series prototypes.
1990
2546
  *
1991
- * @function #seriesType
1992
- * @memberof Highcharts
1993
- *
1994
- * @param {String} type - The series type name.
1995
- * @param {String} parent - The parent series type name. Use `line` to inherit
1996
- * from the basic {@link Series} object.
1997
- * @param {Object} options - The additional default options that is merged with
1998
- * the parent's options.
1999
- * @param {Object} props - The properties (functions and primitives) to set on
2000
- * the new prototype.
2001
- * @param {Object} [pointProps] - Members for a series-specific extension of the
2002
- * {@link Point} prototype if needed.
2003
- * @returns {*} - The newly created prototype as extended from {@link Series}
2004
- * or its derivatives.
2547
+ * @function Highcharts.seriesType
2548
+ *
2549
+ * @param {string} type
2550
+ * The series type name.
2551
+ *
2552
+ * @param {string} parent
2553
+ * The parent series type name. Use `line` to inherit from the basic
2554
+ * {@link Series} object.
2555
+ *
2556
+ * @param {*} options
2557
+ * The additional default options that is merged with the parent's
2558
+ * options.
2559
+ *
2560
+ * @param {*} props
2561
+ * The properties (functions and primitives) to set on the new
2562
+ * prototype.
2563
+ *
2564
+ * @param {*} [pointProps]
2565
+ * Members for a series-specific extension of the {@link Point}
2566
+ * prototype if needed.
2567
+ *
2568
+ * @return {Highcharts.Series}
2569
+ * The newly created prototype as extended from {@link Series} or its
2570
+ * derivatives.
2005
2571
  */
2006
2572
  // docs: add to API + extending Highcharts
2007
2573
  H.seriesType = function (type, parent, options, props, pointProps) {
@@ -2029,14 +2595,17 @@ H.seriesType = function (type, parent, options, props, pointProps) {
2029
2595
  };
2030
2596
 
2031
2597
  /**
2032
- * Get a unique key for using in internal element id's and pointers. The key
2033
- * is composed of a random hash specific to this Highcharts instance, and a
2598
+ * Get a unique key for using in internal element id's and pointers. The key is
2599
+ * composed of a random hash specific to this Highcharts instance, and a
2034
2600
  * counter.
2035
- * @function #uniqueKey
2036
- * @memberof Highcharts
2037
- * @return {string} The key.
2601
+ *
2038
2602
  * @example
2039
2603
  * var id = H.uniqueKey(); // => 'highcharts-x45f6hp-0'
2604
+ *
2605
+ * @function Highcharts.uniqueKey
2606
+ *
2607
+ * @return {string}
2608
+ * A unique key.
2040
2609
  */
2041
2610
  H.uniqueKey = (function () {
2042
2611
 
@@ -2048,10 +2617,36 @@ H.uniqueKey = (function () {
2048
2617
  };
2049
2618
  }());
2050
2619
 
2051
- /**
2052
- * Register Highcharts as a plugin in jQuery
2053
- */
2620
+ // Register Highcharts as a plugin in jQuery
2054
2621
  if (win.jQuery) {
2622
+
2623
+ /**
2624
+ * Highcharts-extended JQuery.
2625
+ *
2626
+ * @external JQuery
2627
+ */
2628
+
2629
+ /**
2630
+ * Factory function to create a chart in the current JQuery selector
2631
+ * element.
2632
+ *
2633
+ * @function external:JQuery#highcharts
2634
+ *
2635
+ * @param {"Chart"|"Map"|"StockChart"|string} [className]
2636
+ * Name of the factory class in the Highcharts namespace.
2637
+ *
2638
+ * @param {Highcharts.Options} options
2639
+ * The chart options structure.
2640
+ *
2641
+ * @param {Highcharts.ChartCallbackFunction} [callback]
2642
+ * Function to run when the chart has loaded and and all external
2643
+ * images are loaded. Defining a [chart.event.load
2644
+ * ](https://api.highcharts.com/highcharts/chart.events.load) handler
2645
+ * is equivalent.
2646
+ *
2647
+ * @return {JQuery}
2648
+ * The current JQuery selector.
2649
+ */
2055
2650
  win.jQuery.fn.highcharts = function () {
2056
2651
  var args = [].slice.call(arguments);
2057
2652