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
- * @license Highcharts JS v6.1.1 (2018-06-27)
2
+ * @license Highcharts JS v6.2.0 (2018-10-17)
3
3
  * Boost module
4
4
  *
5
5
  * (c) 2010-2017 Highsoft AS
@@ -11,6 +11,10 @@
11
11
  (function (factory) {
12
12
  if (typeof module === 'object' && module.exports) {
13
13
  module.exports = factory;
14
+ } else if (typeof define === 'function' && define.amd) {
15
+ define(function () {
16
+ return factory;
17
+ });
14
18
  } else {
15
19
  factory(Highcharts);
16
20
  }
@@ -281,6 +285,7 @@
281
285
  Series = H.Series,
282
286
  seriesTypes = H.seriesTypes,
283
287
  each = H.each,
288
+ objEach = H.objectEach,
284
289
  extend = H.extend,
285
290
  addEvent = H.addEvent,
286
291
  fireEvent = H.fireEvent,
@@ -512,6 +517,12 @@
512
517
 
513
518
  series = chart.series[i];
514
519
 
520
+ // Don't count series with boostThreshold set to 0
521
+ // See #8950
522
+ if (series.options.boostThreshold === 0) {
523
+ continue;
524
+ }
525
+
515
526
  if (boostableMap[series.type]) {
516
527
  ++canBoostCount;
517
528
  }
@@ -527,20 +538,37 @@
527
538
  }
528
539
  }
529
540
 
530
- chart.boostForceChartBoost =
541
+ chart.boostForceChartBoost = allowBoostForce && (
531
542
  (
532
- allowBoostForce &&
533
543
  canBoostCount === chart.series.length &&
534
544
  sboostCount > 0
535
545
  ) ||
536
- sboostCount > 5;
546
+ sboostCount > 5
547
+ );
537
548
 
538
549
  return chart.boostForceChartBoost;
539
550
  }
540
551
 
552
+ /**
553
+ * Return true if ths boost.enabled option is true
554
+ * @param {Highcharts.Chart} chart The chart
555
+ * @return {boolean}
556
+ */
557
+ function boostEnabled(chart) {
558
+ return pick(
559
+ (
560
+ chart &&
561
+ chart.options &&
562
+ chart.options.boost &&
563
+ chart.options.boost.enabled
564
+ ),
565
+ true
566
+ );
567
+ }
568
+
541
569
  /*
542
570
  * Returns true if the chart is in series boost mode
543
- * @param chart {Highchart.Chart} - the chart to check
571
+ * @param chart {Highcharts.Chart} - the chart to check
544
572
  * @returns {Boolean} - true if the chart is in series boost mode
545
573
  */
