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
@@ -44,14 +44,18 @@ H.cleanRecursively = function (newer, older) {
44
44
  objectEach(newer, function (val, key) {
45
45
  var ob;
46
46
 
47
- // Dive into objects
48
- if (isObject(newer[key], true) && older[key]) {
47
+ // Dive into objects (except DOM nodes)
48
+ if (
49
+ isObject(newer[key], true) &&
50
+ !newer.nodeType && // #10044
51
+ older[key]
52
+ ) {
49
53
  ob = H.cleanRecursively(newer[key], older[key]);
50
54
  if (Object.keys(ob).length) {
51
55
  result[key] = ob;
52
56
  }
53
57
 
54
- // Arrays or primitives are copied directly
58
+ // Arrays, primitives and DOM nodes are copied directly
55
59
  } else if (isObject(newer[key]) || newer[key] !== older[key]) {
56
60
  result[key] = newer[key];
57
61
  }
@@ -382,16 +386,16 @@ extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
382
386
  * Whether to redraw the chart.
383
387
  *
384
388
  * @param {boolean} [oneToOne=false]
385
- * When `true`, the `series`, `xAxis` and `yAxis` collections will
386
- * be updated one to one, and items will be either added or removed
387
- * to match the new updated options. For example, if the chart has
388
- * two series and we call `chart.update` with a configuration
389
- * containing three series, one will be added. If we call
390
- * `chart.update` with one series, one will be removed. Setting an
391
- * empty `series` array will remove all series, but leaving out the
392
- * `series` property will leave all series untouched. If the series
393
- * have id's, the new series options will be matched by id, and the
394
- * remaining ones removed.
389
+ * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
390
+ * collections will be updated one to one, and items will be either
391
+ * added or removed to match the new updated options. For example,
392
+ * if the chart has two series and we call `chart.update` with a
393
+ * configuration containing three series, one will be added. If we
394
+ * call `chart.update` with one series, one will be removed. Setting
395
+ * an empty `series` array will remove all series, but leaving out
396
+ * the`series` property will leave all series untouched. If the
397
+ * series have id's, the new series options will be matched by id,
398
+ * and the remaining ones removed.
395
399
  *
396
400
  * @param {boolean|Highcharts.AnimationOptionsObject} [animation=true]
397
401
  * Whether to apply animation, and optionally animation
@@ -426,6 +430,8 @@ extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
426
430
 
427
431
  options = H.cleanRecursively(options, chart.options);
428
432
 
433
+ merge(true, chart.userOptions, options);
434
+
429
435
  // If the top-level chart option is present, some special updates are
430
436
  // required
431
437
  optionsChart = options.chart;
@@ -489,6 +495,13 @@ extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
489
495
  merge(true, this.options.plotOptions, options.plotOptions);
490
496
  }
491
497
 
498
+ // Maintaining legacy global time. If the chart is instanciated first
499
+ // with global time, then updated with time options, we need to create a
500
+ // new Time instance to avoid mutating the global time (#10536).
501
+ if (options.time && this.time === H.time) {
502
+ this.time = new H.Time(options.time);
503
+ }
504
+
492
505
  // Some option stuctures correspond one-to-one to chart objects that
493
506
  // have update methods, for example
494
507
  // options.credits => chart.credits
@@ -555,14 +568,19 @@ extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
555
568
  }
556
569
 
557
570
  // If oneToOne and no matching item is found, add one
558
- if (!item && oneToOne) {
559
- if (coll === 'series') {
560
- chart.addSeries(newOptions, false)
561
- .touched = true;
562
- } else if (coll === 'xAxis' || coll === 'yAxis') {
563
- chart.addAxis(newOptions, coll === 'xAxis', false)
564
- .touched = true;
565
- }
571
+ if (!item && oneToOne && chart.collectionsWithInit[coll]) {
572
+ chart.collectionsWithInit[coll][0].apply(
573
+ chart,
574
+ // [newOptions, ...extraArguments, redraw=false]
575
+ [
576
+ newOptions
577
+ ].concat(
578
+ // Not all initializers require extra args
579
+ chart.collectionsWithInit[coll][1] || []
580
+ ).concat([
581
+ false
582
+ ])
583
+ ).touched = true;
566
584
  }
567
585
 
568
586
  });
@@ -657,6 +675,21 @@ extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {
657
675
 
658
676
  });
659
677
 
