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,5 +1,5 @@
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
  */
@@ -41,20 +41,201 @@ extend(defaultOptions, {
41
41
  * @optionparent rangeSelector
42
42
  */
43
43
  rangeSelector: {
44
- // allButtonsEnabled: false,
45
- // enabled: true,
46
- // buttons: {Object}
47
- // buttonSpacing: 0,
44
+
45
+ /**
46
+ * Whether to enable all buttons from the start. By default buttons are
47
+ * only enabled if the corresponding time range exists on the X axis,
48
+ * but enabling all buttons allows for dynamically loading different
49
+ * time ranges.
50
+ *
51
+ * @sample {highstock} stock/rangeselector/allbuttonsenabled-true/
52
+ * All buttons enabled
53
+ *
54
+ * @type {boolean}
55
+ * @default false
56
+ * @since 2.0.3
57
+ * @product highstock
58
+ * @apioption rangeSelector.allButtonsEnabled
59
+ */
60
+
61
+ /**
62
+ * An array of configuration objects for the buttons.
63
+ *
64
+ * Defaults to
65
+ *
66
+ * <pre>buttons: [{
67
+ * type: 'month',
68
+ * count: 1,
69
+ * text: '1m'
70
+ * }, {
71
+ * type: 'month',
72
+ * count: 3,
73
+ * text: '3m'
74
+ * }, {
75
+ * type: 'month',
76
+ * count: 6,
77
+ * text: '6m'
78
+ * }, {
79
+ * type: 'ytd',
80
+ * text: 'YTD'
81
+ * }, {
82
+ * type: 'year',
83
+ * count: 1,
84
+ * text: '1y'
85
+ * }, {
86
+ * type: 'all',
87
+ * text: 'All'
88
+ * }]</pre>
89
+ *
90
+ * @sample {highstock} stock/rangeselector/datagrouping/
91
+ * Data grouping by buttons
92
+ *
93
+ * @type {Array<*>}
94
+ * @product highstock
95
+ * @apioption rangeSelector.buttons
96
+ */
97
+
98
+ /**
99
+ * How many units of the defined type the button should span. If `type`
100
+ * is "month" and `count` is 3, the button spans three months.
101
+ *
102
+ * @type {number}
103
+ * @default 1
104
+ * @product highstock
105
+ * @apioption rangeSelector.buttons.count
106
+ */
107
+
108
+ /**
109
+ * Fires when clicking on the rangeSelector button. One parameter,
110
+ * event, is passed to the function, containing common event
111
+ * information.
112
+ *
113
+ * <pre>
114
+ * click: function(e) {
115
+ * console.log(this);
116
+ * }
117
+ * </pre>
118
+ *
119
+ * Return false to stop default button's click action.
120
+ *
121
+ * @sample {highstock} stock/rangeselector/button-click/
122
+ * Click event on the button
123
+ *
124
+ * @type {Function}
125
+ * @product highstock
126
+ * @apioption rangeSelector.buttons.events.click
127
+ */
128
+
129
+ /**
130
+ * Additional range (in milliseconds) added to the end of the calculated
131
+ * time span.
132
+ *
133
+ * @sample {highstock} stock/rangeselector/min-max-offsets/
134
+ * Button offsets
135
+ *
136
+ * @type {number}
137
+ * @default 0
138
+ * @since 6.0.0
139
+ * @product highstock
140
+ * @apioption rangeSelector.buttons.offsetMax
141
+ */
142
+
143
+ /**
144
+ * Additional range (in milliseconds) added to the start of the
145
+ * calculated time span.
146
+ *
147
+ * @sample {highstock} stock/rangeselector/min-max-offsets/
148
+ * Button offsets
149
+ *
150
+ * @type {number}
151
+ * @default 0
152
+ * @since 6.0.0
153
+ * @product highstock
154
+ * @apioption rangeSelector.buttons.offsetMin
155
+ */
156
+
157
+ /**
158
+ * When buttons apply dataGrouping on a series, by default zooming
159
+ * in/out will deselect buttons and unset dataGrouping. Enable this
160
+ * option to keep buttons selected when extremes change.
161
+ *
162
+ * @sample {highstock} stock/rangeselector/preserve-datagrouping/
163
+ * Different preserveDataGrouping settings
164
+ *
165
+ * @type {boolean}
166
+ * @since 6.1.2
167
+ * @default false
168
+ * @product highstock
169
+ * @apioption rangeSelector.buttons.preserveDataGrouping
170
+ */
171
+
172
+ /**
173
+ * A custom data grouping object for each button.
174
+ *
175
+ * @see [series.dataGrouping](#plotOptions.series.dataGrouping)
176
+ *
177
+ * @sample {highstock} stock/rangeselector/datagrouping/
178
+ * Data grouping by range selector buttons
179
+ *
180
+ * @type {*}
181
+ * @extends plotOptions.series.dataGrouping
182
+ * @product highstock
183
+ * @apioption rangeSelector.buttons.dataGrouping
184
+ */
185
+
186
+ /**
187
+ * The text for the button itself.
188
+ *
189
+ * @type {string}
190
+ * @product highstock
191
+ * @apioption rangeSelector.buttons.text
192
+ */
193
+
194
+ /**
195
+ * Defined the time span for the button. Can be one of `millisecond`,
196
+ * `second`, `minute`, `hour`, `day`, `week`, `month`, `ytd`, `all`.
197
+ *
198
+ * @type {string}
199
+ * @product highstock
200
+ * @validvalue ["millisecond", "second", "minute", "day", "week", "month", "ytd", "all"]
201
+ * @apioption rangeSelector.buttons.type
202
+ */
203
+
204
+ /**
205
+ * The space in pixels between the buttons in the range selector.
206
+ *
207
+ * @type {number}
208
+ * @default 0
209
+ * @product highstock
210
+ * @apioption rangeSelector.buttonSpacing
211
+ */
212
+
213
+ /**
214
+ * Enable or disable the range selector.
215
+ *
216
+ * @sample {highstock} stock/rangeselector/enabled/
217
+ * Disable the range selector
218
+ *
219
+ * @type {boolean}
220
+ * @default true
221
+ * @product highstock
222
+ * @apioption rangeSelector.enabled
223
+ */
48
224
 
49
225
  /**
50
226
  * The vertical alignment of the rangeselector box. Allowed properties
51
227
  * are `top`, `middle`, `bottom`.
52
228
  *
53
- * @since 6.0.0
54
- * @validvalue ["top", "middle", "bottom"]
55
- * @sample {highstock} stock/rangeselector/vertical-align-middle/ Middle
229
+ * @sample {highstock} stock/rangeselector/vertical-align-middle/
230
+ * Middle
231
+ * @sample {highstock} stock/rangeselector/vertical-align-bottom/
232
+ * Bottom
56
233
  *
57
- * @sample {highstock} stock/rangeselector/vertical-align-bottom/ Bottom
234
+ * @type {string}
235
+ * @default top
236
+ * @since 6.0.0
237
+ * @validvalue ["top", "middle", "bottom"]
238
+ * @apioption rangeSelector.verticalAlign
58
239
  */
59
240
  verticalAlign: 'top',
60
241
 
@@ -73,13 +254,15 @@ extend(defaultOptions, {
73
254
  * `.highcharts-range-selector-buttons .highcharts-button` rule with its
74
255
  * different states.
75
256
  *
76
- * @type {Object}
77
257
  * @sample {highstock} stock/rangeselector/styling/
78
258
  * Styling the buttons and inputs
79
- * @product highstock
259
+ *
260
+ * @type {Highcharts.CSSObject}
261
+ * @product highstock
262
+ * @apioption rangeSelector.buttonTheme
80
263
  */
81
264
  buttonTheme: {
82
- 'stroke-width': 0,
265
+
83
266
  width: 28,
84
267
  height: 18,
85
268
  padding: 2,
@@ -93,8 +276,12 @@ extend(defaultOptions, {
93
276
  * @sample {highstock} stock/rangeselector/floating/
94
277
  * Placing the range selector between the plot area and the
95
278
  * navigator
96
- * @since 6.0.0
97
- * @product highstock
279
+ *
280
+ * @type {boolean}
281
+ * @default false
282
+ * @since 6.0.0
283
+ * @product highstock
284
+ * @apioption rangeSelector.floating
98
285
  */
99
286
  floating: false,
100
287
 
@@ -102,8 +289,11 @@ extend(defaultOptions, {
102
289
  * The x offset of the range selector relative to its horizontal
103
290
  * alignment within `chart.spacingLeft` and `chart.spacingRight`.
104
291
  *
105
- * @since 6.0.0
106
- * @product highstock
292
+ * @type {number}
293
+ * @default 0
294
+ * @since 6.0.0
295
+ * @product highstock
296
+ * @apioption rangeSelector.x
107
297
  */
108
298
  x: 0,
109
299
 
@@ -111,8 +301,11 @@ extend(defaultOptions, {
111
301
  * The y offset of the range selector relative to its horizontal
112
302
  * alignment within `chart.spacingLeft` and `chart.spacingRight`.
113
303
  *
114
- * @since 6.0.0
115
- * @product highstock
304
+ * @type {number}
305
+ * @default 0
306
+ * @since 6.0.0
307
+ * @product highstock
308
+ * @apioption rangeSelector.y
116
309
  */
117
310
  y: 0,
118
311
 
@@ -120,67 +313,216 @@ extend(defaultOptions, {
120
313
  * Deprecated. The height of the range selector. Currently it is
121
314
  * calculated dynamically.
122
315
  *
123
- * @type {Number}
124
- * @default undefined
125
- * @since 2.1.9
126
- * @product highstock
127
- * @deprecated true
316
+ * @deprecated
317
+ * @type {number}
318
+ * @default undefined
319
+ * @since 2.1.9
320
+ * @product highstock
321
+ * @apioption rangeSelector.height
128
322
  */
129
323
  height: undefined, // reserved space for buttons and input
130
324
 
325
+ /**
326
+ * The border color of the date input boxes.
327
+ *
328
+ * @sample {highstock} stock/rangeselector/styling/
329
+ * Styling the buttons and inputs
330
+ *
331
+ * @type {Highcharts.ColorString}
332
+ * @default #cccccc
333
+ * @since 1.3.7
334
+ * @product highstock
335
+ * @apioption rangeSelector.inputBoxBorderColor
336
+ */
337
+
338
+ /**
339
+ * The pixel height of the date input boxes.
340
+ *
341
+ * @sample {highstock} stock/rangeselector/styling/
342
+ * Styling the buttons and inputs
343
+ *
344
+ * @type {number}
345
+ * @default 17
346
+ * @since 1.3.7
347
+ * @product highstock
348
+ * @apioption rangeSelector.inputBoxHeight
349
+ */
350
+
351
+ /**
352
+ * CSS for the container DIV holding the input boxes. Deprecated as
353
+ * of 1.2.5\. Use [inputPosition](#rangeSelector.inputPosition) instead.
354
+ *
355
+ * @sample {highstock} stock/rangeselector/styling/
356
+ * Styling the buttons and inputs
357
+ *
358
+ * @deprecated
359
+ * @type {Highcharts.CSSObject}
360
+ * @product highstock
361
+ * @apioption rangeSelector.inputBoxStyle
362
+ */
363
+
364
+ /**
365
+ * The pixel width of the date input boxes.
366
+ *
367
+ * @sample {highstock} stock/rangeselector/styling/
368
+ * Styling the buttons and inputs
369
+ *
370
+ * @type {number}
371
+ * @default 90
372
+ * @since 1.3.7
373
+ * @product highstock
374
+ * @apioption rangeSelector.inputBoxWidth
375
+ */
376
+
377
+ /**
378
+ * The date format in the input boxes when not selected for editing.
379
+ * Defaults to `%b %e, %Y`.
380
+ *
381
+ * @sample {highstock} stock/rangeselector/input-format/
382
+ * Milliseconds in the range selector
383
+ *
384
+ * @type {string}
385
+ * @default %b %e %Y,
386
+ * @product highstock
387
+ * @apioption rangeSelector.inputDateFormat
388
+ */
389
+
390
+ /**
391
+ * A custom callback function to parse values entered in the input boxes
392
+ * and return a valid JavaScript time as milliseconds since 1970.
393
+ *
394
+ * @sample {highstock} stock/rangeselector/input-format/
395
+ * Milliseconds in the range selector
396
+ *
397
+ * @type {Function}
398
+ * @since 1.3.3
399
+ * @product highstock
400
+ * @apioption rangeSelector.inputDateParser
401
+ */
402
+
403
+ /**
404
+ * The date format in the input boxes when they are selected for
405
+ * editing. This must be a format that is recognized by JavaScript
406
+ * Date.parse.
407
+ *
408
+ * @sample {highstock} stock/rangeselector/input-format/
409
+ * Milliseconds in the range selector
410
+ *
411
+ * @type {string}
412
+ * @default %Y-%m-%d
413
+ * @product highstock
414
+ * @apioption rangeSelector.inputEditDateFormat
415
+ */
416
+
417
+ /**
418
+ * Enable or disable the date input boxes. Defaults to enabled when
419
+ * there is enough space, disabled if not (typically mobile).
420
+ *
421
+ * @sample {highstock} stock/rangeselector/input-datepicker/
422
+ * Extending the input with a jQuery UI datepicker
423
+ *
424
+ * @type {boolean}
425
+ * @default true
426
+ * @product highstock
427
+ * @apioption rangeSelector.inputEnabled
428
+ */
429
+
131
430
  /**
132
431
  * Positioning for the input boxes. Allowed properties are `align`,
133
432
  * `x` and `y`.
134
433
  *
135
- * @type {Object}
136
- * @default { align: "right" }
137
- * @since 1.2.4
138
- * @product highstock
434
+ * @type {*}
435
+ * @since 1.2.4
436
+ * @product highstock
437
+ * @apioption rangeSelector.inputPosition
139
438
  */
140
439
  inputPosition: {
141
440
  /**
142
441
  * The alignment of the input box. Allowed properties are `left`,
143
442
  * `center`, `right`.
144
- * @validvalue ["left", "center", "right"]
145
- * @sample {highstock} stock/rangeselector/input-button-position/
146
- * Alignment
147
- * @since 6.0.0
443
+ *
444
+ * @sample {highstock} stock/rangeselector/input-button-position/
445
+ * Alignment
446
+ *
447
+ * @type {string}
448
+ * @default right
449
+ * @since 6.0.0
450
+ * @validvalue ["left", "center", "right"]
451
+ * @apioption rangeSelector.inputPosition.align
148
452
  */
149
453
  align: 'right',
454
+
455
+ /**
456
+ * X offset of the input row.
457
+ *
458
+ * @type {number}
459
+ * @default 0
460
+ * @apioption rangeSelector.inputPosition.x
461
+ */
150
462
  x: 0,
463
+
464
+ /**
465
+ * Y offset of the input row.
466
+ *
467
+ * @type {number}
468
+ * @default 0
469
+ * @apioption rangeSelector.inputPosition.y
470
+ */
151
471
  y: 0
152
472
  },
153
473
 
474
+ /**
475
+ * The index of the button to appear pre-selected.
476
+ *
477
+ * @type {number}
478
+ * @product highstock
479
+ * @apioption rangeSelector.selected
480
+ */
481
+
154
482
  /**
155
483
  * Positioning for the button row.
156
484
  *
157
- * @since 1.2.4
158
- * @product highstock
485
+ * @type {*}
486
+ * @since 1.2.4
487
+ * @product highstock
488
+ * @apioption rangeSelector.buttonPosition
159
489
  */
160
490
  buttonPosition: {
491
+
161
492
  /**
162
493
  * The alignment of the input box. Allowed properties are `left`,
163
494
  * `center`, `right`.
164
- *
165
- * @validvalue ["left", "center", "right"]
166
- * @sample {highstock} stock/rangeselector/input-button-position/
167
- * Alignment
168
- * @since 6.0.0
495
+ *
496
+ * @sample {highstock} stock/rangeselector/input-button-position/
497
+ * Alignment
498
+ *
499
+ * @type {string}
500
+ * @default left
501
+ * @since 6.0.0
502
+ * @validvalue ["left", "center", "right"]
503
+ * @apioption rangeSelector.buttonPosition.align
169
504
  */
170
505
  align: 'left',
506
+
171
507
  /**
172
508
  * X offset of the button row.
509
+ *
510
+ * @type {number}
511
+ * @default 0
512
+ * @apioption rangeSelector.buttonPosition.x
173
513
  */
174
514
  x: 0,
515
+
175
516
  /**
176
517
  * Y offset of the button row.
518
+ *
519
+ * @type {number}
520
+ * @default 0
521
+ * @apioption rangeSelector.buttonPosition.y
177
522
  */
178
523
  y: 0
179
- },
180
- // inputDateFormat: '%b %e, %Y',
181
- // inputEditDateFormat: '%Y-%m-%d',
182
- // inputEnabled: true,
183
- // selected: undefined
524
+ }
525
+
184
526
 
185
527
  }
186
528
  });
@@ -214,9 +556,10 @@ defaultOptions.lang = merge(
214
556
  /**
215
557
  * The text for the label for the range selector buttons.
216
558
  *
217
- * @type {String}
218
- * @default Zoom
219
- * @product highstock
559
+ * @type {string}
560
+ * @default Zoom
561
+ * @product highstock
562
+ * @apioption lang.rangeSelectorZoom
220
563
  */
221
564
  rangeSelectorZoom: 'Zoom',
222
565
 
@@ -224,18 +567,20 @@ defaultOptions.lang = merge(
224
567
  * The text for the label for the "from" input box in the range
225
568
  * selector.
226
569
  *
227
- * @type {String}
228
- * @default From
229
- * @product highstock
570
+ * @type {string}
571
+ * @default From
572
+ * @product highstock
573
+ * @apioption lang.rangeSelectorFrom
230
574
  */
231
575
  rangeSelectorFrom: 'From',
232
576
 
233
577
  /**
234
578
  * The text for the label for the "to" input box in the range selector.
235
579
  *
236
- * @type {String}
237
- * @default To
238
- * @product highstock
580
+ * @type {string}
581
+ * @default To
582
+ * @product highstock
583
+ * @apioption lang.rangeSelectorTo
239
584
  */
240
585
  rangeSelectorTo: 'To'
241
586
  }
@@ -243,8 +588,10 @@ defaultOptions.lang = merge(
243
588
 
244
589
  /**
245
590
  * The range selector.
246
- * @class
247
- * @param {Object} chart
591
+ *
592
+ * @class Highcharts.RangeSelector
593
+ *
594
+ * @param {Highcharts.Chart} chart
248
595
  */
249
596
  function RangeSelector(chart) {
250
597
 
@@ -256,9 +603,15 @@ RangeSelector.prototype = {
256
603
  /**
257
604
  * The method to run when one of the buttons in the range selectors is
258
605
  * clicked
259
- * @param {Number} i The index of the button
260
- * @param {Object} rangeOptions
261
- * @param {Boolean} redraw
606
+ *
607
+ * @function Highcharts.RangeSelector#clickButton
608
+ *
609
+ * @param {number} i
610
+ * The index of the button
611
+ *
612
+ * @param {boolean} redraw
613
+ *
614
+ * @return {void}
262
615
  */
263
616
  clickButton: function (i, redraw) {
264
617
  var rangeSelector = this,
@@ -300,6 +653,8 @@ RangeSelector.prototype = {
300
653
  dataGrouping,
301
654
  false
302
655
  );
656
+
657
+ this.frozenStates = rangeOptions.preserveDataGrouping;
303
658
  }
304
659
 
305
660
  // Apply range
@@ -406,6 +761,12 @@ RangeSelector.prototype = {
406
761
  /**
407
762
  * Set the selected option. This method only sets the internal flag, it
408
763
  * doesn't update the buttons or the actual zoomed range.
764
+ *
765
+ * @function Highcharts.RangeSelector#setSelected
766
+ *
767
+ * @param {boolean} selected
768
+ *
769
+ * @return {void}
409
770
  */
410
771
  setSelected: function (selected) {
411
772
  this.selected = this.options.selected = selected;
@@ -440,6 +801,12 @@ RangeSelector.prototype = {
440
801
 
441
802
  /**
442
803
  * Initialize the range selector
804
+ *
805
+ * @function Highcharts.RangeSelector#init
806
+ *
807
+ * @param {Highcharts.Chart} chart
808
+ *
809
+ * @return {void}
443
810
  */
444
811
  init: function (chart) {
445
812
  var rangeSelector = this,
@@ -488,7 +855,8 @@ RangeSelector.prototype = {
488
855
  this.max - this.min !== chart.fixedRange &&
489
856
  e.trigger !== 'rangeSelectorButton' &&
490
857
  e.trigger !== 'updatedData' &&
491
- rangeSelector.forcedDataGrouping
858
+ rangeSelector.forcedDataGrouping &&
859
+ !rangeSelector.frozenStates
492
860
  ) {
493
861
  this.setDataGrouping(false, false);
494
862
  }
@@ -500,6 +868,10 @@ RangeSelector.prototype = {
500
868
  /**
501
869
  * Dynamically update the range selector buttons after a new range has been
502
870
  * set
871
+ *
872
+ * @function Highcharts.RangeSelector#updateButtonStates
873
+ *
874
+ * @return {void}
503
875
  */
504
876
  updateButtonStates: function () {
505
877
  var rangeSelector = this,
@@ -587,7 +959,8 @@ RangeSelector.prototype = {
587
959
  );
588
960
  select = (
589
961
  (isSelected && isSameRange) ||
590
- (isSameRange && !selectedExists && !isYTDButNotSelected)
962
+ (isSameRange && !selectedExists && !isYTDButNotSelected) ||
963
+ (isSelected && rangeSelector.frozenStates)
591
964
  );
592
965
 
593
966
  if (disable) {
@@ -606,6 +979,12 @@ RangeSelector.prototype = {
606
979
 
607
980
  /**
608
981
  * Compute and cache the range for an individual button
982
+ *
983
+ * @function Highcharts.RangeSelector#computeButtonRange
984
+ *
985
+ * @param {Highcharts.RangeSelectorOptions} rangeOptions
986
+ *
987
+ * @return {void}
609
988
  */
610
989
  computeButtonRange: function (rangeOptions) {
611
990
  var type = rangeOptions.type,
@@ -638,8 +1017,14 @@ RangeSelector.prototype = {
638
1017
 
639
1018
  /**
640
1019
  * Set the internal and displayed value of a HTML input for the dates
641
- * @param {String} name
642
- * @param {Number} inputTime
1020
+ *
1021
+ * @function Highcharts.RangeSelector#setInputValue
1022
+ *
1023
+ * @param {string} name
1024
+ *
1025
+ * @param {number} inputTime
1026
+ *
1027
+ * @return {void}
643
1028
  */
644
1029
  setInputValue: function (name, inputTime) {
645
1030
  var options = this.chart.options.rangeSelector,
@@ -663,6 +1048,13 @@ RangeSelector.prototype = {
663
1048
  });
664
1049
  },
665
1050
 
1051
+ /**
1052
+ * @function Highcharts.RangeSelector#showInput
1053
+ *
1054
+ * @param {string} name
1055
+ *
1056
+ * @return {void}
1057
+ */
666
1058
  showInput: function (name) {
667
1059
  var inputGroup = this.inputGroup,
668
1060
  dateBox = this[name + 'DateBox'];
@@ -676,6 +1068,13 @@ RangeSelector.prototype = {
676
1068
  });
677
1069
  },
678
1070
 
1071
+ /**
1072
+ * @function Highcharts.RangeSelector#hideInput
1073
+ *
1074
+ * @param {string} name
1075
+ *
1076
+ * @return {void}
1077
+ */
679
1078
  hideInput: function (name) {
680
1079
  css(this[name + 'Input'], {
681
1080
  border: 0,
@@ -687,7 +1086,12 @@ RangeSelector.prototype = {
687
1086
 
688
1087
  /**
689
1088
  * Draw either the 'from' or the 'to' HTML input box of the range selector
690
- * @param {Object} name
1089
+ *
1090
+ * @function Highcharts.RangeSelector#drawInput
1091
+ *
1092
+ * @param {string} name
1093
+ *
1094
+ * @return {void}
691
1095
  */
692
1096
  drawInput: function (name) {
693
1097
  var rangeSelector = this,
@@ -784,10 +1188,8 @@ RangeSelector.prototype = {
784
1188
  padding: 2,
785
1189
  width: options.inputBoxWidth || 90,
786
1190
  height: options.inputBoxHeight || 17,
787
- stroke:
788
- options.inputBoxBorderColor || '#cccccc',
789
- 'stroke-width': 1,
790
1191
  'text-align': 'center'
1192
+
791
1193
  })
792
1194
  .on('click', function () {
793
1195
  // If it is already focused, the onfocus event doesn't fire
@@ -834,6 +1236,10 @@ RangeSelector.prototype = {
834
1236
  /**
835
1237
  * Get the position of the range selector buttons and inputs. This can be
836
1238
  * overridden from outside for custom positioning.
1239
+ *
1240
+ * @function Highcharts.RangeSelector#getPosition
1241
+ *
1242
+ * @return {Highcharts.Dictionary<number>}
837
1243
  */
838
1244
  getPosition: function () {
839
1245
  var chart = this.chart,
@@ -848,13 +1254,18 @@ RangeSelector.prototype = {
848
1254
  };
849
1255
  },
850
1256
  /**
851
- * Get the extremes of YTD.
852
- * Will choose dataMax if its value is lower than the current timestamp.
853
- * Will choose dataMin if its value is higher than the timestamp for
854
- * the start of current year.
1257
+ * Get the extremes of YTD. Will choose dataMax if its value is lower than
1258
+ * the current timestamp. Will choose dataMin if its value is higher than
1259
+ * the timestamp for the start of current year.
1260
+ *
1261
+ * @function Highcharts.RangeSelector#getYTDExtremes
1262
+ *
855
1263
  * @param {number} dataMax
1264
+ *
856
1265
  * @param {number} dataMin
857
- * @return {object} Returns min and max for the YTD
1266
+ *
1267
+ * @return {*}
1268
+ * Returns min and max for the YTD
858
1269
  */
859
1270
  getYTDExtremes: function (dataMax, dataMin, useUTC) {
860
1271
  var time = this.chart.time,
@@ -876,8 +1287,16 @@ RangeSelector.prototype = {
876
1287
  * Render the range selector including the buttons and the inputs. The first
877
1288
  * time render is called, the elements are created and positioned. On
878
1289
  * subsequent calls, they are moved and updated.
879
- * @param {Number} min X axis minimum
880
- * @param {Number} max X axis maximum
1290
+ *
1291
+ * @function Highcharts.RangeSelector#render
1292
+ *
1293
+ * @param {number} min
1294
+ * X axis minimum
1295
+ *
1296
+ * @param {number} max
1297
+ * X axis maximum
1298
+ *
1299
+ * @return {void}
881
1300
  */
882
1301
  render: function (min, max) {
883
1302
 
@@ -895,6 +1314,12 @@ RangeSelector.prototype = {
895
1314
  lang = defaultOptions.lang,
896
1315
  div = rangeSelector.div,
897
1316
  options = chartOptions.rangeSelector,
1317
+ // Place inputs above the container
1318
+ inputsZIndex = pick(
1319
+ chartOptions.chart.style &&
1320
+ chartOptions.chart.style.zIndex,
1321
+ 0
1322
+ ) + 1,
898
1323
  floating = options.floating,
899
1324
  buttons = rangeSelector.buttons,
900
1325
  inputGroup = rangeSelector.inputGroup,
@@ -915,6 +1340,7 @@ RangeSelector.prototype = {
915
1340
  buttonPositionY = buttonPosition.y,
916
1341
  inputPositionY = inputPosition.y,
917
1342
  animate = rendered || false,
1343
+ verb = animate ? 'animate' : 'attr',
918
1344
  exportingX = 0,
919
1345
  alignTranslateY,
920
1346
  legendHeight,
@@ -940,20 +1366,17 @@ RangeSelector.prototype = {
940
1366
 
941
1367
  rangeSelector.zoomText = renderer.text(
942
1368
  lang.rangeSelectorZoom,
943
- pick(plotLeft + buttonPosition.x, plotLeft), 15
1369
+ 0,
1370
+ 15
944
1371
  )
945
1372
  .css(options.labelStyle)
946
1373
  .add(buttonGroup);
947
1374
 
948
- // button start position
949
- buttonLeft = pick(plotLeft + buttonPosition.x, plotLeft) +
950
- rangeSelector.zoomText.getBBox().width + 5;
951
-
952
1375
  each(rangeSelector.buttonOptions, function (rangeOptions, i) {
953
1376
 
954
1377
  buttons[i] = renderer.button(
955
1378
  rangeOptions.text,
956
- buttonLeft,
1379
+ 0,
957
1380
  0,
958
1381
  function () {
959
1382
 
@@ -984,9 +1407,6 @@ RangeSelector.prototype = {
984
1407
  'text-align': 'center'
985
1408
  })
986
1409
  .add(buttonGroup);
987
-
988
- // increase button position for the next button
989
- buttonLeft += buttons[i].width + pick(options.buttonSpacing, 5);
990
1410
  });
991
1411
 
992
1412
  // first create a wrapper outside the container in order to make
@@ -995,7 +1415,7 @@ RangeSelector.prototype = {
995
1415
  rangeSelector.div = div = createElement('div', null, {
996
1416
  position: 'relative',
997
1417
  height: 0,
998
- zIndex: 1 // above container
1418
+ zIndex: inputsZIndex
999
1419
  });
1000
1420
 
1001
1421
  container.parentNode.insertBefore(div, container);
@@ -1010,6 +1430,22 @@ RangeSelector.prototype = {
1010
1430
  }
1011
1431
  }
1012
1432
 
1433
+ // #8769, allow dynamically updating margins
1434
+ rangeSelector.zoomText[verb]({
1435
+ x: pick(plotLeft + buttonPosition.x, plotLeft)
1436
+ });
1437
+ // button start position
1438
+ buttonLeft = pick(plotLeft + buttonPosition.x, plotLeft) +
1439
+ rangeSelector.zoomText.getBBox().width + 5;
1440
+ each(rangeSelector.buttonOptions, function (rangeOptions, i) {
1441
+
1442
+ buttons[i][verb]({ x: buttonLeft });
1443
+
1444
+ // increase button position for the next button
1445
+ buttonLeft += buttons[i].width + pick(options.buttonSpacing, 5);
1446
+ });
1447
+
1448
+
1013
1449
  plotLeft = chart.plotLeft - chart.spacing[3];
1014
1450
  rangeSelector.updateButtonStates();
1015
1451
 
@@ -1211,7 +1647,11 @@ RangeSelector.prototype = {
1211
1647
 
1212
1648
  /**
1213
1649
  * Extracts height of range selector
1214
- * @return {Number} Returns rangeSelector height
1650
+ *
1651
+ * @function Highcharts.RangeSelector#getHeight
1652
+ *
1653
+ * @return {number}
1654
+ * Returns rangeSelector height
1215
1655
  */
1216
1656
  getHeight: function () {
1217
1657
  var rangeSelector = this,
@@ -1244,8 +1684,13 @@ RangeSelector.prototype = {
1244
1684
 
1245
1685
  /**
1246
1686
  * Detect collision with title or subtitle
1247
- * @param {object} chart
1248
- * @return {Boolean} Returns collision status
1687
+ *
1688
+ * @function Highcharts.RangeSelector#titleCollision
1689
+ *
1690
+ * @param {Highcharts.Chart} chart
1691
+ *
1692
+ * @return {boolean}
1693
+ * Returns collision status
1249
1694
  */
1250
1695
  titleCollision: function (chart) {
1251
1696
  return !(chart.options.title.text || chart.options.subtitle.text);
@@ -1253,7 +1698,12 @@ RangeSelector.prototype = {
1253
1698
 
1254
1699
  /**
1255
1700
  * Update the range selector with new options
1256
- * @param {object} options
1701
+ *
1702
+ * @function Highcharts.RangeSelector#update
1703
+ *
1704
+ * @param {Highcharts.RangeSelectorOptions} options
1705
+ *
1706
+ * @return {void}
1257
1707
  */
1258
1708
  update: function (options) {
1259
1709
  var chart = this.chart;
@@ -1266,6 +1716,10 @@ RangeSelector.prototype = {
1266
1716
 
1267
1717
  /**
1268
1718
  * Destroys allocated elements.
1719
+ *
1720
+ * @function Highcharts.RangeSelector#destroy
1721
+ *
1722
+ * @return {void}
1269
1723
  */
1270
1724
  destroy: function () {
1271
1725
  var rSelector = this,
@@ -1305,6 +1759,18 @@ RangeSelector.prototype = {
1305
1759
  /**
1306
1760
  * Add logic to normalize the zoomed range in order to preserve the pressed
1307
1761
  * state of range selector buttons
1762
+ *
1763
+ * @function Highcharts.Axis#toFixedRange
1764
+ *
1765
+ * @param {number} pxMin
1766
+ *
1767
+ * @param {number} pxMax
1768
+ *
1769
+ * @param {number} fixedMin
1770
+ *
1771
+ * @param {number} fixedMax
1772
+ *
1773
+ * @return {*}
1308
1774
  */
1309
1775
  Axis.prototype.toFixedRange = function (pxMin, pxMax, fixedMin, fixedMax) {
1310
1776
  var fixedRange = this.chart && this.chart.fixedRange,
@@ -1338,7 +1804,10 @@ Axis.prototype.toFixedRange = function (pxMin, pxMax, fixedMin, fixedMax) {
1338
1804
  * selected range is a multiple of months or years, it is compensated for
1339
1805
  * various month lengths.
1340
1806
  *
1341
- * @return {number} The new minimum value.
1807
+ * @function Highcharts.Axis#minFromRange
1808
+ *
1809
+ * @return {number}
1810
+ * The new minimum value.
1342
1811
  */
1343
1812
  Axis.prototype.minFromRange = function () {
1344
1813
  var rangeOptions = this.range,
@@ -1435,20 +1904,32 @@ addEvent(Chart, 'update', function (e) {
1435
1904
 
1436
1905
  var chart = this,
1437
1906
  options = e.options,
1907
+ optionsRangeSelector = options.rangeSelector,
1438
1908
  rangeSelector = chart.rangeSelector,
1439
- verticalAlign;
1909
+ verticalAlign,
1910
+ extraBottomMarginWas = this.extraBottomMargin,
1911
+ extraTopMarginWas = this.extraTopMargin;
1912
+
1913
+ if (
1914
+ optionsRangeSelector &&
1915
+ optionsRangeSelector.enabled &&
1916
+ !defined(rangeSelector)
1917
+ ) {
1918
+ this.options.rangeSelector.enabled = true;
1919
+ this.rangeSelector = new RangeSelector(this);
1920
+ }
1921
+
1440
1922
 
1441
1923
  this.extraBottomMargin = false;
1442
1924
  this.extraTopMargin = false;
1443
- this.isDirtyBox = true; // #7684 - ignored spacingBottom after update
1444
1925
 
1445
1926
  if (rangeSelector) {
1446
1927
 
1447
1928
  rangeSelector.render();
1448
1929
 
1449
1930
  verticalAlign = (
1450
- options.rangeSelector &&
1451
- options.rangeSelector.verticalAlign
1931
+ optionsRangeSelector &&
1932
+ optionsRangeSelector.verticalAlign
1452
1933
  ) || (
1453
1934
  rangeSelector.options && rangeSelector.options.verticalAlign
1454
1935
  );
@@ -1461,6 +1942,13 @@ addEvent(Chart, 'update', function (e) {
1461
1942
  }
1462
1943
  }
1463
1944
 
1945
+ if (
1946
+ this.extraBottomMargin !== extraBottomMarginWas ||
1947
+ this.extraTopMargin !== extraTopMarginWas
1948
+ ) {
1949
+ this.isDirtyBox = true;
1950
+ }
1951
+
1464
1952
  }
1465
1953
 
1466
1954
  });