546
574
  Chart.prototype.isChartSeriesBoosting = function () {
@@ -811,9 +839,20 @@
811
839
  // Uniform for invertion
812
840
  isInverted,
813
841
  plotHeightUniform,
842
+ // Error stack
843
+ errors = [],
814
844
  // Texture uniform
815
845
  uSamplerUniform;
816
846
 
847
+ /*
848
+ * Handle errors accumulated in errors stack
849
+ */
850
+ function handleErrors() {
851
+ if (errors.length) {
852
+ H.error('[highcharts boost] shader error - ' + errors.join('\n'));
853
+ }
854
+ }
855
+
817
856
  /* String to shader program
818
857
  * @param {string} str - the program source
819
858
  * @param {string} type - the program type: either `vertex` or `fragment`
@@ -828,7 +867,13 @@
828
867
  gl.compileShader(shader);
829
868
 
830
869
  if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
831
- // console.error('shader error:', gl.getShaderInfoLog(shader));
870
+ errors.push(
871
+ 'when compiling ' +
872
+ type +
873
+ ' shader:\n' +
874
+ gl.getShaderInfoLog(shader)
875
+ );
876
+
832
877
  return false;
833
878
  }
834
879
  return shader;
@@ -845,7 +890,7 @@
845
890
 
846
891
  if (!v || !f) {
847
892
  shaderProgram = false;
848
- // console.error('error creating shader program');
893
+ handleErrors();
849
894
  return false;
850
895
  }
851
896
 
@@ -857,8 +902,16 @@
857
902
 
858
903
  gl.attachShader(shaderProgram, v);
859
904
  gl.attachShader(shaderProgram, f);
905
+
860
906
  gl.linkProgram(shaderProgram);
861
907
 
908
+ if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
909
+ errors.push(gl.getProgramInfoLog(shaderProgram));
910
+ handleErrors();
911
+ shaderProgram = false;
912
+ return false;
913
+ }
914
+
862
915
  gl.useProgram(shaderProgram);
863
916
 
864
917
  gl.bindAttribLocation(shaderProgram, 0, 'aVertexPosition');
@@ -874,6 +927,7 @@
874
927
  isCircleUniform = uloc('isCircle');
875
928
  isInverted = uloc('isInverted');
876
929
  plotHeightUniform = uloc('plotHeight');
930
+
877
931
  return true;
878
932
  }
879
933
 
@@ -881,11 +935,9 @@
881
935
  * Destroy the shader
882
936
  */
883
937
  function destroy() {
884
- if (gl) {
885
- if (shaderProgram) {
886
- gl.deleteProgram(shaderProgram);
887
- shaderProgram = false;
888
- }
938
+ if (gl && shaderProgram) {
939
+ gl.deleteProgram(shaderProgram);
940
+ shaderProgram = false;
889
941
  }
890
942
  }
891
943
 
@@ -895,7 +947,9 @@
895
947
  * or until 0 is bound.
896
948
  */
897
949
  function bind() {
898
- gl.useProgram(shaderProgram);
950
+ if (gl && shaderProgram) {
951
+ gl.useProgram(shaderProgram);
952
+ }
899
953
  }
900
954
 
901
955
  /*
@@ -905,17 +959,24 @@
905
959
  * @param val {float} - the value to set
906
960
  */
907
961
  function setUniform(name, val) {
908
- var u = uLocations[name] = uLocations[name] ||
909
- gl.getUniformLocation(shaderProgram, name);
910
- gl.uniform1f(u, val);
962
+ if (gl && shaderProgram) {
963
+ var u = uLocations[name] = uLocations[name] ||
964
+ gl.getUniformLocation(
965
+ shaderProgram,
966
+ name
967
+ );
968
+ gl.uniform1f(u, val);
969
+ }
911
970
  }
912
971
 
913
972
  /*
914
973
  * Set the active texture
915
974
  * @param texture - the texture
916
975
  */
917
- function setTexture() {
918
- gl.uniform1i(uSamplerUniform, 0);
976
+ function setTexture(texture) {
977
+ if (gl && shaderProgram) {
978
+ gl.uniform1i(uSamplerUniform, texture);
979
+ }
919
980
  }
920
981
 
921
982
  /*
@@ -923,26 +984,34 @@
923
984
  * @flag is the state
924
985
  */
925
986
  function setInverted(flag) {
926
- gl.uniform1i(isInverted, flag);
987
+ if (gl && shaderProgram) {
988
+ gl.uniform1i(isInverted, flag);
989
+ }
927
990
  }
928
991
 
929
992
  /*
930
993
  * Enable/disable circle drawing
931
994
  */
932
995
  function setDrawAsCircle(flag) {
933
- gl.uniform1i(isCircleUniform, flag ? 1 : 0);
996
+ if (gl && shaderProgram) {
997
+ gl.uniform1i(isCircleUniform, flag ? 1 : 0);
998
+ }
934
999
  }
935
1000
 
936
1001
  function setPlotHeight(n) {
937
- gl.uniform1f(plotHeightUniform, n);
1002
+ if (gl && shaderProgram) {
1003
+ gl.uniform1f(plotHeightUniform, n);
1004
+ }
938
1005
  }
939
1006
 
940
1007
  /*
941
1008
  * Flush
942
1009
  */
943
1010
  function reset() {
944
- gl.uniform1i(isBubbleUniform, 0);
945
- gl.uniform1i(isCircleUniform, 0);
1011
+ if (gl && shaderProgram) {
1012
+ gl.uniform1i(isBubbleUniform, 0);
1013
+ gl.uniform1i(isCircleUniform, 0);
1014
+ }
946
1015
  }
947
1016
 
948
1017
  /*
@@ -954,7 +1023,7 @@
954
1023
  zMin = Number.MAX_VALUE,
955
1024
  zMax = -Number.MAX_VALUE;
956
1025
 
957
- if (series.type === 'bubble') {
1026
+ if (gl && shaderProgram && series.type === 'bubble') {
958
1027
  zMin = pick(seriesOptions.zMin, Math.min(
959
1028
  zMin,
960
1029
  Math.max(
@@ -990,20 +1059,24 @@
990
1059
  * @param color {Array<float>} - an array with RGBA values
991
1060
  */
992
1061
  function setColor(color) {
993
- gl.uniform4f(
994
- fillColorUniform,
995
- color[0] / 255.0,
996
- color[1] / 255.0,
997
- color[2] / 255.0,
998
- color[3]
999
- );
1062
+ if (gl && shaderProgram) {
1063
+ gl.uniform4f(
1064
+ fillColorUniform,
1065
+ color[0] / 255.0,
1066
+ color[1] / 255.0,
1067
+ color[2] / 255.0,
1068
+ color[3]
1069
+ );
1070
+ }
1000
1071
  }
1001
1072
 
1002
1073
  /*
1003
1074
  * Set skip translation
1004
1075
  */
1005
1076
  function setSkipTranslation(flag) {
1006
- gl.uniform1i(skipTranslationUniform, flag === true ? 1 : 0);
1077
+ if (gl && shaderProgram) {
1078
+ gl.uniform1i(skipTranslationUniform, flag === true ? 1 : 0);
1079
+ }
1007
1080
  }
1008
1081
 
1009
1082
  /*
@@ -1011,7 +1084,9 @@
1011
1084
  * @param m {Matrix4x4} - the matrix
1012
1085
  */
1013
1086
  function setPMatrix(m) {
1014
- gl.uniformMatrix4fv(pUniform, false, m);
1087
+ if (gl && shaderProgram) {
1088
+ gl.uniformMatrix4fv(pUniform, false, m);
1089
+ }
1015
1090
  }
1016
1091
 
1017
1092
  /*
@@ -1019,7 +1094,9 @@
1019
1094
  * @param p {float} - point size
1020
1095
  */
1021
1096
  function setPointSize(p) {
1022
- gl.uniform1f(psUniform, p);
1097
+ if (gl && shaderProgram) {
1098
+ gl.uniform1f(psUniform, p);
1099
+ }
1023
1100
  }
1024
1101
 
1025
1102
  /*
@@ -1031,7 +1108,9 @@
1031
1108
  }
1032
1109
 
1033
1110
  if (gl) {
1034
- createShader();
1111
+ if (!createShader()) {
1112
+ return false;
1113
+ }
1035
1114
  }
1036
1115
 
1037
1116
  return {
@@ -1243,20 +1322,16 @@
1243
1322
  data = false,
1244
1323
  // The marker data
1245
1324
  markerData = false,
1246
- // Is the texture ready?
1247
- textureIsReady = false,
1248
1325
  // Exports
1249
1326
  exports = {},
1250
1327
  // Is it inited?
1251
1328
  isInited = false,
1252
1329
  // The series stack
1253
1330
  series = [],
1254
- // Texture for circles
1255
- circleTexture = doc.createElement('canvas'),
1256
- // Context for circle texture
1257
- circleCtx = circleTexture.getContext('2d'),
1258
- // Handle for the circle texture
1259
- circleTextureHandle,
1331
+
1332
+ // Texture handles
1333
+ textureHandles = {},
1334
+
1260
1335
  // Things to draw as "rectangles" (i.e lines)
1261
1336
  asBar = {
1262
1337
  'column': true,
@@ -1430,10 +1505,11 @@
1430
1505
  color,
1431
1506
  scolor,
1432
1507
  sdata = isStacked ? series.data : (xData || rawData),
1433
- closestLeft = { x: -Number.MAX_VALUE, y: 0 },
1434
- closestRight = { x: Number.MIN_VALUE, y: 0 },
1508
+ closestLeft = { x: Number.MAX_VALUE, y: 0 },
1509
+ closestRight = { x: -Number.MAX_VALUE, y: 0 },
1435
1510
 
1436
1511
  skipped = 0,
1512
+ hadPoints = false,
1437
1513
 
1438
1514
  cullXThreshold = 1,
1439
1515
  cullYThreshold = 1,
@@ -1454,7 +1530,8 @@
1454
1530
  pcolor = false,
1455
1531
  drawAsBar = asBar[series.type],
1456
1532
  isXInside = false,
1457
- isYInside = true;
1533
+ isYInside = true,
1534
+ threshold = options.threshold;
1458
1535
 
1459
1536
  if (options.boostData && options.boostData.length > 0) {
1460
1537
  return;
@@ -1762,7 +1839,7 @@
1762
1839
  closestRight.y = y;
1763
1840
  }
1764
1841
 
1765
- if (x < xMin && closestLeft.x < xMin) {
1842
+ if (x < xMin && closestLeft.x > xMin) {
1766
1843
  closestLeft.x = x;
1767
1844
  closestLeft.y = y;
1768
1845
  }
@@ -1772,7 +1849,7 @@
1772
1849
  }
1773
1850
 
1774
1851
  // Cull points outside the extremes
1775
- if (y === null || !isYInside) {
1852
+ if (y === null || (!isYInside && !nextInside && !prevInside)) {
1776
1853
  beginSegment();
1777
1854
  continue;
1778
1855
  }
@@ -1798,6 +1875,13 @@
1798
1875
  }
1799
1876
 
1800
1877
  if (x > plotWidth) {
1878
+ // If this is rendered as a point, just skip drawing it
1879
+ // entirely, as we're not dependandt on lineTo'ing to it.
1880
+ // See #8197
1881
+ if (inst.drawMode === 'points') {
1882
+ continue;
1883
+ }
1884
+
1801
1885
  x = plotWidth;
1802
1886
  }
1803
1887
 
@@ -1816,6 +1900,9 @@
1816
1900
  }
1817
1901
  }
1818
1902
 
1903
+ if (!isRange && !isStacked) {
1904
+ minVal = Math.max(threshold, yMin); // #8731
1905
+ }
1819
1906
  if (!settings.useGPUTranslations) {
1820
1907
  minVal = yAxis.toPixels(minVal, true);
1821
1908
  }
@@ -1853,7 +1940,7 @@
1853
1940
 
1854
1941
  if (!settings.useGPUTranslations &&
1855
1942
  !settings.usePreallocated &&
1856
- (lastX && x - lastX < cullXThreshold) &&
1943
+ (lastX && Math.abs(x - lastX) < cullXThreshold) &&
1857
1944
  (lastY && Math.abs(y - lastY) < cullYThreshold)
1858
1945
  ) {
1859
1946
  if (settings.debug.showSkipSummary) {
@@ -1897,13 +1984,15 @@
1897
1984
 
1898
1985
  lastX = x;
1899
1986
  lastY = y;
1987
+
1988
+ hadPoints = true;
1900
1989
  }
1901
1990
 
1902
1991
  if (settings.debug.showSkipSummary) {
1903
1992
  console.log('skipped points:', skipped); // eslint-disable-line no-console
1904
1993
  }
1905
1994
 
1906
- function pushSupplementPoint(point) {
1995
+ function pushSupplementPoint(point, atStart) {
1907
1996
  if (!settings.useGPUTranslations) {
1908
1997
  inst.skipTranslation = true;
1909
1998
  point.x = xAxis.toPixels(point.x, true);
@@ -1913,6 +2002,11 @@
1913
2002
  // We should only do this for lines, and we should ignore markers
1914
2003
  // since there's no point here that would have a marker.
1915
2004
 
2005
+ if (atStart) {
2006
+ data = [point.x, point.y, 0, 2].concat(data);
2007
+ return;
2008
+ }
2009
+
1916
2010
  vertice(
1917
2011
  point.x,
1918
2012
  point.y,
@@ -1921,13 +2015,19 @@
1921
2015
  );
1922
2016
  }
1923
2017
 
1924
- if (!lastX &&
2018
+ if (
2019
+ !hadPoints &&
1925
2020
  connectNulls !== false &&
1926
- closestLeft > -Number.MAX_VALUE &&
1927
- closestRight < Number.MAX_VALUE) {
1928
- // There are no points within the selected range
1929
- pushSupplementPoint(closestLeft);
1930
- pushSupplementPoint(closestRight);
2021
+ series.drawMode === 'line_strip'
2022
+ ) {
2023
+ if (closestLeft.x < Number.MAX_VALUE) {
2024
+ // We actually need to push this *before* the complete buffer.
2025
+ pushSupplementPoint(closestLeft, true);
2026
+ }
2027
+
2028
+ if (closestRight.x > -Number.MAX_VALUE) {
2029
+ pushSupplementPoint(closestRight);
2030
+ }
1931
2031
  }
1932
2032
 
1933
2033
  closeSegment();
@@ -2066,7 +2166,7 @@
2066
2166
  return false;
2067
2167
  }
2068
2168
 
2069
- if (!gl || !width || !height) {
2169
+ if (!gl || !width || !height || !shader) {
2070
2170
  return false;
2071
2171
  }
2072
2172
 
@@ -2079,7 +2179,6 @@
2079
2179
 
2080
2180
  shader.bind();
2081
2181
 
2082
-
2083
2182
  gl.viewport(0, 0, width, height);
2084
2183
  shader.setPMatrix(orthoMatrix(width, height));
2085
2184
  shader.setPlotHeight(chart.plotHeight);
@@ -2091,17 +2190,12 @@
2091
2190
  vbuffer.build(exports.data, 'aVertexPosition', 4);
2092
2191
  vbuffer.bind();
2093
2192
 
2094
- if (textureIsReady) {
2095
- gl.bindTexture(gl.TEXTURE_2D, circleTextureHandle);
2096
- shader.setTexture(circleTextureHandle);
2097
- }
2098
-
2099
2193
  shader.setInverted(chart.inverted);
2100
2194
 
2101
-
2102
2195
  // Render the series
2103
2196
  each(series, function (s, si) {
2104
2197
  var options = s.series.options,
2198
+ shapeOptions = options.marker,
2105
2199
  sindex,
2106
2200
  lineWidth = typeof options.lineWidth !== 'undefined' ?
2107
2201
  options.lineWidth :
@@ -2122,8 +2216,23 @@
2122
2216
  ) || 10)
2123
2217
  ),
2124
2218
  fillColor,
2219
+ shapeTexture = textureHandles[
2220
+ (shapeOptions && shapeOptions.symbol) || s.series.symbol
2221
+ ] || textureHandles.circle,
2125
2222
  color;
2126
2223
 
2224
+ if (
2225
+ s.segments.length === 0 ||
2226
+ (s.segmentslength && s.segments[0].from === s.segments[0].to)
2227
+ ) {
2228
+ return;
2229
+ }
2230
+
2231
+ if (shapeTexture.isReady) {
2232
+ gl.bindTexture(gl.TEXTURE_2D, shapeTexture.handle);
2233
+ shader.setTexture(shapeTexture.handle);
2234
+ }
2235
+
2127
2236
 
2128
2237
  fillColor = (
2129
2238
  s.series.markerGroup &&
@@ -2204,7 +2313,7 @@
2204
2313
  }
2205
2314
 
2206
2315
  shader.setDrawAsCircle(
2207
- (asCircle[s.series.type] && textureIsReady) || false
2316
+ asCircle[s.series.type] || false
2208
2317
  );
2209
2318
 
2210
2319
  // Do the actual rendering
@@ -2277,8 +2386,8 @@
2277
2386
  * @param h {Integer} - the height of the viewport
2278
2387
  */
2279
2388
  function setSize(w, h) {
2280
- // Skip if there's no change
2281
- if (width === w && h === h) {
2389
+ // Skip if there's no change, or if we have no valid shader
2390
+ if ((width === w && h === h) || !shader) {
2282
2391
  return;
2283
2392
  }
2284
2393
 
@@ -2337,71 +2446,127 @@
2337
2446
  gl.depthFunc(gl.LESS);
2338
2447
 
2339
2448
  shader = GLShader(gl); // eslint-disable-line new-cap
2449
+
2450
+ if (!shader) {
2451
+ // We need to abort, there's no shader context
2452
+ return false;
2453
+ }
2454
+
2340
2455
  vbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap
2341
2456
 
2342
- textureIsReady = false;
2457
+ function createTexture(name, fn) {
2458
+ var props = {
2459
+ isReady: false,
2460
+ texture: doc.createElement('canvas'),
2461
+ handle: gl.createTexture()
2462
+ },
2463
+ ctx = props.texture.getContext('2d');
2343
2464
 
2344
- // Set up the circle texture used for bubbles
2345
- circleTextureHandle = gl.createTexture();
2465
+ textureHandles[name] = props;
2346
2466
 
2347
- // Draw the circle
2348
- circleTexture.width = 512;
2349
- circleTexture.height = 512;
2467
+ props.texture.width = 512;
2468
+ props.texture.height = 512;
2350
2469
 
2351
- circleCtx.mozImageSmoothingEnabled = false;
2352
- circleCtx.webkitImageSmoothingEnabled = false;
2353
- circleCtx.msImageSmoothingEnabled = false;
2354
- circleCtx.imageSmoothingEnabled = false;
2470
+ ctx.mozImageSmoothingEnabled = false;
2471
+ ctx.webkitImageSmoothingEnabled = false;
2472
+ ctx.msImageSmoothingEnabled = false;
2473
+ ctx.imageSmoothingEnabled = false;
2355
2474
 
2356
- circleCtx.strokeStyle = 'rgba(255, 255, 255, 0)';
2357
- circleCtx.fillStyle = '#FFF';
2475
+ ctx.strokeStyle = 'rgba(255, 255, 255, 0)';
2476
+ ctx.fillStyle = '#FFF';
2358
2477
 
2359
- circleCtx.beginPath();
2360
- circleCtx.arc(256, 256, 256, 0, 2 * Math.PI);
2361
- circleCtx.stroke();
2362
- circleCtx.fill();
2478
+ fn(ctx);
2363
2479
 
2364
- try {
2480
+ try {
2365
2481
 
2366
- gl.bindTexture(gl.TEXTURE_2D, circleTextureHandle);
2367
- // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
2482
+ gl.activeTexture(gl.TEXTURE0);
2483
+ gl.bindTexture(gl.TEXTURE_2D, props.handle);
2484
+ // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
2368
2485
 
2369
- gl.texImage2D(
2370
- gl.TEXTURE_2D,
2371
- 0,
2372
- gl.RGBA,
2373
- gl.RGBA,
2374
- gl.UNSIGNED_BYTE,
2375
- circleTexture
2376
- );
2486
+ gl.texImage2D(
2487
+ gl.TEXTURE_2D,
2488
+ 0,
2489
+ gl.RGBA,
2490
+ gl.RGBA,
2491
+ gl.UNSIGNED_BYTE,
2492
+ props.texture
2493
+ );
2377
2494
 
2378
- gl.texParameteri(
2379
- gl.TEXTURE_2D,
2380
- gl.TEXTURE_WRAP_S,
2381
- gl.CLAMP_TO_EDGE
2382
- );
2383
- gl.texParameteri(
2384
- gl.TEXTURE_2D,
2385
- gl.TEXTURE_WRAP_T,
2386
- gl.CLAMP_TO_EDGE
2387
- );
2388
- gl.texParameteri(
2389
- gl.TEXTURE_2D,
2390
- gl.TEXTURE_MAG_FILTER,
2391
- gl.LINEAR
2392
- );
2393
- gl.texParameteri(
2394
- gl.TEXTURE_2D,
2395
- gl.TEXTURE_MIN_FILTER,
2396
- gl.LINEAR
2397
- );
2495
+ gl.texParameteri(
2496
+ gl.TEXTURE_2D,
2497
+ gl.TEXTURE_WRAP_S,
2498
+ gl.CLAMP_TO_EDGE
2499
+ );
2500
+
2501
+ gl.texParameteri(
2502
+ gl.TEXTURE_2D,
2503
+ gl.TEXTURE_WRAP_T,
2504
+ gl.CLAMP_TO_EDGE
2505
+ );
2506
+
2507
+ gl.texParameteri(
2508
+ gl.TEXTURE_2D,
2509
+ gl.TEXTURE_MAG_FILTER,
2510
+ gl.LINEAR
2511
+ );
2512
+
2513
+ gl.texParameteri(
2514
+ gl.TEXTURE_2D,
2515
+ gl.TEXTURE_MIN_FILTER,
2516
+ gl.LINEAR
2517
+ );
2398
2518
 
2399
- // gl.generateMipmap(gl.TEXTURE_2D);
2519
+ // gl.generateMipmap(gl.TEXTURE_2D);
2400
2520
 
2401
- gl.bindTexture(gl.TEXTURE_2D, null);
2521
+ gl.bindTexture(gl.TEXTURE_2D, null);
2402
2522
 
2403
- textureIsReady = true;
2404
- } catch (e) {}
2523
+ props.isReady = true;
2524
+ } catch (e) {}
2525
+ }
2526
+
2527
+ // Circle shape
2528
+ createTexture('circle', function (ctx) {
2529
+ ctx.beginPath();
2530
+ ctx.arc(256, 256, 256, 0, 2 * Math.PI);
2531
+ ctx.stroke();
2532
+ ctx.fill();
2533
+ });
2534
+
2535
+ // Square shape
2536
+ createTexture('square', function (ctx) {
2537
+ ctx.fillRect(0, 0, 512, 512);
2538
+ });
2539
+
2540
+ // Diamond shape
2541
+ createTexture('diamond', function (ctx) {
2542
+ ctx.beginPath();
2543
+ ctx.moveTo(256, 0);
2544
+ ctx.lineTo(512, 256);
2545
+ ctx.lineTo(256, 512);
2546
+ ctx.lineTo(0, 256);
2547
+ ctx.lineTo(256, 0);
2548
+ ctx.fill();
2549
+ });
2550
+
2551
+ // Triangle shape
2552
+ createTexture('triangle', function (ctx) {
2553
+ ctx.beginPath();
2554
+ ctx.moveTo(0, 512);
2555
+ ctx.lineTo(256, 0);
2556
+ ctx.lineTo(512, 512);
2557
+ ctx.lineTo(0, 512);
2558
+ ctx.fill();
2559
+ });
2560
+
2561
+ // Triangle shape (rotated)
2562
+ createTexture('triangle-down', function (ctx) {
2563
+ ctx.beginPath();
2564
+ ctx.moveTo(0, 0);
2565
+ ctx.lineTo(256, 512);
2566
+ ctx.lineTo(512, 0);
2567
+ ctx.lineTo(0, 0);
2568
+ ctx.fill();
2569
+ });
2405
2570
 
2406
2571
  isInited = true;
2407
2572
 
@@ -2433,9 +2598,13 @@
2433
2598
  vbuffer.destroy();
2434
2599
  shader.destroy();
2435
2600
  if (gl) {
2436
- if (circleTextureHandle) {
2437
- gl.deleteTexture(circleTextureHandle);
2438
- }
2601
+
2602
+ objEach(textureHandles, function (key) {
2603
+ if (textureHandles[key].handle) {
2604
+ gl.deleteTexture(textureHandles[key].handle);
2605
+ }
2606
+ });
2607
+
2439
2608
  gl.canvas.width = 1;
2440
2609
  gl.canvas.height = 1;
2441
2610
  }
@@ -2607,7 +2776,13 @@
2607
2776
 
2608
2777
  }); // eslint-disable-line new-cap
2609
2778
 
2610
- target.ogl.init(target.canvas);
2779
+ if (!target.ogl.init(target.canvas)) {
2780
+ // The OGL renderer couldn't be inited.
2781
+ // This likely means a shader error as we wouldn't get to this point
2782
+ // if there was no WebGL support.
2783
+ H.error('[highcharts boost] - unable to init WebGL renderer');
2784
+ }
2785
+
2611
2786
  // target.ogl.clear();
2612
2787
  target.ogl.setOptions(chart.options.boost || {});
2613
2788
 
@@ -2797,24 +2972,16 @@
2797
2972
  ], function (method) {
2798
2973
  function branch(proceed) {
2799
2974
  var letItPass = this.options.stacking &&
2800
- (method === 'translate' || method === 'generatePoints'),
2801
- enabled = pick(
2802
- (
2803
- this.chart &&
2804
- this.chart.options &&
2805
- this.chart.options.boost &&
2806
- this.chart.options.boost.enabled
2807
- ),
2808
- true
2809
- );
2975
+ (method === 'translate' || method === 'generatePoints');
2810
2976
 
2811
2977
  if (
2812
2978
  !this.isSeriesBoosting ||
2813
2979
  letItPass ||
2814
- !enabled ||
2980
+ !boostEnabled(this.chart) ||
2815
2981
  this.type === 'heatmap' ||
2816
2982
  this.type === 'treemap' ||
2817
- !boostableMap[this.type]
2983
+ !boostableMap[this.type] ||
2984
+ this.options.boostThreshold === 0
2818
2985
  ) {
2819
2986
 
2820
2987
  proceed.call(this);
@@ -2859,7 +3026,7 @@
2859
3026
  );
2860
3027
  }
2861
3028
 
2862
- if (boostableMap[this.type]) {
3029
+ if (boostEnabled(this.chart) && boostableMap[this.type]) {
2863
3030
 
2864
3031
  // If there are no extremes given in the options, we also need to
2865
3032
  // process the data to read the data extremes. If this is a heatmap, do
@@ -3103,6 +3270,7 @@
3103
3270
  minI,
3104
3271
  maxI,
3105
3272
  boostOptions,
3273
+ compareX = options.findNearestPointBy === 'x',
3106
3274
 
3107
3275
  xDataFull = (
3108
3276
  this.xData ||
@@ -3112,8 +3280,8 @@
3112
3280
  ),
3113
3281
 
3114
3282
  addKDPoint = function (clientX, plotY, i) {
3115
- // Shaves off about 60ms compared to repeated concatination
3116
- index = clientX + ',' + plotY;
3283
+ // Shaves off about 60ms compared to repeated concatenation
3284
+ index = compareX ? clientX : clientX + ',' + plotY;
3117
3285
 
3118
3286
  // The k-d tree requires series points.
3119
3287
  // Reduce the amount of points, since the time to build the
@@ -3185,7 +3353,6 @@
3185
3353
  renderer.pushSeries(series);
3186
3354
  // Perform the actual renderer if we're on series level
3187
3355
  renderIfNotSeriesBoosting(renderer, this, chart);
3188
- // console.log(series, chart);
3189
3356
  }
3190
3357
 
3191
3358
  /* This builds the KD-tree */