678
+ /**
679
+ * These collections (arrays) implement `Chart.addSomethig` method used in
680
+ * chart.update() to create new object in the collection. Equivalent for
681
+ * deleting is resolved by simple `Somethig.remove()`.
682
+ *
683
+ * Note: We need to define these references after initializers are bound to
684
+ * chart's prototype.
685
+ */
686
+ Chart.prototype.collectionsWithInit = {
687
+ // collectionName: [ initializingMethod, [extraArguments] ]
688
+ xAxis: [Chart.prototype.addAxis, [true]],
689
+ yAxis: [Chart.prototype.addAxis, [false]],
690
+ series: [Chart.prototype.addSeries]
691
+ };
692
+
660
693
  // extend the Point prototype for dynamic methods
661
694
  extend(Point.prototype, /** @lends Highcharts.Point.prototype */ {
662
695
  /**
@@ -856,8 +889,8 @@ extend(Series.prototype, /** @lends Series.prototype */ {
856
889
  names = xAxis && xAxis.hasNames && xAxis.names,
857
890
  dataOptions = seriesOptions.data,
858
891
  point,
859
- isInTheMiddle,
860
892
  xData = series.xData,
893
+ isInTheMiddle,
861
894
  i,
862
895
  x;
863
896
 
@@ -1109,7 +1142,8 @@ extend(Series.prototype, /** @lends Series.prototype */ {
1109
1142
  groups = [
1110
1143
  'group',
1111
1144
  'markerGroup',
1112
- 'dataLabelsGroup'
1145
+ 'dataLabelsGroup',
1146
+ 'transformGroup'
1113
1147
  ],
1114
1148
  preserve = [
1115
1149
  'navigatorSeries',
@@ -1130,7 +1164,18 @@ extend(Series.prototype, /** @lends Series.prototype */ {
1130
1164
  'points',
1131
1165
  'processedXData',
1132
1166
  'processedYData',
1133
- 'xIncrement'
1167
+ 'xIncrement',
1168
+ '_hasPointMarkers',
1169
+ '_hasPointLabels',
1170
+
1171
+ // Map specific, consider moving it to series-specific preserve-
1172
+ // properties (#10617)
1173
+ 'mapMap',
1174
+ 'mapData',
1175
+ 'minY',
1176
+ 'maxY',
1177
+ 'minX',
1178
+ 'maxX'
1134
1179
  );
1135
1180
  if (options.visible !== false) {
1136
1181
  preserve.push('area', 'graph');
@@ -1197,13 +1242,15 @@ extend(Series.prototype, /** @lends Series.prototype */ {
1197
1242
  } else {
1198
1243
  if (
1199
1244
  seriesOptions.marker &&
1200
- seriesOptions.marker.enabled === false
1245
+ seriesOptions.marker.enabled === false &&
1246
+ !series._hasPointMarkers
1201
1247
  ) {
1202
1248
  kinds.graphic = 1;
1203
1249
  }
1204
1250
  if (
1205
1251
  seriesOptions.dataLabels &&
1206
- seriesOptions.dataLabels.enabled === false
1252
+ seriesOptions.dataLabels.enabled === false &&
1253
+ !series._hasPointLabels
1207
1254
  ) {
1208
1255
  kinds.dataLabel = 1;
1209
1256
  }
@@ -353,7 +353,8 @@ seriesType(
353
353
  outsideRight,
354
354
  yAxis = series.yAxis,
355
355
  boxesMap = {},
356
- boxes = [];
356
+ boxes = [],
357
+ centered;
357
358
 
358
359
  i = points.length;
359
360
  while (i--) {
@@ -375,6 +376,7 @@ seriesType(
375
376
  // skip connectors for higher level stacked points
376
377
  point.anchorX = stackIndex ? undefined : point.plotX;
377
378
  anchorY = stackIndex ? undefined : point.plotY;
379
+ centered = shape !== 'flag';
378
380
 
379
381
  graphic = point.graphic;
380
382
 
@@ -401,7 +403,7 @@ seriesType(
401
403
  }
402
404
 
403
405
  graphic.attr({
404
- align: shape === 'flag' ? 'left' : 'center',
406
+ align: centered ? 'center' : 'left',
405
407
  width: options.width,
406
408
  height: options.height,
407
409
  'text-align': options.textAlign
@@ -442,7 +444,7 @@ seriesType(
442
444
  if (!options.allowOverlapX) {
443
445
  if (!boxesMap[point.plotX]) {
444
446
  boxesMap[point.plotX] = {
445
- align: 0,
447
+ align: centered ? 0.5 : 0,
446
448
  size: graphic.width,
447
449
  target: plotX,
448
450
  anchorX: plotX
@@ -483,7 +485,7 @@ seriesType(
483
485
  point.graphic[
484
486
  point.graphic.isNew ? 'attr' : 'animate'
485
487
  ]({
486
- x: box.pos,
488
+ x: box.pos + box.align * box.size,
487
489
  anchorX: point.anchorX
488
490
  });
489
491
  // Hide flag when its box position is not specified
@@ -1,9 +1,14 @@
1
1
  /* *
2
- * (c) 2010-2019 Torstein Honsi
3
2
  *
4
- * License: www.highcharts.com/license
5
- */
6
-
3
+ * (c) 2010-2019 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ /* globals Image, window */
7
12
  /**
8
13
  * Reference to the global SVGElement class as a workaround for a name conflict
9
14
  * in the Highcharts namespace.
@@ -13,38 +18,21 @@
13
18
  *
14
19
  * @see https://developer.mozilla.org/en-US/docs/Web/API/SVGElement
15
20
  */
16
-
17
- 'use strict';
18
-
19
- /* global win, window */
20
-
21
21
  // glob is a temporary fix to allow our es-modules to work.
22
22
  var glob = typeof win === 'undefined' ?
23
- (typeof window !== 'undefined' ? window : {}) :
24
- win,
25
- doc = glob.document,
26
- SVG_NS = 'http://www.w3.org/2000/svg',
27
- userAgent = (glob.navigator && glob.navigator.userAgent) || '',
28
- svg = (
29
- doc &&
30
- doc.createElementNS &&
31
- !!doc.createElementNS(SVG_NS, 'svg').createSVGRect
32
- ),
33
- isMS = /(edge|msie|trident)/i.test(userAgent) && !glob.opera,
34
- isFirefox = userAgent.indexOf('Firefox') !== -1,
35
- isChrome = userAgent.indexOf('Chrome') !== -1,
36
- hasBidiBug = (
37
- isFirefox &&
38
- parseInt(userAgent.split('Firefox/')[1], 10) < 4 // issue #38
39
- );
40
-
41
- var Highcharts = {
23
+ (typeof window !== 'undefined' ? window : {}) :
24
+ win, doc = glob.document, SVG_NS = 'http://www.w3.org/2000/svg', userAgent = (glob.navigator && glob.navigator.userAgent) || '', svg = (doc &&
25
+ doc.createElementNS &&
26
+ !!doc.createElementNS(SVG_NS, 'svg').createSVGRect), isMS = /(edge|msie|trident)/i.test(userAgent) && !glob.opera, isFirefox = userAgent.indexOf('Firefox') !== -1, isChrome = userAgent.indexOf('Chrome') !== -1, hasBidiBug = (isFirefox &&
27
+ parseInt(userAgent.split('Firefox/')[1], 10) < 4 // issue #38
28
+ );
29
+ var H = {
42
30
  product: '@product.name@',
43
31
  version: '@product.version@',
44
32
  deg2rad: Math.PI * 2 / 360,
45
33
  doc: doc,
46
34
  hasBidiBug: hasBidiBug,
47
- hasTouch: doc && doc.documentElement.ontouchstart !== undefined,
35
+ hasTouch: doc && typeof doc.documentElement.ontouchstart !== 'undefined',
48
36
  isMS: isMS,
49
37
  isWebKit: userAgent.indexOf('AppleWebKit') !== -1,
50
38
  isFirefox: isFirefox,
@@ -58,19 +46,16 @@ var Highcharts = {
58
46
  svg: svg,
59
47
  win: glob,
60
48
  marginNames: ['plotTop', 'marginRight', 'marginBottom', 'plotLeft'],
61
- noop: function () {
62
- return undefined;
63
- },
49
+ noop: function () { },
64
50
  /**
65
51
  * An array containing the current chart objects in the page. A chart's
66
52
  * position in the array is preserved throughout the page's lifetime. When
67
53
  * a chart is destroyed, the array item becomes `undefined`.
68
54
  *
69
55
  * @name Highcharts.charts
70
- * @type {Array<Highcharts.Chart>}
56
+ * @type {Array<Highcharts.Chart|undefined>}
71
57
  */
72
58
  charts: [],
73
-
74
59
  /**
75
60
  * A hook for defining additional date format specifiers. New
76
61
  * specifiers are defined as key-value pairs by using the
@@ -86,5 +71,4 @@ var Highcharts = {
86
71
  */
87
72
  dateFormats: {}
88
73
  };
89
-
90
- export default Highcharts;
74
+ export default H;