highcharts 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
@@ -22,9 +22,7 @@ H.extendAnnotation(Measure, null,
22
22
  /** @lends Annotation.Measure# */
23
23
  {
24
24
  /**
25
- *
26
25
  * Init annotation object.
27
- *
28
26
  */
29
27
  init: function () {
30
28
  Annotation.prototype.init.apply(this, arguments);
@@ -123,8 +121,7 @@ H.extendAnnotation(Measure, null,
123
121
  /**
124
122
  * Add label with calculated values (min, max, average, bins).
125
123
  *
126
- * @param {Boolean} resize - the flag for resize shape
127
- *
124
+ * @param {boolean} resize - the flag for resize shape
128
125
  */
129
126
  addValues: function (resize) {
130
127
  var options = this.options.typeOptions,
@@ -175,8 +172,7 @@ H.extendAnnotation(Measure, null,
175
172
  }
176
173
  },
177
174
  /**
178
- * add shapes - crosshair, background (rect)
179
- *
175
+ * Crosshair, background (rect)
180
176
  */
181
177
  addShapes: function () {
182
178
  this.addCrosshairs();
@@ -375,9 +371,10 @@ H.extendAnnotation(Measure, null,
375
371
  this.options.typeOptions.point.y = this.startYMin;
376
372
  },
377
373
  calculations: {
378
- /*
379
- * Set starting points
380
- */
374
+ /**
375
+ * Set starting points
376
+ * @private
377
+ */
381
378
  init: function () {
382
379
  var options = this.options.typeOptions,
383
380
  chart = this.chart,
@@ -425,12 +422,12 @@ H.extendAnnotation(Measure, null,
425
422
  }
426
423
 
427
424
  },
428
- /*
429
- * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.
430
- * Calculations of measure values (min, max, average, bins).
431
- *
432
- * @param {Boolean} resize - flag if shape is resized
433
- */
425
+ /**
426
+ * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.
427
+ * Calculations of measure values (min, max, average, bins).
428
+ * @private
429
+ * @param {Boolean} resize - flag if shape is resized
430
+ */
434
431
  recalculate: function (resize) {
435
432
  var calc = this.calculations,
436
433
  options = this.options.typeOptions,
@@ -455,27 +452,27 @@ H.extendAnnotation(Measure, null,
455
452
  }
456
453
 
457
454
  },
458
- /*
459
- * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.
460
- * Calculations of measure values (min, max, average, bins).
461
- *
462
- * @param {Object} axis - x or y axis reference
463
- * @param {Number} value - point's value (x or y)
464
- * @param {Number} offset - amount of pixels
465
- */
455
+ /**
456
+ * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.
457
+ * Calculations of measure values (min, max, average, bins).
458
+ * @private
459
+ * @param {Object} axis - x or y axis reference
460
+ * @param {Number} value - point's value (x or y)
461
+ * @param {Number} offset - amount of pixels
462
+ */
466
463
  getPointPos: function (axis, value, offset) {
467
464
  return axis.toValue(
468
465
  axis.toPixels(value) + offset
469
466
  );
470
467
  },
471
- /*
472
- * Update position of start points
473
- * (startXMin, startXMax, startYMin, startYMax)
474
- *
475
- * @param {Boolean} redraw - flag if shape is redraw
476
- * @param {Boolean} resize - flag if shape is resized
477
- * @param {Boolean} cpIndex - index of controlPoint
478
- */
468
+ /**
469
+ * Update position of start points
470
+ * (startXMin, startXMax, startYMin, startYMax)
471
+ * @private
472
+ * @param {Boolean} redraw - flag if shape is redraw
473
+ * @param {Boolean} resize - flag if shape is resized
474
+ * @param {Boolean} cpIndex - index of controlPoint
475
+ */
479
476
  updateStartPoints: function (redraw, resize, cpIndex, dx, dy) {
480
477
  var options = this.options.typeOptions,
481
478
  selectType = options.selectType,
@@ -518,19 +515,21 @@ H.extendAnnotation(Measure, null,
518
515
  this.offsetY = 0;
519
516
  }
520
517
  },
521
- /*
522
- * Default formatter of label's content
523
- */
518
+ /**
519
+ * Default formatter of label's content
520
+ * @private
521
+ */
524
522
  defaultFormatter: function () {
525
523
  return 'Min: ' + this.min +
526
524
  '<br>Max: ' + this.max +
527
525
  '<br>Average: ' + this.average +
528
526
  '<br>Bins: ' + this.bins;
529
527
  },
530
- /*
531
- * Set values for xAxisMin, xAxisMax, yAxisMin, yAxisMax, also
532
- * when chart is inverted
533
- */
528
+ /**
529
+ * Set values for xAxisMin, xAxisMax, yAxisMin, yAxisMax, also
530
+ * when chart is inverted
531
+ * @private
532
+ */
534
533
  getExtremes: function (xAxisMin, xAxisMax, yAxisMin, yAxisMax) {
535
534
  return {
536
535
  xAxisMin: Math.min(xAxisMax, xAxisMin),
@@ -539,9 +538,10 @@ H.extendAnnotation(Measure, null,
539
538
  yAxisMax: Math.max(yAxisMax, yAxisMin)
540
539
  };
541
540
  },
542
- /*
543
- * Definitions of calculations (min, max, average, bins)
544
- */
541
+ /**
542
+ * Definitions of calculations (min, max, average, bins)
543
+ * @private
544
+ */
545
545
  min: function () {
546
546
  var min = Infinity,
547
547
  series = this.chart.series,
@@ -167,10 +167,11 @@ H.extendAnnotation(Pitchfork, InfinityLine,
167
167
  /**
168
168
  * A pitchfork annotation.
169
169
  *
170
- * @extends annotations.infinityLine
171
170
  * @sample highcharts/annotations-advanced/pitchfork/
172
171
  * Pitchfork
173
- * @product highstock
172
+ *
173
+ * @extends annotations.infinityLine
174
+ * @product highstock
174
175
  * @optionparent annotations.pitchfork
175
176
  */
176
177
  {
@@ -178,7 +179,7 @@ H.extendAnnotation(Pitchfork, InfinityLine,
178
179
  /**
179
180
  * Inner background options.
180
181
  *
181
- * @extends annotations.crookedLine.shapeOptions
182
+ * @extends annotations.crookedLine.shapeOptions
182
183
  * @excluding height, r, type, width
183
184
  */
184
185
  innerBackground: {
@@ -188,7 +189,7 @@ H.extendAnnotation(Pitchfork, InfinityLine,
188
189
  /**
189
190
  * Outer background options.
190
191
  *
191
- * @extends annotations.crookedLine.shapeOptions
192
+ * @extends annotations.crookedLine.shapeOptions
192
193
  * @excluding height, r, type, width
193
194
  */
194
195
  outerBackground: {
@@ -9,7 +9,7 @@ var Annotation = H.Annotation,
9
9
  * @class
10
10
  * @extends Annotation
11
11
  * @memberOf Highcharts
12
- **/
12
+ */
13
13
  function VerticalLine() {
14
14
  H.Annotation.apply(this, arguments);
15
15
  }
@@ -106,11 +106,12 @@ H.extendAnnotation(VerticalLine, null,
106
106
  /**
107
107
  * A vertical line annotation.
108
108
  *
109
- * @extends annotations.crookedLine
110
- * @excluding labels, shapes, controlPointOptions
111
109
  * @sample highcharts/annotations-advanced/vertical-line/
112
110
  * Vertical line
113
- * @product highstock
111
+ *
112
+ * @extends annotations.crookedLine
113
+ * @excluding labels, shapes, controlPointOptions
114
+ * @product highstock
114
115
  * @optionparent annotations.verticalLine
115
116
  */
116
117
  {
@@ -142,7 +143,7 @@ H.extendAnnotation(VerticalLine, null,
142
143
  /**
143
144
  * Connector options.
144
145
  *
145
- * @extends annotations.crookedLine.shapeOptions
146
+ * @extends annotations.crookedLine.shapeOptions
146
147
  * @excluding height, r, type, width
147
148
  */
148
149
  connector: {
@@ -99,6 +99,10 @@ H.errorMessages = {
99
99
  "title": "Invalid instrument",
100
100
  "text": "<h1>Invalid instrument</h1><p>This happens when you try to use a sonification instrument that is not valid. If you are using a predefined instrument, make sure your spelling is correct.</p>"
101
101
  },
102
+ "31": {
103
+ "title": "Non-unique point or node id",
104
+ "text": "<h1>Non-unique point or node id</h1><p>This error occurs when using the same <code>id</code> for two or more points or nodes.</p>"
105
+ },
102
106
  "meta": {
103
107
  "files": [
104
108
  "errors/10/readme.md",
@@ -122,7 +126,8 @@ H.errorMessages = {
122
126
  "errors/27/readme.md",
123
127
  "errors/28/readme.md",
124
128
  "errors/29/readme.md",
125
- "errors/30/readme.md"
129
+ "errors/30/readme.md",
130
+ "errors/31/readme.md"
126
131
  ]
127
132
  }
128
133
  };
@@ -250,10 +250,12 @@ seriesType(
250
250
  );
251
251
 
252
252
  for (i = 0; i < croppedData.xData.length; i++) {
253
+ // (#10774)
253
254
  croppedDataValues.push([
254
- croppedData.xData[i],
255
- croppedData.yData[i]
256
- ]);
255
+ croppedData.xData[i]
256
+ ].concat(
257
+ H.splat(croppedData.yData[i])
258
+ ));
257
259
  }
258
260
 
259
261
  oldFirstPointIndex = processedData.xData.indexOf(
@@ -171,14 +171,22 @@ H.NodesMixin = {
171
171
  [this.fromNode, this.toNode];
172
172
 
173
173
  others.forEach(function (linkOrNode) {
174
- Point.prototype.setState.apply(linkOrNode, args);
175
-
176
- if (!linkOrNode.isNode) {
177
- if (linkOrNode.fromNode.graphic) {
178
- Point.prototype.setState.apply(linkOrNode.fromNode, args);
179
- }
180
- if (linkOrNode.toNode.graphic) {
181
- Point.prototype.setState.apply(linkOrNode.toNode, args);
174
+ if (linkOrNode.series) {
175
+ Point.prototype.setState.apply(linkOrNode, args);
176
+
177
+ if (!linkOrNode.isNode) {
178
+ if (linkOrNode.fromNode.graphic) {
179
+ Point.prototype.setState.apply(
180
+ linkOrNode.fromNode,
181
+ args
182
+ );
183
+ }
184
+ if (linkOrNode.toNode.graphic) {
185
+ Point.prototype.setState.apply(
186
+ linkOrNode.toNode,
187
+ args
188
+ );
189
+ }
182
190
  }
183
191
  }
184
192
  });
@@ -265,10 +265,10 @@ AccessibilityComponent.prototype = {
265
265
  var rectEl = el.getBoundingClientRect(),
266
266
  rectDiv = div.getBoundingClientRect();
267
267
  return {
268
- x: rectEl.x - rectDiv.x,
269
- y: rectEl.y - rectDiv.y,
270
- width: rectEl.width,
271
- height: rectEl.height
268
+ x: rectEl.left - rectDiv.left,
269
+ y: rectEl.top - rectDiv.top,
270
+ width: rectEl.right - rectEl.left,
271
+ height: rectEl.bottom - rectEl.top
272
272
  };
273
273
  }
274
274
  },
@@ -249,12 +249,21 @@ KeyboardNavigation.prototype = {
249
249
  */
250
250
  addExitAnchor: function () {
251
251
  var chart = this.chart,
252
+ exitAnchorWrapper = this.exitAnchorWrapper =
253
+ doc.createElement('div'),
252
254
  exitAnchor = this.exitAnchor = doc.createElement('h6'),
253
255
  keyboardNavigation = this,
254
256
  exitAnchorLabel = chart.langFormat(
255
257
  'accessibility.svgContainerEnd', { chart: chart }
256
258
  );
257
259
 
260
+ exitAnchorWrapper.setAttribute('aria-hidden', 'false');
261
+ exitAnchorWrapper.setAttribute(
262
+ 'class', 'highcharts-exit-anchor-wrapper'
263
+ );
264
+ exitAnchorWrapper.style.position = 'relative';
265
+ exitAnchorWrapper.style.outline = 'none';
266
+
258
267
  exitAnchor.setAttribute('tabindex', '0');
259
268
  exitAnchor.setAttribute('aria-label', exitAnchorLabel);
260
269
  exitAnchor.setAttribute('aria-hidden', false);
@@ -264,16 +273,18 @@ KeyboardNavigation.prototype = {
264
273
  position: 'absolute',
265
274
  width: '1px',
266
275
  height: '1px',
276
+ bottom: '5px', // Avoid scrollbars (#10637)
267
277
  zIndex: 0,
268
278
  overflow: 'hidden',
269
279
  outline: 'none'
270
280
  });
271
281
 
272
- chart.renderTo.appendChild(exitAnchor);
282
+ exitAnchorWrapper.appendChild(exitAnchor);
283
+ chart.renderTo.appendChild(exitAnchorWrapper);
273
284
 
274
285
  // Update position on render
275
286
  this.unbindExitAnchorUpdate = addEvent(chart, 'render', function () {
276
- this.renderTo.appendChild(exitAnchor);
287
+ this.renderTo.appendChild(exitAnchorWrapper);
277
288
  });
278
289
 
279
290
  // Handle focus
@@ -338,9 +349,11 @@ KeyboardNavigation.prototype = {
338
349
  this.unbindExitAnchorUpdate();
339
350
  delete this.unbindExitAnchorUpdate;
340
351
  }
341
- if (this.exitAnchor && this.exitAnchor.parentNode) {
342
- this.exitAnchor.parentNode.removeChild(this.exitAnchor);
352
+ if (this.exitAnchorWrapper && this.exitAnchorWrapper.parentNode) {
353
+ this.exitAnchorWrapper.parentNode
354
+ .removeChild(this.exitAnchorWrapper);
343
355
  delete this.exitAnchor;
356
+ delete this.exitAnchorWrapper;
344
357
  }
345
358
 
346
359
  // Remove keydown handler
@@ -184,7 +184,8 @@ H.extend(RangeSelectorComponent.prototype, /** @lends Highcharts.RangeSelectorCo
184
184
  /**
185
185
  * Get navigation for the range selector input boxes.
186
186
  * @private
187
- * @return {Highcharts.KeyboardNavigationHandler} The module object.
187
+ * @return {Highcharts.KeyboardNavigationHandler}
188
+ * The module object.
188
189
  */
189
190
  getRangeSelectorInputNavigation: function () {
190
191
  var chart = this.chart,
@@ -255,7 +256,7 @@ H.extend(RangeSelectorComponent.prototype, /** @lends Highcharts.RangeSelectorCo
255
256
  /**
256
257
  * Get keyboard navigation handlers for this component.
257
258
  * @return {Array<Highcharts.KeyboardNavigationHandler>}
258
- * List of module objects.
259
+ * List of module objects.
259
260
  */
260
261
  getKeyboardNavigation: function () {
261
262
  return [
@@ -30,6 +30,113 @@ H.Series.prototype.keyboardMoveVertical = true;
30
30
  });
31
31
 
32
32
 
33
+ /**
34
+ * Keep track of forcing markers.
35
+ * @private
36
+ */
37
+ H.addEvent(H.Series, 'render', function () {
38
+ var series = this,
39
+ chart = series.chart,
40
+ options = series.options,
41
+ a11yOptions = chart.options.accessibility || {},
42
+ points = series.points || [],
43
+ dataLength = points.length,
44
+ resetMarkerOptions = series.resetA11yMarkerOptions,
45
+ // We need markers for a11y
46
+ forceMarkers = a11yOptions.enabled &&
47
+ (
48
+ options.accessibility &&
49
+ options.accessibility.enabled
50
+ ) !== false &&
51
+ (
52
+ dataLength < a11yOptions.pointDescriptionThreshold ||
53
+ a11yOptions.pointDescriptionThreshold === false
54
+ );
55
+
56
+ if (forceMarkers) {
57
+ // If markers are explicitly disabled on series, replace with markers
58
+ // that have zero opacity.
59
+ if (options.marker && options.marker.enabled === false) {
60
+ series.a11yMarkersForced = true;
61
+ merge(true, series.options, {
62
+ marker: {
63
+ enabled: true,
64
+ states: {
65
+ normal: {
66
+ opacity: 0
67
+ }
68
+ }
69
+ }
70
+ });
71
+ }
72
+
73
+ // If we have point markers, we need to handle them
74
+ if (series._hasPointMarkers && series.points && series.points.length) {
75
+ var i = dataLength,
76
+ pointOptions;
77
+ while (i--) {
78
+ pointOptions = points[i].options;
79
+ if (pointOptions.marker) {
80
+ if (pointOptions.marker.enabled) {
81
+ // Make sure opacity is overridden to show enabled
82
+ // markers
83
+ merge(true, pointOptions.marker, {
84
+ states: {
85
+ normal: {
86
+ opacity: pointOptions.marker.states &&
87
+ pointOptions.marker.states.normal &&
88
+ pointOptions.marker.states.normal
89
+ .opacity || 1
90
+ }
91
+ }
92
+ });
93
+ } else {
94
+ // Make sure hidden markers are enabled instead, and
95
+ // opacity is out.
96
+ merge(true, pointOptions.marker, {
97
+ enabled: true,
98
+ states: {
99
+ normal: {
100
+ opacity: 0
101
+ }
102
+ }
103
+ });
104
+ }
105
+ }
106
+ }
107
+ }
108
+
109
+ } else if (series.a11yMarkersForced && resetMarkerOptions) {
110
+ // Series markers should not be forced, and we should reset to old
111
+ // options.
112
+ delete series.a11yMarkersForced;
113
+ merge(true, series.options, {
114
+ marker: {
115
+ enabled: resetMarkerOptions.enabled,
116
+ states: {
117
+ normal: {
118
+ opacity: resetMarkerOptions.states &&
119
+ resetMarkerOptions.states.normal &&
120
+ resetMarkerOptions.states.normal.opacity
121
+ }
122
+ }
123
+ }
124
+ });
125
+ }
126
+ });
127
+
128
+
129
+ /**
130
+ * Keep track of options to reset markers to if no longer forced.
131
+ * @private
132
+ */
133
+ H.addEvent(H.Series, 'afterSetOptions', function (e) {
134
+ this.resetA11yMarkerOptions = merge(
135
+ e.options.marker || {}, this.userOptions.marker || {}
136
+ );
137
+ });
138
+
139
+
33
140
  /**
34
141
  * Get the index of a point in a series. This is needed when using e.g. data
35
142
  * grouping.
@@ -501,9 +608,10 @@ H.extend(SeriesComponent.prototype, /** @lends Highcharts.SeriesComponent */ {
501
608
 
502
609
 
503
610
  /**
504
- * Called on first render/updates to the chart, including options changes.
611
+ * Called on chart render. It is necessary to do this for render in case
612
+ * markers change on zoom/pixel density.
505
613
  */
506
- onChartUpdate: function () {
614
+ onChartRender: function () {
507
615
  var component = this,
508
616
  chart = this.chart;
509
617
  chart.series.forEach(function (series) {
@@ -306,7 +306,7 @@ H.extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
306
306
  /**
307
307
  * Get keyboard navigation handlers for this component.
308
308
  * @return {Array<Highcharts.KeyboardNavigationHandler>}
309
- * List of module objects
309
+ * List of module objects
310
310
  */
311
311
  getKeyboardNavigation: function () {
312
312
  return [
@@ -63,7 +63,7 @@ var options = {
63
63
  * @type {boolean|number}
64
64
  * @since 5.0.0
65
65
  */
66
- pointDescriptionThreshold: 500, // set to false to disable
66
+ pointDescriptionThreshold: 200, // set to false to disable
67
67
 
68
68
  /**
69
69
  * Whether or not to add a shortcut button in the screen reader
@@ -372,6 +372,7 @@ var options = {
372
372
  * components can be added here.
373
373
  *
374
374
  * @since 7.1.0
375
+ * @type {Array<string>}
375
376
  */
376
377
  order: ['series', 'zoom', 'rangeSelector', 'chartMenu', 'legend'],
377
378
 
@@ -64,44 +64,42 @@ function normalDensity(x, mean, standardDeviation) {
64
64
  * @name Highcharts.seriesTypes.bellcurve
65
65
  *
66
66
  * @augments Highcharts.Series
67
- *
68
- * @mixes DerivedSeriesMixin
69
67
  */
70
68
  seriesType('bellcurve', 'areaspline'
71
69
 
72
70
  /**
73
- * A bell curve is an areaspline series which represents the probability density
74
- * function of the normal distribution. It calculates mean and standard
75
- * deviation of the base series data and plots the curve according to the
76
- * calculated parameters.
77
- *
78
- * @sample {highcharts} highcharts/demo/bellcurve/
79
- * Bell curve
80
- *
81
- * @extends plotOptions.areaspline
82
- * @since 6.0.0
83
- * @product highcharts
84
- * @excluding boostThreshold, connectNulls, stacking, pointInterval,
85
- * pointIntervalUnit
86
- * @optionparent plotOptions.bellcurve
87
- */
71
+ * A bell curve is an areaspline series which represents the probability
72
+ * density function of the normal distribution. It calculates mean and
73
+ * standard deviation of the base series data and plots the curve according
74
+ * to the calculated parameters.
75
+ *
76
+ * @sample {highcharts} highcharts/demo/bellcurve/
77
+ * Bell curve
78
+ *
79
+ * @extends plotOptions.areaspline
80
+ * @since 6.0.0
81
+ * @product highcharts
82
+ * @excluding boostThreshold, connectNulls, stacking, pointInterval,
83
+ * pointIntervalUnit
84
+ * @optionparent plotOptions.bellcurve
85
+ */
88
86
  , {
89
87
  /**
90
- * This option allows to define the length of the bell curve. A unit of the
91
- * length of the bell curve is standard deviation.
92
- *
93
- * @sample highcharts/plotoptions/bellcurve-intervals-pointsininterval
94
- * Intervals and points in interval
95
- */
88
+ * This option allows to define the length of the bell curve. A unit of
89
+ * the length of the bell curve is standard deviation.
90
+ *
91
+ * @sample highcharts/plotoptions/bellcurve-intervals-pointsininterval
92
+ * Intervals and points in interval
93
+ */
96
94
  intervals: 3,
97
95
 
98
96
  /**
99
- * Defines how many points should be plotted within 1 interval. See
100
- * `plotOptions.bellcurve.intervals`.
101
- *
102
- * @sample highcharts/plotoptions/bellcurve-intervals-pointsininterval
103
- * Intervals and points in interval
104
- */
97
+ * Defines how many points should be plotted within 1 interval. See
98
+ * `plotOptions.bellcurve.intervals`.
99
+ *
100
+ * @sample highcharts/plotoptions/bellcurve-intervals-pointsininterval
101
+ * Intervals and points in interval
102
+ */
105
103
  pointsInInterval: 3,
106
104
 
107
105
  marker: {
@@ -136,6 +136,12 @@ function init() {
136
136
  // If we're rendering per. series we should create the marker groups
137
137
  // as usual.
138
138
  if (!chart.isChartSeriesBoosting()) {
139
+ // If all series were boosting, but are not anymore
140
+ // restore private markerGroup
141
+ if (this.markerGroup === chart.markerGroup) {
142
+ this.markerGroup = undefined;
143
+ }
144
+
139
145
  this.markerGroup = series.plotGroup(
140
146
  'markerGroup',
141
147
  'markers',
@@ -144,6 +150,14 @@ function init() {
144
150
  chart.seriesGroup
145
151
  );
146
152
  } else {
153
+ // If series has a private markeGroup, remove that
154
+ // and use common markerGroup
155
+ if (
156
+ this.markerGroup &&
157
+ this.markerGroup !== chart.markerGroup
158
+ ) {
159
+ this.markerGroup.destroy();
160
+ }
147
161
  // Use a single group for the markers
148
162
  this.markerGroup = chart.markerGroup;
149
163
 
@@ -408,11 +408,21 @@ Series.prototype.hasExtremes = function (checkX) {
408
408
  var options = this.options,
409
409
  data = options.data,
410
410
  xAxis = this.xAxis && this.xAxis.options,
411
- yAxis = this.yAxis && this.yAxis.options;
411
+ yAxis = this.yAxis && this.yAxis.options,
412
+ colorAxis = this.colorAxis && this.colorAxis.options;
412
413
 
413
414
  return data.length > (options.boostThreshold || Number.MAX_VALUE) &&
414
- isNumber(yAxis.min) && isNumber(yAxis.max) &&
415
- (!checkX || (isNumber(xAxis.min) && isNumber(xAxis.max)));
415
+ // Defined yAxis extremes
416
+ isNumber(yAxis.min) &&
417
+ isNumber(yAxis.max) &&
418
+ // Defined (and required) xAxis extremes
419
+ (!checkX ||
420
+ (isNumber(xAxis.min) && isNumber(xAxis.max))
421
+ ) &&
422
+ // Defined (e.g. heatmap) colorAxis extremes
423
+ (!colorAxis ||
424
+ (isNumber(colorAxis.min) && isNumber(colorAxis.max))
425
+ );
416
426
  };
417
427
 
418
428
  /**