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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Highstock as a plugin for Highcharts
5
5
  *
@@ -1079,7 +1079,9 @@
1079
1079
  pick(axis.dataMax, axis.max) // #6930
1080
1080
  ),
1081
1081
  scrollbar = axis.scrollbar,
1082
- titleOffset = axis.titleOffset || 0,
1082
+ offset = axis.axisTitleMargin + (axis.titleOffset || 0),
1083
+ scrollbarsOffsets = axis.chart.scrollbarsOffsets,
1084
+ axisMargin = axis.options.margin || 0,
1083
1085
  offsetsIndex,
1084
1086
  from,
1085
1087
  to;
@@ -1087,49 +1089,62 @@
1087
1089
  if (scrollbar) {
1088
1090
 
1089
1091
  if (axis.horiz) {
1092
+
1093
+ // Reserve space for labels/title
1094
+ if (!axis.opposite) {
1095
+ scrollbarsOffsets[1] += offset;
1096
+ }
1097
+
1090
1098
  scrollbar.position(
1091
1099
  axis.left,
1092
- axis.top + axis.height + 2 +
1093
- axis.chart.scrollbarsOffsets[1] +
1094
- (axis.opposite ?
1095
- 0 :
1096
- titleOffset + axis.axisTitleMargin + axis.offset
1097
- ),
1100
+ axis.top + axis.height + 2 + scrollbarsOffsets[1] -
1101
+ (axis.opposite ? axisMargin : 0),
1098
1102
  axis.width,
1099
1103
  axis.height
1100
1104
  );
1105
+
1106
+ // Next scrollbar should reserve space for margin (if set)
1107
+ if (!axis.opposite) {
1108
+ scrollbarsOffsets[1] += axisMargin;
1109
+ }
1110
+
1101
1111
  offsetsIndex = 1;
1102
1112
  } else {
1113
+
1114
+ // Reserve space for labels/title
1115
+ if (axis.opposite) {
1116
+ scrollbarsOffsets[0] += offset;
1117
+ }
1118
+
1103
1119
  scrollbar.position(
1104
- axis.left + axis.width + 2 +
1105
- axis.chart.scrollbarsOffsets[0] +
1106
- (axis.opposite ?
1107
- titleOffset + axis.axisTitleMargin + axis.offset :
1108
- 0
1109
- ),
1120
+ axis.left + axis.width + 2 + scrollbarsOffsets[0] -
1121
+ (axis.opposite ? 0 : axisMargin),
1110
1122
  axis.top,
1111
1123
  axis.width,
1112
1124
  axis.height
1113
1125
  );
1126
+
1127
+ // Next scrollbar should reserve space for margin (if set)
1128
+ if (axis.opposite) {
1129
+ scrollbarsOffsets[0] += axisMargin;
1130
+ }
1131
+
1114
1132
  offsetsIndex = 0;
1115
1133
  }
1116
1134
 
1117
- if (
1118
- (!axis.opposite && !axis.horiz) || (axis.opposite && axis.horiz)
1119
- ) {
1120
- axis.chart.scrollbarsOffsets[offsetsIndex] +=
1121
- axis.scrollbar.size + axis.scrollbar.options.margin;
1122
- }
1135
+ scrollbarsOffsets[offsetsIndex] += scrollbar.size +
1136
+ scrollbar.options.margin;
1123
1137
 
1124
1138
  if (
1125
1139
  isNaN(scrollMin) ||
1126
1140
  isNaN(scrollMax) ||
1127
1141
  !defined(axis.min) ||
1128
- !defined(axis.max)
1142
+ !defined(axis.max) ||
1143
+ axis.min === axis.max // #10733
1129
1144
  ) {
1130
- // default action: when there is not extremes on the axis, but
1131
- // scrollbar exists, make it full size
1132
- scrollbar.setRange(0, 0);
1145
+ // default action: when extremes are the same or there is not
1146
+ // extremes on the axis, but scrollbar exists, make it full size
1147
+ scrollbar.setRange(0, 1);
1133
1148
  } else {
1134
1149
  from = (axis.min - scrollMin) / (scrollMax - scrollMin);
1135
1150
  to = (axis.max - scrollMin) / (scrollMax - scrollMin);
@@ -4648,13 +4663,25 @@
4648
4663
  }
4649
4664
  });
4650
4665
 
4666
+ // For ordinal axis, that loads data async, redraw axis after data is loaded.
4667
+ // If we don't do that, axis will have the same extremes as previously, but
4668
+ // ordinal positions won't be calculated. See #10290
4669
+ addEvent(Axis, 'afterSetScale', function () {
4670
+ var axis = this;
4671
+
4672
+ if (axis.horiz && !axis.isDirty) {
4673
+ axis.isDirty = axis.isOrdinal &&
4674
+ axis.chart.navigator &&
4675
+ !axis.chart.navigator.adaptToUpdatedData;
4676
+ }
4677
+ });
4651
4678
  /* ************************************************************************** *
4652
4679
  * End ordinal axis logic *
4653
4680
  * ************************************************************************** */
4654
4681
 
4655
4682
  });
4656
4683
  _registerModule(_modules, 'modules/broken-axis.src.js', [_modules['parts/Globals.js']], function (H) {
4657
- /**
4684
+ /* *
4658
4685
  * (c) 2009-2019 Torstein Honsi
4659
4686
  *
4660
4687
  * License: www.highcharts.com/license
@@ -7613,7 +7640,8 @@
7613
7640
  outsideRight,
7614
7641
  yAxis = series.yAxis,
7615
7642
  boxesMap = {},
7616
- boxes = [];
7643
+ boxes = [],
7644
+ centered;
7617
7645
 
7618
7646
  i = points.length;
7619
7647
  while (i--) {
@@ -7635,6 +7663,7 @@
7635
7663
  // skip connectors for higher level stacked points
7636
7664
  point.anchorX = stackIndex ? undefined : point.plotX;
7637
7665
  anchorY = stackIndex ? undefined : point.plotY;
7666
+ centered = shape !== 'flag';
7638
7667
 
7639
7668
  graphic = point.graphic;
7640
7669
 
@@ -7661,7 +7690,7 @@
7661
7690
  }
7662
7691
 
7663
7692
  graphic.attr({
7664
- align: shape === 'flag' ? 'left' : 'center',
7693
+ align: centered ? 'center' : 'left',
7665
7694
  width: options.width,
7666
7695
  height: options.height,
7667
7696
  'text-align': options.textAlign
@@ -7702,7 +7731,7 @@
7702
7731
  if (!options.allowOverlapX) {
7703
7732
  if (!boxesMap[point.plotX]) {
7704
7733
  boxesMap[point.plotX] = {
7705
- align: 0,
7734
+ align: centered ? 0.5 : 0,
7706
7735
  size: graphic.width,
7707
7736
  target: plotX,
7708
7737
  anchorX: plotX
@@ -7743,7 +7772,7 @@
7743
7772
  point.graphic[
7744
7773
  point.graphic.isNew ? 'attr' : 'animate'
7745
7774
  ]({
7746
- x: box.pos,
7775
+ x: box.pos + box.align * box.size,
7747
7776
  anchorX: point.anchorX
7748
7777
  });
7749
7778
  // Hide flag when its box position is not specified
@@ -9249,13 +9278,15 @@
9249
9278
  };
9250
9279
  // Hide away the input box
9251
9280
  input.onblur = function () {
9281
+ // update extermes only when inputs are active
9252
9282
  if (input === H.doc.activeElement) { // Only when focused
9253
9283
  // Update also when no `change` event is triggered, like when
9254
9284
  // clicking inside the SVG (#4710)
9255
9285
  updateExtremes();
9256
- rangeSelector.hideInput(name);
9257
- input.blur(); // #4606
9258
9286
  }
9287
+ // #10404 - move hide and blur outside focus
9288
+ rangeSelector.hideInput(name);
9289
+ input.blur(); // #4606
9259
9290
  };
9260
9291
 
9261
9292
  // handle changes in the input boxes
@@ -9835,7 +9866,7 @@
9835
9866
  time.set(timeName, date, basePeriod + count);
9836
9867
 
9837
9868
  if (basePeriod === time.get(timeName, date)) {
9838
- date.setDate(0); // #6537
9869
+ time.set('Date', date, 0); // #6537
9839
9870
  }
9840
9871
 
9841
9872
  return date.getTime() - base;
@@ -10195,20 +10226,7 @@
10195
10226
  disableStartOnTick = navigatorEnabled ? {
10196
10227
  startOnTick: false,
10197
10228
  endOnTick: false
10198
- } : null,
10199
-
10200
- lineOptions = {
10201
-
10202
- marker: {
10203
- enabled: false,
10204
- radius: 2
10205
- }
10206
- // gapSize: 0
10207
- },
10208
- columnOptions = {
10209
- shadow: false,
10210
- borderWidth: 0
10211
- };
10229
+ } : null;
10212
10230
 
10213
10231
  // apply X axis options to both single and multi y axes
10214
10232
  options.xAxis = splat(options.xAxis || {}).map(function (xAxisOptions, i) {
@@ -10298,19 +10316,6 @@
10298
10316
  },
10299
10317
  legend: {
10300
10318
  enabled: false
10301
- },
10302
-
10303
- plotOptions: {
10304
- line: lineOptions,
10305
- spline: lineOptions,
10306
- area: lineOptions,
10307
- areaspline: lineOptions,
10308
- arearange: lineOptions,
10309
- areasplinerange: lineOptions,
10310
- column: columnOptions,
10311
- columnrange: columnOptions,
10312
- candlestick: columnOptions,
10313
- ohlc: columnOptions
10314
10319
  }
10315
10320
 
10316
10321
  },
@@ -10329,6 +10334,40 @@
10329
10334
  new Chart(options, b);
10330
10335
  };
10331
10336
 
10337
+ // Handle som Stock-specific series defaults, override the plotOptions before
10338
+ // series options are handled.
10339
+ addEvent(Series, 'setOptions', function (e) {
10340
+ var series = this,
10341
+ overrides;
10342
+
10343
+ function is(type) {
10344
+ return H.seriesTypes[type] && series instanceof H.seriesTypes[type];
10345
+ }
10346
+ if (this.chart.options.isStock) {
10347
+
10348
+ if (is('column') || is('columnrange')) {
10349
+ overrides = {
10350
+ borderWidth: 0,
10351
+ shadow: false
10352
+ };
10353
+
10354
+ } else if (is('line') && !is('scatter') && !is('sma')) {
10355
+ overrides = {
10356
+ marker: {
10357
+ enabled: false,
10358
+ radius: 2
10359
+ }
10360
+ };
10361
+ }
10362
+ if (overrides) {
10363
+ e.plotOptions[this.type] = merge(
10364
+ e.plotOptions[this.type],
10365
+ overrides
10366
+ );
10367
+ }
10368
+ }
10369
+ });
10370
+
10332
10371
  // Override the automatic label alignment so that the first Y axis' labels
10333
10372
  // are drawn on top of the grid line, and subsequent axes are drawn outside
10334
10373
  addEvent(Axis, 'autoLabelAlign', function (e) {
@@ -10413,8 +10452,13 @@
10413
10452
  });
10414
10453
  }
10415
10454
 
10416
- // Ignore in case of colorAxis or zAxis. #3360, #3524, #6720
10417
- if (axis.coll === 'xAxis' || axis.coll === 'yAxis') {
10455
+ if (
10456
+ // For stock chart, by default render paths across the panes
10457
+ // except the case when `acrossPanes` is disabled by user (#6644)
10458
+ (chart.options.isStock && e.acrossPanes !== false) &&
10459
+ // Ignore in case of colorAxis or zAxis. #3360, #3524, #6720
10460
+ axis.coll === 'xAxis' || axis.coll === 'yAxis'
10461
+ ) {
10418
10462
 
10419
10463
  e.preventDefault();
10420
10464
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Streamgraph module
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Streamgraph module
5
5
  *
@@ -51,17 +51,17 @@
51
51
  seriesType('streamgraph', 'areaspline'
52
52
 
53
53
  /**
54
- * A streamgraph is a type of stacked area graph which is displaced around a
55
- * central axis, resulting in a flowing, organic shape.
56
- *
57
- * @sample {highcharts|highstock} highcharts/demo/streamgraph/
58
- * Streamgraph
59
- *
60
- * @extends plotOptions.areaspline
61
- * @since 6.0.0
62
- * @product highcharts highstock
63
- * @optionparent plotOptions.streamgraph
64
- */
54
+ * A streamgraph is a type of stacked area graph which is displaced around a
55
+ * central axis, resulting in a flowing, organic shape.
56
+ *
57
+ * @sample {highcharts|highstock} highcharts/demo/streamgraph/
58
+ * Streamgraph
59
+ *
60
+ * @extends plotOptions.areaspline
61
+ * @since 6.0.0
62
+ * @product highcharts highstock
63
+ * @optionparent plotOptions.streamgraph
64
+ */
65
65
  , {
66
66
  fillOpacity: 1,
67
67
  lineWidth: 0,
@@ -1,54 +1,54 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  (c) 2016-2019 Highsoft AS
5
5
  Authors: Jon Arild Nygard
6
6
 
7
7
  License: www.highcharts.com/license
8
8
  */
9
- (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(w){d(w);d.Highcharts=w;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function w(b,k,d,h){b.hasOwnProperty(k)||(b[k]=h.apply(null,d))}d=d?d._modules:{};w(d,"mixins/draw-point.js",[],function(){var b=function(b){var d=this,h=d.graphic,k=b.animatableAttribs,E=b.onComplete,v=b.css,G=b.renderer;
10
- if(d.shouldDraw())h||(d.graphic=h=G[b.shapeType](b.shapeArgs).add(b.group)),h.css(v).attr(b.attribs).animate(k,b.isNew?!1:void 0,E);else if(h){var q=function(){d.graphic=h=h.destroy();"function"===typeof E&&E()};Object.keys(k).length?h.animate(k,void 0,function(){q()}):q()}};return function(d){(d.attribs=d.attribs||{})["class"]=this.getClassName();b.call(this,d)}});w(d,"mixins/tree-series.js",[d["parts/Globals.js"]],function(b){var d=b.extend,w=b.isArray,h=b.isObject,M=b.isNumber,E=b.merge,v=b.pick;
11
- return{getColor:function(d,q){var C=q.index,g=q.mapOptionsToLevel,h=q.parentColor,G=q.parentColorIndex,H=q.series,D=q.colors,k=q.siblings,m=H.points,A=H.chart.options.chart,u,z,e,p;if(d){m=m[d.i];d=g[d.level]||{};if(g=m&&d.colorByPoint)z=m.index%(D?D.length:A.colorCount),u=D&&D[z];if(!H.chart.styledMode){D=m&&m.options.color;A=d&&d.color;if(e=h)e=(e=d&&d.colorVariation)&&"brightness"===e.key?b.color(h).brighten(C/k*e.to).get():h;e=v(D,A,u,e,H.color)}p=v(m&&m.options.colorIndex,d&&d.colorIndex,z,G,
12
- q.colorIndex)}return{color:e,colorIndex:p}},getLevelOptions:function(b){var q=null,C,g,v,k;if(h(b))for(q={},v=M(b.from)?b.from:1,k=b.levels,g={},C=h(b.defaults)?b.defaults:{},w(k)&&(g=k.reduce(function(b,g){var q,m;h(g)&&M(g.level)&&(m=E({},g),q="boolean"===typeof m.levelIsConstant?m.levelIsConstant:C.levelIsConstant,delete m.levelIsConstant,delete m.level,g=g.level+(q?0:v-1),h(b[g])?d(b[g],m):b[g]=m);return b},{})),k=M(b.to)?b.to:1,b=0;b<=k;b++)q[b]=E({},C,h(g[b])?g[b]:{});return q},setTreeValues:function q(b,
13
- g){var h=g.before,k=g.idRoot,C=g.mapIdToNode[k],D=g.points[b.i],E=D&&D.options||{},m=0,A=[];d(b,{levelDynamic:b.level-(("boolean"===typeof g.levelIsConstant?g.levelIsConstant:1)?0:C.level),name:v(D&&D.name,""),visible:k===b.id||("boolean"===typeof g.visible?g.visible:!1)});"function"===typeof h&&(b=h(b,g));b.children.forEach(function(h,k){var e=d({},g);d(e,{index:k,siblings:b.children.length,visible:b.visible});h=q(h,e);A.push(h);h.visible&&(m+=h.val)});b.visible=0<m||b.visible;h=v(E.value,m);d(b,
14
- {children:A,childrenTotal:m,isLeaf:b.visible&&!m,val:h});return b},updateRootId:function(b){var d;h(b)&&(d=h(b.options)?b.options:{},d=v(b.rootNode,d.rootId,""),h(b.userOptions)&&(b.userOptions.rootId=d),b.rootNode=d);return d}}});w(d,"modules/treemap.src.js",[d["parts/Globals.js"],d["mixins/tree-series.js"],d["mixins/draw-point.js"]],function(b,d,w){var h=b.seriesType,k=b.seriesTypes,E=b.addEvent,v=b.merge,G=b.extend,q=b.error,C=b.defined,g=b.noop,I=b.fireEvent,L=d.getColor,H=d.getLevelOptions,D=
15
- b.isArray,K=b.isNumber,m=b.isObject,A=b.isString,u=b.pick,z=b.Series,e=b.stableSort,p=b.Color,r=function(a,c,f){f=f||this;b.objectEach(a,function(l,n){c.call(f,l,n,a)})},t=function(a,c,f){f=f||this;a=c.call(f,a);!1!==a&&t(a,c,f)},J=d.updateRootId;h("treemap","scatter",{allowTraversingTree:!1,animationLimit:250,showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{defer:!1,enabled:!0,formatter:function(){var a=this&&this.point?this.point:{};return A(a.name)?a.name:""},inside:!0,verticalAlign:"middle"},
9
+ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(x){d(x);d.Highcharts=x;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function x(b,k,d,h){b.hasOwnProperty(k)||(b[k]=h.apply(null,d))}d=d?d._modules:{};x(d,"mixins/draw-point.js",[],function(){var b=function(b){var d=this,h=d.graphic,k=b.animatableAttribs,E=b.onComplete,w=b.css,F=b.renderer;
10
+ if(d.shouldDraw())h||(d.graphic=h=F[b.shapeType](b.shapeArgs).add(b.group)),h.css(w).attr(b.attribs).animate(k,b.isNew?!1:void 0,E);else if(h){var q=function(){d.graphic=h=h.destroy();"function"===typeof E&&E()};Object.keys(k).length?h.animate(k,void 0,function(){q()}):q()}};return function(d){(d.attribs=d.attribs||{})["class"]=this.getClassName();b.call(this,d)}});x(d,"mixins/tree-series.js",[d["parts/Globals.js"]],function(b){var d=b.extend,x=b.isArray,h=b.isObject,M=b.isNumber,E=b.merge,w=b.pick;
11
+ return{getColor:function(d,q){var C=q.index,g=q.mapOptionsToLevel,h=q.parentColor,F=q.parentColorIndex,G=q.series,D=q.colors,k=q.siblings,p=G.points,y=G.chart.options.chart,u,z,e,n;if(d){p=p[d.i];d=g[d.level]||{};if(g=p&&d.colorByPoint)z=p.index%(D?D.length:y.colorCount),u=D&&D[z];if(!G.chart.styledMode){D=p&&p.options.color;y=d&&d.color;if(e=h)e=(e=d&&d.colorVariation)&&"brightness"===e.key?b.color(h).brighten(C/k*e.to).get():h;e=w(D,y,u,e,G.color)}n=w(p&&p.options.colorIndex,d&&d.colorIndex,z,F,
12
+ q.colorIndex)}return{color:e,colorIndex:n}},getLevelOptions:function(b){var q=null,C,g,w,k;if(h(b))for(q={},w=M(b.from)?b.from:1,k=b.levels,g={},C=h(b.defaults)?b.defaults:{},x(k)&&(g=k.reduce(function(b,g){var q,p;h(g)&&M(g.level)&&(p=E({},g),q="boolean"===typeof p.levelIsConstant?p.levelIsConstant:C.levelIsConstant,delete p.levelIsConstant,delete p.level,g=g.level+(q?0:w-1),h(b[g])?d(b[g],p):b[g]=p);return b},{})),k=M(b.to)?b.to:1,b=0;b<=k;b++)q[b]=E({},C,h(g[b])?g[b]:{});return q},setTreeValues:function q(b,
13
+ g){var h=g.before,k=g.idRoot,C=g.mapIdToNode[k],D=g.points[b.i],E=D&&D.options||{},p=0,y=[];d(b,{levelDynamic:b.level-(("boolean"===typeof g.levelIsConstant?g.levelIsConstant:1)?0:C.level),name:w(D&&D.name,""),visible:k===b.id||("boolean"===typeof g.visible?g.visible:!1)});"function"===typeof h&&(b=h(b,g));b.children.forEach(function(h,k){var e=d({},g);d(e,{index:k,siblings:b.children.length,visible:b.visible});h=q(h,e);y.push(h);h.visible&&(p+=h.val)});b.visible=0<p||b.visible;h=w(E.value,p);d(b,
14
+ {children:y,childrenTotal:p,isLeaf:b.visible&&!p,val:h});return b},updateRootId:function(b){var d;h(b)&&(d=h(b.options)?b.options:{},d=w(b.rootNode,d.rootId,""),h(b.userOptions)&&(b.userOptions.rootId=d),b.rootNode=d);return d}}});x(d,"modules/treemap.src.js",[d["parts/Globals.js"],d["mixins/tree-series.js"],d["mixins/draw-point.js"]],function(b,d,x){var h=b.seriesType,k=b.seriesTypes,E=b.addEvent,w=b.merge,F=b.extend,q=b.error,C=b.defined,g=b.noop,I=b.fireEvent,L=d.getColor,G=d.getLevelOptions,D=
15
+ b.isArray,K=b.isNumber,p=b.isObject,y=b.isString,u=b.pick,z=b.Series,e=b.stableSort,n=b.Color,t=function(a,c,f){f=f||this;b.objectEach(a,function(m,l){c.call(f,m,l,a)})},r=function(a,c,f){f=f||this;a=c.call(f,a);!1!==a&&r(a,c,f)},J=d.updateRootId;h("treemap","scatter",{allowTraversingTree:!1,animationLimit:250,showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{defer:!1,enabled:!0,formatter:function(){var a=this&&this.point?this.point:{};return y(a.name)?a.name:""},inside:!0,verticalAlign:"middle"},
16
16
  tooltip:{headerFormat:"",pointFormat:"\x3cb\x3e{point.name}\x3c/b\x3e: {point.value}\x3cbr/\x3e"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:k.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}}},{pointArrayMap:["value"],
17
- directTouch:!0,optionalAxis:"colorAxis",getSymbol:g,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(a,c){a=D(a)?a:[];var f=D(c)?c:[];c=a.reduce(function(a,c,f){c=u(c.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(f);return a},{"":[]});r(c,function(a,c,b){""!==c&&-1===f.indexOf(c)&&(a.forEach(function(a){b[""].push(a)}),delete b[c])});return c},getTree:function(){var a=this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,
17
+ directTouch:!0,optionalAxis:"colorAxis",getSymbol:g,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(a,c){a=D(a)?a:[];var f=D(c)?c:[];c=a.reduce(function(a,c,f){c=u(c.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(f);return a},{"":[]});t(c,function(a,c,b){""!==c&&-1===f.indexOf(c)&&(a.forEach(function(a){b[""].push(a)}),delete b[c])});return c},getTree:function(){var a=this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,
18
18
  a);this.nodeMap=[];return this.buildNode("",-1,0,a,null)},hasData:function(){return!!this.processedXData.length},init:function(a,c){var f=b.colorSeriesMixin;b.colorSeriesMixin&&(this.translateColors=f.translateColors,this.colorAttribs=f.colorAttribs,this.axisTypes=f.axisTypes);E(this,"setOptions",function(a){a=a.userOptions;C(a.allowDrillToNode)&&!C(a.allowTraversingTree)&&(a.allowTraversingTree=a.allowDrillToNode,delete a.allowDrillToNode);C(a.drillUpButton)&&!C(a.traverseUpButton)&&(a.traverseUpButton=
19
- a.drillUpButton,delete a.drillUpButton)});z.prototype.init.call(this,a,c);this.options.allowTraversingTree&&E(this,"click",this.onClickDrillToNode)},buildNode:function(a,c,f,b,n){var l=this,e=[],d=l.points[c],F=0,N;(b[a]||[]).forEach(function(c){N=l.buildNode(l.points[c].id,c,f+1,b,a);F=Math.max(N.height+1,F);e.push(N)});c={id:a,i:c,children:e,height:F,level:f,parent:n,visible:!1};l.nodeMap[c.id]=c;d&&(d.node=c);return c},setTreeValues:function(a){var c=this,f=c.options,b=c.nodeMap[c.rootNode],f=
20
- "boolean"===typeof f.levelIsConstant?f.levelIsConstant:!0,n=0,x=[],d,y=c.points[a.i];a.children.forEach(function(a){a=c.setTreeValues(a);x.push(a);a.ignore||(n+=a.val)});e(x,function(a,c){return a.sortIndex-c.sortIndex});d=u(y&&y.options.value,n);y&&(y.value=d);G(a,{children:x,childrenTotal:n,ignore:!(u(y&&y.visible,!0)&&0<d),isLeaf:a.visible&&!n,levelDynamic:a.level-(f?0:b.level),name:u(y&&y.name,""),sortIndex:u(y&&y.sortIndex,-d),val:d});return a},calculateChildrenAreas:function(a,c){var f=this,
21
- b=f.options,n=f.mapOptionsToLevel[a.level+1],e=u(f[n&&n.layoutAlgorithm]&&n.layoutAlgorithm,b.layoutAlgorithm),d=b.alternateStartingDirection,y=[];a=a.children.filter(function(a){return!a.ignore});n&&n.layoutStartingDirection&&(c.direction="vertical"===n.layoutStartingDirection?0:1);y=f[e](c,a);a.forEach(function(a,b){b=y[b];a.values=v(b,{val:a.childrenTotal,direction:d?1-c.direction:c.direction});a.pointValues=v(b,{x:b.x/f.axisRatio,width:b.width/f.axisRatio});a.children.length&&f.calculateChildrenAreas(a,
22
- a.values)})},setPointValues:function(){var a=this,c=a.xAxis,f=a.yAxis;a.points.forEach(function(b){var n=b.node,e=n.pointValues,l,d,p=0;a.chart.styledMode||(p=(a.pointAttribs(b)["stroke-width"]||0)%2/2);e&&n.visible?(n=Math.round(c.translate(e.x,0,0,0,1))-p,l=Math.round(c.translate(e.x+e.width,0,0,0,1))-p,d=Math.round(f.translate(e.y,0,0,0,1))-p,e=Math.round(f.translate(e.y+e.height,0,0,0,1))-p,b.shapeArgs={x:Math.min(n,l),y:Math.min(d,e),width:Math.abs(l-n),height:Math.abs(e-d)},b.plotX=b.shapeArgs.x+
23
- b.shapeArgs.width/2,b.plotY=b.shapeArgs.y+b.shapeArgs.height/2):(delete b.plotX,delete b.plotY)})},setColorRecursive:function(a,c,b,e,n){var f=this,l=f&&f.chart,l=l&&l.options&&l.options.colors,d;if(a){d=L(a,{colors:l,index:e,mapOptionsToLevel:f.mapOptionsToLevel,parentColor:c,parentColorIndex:b,series:f,siblings:n});if(c=f.points[a.i])c.color=d.color,c.colorIndex=d.colorIndex;(a.children||[]).forEach(function(c,b){f.setColorRecursive(c,d.color,d.colorIndex,b,a.children.length)})}},algorithmGroup:function(a,
19
+ a.drillUpButton,delete a.drillUpButton)});z.prototype.init.call(this,a,c);this.options.allowTraversingTree&&E(this,"click",this.onClickDrillToNode)},buildNode:function(a,c,f,b,l){var m=this,e=[],d=m.points[c],n=0,N;(b[a]||[]).forEach(function(c){N=m.buildNode(m.points[c].id,c,f+1,b,a);n=Math.max(N.height+1,n);e.push(N)});c={id:a,i:c,children:e,height:n,level:f,parent:l,visible:!1};m.nodeMap[c.id]=c;d&&(d.node=c);return c},setTreeValues:function(a){var c=this,f=c.options,b=c.nodeMap[c.rootNode],f=
20
+ "boolean"===typeof f.levelIsConstant?f.levelIsConstant:!0,l=0,A=[],d,v=c.points[a.i];a.children.forEach(function(a){a=c.setTreeValues(a);A.push(a);a.ignore||(l+=a.val)});e(A,function(a,c){return a.sortIndex-c.sortIndex});d=u(v&&v.options.value,l);v&&(v.value=d);F(a,{children:A,childrenTotal:l,ignore:!(u(v&&v.visible,!0)&&0<d),isLeaf:a.visible&&!l,levelDynamic:a.level-(f?0:b.level),name:u(v&&v.name,""),sortIndex:u(v&&v.sortIndex,-d),val:d});return a},calculateChildrenAreas:function(a,c){var f=this,
21
+ b=f.options,l=f.mapOptionsToLevel[a.level+1],e=u(f[l&&l.layoutAlgorithm]&&l.layoutAlgorithm,b.layoutAlgorithm),d=b.alternateStartingDirection,v=[];a=a.children.filter(function(a){return!a.ignore});l&&l.layoutStartingDirection&&(c.direction="vertical"===l.layoutStartingDirection?0:1);v=f[e](c,a);a.forEach(function(a,b){b=v[b];a.values=w(b,{val:a.childrenTotal,direction:d?1-c.direction:c.direction});a.pointValues=w(b,{x:b.x/f.axisRatio,width:b.width/f.axisRatio});a.children.length&&f.calculateChildrenAreas(a,
22
+ a.values)})},setPointValues:function(){var a=this,c=a.xAxis,f=a.yAxis;a.points.forEach(function(b){var l=b.node,e=l.pointValues,m,d,n=0;a.chart.styledMode||(n=(a.pointAttribs(b)["stroke-width"]||0)%2/2);e&&l.visible?(l=Math.round(c.translate(e.x,0,0,0,1))-n,m=Math.round(c.translate(e.x+e.width,0,0,0,1))-n,d=Math.round(f.translate(e.y,0,0,0,1))-n,e=Math.round(f.translate(e.y+e.height,0,0,0,1))-n,b.shapeArgs={x:Math.min(l,m),y:Math.min(d,e),width:Math.abs(m-l),height:Math.abs(e-d)},b.plotX=b.shapeArgs.x+
23
+ b.shapeArgs.width/2,b.plotY=b.shapeArgs.y+b.shapeArgs.height/2):(delete b.plotX,delete b.plotY)})},setColorRecursive:function(a,c,b,e,l){var f=this,m=f&&f.chart,m=m&&m.options&&m.options.colors,d;if(a){d=L(a,{colors:m,index:e,mapOptionsToLevel:f.mapOptionsToLevel,parentColor:c,parentColorIndex:b,series:f,siblings:l});if(c=f.points[a.i])c.color=d.color,c.colorIndex=d.colorIndex;(a.children||[]).forEach(function(c,b){f.setColorRecursive(c,d.color,d.colorIndex,b,a.children.length)})}},algorithmGroup:function(a,
24
24
  c,b,e){this.height=a;this.width=c;this.plot=e;this.startDirection=this.direction=b;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,c){return Math.max(a/c,c/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/
25
- this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,c,f,e){var n,l,d,p,h=f.lW,r=f.lH,g=f.plot,t,m=0,k=f.elArr.length-1;c?(h=f.nW,r=f.nH):t=f.elArr[f.elArr.length-
26
- 1];f.elArr.forEach(function(a){if(c||m<k)0===f.direction?(n=g.x,l=g.y,d=h,p=a/d):(n=g.x,l=g.y,p=r,d=a/p),e.push({x:n,y:l,width:d,height:b.correctFloat(p)}),0===f.direction?g.y+=p:g.x+=d;m+=1});f.reset();0===f.direction?f.width-=h:f.height-=r;g.y=g.parent.y+(g.parent.height-f.height);g.x=g.parent.x+(g.parent.width-f.width);a&&(f.direction=1-f.direction);c||f.addElement(t)},algorithmLowAspectRatio:function(a,c,b){var f=[],e=this,d,p={x:c.x,y:c.y,parent:c},g=0,h=b.length-1,r=new this.algorithmGroup(c.height,
27
- c.width,c.direction,p);b.forEach(function(b){d=b.val/c.val*c.height*c.width;r.addElement(d);r.lP.nR>r.lP.lR&&e.algorithmCalcPoints(a,!1,r,f,p);g===h&&e.algorithmCalcPoints(a,!0,r,f,p);g+=1});return f},algorithmFill:function(a,c,b){var f=[],e,d=c.direction,p=c.x,g=c.y,r=c.width,h=c.height,t,m,k,q;b.forEach(function(b){e=b.val/c.val*c.height*c.width;t=p;m=g;0===d?(q=h,k=e/q,r-=k,p+=k):(k=r,q=e/k,h-=q,g+=q);f.push({x:t,y:m,width:k,height:q});a&&(d=1-d)});return f},strip:function(a,c){return this.algorithmLowAspectRatio(!1,
28
- a,c)},squarified:function(a,c){return this.algorithmLowAspectRatio(!0,a,c)},sliceAndDice:function(a,c){return this.algorithmFill(!0,a,c)},stripes:function(a,c){return this.algorithmFill(!1,a,c)},translate:function(){var a=this,c=a.options,b=J(a),e,d;z.prototype.translate.call(a);d=a.tree=a.getTree();e=a.nodeMap[b];a.renderTraverseUpButton(b);a.mapOptionsToLevel=H({from:e.level+1,levels:c.levels,to:d.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:c.colorByPoint}});""===b||
29
- e&&e.children.length||(a.setRootNode("",!1),b=a.rootNode,e=a.nodeMap[b]);t(a.nodeMap[a.rootNode],function(c){var b=!1,e=c.parent;c.visible=!0;if(e||""===e)b=a.nodeMap[e];return b});t(a.nodeMap[a.rootNode].children,function(a){var c=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(c=(c||[]).concat(a.children))});return c});a.setTreeValues(d);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=b={x:0,y:0,width:100,height:100};a.nodeMap[""].values=b=v(b,{width:b.width*a.axisRatio,
30
- direction:"vertical"===c.layoutStartingDirection?0:1,val:d.val});a.calculateChildrenAreas(d,b);a.colorAxis?a.translateColors():c.colorByPoint||a.setColorRecursive(a.tree);c.allowTraversingTree&&(c=e.pointValues,a.xAxis.setExtremes(c.x,c.x+c.width,!1),a.yAxis.setExtremes(c.y,c.y+c.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,c=a.mapOptionsToLevel,b,e;a.points.filter(function(a){return a.node.visible}).forEach(function(f){e=c[f.node.level];
31
- b={style:{}};f.node.isLeaf||(b.enabled=!1);e&&e.dataLabels&&(b=v(b,e.dataLabels),a._hasPointLabels=!0);f.shapeArgs&&(b.style.width=f.shapeArgs.width,f.dataLabel&&f.dataLabel.css({width:f.shapeArgs.width+"px"}));f.dlOptions=v(b,f.options.dataLabels)});z.prototype.drawDataLabels.call(this)},alignDataLabel:function(a,c,e){var f=e.style;!b.defined(f.textOverflow)&&c.text&&c.getBBox().width>c.text.textWidth&&c.css({textOverflow:"ellipsis",width:f.width+="px"});k.column.prototype.alignDataLabel.apply(this,
32
- arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,c){var b=m(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},e=a&&b[a.node.level]||{},b=this.options,d=c&&b.states[c]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||e.borderColor||d.borderColor||b.borderColor,"stroke-width":u(a&&a.borderWidth,e.borderWidth,d.borderWidth,b.borderWidth),dashstyle:a&&a.borderDashStyle||e.borderDashStyle||d.borderDashStyle||b.borderDashStyle,fill:a&&a.color||this.color};
33
- -1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(c=u(d.opacity,b.opacity),a.fill=p(a.fill).setOpacity(c).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":c&&(a.fill=p(a.fill).brighten(d.brightness).get());return a},drawPoints:function(){var a=this,c=a.chart,b=c.renderer,e=c.styledMode,d=a.options,p=e?{}:d.shadow,g=d.borderRadius,r=c.pointCount<d.animationLimit,h=d.allowTraversingTree;
34
- a.points.forEach(function(c){var f=c.node.levelDynamic,l={},n={},k={},t="level-group-"+f,m=!!c.graphic,q=r&&m,x=c.shapeArgs;c.shouldDraw()&&(g&&(n.r=g),v(!0,q?l:n,m?x:{},e?{}:a.pointAttribs(c,c.selected&&"select")),a.colorAttribs&&e&&G(k,a.colorAttribs(c)),a[t]||(a[t]=b.g(t).attr({zIndex:1E3-f}).add(a.group)));c.draw({animatableAttribs:l,attribs:n,css:k,group:a[t],renderer:b,shadow:p,shapeArgs:x,shapeType:"rect"});h&&c.graphic&&(c.drillId=d.interactByLeaf?a.drillToByLeaf(c):a.drillToByGroup(c))})},
35
- onClickDrillToNode:function(a){var c=(a=a.point)&&a.drillId;A(c)&&(a.setState(""),this.setRootNode(c,!0,{trigger:"click"}))},drillToByGroup:function(a){var c=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(c=a.id);return c},drillToByLeaf:function(a){var c=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!c;)a=this.nodeMap[a.parent],a.parent===this.rootNode&&(c=a.id);return c},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&A(a.parent)&&this.setRootNode(a.parent,
36
- !0,{trigger:"traverseUpButton"})},drillToNode:function(a,c){q("WARNING: treemap.drillToNode has been renamed to treemap.setRootNode, and will be removed in the next major version.");this.setRootNode(a,c)},setRootNode:function(a,c,b){a=G({newRootId:a,previousRootId:this.rootNode,redraw:u(c,!0),series:this},b);I(this,"setRootNode",a,function(a){var c=a.series;c.idPreviousRoot=a.previousRootId;c.rootNode=a.newRootId;c.isDirty=!0;a.redraw&&c.chart.redraw()})},renderTraverseUpButton:function(a){var c=
25
+ this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,c,f,e){var l,m,d,n,t=f.lW,h=f.lH,g=f.plot,r,p=0,k=f.elArr.length-1;c?(t=f.nW,h=f.nH):r=f.elArr[f.elArr.length-
26
+ 1];f.elArr.forEach(function(a){if(c||p<k)0===f.direction?(l=g.x,m=g.y,d=t,n=a/d):(l=g.x,m=g.y,n=h,d=a/n),e.push({x:l,y:m,width:d,height:b.correctFloat(n)}),0===f.direction?g.y+=n:g.x+=d;p+=1});f.reset();0===f.direction?f.width-=t:f.height-=h;g.y=g.parent.y+(g.parent.height-f.height);g.x=g.parent.x+(g.parent.width-f.width);a&&(f.direction=1-f.direction);c||f.addElement(r)},algorithmLowAspectRatio:function(a,c,b){var f=[],e=this,d,n={x:c.x,y:c.y,parent:c},g=0,t=b.length-1,h=new this.algorithmGroup(c.height,
27
+ c.width,c.direction,n);b.forEach(function(b){d=b.val/c.val*c.height*c.width;h.addElement(d);h.lP.nR>h.lP.lR&&e.algorithmCalcPoints(a,!1,h,f,n);g===t&&e.algorithmCalcPoints(a,!0,h,f,n);g+=1});return f},algorithmFill:function(a,c,b){var f=[],e,d=c.direction,n=c.x,g=c.y,h=c.width,t=c.height,r,p,k,q;b.forEach(function(b){e=b.val/c.val*c.height*c.width;r=n;p=g;0===d?(q=t,k=e/q,h-=k,n+=k):(k=h,q=e/k,t-=q,g+=q);f.push({x:r,y:p,width:k,height:q});a&&(d=1-d)});return f},strip:function(a,c){return this.algorithmLowAspectRatio(!1,
28
+ a,c)},squarified:function(a,c){return this.algorithmLowAspectRatio(!0,a,c)},sliceAndDice:function(a,c){return this.algorithmFill(!0,a,c)},stripes:function(a,c){return this.algorithmFill(!1,a,c)},translate:function(){var a=this,c=a.options,b=J(a),e,l;z.prototype.translate.call(a);l=a.tree=a.getTree();e=a.nodeMap[b];a.renderTraverseUpButton(b);a.mapOptionsToLevel=G({from:e.level+1,levels:c.levels,to:l.height,defaults:{levelIsConstant:a.options.levelIsConstant,colorByPoint:c.colorByPoint}});""===b||
29
+ e&&e.children.length||(a.setRootNode("",!1),b=a.rootNode,e=a.nodeMap[b]);r(a.nodeMap[a.rootNode],function(c){var b=!1,e=c.parent;c.visible=!0;if(e||""===e)b=a.nodeMap[e];return b});r(a.nodeMap[a.rootNode].children,function(a){var c=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(c=(c||[]).concat(a.children))});return c});a.setTreeValues(l);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=b={x:0,y:0,width:100,height:100};a.nodeMap[""].values=b=w(b,{width:b.width*a.axisRatio,
30
+ direction:"vertical"===c.layoutStartingDirection?0:1,val:l.val});a.calculateChildrenAreas(l,b);a.colorAxis?a.translateColors():c.colorByPoint||a.setColorRecursive(a.tree);c.allowTraversingTree&&(c=e.pointValues,a.xAxis.setExtremes(c.x,c.x+c.width,!1),a.yAxis.setExtremes(c.y,c.y+c.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,c=a.mapOptionsToLevel,b,e;a.points.filter(function(a){return a.node.visible}).forEach(function(f){e=c[f.node.level];
31
+ b={style:{}};f.node.isLeaf||(b.enabled=!1);e&&e.dataLabels&&(b=w(b,e.dataLabels),a._hasPointLabels=!0);f.shapeArgs&&(b.style.width=f.shapeArgs.width,f.dataLabel&&f.dataLabel.css({width:f.shapeArgs.width+"px"}));f.dlOptions=w(b,f.options.dataLabels)});z.prototype.drawDataLabels.call(this)},alignDataLabel:function(a,c,e){var f=e.style;!b.defined(f.textOverflow)&&c.text&&c.getBBox().width>c.text.textWidth&&c.css({textOverflow:"ellipsis",width:f.width+="px"});k.column.prototype.alignDataLabel.apply(this,
32
+ arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,c){var b=p(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},e=a&&b[a.node.level]||{},b=this.options,d=c&&b.states[c]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||e.borderColor||d.borderColor||b.borderColor,"stroke-width":u(a&&a.borderWidth,e.borderWidth,d.borderWidth,b.borderWidth),dashstyle:a&&a.borderDashStyle||e.borderDashStyle||d.borderDashStyle||b.borderDashStyle,fill:a&&a.color||this.color};
33
+ -1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(c=u(d.opacity,b.opacity),a.fill=n(a.fill).setOpacity(c).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":c&&(a.fill=n(a.fill).brighten(d.brightness).get());return a},drawPoints:function(){var a=this,c=a.chart,b=c.renderer,e=c.styledMode,d=a.options,n=e?{}:d.shadow,g=d.borderRadius,h=c.pointCount<d.animationLimit,t=d.allowTraversingTree;
34
+ a.points.forEach(function(c){var f=c.node.levelDynamic,l={},m={},k={},r="level-group-"+f,p=!!c.graphic,q=h&&p,A=c.shapeArgs;c.shouldDraw()&&(g&&(m.r=g),w(!0,q?l:m,p?A:{},e?{}:a.pointAttribs(c,c.selected&&"select")),a.colorAttribs&&e&&F(k,a.colorAttribs(c)),a[r]||(a[r]=b.g(r).attr({zIndex:1E3-f}).add(a.group)));c.draw({animatableAttribs:l,attribs:m,css:k,group:a[r],renderer:b,shadow:n,shapeArgs:A,shapeType:"rect"});t&&c.graphic&&(c.drillId=d.interactByLeaf?a.drillToByLeaf(c):a.drillToByGroup(c))})},
35
+ onClickDrillToNode:function(a){var c=(a=a.point)&&a.drillId;y(c)&&(a.setState(""),this.setRootNode(c,!0,{trigger:"click"}))},drillToByGroup:function(a){var c=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(c=a.id);return c},drillToByLeaf:function(a){var c=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!c;)a=this.nodeMap[a.parent],a.parent===this.rootNode&&(c=a.id);return c},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&y(a.parent)&&this.setRootNode(a.parent,
36
+ !0,{trigger:"traverseUpButton"})},drillToNode:function(a,c){q("WARNING: treemap.drillToNode has been renamed to treemap.setRootNode, and will be removed in the next major version.");this.setRootNode(a,c)},setRootNode:function(a,c,b){a=F({newRootId:a,previousRootId:this.rootNode,redraw:u(c,!0),series:this},b);I(this,"setRootNode",a,function(a){var c=a.series;c.idPreviousRoot=a.previousRootId;c.rootNode=a.newRootId;c.isDirty=!0;a.redraw&&c.chart.redraw()})},renderTraverseUpButton:function(a){var c=
37
37
  this,b=c.options.traverseUpButton,e=u(b.text,c.nodeMap[a].name,"\x3c Back"),d;""===a?c.drillUpButton&&(c.drillUpButton=c.drillUpButton.destroy()):this.drillUpButton?(this.drillUpButton.placed=!1,this.drillUpButton.attr({text:e}).align()):(d=(a=b.theme)&&a.states,this.drillUpButton=this.chart.renderer.button(e,null,null,function(){c.drillUp()},a,d&&d.hover,d&&d.select).addClass("highcharts-drillup-button").attr({align:b.position.align,zIndex:7}).add().align(b.position,!1,b.relativeTo||"plotBox"))},
38
38
  buildKDTree:g,drawLegendSymbol:b.LegendSymbolMixin.drawRectangle,getExtremes:function(){z.prototype.getExtremes.call(this,this.colorValueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;z.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};z.prototype.bindAxes.call(this);b.extend(this.yAxis.options,a);b.extend(this.xAxis.options,
39
- a)},setState:function(a){this.options.inactiveOtherPoints=!0;z.prototype.setState.call(this,a,!1);this.options.inactiveOtherPoints=!1},utils:{recursive:t}},{draw:w,getClassName:function(){var a=b.Point.prototype.getClassName.call(this),c=this.series,e=c.options;this.node.level<=c.nodeMap[c.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||u(e.interactByLeaf,!e.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},
40
- isValid:function(){return this.id||K(this.value)},setState:function(a){b.Point.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})},setVisible:k.pie.prototype.pointClass.prototype.setVisible,shouldDraw:function(){return K(this.plotY)&&null!==this.y}})});w(d,"modules/sunburst.src.js",[d["parts/Globals.js"],d["mixins/draw-point.js"],d["mixins/tree-series.js"]],function(b,d,w){var h=b.CenteredSeriesMixin,k=b.Series,E=b.extend,v=h.getCenter,G=w.getColor,q=w.getLevelOptions,
41
- C=h.getStartAndEndRadians,g=b.isNumber,I=b.isObject,L=b.isString,H=b.merge,D=180/Math.PI,h=b.seriesType,K=w.setTreeValues,m=w.updateRootId,A=function(b,d){var e=[];if(g(b)&&g(d)&&b<=d)for(;b<=d;b++)e.push(b);return e},u=function(b,d){var e;d=I(d)?d:{};var p=0,h,a,c,f;I(b)&&(e=H({},b),b=g(d.from)?d.from:0,f=g(d.to)?d.to:0,a=A(b,f),b=Object.keys(e).filter(function(c){return-1===a.indexOf(+c)}),h=c=g(d.diffRadius)?d.diffRadius:0,a.forEach(function(a){a=e[a];var b=a.levelSize.unit,d=a.levelSize.value;
42
- "weight"===b?p+=d:"percentage"===b?(a.levelSize={unit:"pixels",value:d/100*h},c-=a.levelSize.value):"pixels"===b&&(c-=d)}),a.forEach(function(a){var b=e[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,e[a].levelSize={unit:"pixels",value:b/p*c})}),b.forEach(function(a){e[a].levelSize={value:0,unit:"pixels"}}));return e},z=function(b,d){var e=d.mapIdToNode[b.parent],g=d.series,h=g.chart,a=g.points[b.i],e=G(b,{colors:h&&h.options&&h.options.colors,colorIndex:g.colorIndex,index:d.index,mapOptionsToLevel:d.mapOptionsToLevel,
39
+ a)},setState:function(a){this.options.inactiveOtherPoints=!0;z.prototype.setState.call(this,a,!1);this.options.inactiveOtherPoints=!1},utils:{recursive:r}},{draw:x,getClassName:function(){var a=b.Point.prototype.getClassName.call(this),c=this.series,e=c.options;this.node.level<=c.nodeMap[c.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||u(e.interactByLeaf,!e.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},
40
+ isValid:function(){return this.id||K(this.value)},setState:function(a){b.Point.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})},setVisible:k.pie.prototype.pointClass.prototype.setVisible,shouldDraw:function(){return K(this.plotY)&&null!==this.y}})});x(d,"modules/sunburst.src.js",[d["parts/Globals.js"],d["mixins/draw-point.js"],d["mixins/tree-series.js"]],function(b,d,x){var h=b.CenteredSeriesMixin,k=b.Series,E=b.extend,w=h.getCenter,F=x.getColor,q=x.getLevelOptions,
41
+ C=h.getStartAndEndRadians,g=b.isNumber,I=b.isObject,L=b.isString,G=b.merge,D=180/Math.PI,h=b.seriesType,K=x.setTreeValues,p=x.updateRootId,y=function(b,d){var e=[];if(g(b)&&g(d)&&b<=d)for(;b<=d;b++)e.push(b);return e},u=function(b,d){var e;d=I(d)?d:{};var n=0,h,a,c,f;I(b)&&(e=G({},b),b=g(d.from)?d.from:0,f=g(d.to)?d.to:0,a=y(b,f),b=Object.keys(e).filter(function(c){return-1===a.indexOf(+c)}),h=c=g(d.diffRadius)?d.diffRadius:0,a.forEach(function(a){a=e[a];var b=a.levelSize.unit,d=a.levelSize.value;
42
+ "weight"===b?n+=d:"percentage"===b?(a.levelSize={unit:"pixels",value:d/100*h},c-=a.levelSize.value):"pixels"===b&&(c-=d)}),a.forEach(function(a){var b=e[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,e[a].levelSize={unit:"pixels",value:b/n*c})}),b.forEach(function(a){e[a].levelSize={value:0,unit:"pixels"}}));return e},z=function(b,d){var e=d.mapIdToNode[b.parent],g=d.series,h=g.chart,a=g.points[b.i],e=F(b,{colors:h&&h.options&&h.options.colors,colorIndex:g.colorIndex,index:d.index,mapOptionsToLevel:d.mapOptionsToLevel,
43
43
  parentColor:e&&e.color,parentColorIndex:e&&e.colorIndex,series:d.series,siblings:d.siblings});b.color=e.color;b.colorIndex=e.colorIndex;a&&(a.color=b.color,a.colorIndex=b.colorIndex,b.sliced=b.id!==d.idRoot?a.sliced:!1);return b};h("sunburst","treemap",{center:["50%","50%"],colorByPoint:!1,opacity:1,dataLabels:{allowOverlap:!0,defer:!0,rotationMode:"auto",style:{textOverflow:"ellipsis"}},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10},{drawDataLabels:b.noop,drawPoints:function(){var b=
44
- this,d=b.mapOptionsToLevel,h=b.shapeRoot,m=b.group,q=b.hasRendered,a=b.rootNode,c=b.idPreviousRoot,f=b.nodeMap,l=f[c],n=l&&l.shapeArgs,l=b.points,x=b.startAndEndRadians,v=b.chart,y=v&&v.options&&v.options.chart||{},w="boolean"===typeof y.animation?y.animation:!0,u=b.center[3]/2,C=b.chart.renderer,A,z=!1,G=!1;if(y=!!(w&&q&&a!==c&&b.dataLabelsGroup))b.dataLabelsGroup.attr({opacity:0}),A=function(){z=!0;b.dataLabelsGroup&&b.dataLabelsGroup.animate({opacity:1,visibility:"visible"})};l.forEach(function(e){var l,
45
- p,k=e.node,r=d[k.level];l=e.shapeExisting||{};var t=k.shapeArgs||{},y,z=!(!k.visible||!k.shapeArgs);if(q&&w){var J={};p={end:t.end,start:t.start,innerR:t.innerR,r:t.r,x:t.x,y:t.y};z?!e.graphic&&n&&(J=a===e.id?{start:x.start,end:x.end}:n.end<=t.start?{start:x.end,end:x.end}:{start:x.start,end:x.start},J.innerR=J.r=u):e.graphic&&(c===e.id?p={innerR:u,r:u}:h&&(p=h.end<=l.start?{innerR:u,r:u,start:x.end,end:x.end}:{innerR:u,r:u,start:x.start,end:x.start}));l=J}else p=t,l={};var J=[t.plotX,t.plotY],B;
46
- e.node.isLeaf||(a===e.id?(B=f[a],B=B.parent):B=e.id);E(e,{shapeExisting:t,tooltipPos:J,drillId:B,name:""+(e.name||e.id||e.index),plotX:t.plotX,plotY:t.plotY,value:k.val,isNull:!z});B=e.options;k=I(t)?t:{};B=I(B)?B.dataLabels:{};var r=I(r)?r.dataLabels:{},r=H({style:{}},r,B),F;B=r.rotationMode;g(r.rotation)||("auto"===B&&(1>e.innerArcLength&&e.outerArcLength>k.radius?F=0:B=1<e.innerArcLength&&e.outerArcLength>1.5*k.radius?"parallel":"perpendicular"),"auto"!==B&&(F=k.end-(k.end-k.start)/2),r.style.width=
47
- "parallel"===B?Math.min(2.5*k.radius,(e.outerArcLength+e.innerArcLength)/2):k.radius,"perpendicular"===B&&e.series.chart.renderer.fontMetrics(r.style.fontSize).h>e.outerArcLength&&(r.style.width=1),r.style.width=Math.max(r.style.width-2*(r.padding||0),1),F=F*D%180,"parallel"===B&&(F-=90),90<F?F-=180:-90>F&&(F+=180),r.rotation=F);0===r.rotation&&(r.rotation=.001);e.dlOptions=r;!G&&z&&(G=!0,y=A);e.draw({animatableAttribs:p,attribs:E(l,!v.styledMode&&b.pointAttribs(e,e.selected&&"select")),onComplete:y,
48
- group:m,renderer:C,shapeType:"arc",shapeArgs:t})});y&&G?(b.hasRendered=!1,b.options.dataLabels.defer=!0,k.prototype.drawDataLabels.call(b),b.hasRendered=!0,z&&A()):k.prototype.drawDataLabels.call(b)},pointAttribs:b.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(b,d,h){var e=b.start,k=b.end-e,a=b.val,c=b.x,f=b.y,l=h&&I(h.levelSize)&&g(h.levelSize.value)?h.levelSize.value:0,p=b.r,r=p+l,m=h&&g(h.slicedOffset)?h.slicedOffset:0;return(d||[]).reduce(function(b,d){var g=1/a*d.val*k,h=
49
- e+g/2,n=c+Math.cos(h)*m,h=f+Math.sin(h)*m;d={x:d.sliced?n:c,y:d.sliced?h:f,innerR:p,r:r,radius:l,start:e,end:e+g};b.push(d);e=d.end;return b},[])},setShapeArgs:function(b,d,h){var e=[],g=h[b.level+1];b=b.children.filter(function(a){return a.visible});e=this.layoutAlgorithm(d,b,g);b.forEach(function(a,b){b=e[b];var c=b.start+(b.end-b.start)/2,d=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,d=0===b.innerR&&6.28<g?{x:b.x,y:b.y}:{x:b.x+Math.cos(c)*d,y:b.y+Math.sin(c)*d},k=a.val?a.childrenTotal>a.val?a.childrenTotal:
50
- a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=H(b,{plotX:d.x,plotY:d.y+4*Math.abs(Math.cos(c))});a.values=H(b,{val:k});a.children.length&&this.setShapeArgs(a,a.values,h)},this)},translate:function(){var b=this.options,d=this.center=v.call(this),g=this.startAndEndRadians=C(b.startAngle,b.endAngle),h=d[3]/2,w=d[2]/2-h,a=m(this),c=this.nodeMap,f,l=c&&c[a],n,x;this.shapeRoot=l&&l.shapeArgs;k.prototype.translate.call(this);
51
- x=this.tree=this.getTree();this.renderTraverseUpButton(a);c=this.nodeMap;l=c[a];f=L(l.parent)?l.parent:"";n=c[f];f=q({from:0<l.level?l.level:1,levels:this.options.levels,to:x.height,defaults:{colorByPoint:b.colorByPoint,dataLabels:b.dataLabels,levelIsConstant:b.levelIsConstant,levelSize:b.levelSize,slicedOffset:b.slicedOffset}});f=u(f,{diffRadius:w,from:0<l.level?l.level:1,to:x.height});K(x,{before:z,idRoot:a,levelIsConstant:b.levelIsConstant,mapOptionsToLevel:f,mapIdToNode:c,points:this.points,series:this});
52
- b=c[""].shapeArgs={end:g.end,r:h,start:g.start,val:l.val,x:d[0],y:d[1]};this.setShapeArgs(n,b,f);this.mapOptionsToLevel=f},animate:function(b){var d=this.chart,e=[d.plotWidth/2,d.plotHeight/2],g=d.plotLeft,h=d.plotTop,d=this.group;b?(b={translateX:e[0]+g,translateY:e[1]+h,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},d.attr(b)):(b={translateX:g,translateY:h,scaleX:1,scaleY:1,rotation:0,opacity:1},d.animate(b,this.options.animation),this.animate=null)},utils:{calculateLevelSizes:u,range:A}},{draw:d,
53
- shouldDraw:function(){return!this.isNull},isValid:function(){return!0}})});w(d,"masters/modules/sunburst.src.js",[],function(){})});
44
+ this,d=b.mapOptionsToLevel,h=b.shapeRoot,p=b.group,q=b.hasRendered,a=b.rootNode,c=b.idPreviousRoot,f=b.nodeMap,m=f[c],l=m&&m.shapeArgs,m=b.points,A=b.startAndEndRadians,w=b.chart,v=w&&w.options&&w.options.chart||{},x="boolean"===typeof v.animation?v.animation:!0,u=b.center[3]/2,C=b.chart.renderer,y,z=!1,F=!1;if(v=!!(x&&q&&a!==c&&b.dataLabelsGroup))b.dataLabelsGroup.attr({opacity:0}),y=function(){z=!0;b.dataLabelsGroup&&b.dataLabelsGroup.animate({opacity:1,visibility:"visible"})};m.forEach(function(e){var n,
45
+ m,k=e.node,t=d[k.level];n=e.shapeExisting||{};var r=k.shapeArgs||{},v,z=!(!k.visible||!k.shapeArgs);if(q&&x){var J={};m={end:r.end,start:r.start,innerR:r.innerR,r:r.r,x:r.x,y:r.y};z?!e.graphic&&l&&(J=a===e.id?{start:A.start,end:A.end}:l.end<=r.start?{start:A.end,end:A.end}:{start:A.start,end:A.start},J.innerR=J.r=u):e.graphic&&(c===e.id?m={innerR:u,r:u}:h&&(m=h.end<=n.start?{innerR:u,r:u,start:A.end,end:A.end}:{innerR:u,r:u,start:A.start,end:A.start}));n=J}else m=r,n={};var J=[r.plotX,r.plotY],B;
46
+ e.node.isLeaf||(a===e.id?(B=f[a],B=B.parent):B=e.id);E(e,{shapeExisting:r,tooltipPos:J,drillId:B,name:""+(e.name||e.id||e.index),plotX:r.plotX,plotY:r.plotY,value:k.val,isNull:!z});B=e.options;k=I(r)?r:{};B=I(B)?B.dataLabels:{};var t=I(t)?t.dataLabels:{},t=G({style:{}},t,B),H;B=t.rotationMode;g(t.rotation)||("auto"===B&&(1>e.innerArcLength&&e.outerArcLength>k.radius?H=0:B=1<e.innerArcLength&&e.outerArcLength>1.5*k.radius?"parallel":"perpendicular"),"auto"!==B&&(H=k.end-(k.end-k.start)/2),t.style.width=
47
+ "parallel"===B?Math.min(2.5*k.radius,(e.outerArcLength+e.innerArcLength)/2):k.radius,"perpendicular"===B&&e.series.chart.renderer.fontMetrics(t.style.fontSize).h>e.outerArcLength&&(t.style.width=1),t.style.width=Math.max(t.style.width-2*(t.padding||0),1),H=H*D%180,"parallel"===B&&(H-=90),90<H?H-=180:-90>H&&(H+=180),t.rotation=H);0===t.rotation&&(t.rotation=.001);e.dlOptions=t;!F&&z&&(F=!0,v=y);e.draw({animatableAttribs:m,attribs:E(n,!w.styledMode&&b.pointAttribs(e,e.selected&&"select")),onComplete:v,
48
+ group:p,renderer:C,shapeType:"arc",shapeArgs:r})});v&&F?(b.hasRendered=!1,b.options.dataLabels.defer=!0,k.prototype.drawDataLabels.call(b),b.hasRendered=!0,z&&y()):k.prototype.drawDataLabels.call(b)},pointAttribs:b.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(b,d,h){var e=b.start,n=b.end-e,a=b.val,c=b.x,f=b.y,k=h&&I(h.levelSize)&&g(h.levelSize.value)?h.levelSize.value:0,l=b.r,t=l+k,p=h&&g(h.slicedOffset)?h.slicedOffset:0;return(d||[]).reduce(function(b,d){var h=1/a*d.val*n,g=
49
+ e+h/2,m=c+Math.cos(g)*p,g=f+Math.sin(g)*p;d={x:d.sliced?m:c,y:d.sliced?g:f,innerR:l,r:t,radius:k,start:e,end:e+h};b.push(d);e=d.end;return b},[])},setShapeArgs:function(b,d,h){var e=[],g=h[b.level+1];b=b.children.filter(function(a){return a.visible});e=this.layoutAlgorithm(d,b,g);b.forEach(function(a,b){b=e[b];var c=b.start+(b.end-b.start)/2,d=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,d=0===b.innerR&&6.28<g?{x:b.x,y:b.y}:{x:b.x+Math.cos(c)*d,y:b.y+Math.sin(c)*d},n=a.val?a.childrenTotal>a.val?a.childrenTotal:
50
+ a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=G(b,{plotX:d.x,plotY:d.y+4*Math.abs(Math.cos(c))});a.values=G(b,{val:n});a.children.length&&this.setShapeArgs(a,a.values,h)},this)},translate:function(){var d=this,g=d.options,h=d.center=w.call(d),r=d.startAndEndRadians=C(g.startAngle,g.endAngle),x=h[3]/2,a=h[2]/2-x,c=p(d),f=d.nodeMap,m,l=f&&f[c],A,y,v={};d.shapeRoot=l&&l.shapeArgs;k.prototype.translate.call(d);y=
51
+ d.tree=d.getTree();d.renderTraverseUpButton(c);f=d.nodeMap;l=f[c];m=L(l.parent)?l.parent:"";A=f[m];m=q({from:0<l.level?l.level:1,levels:d.options.levels,to:y.height,defaults:{colorByPoint:g.colorByPoint,dataLabels:g.dataLabels,levelIsConstant:g.levelIsConstant,levelSize:g.levelSize,slicedOffset:g.slicedOffset}});m=u(m,{diffRadius:a,from:0<l.level?l.level:1,to:y.height});K(y,{before:z,idRoot:c,levelIsConstant:g.levelIsConstant,mapOptionsToLevel:m,mapIdToNode:f,points:d.points,series:d});g=f[""].shapeArgs=
52
+ {end:r.end,r:x,start:r.start,val:l.val,x:h[0],y:h[1]};this.setShapeArgs(A,g,m);d.mapOptionsToLevel=m;d.data.forEach(function(a){v[a.id]&&b.error(31,!1,d.chart);v[a.id]=!0});v={}},animate:function(b){var d=this.chart,e=[d.plotWidth/2,d.plotHeight/2],g=d.plotLeft,h=d.plotTop,d=this.group;b?(b={translateX:e[0]+g,translateY:e[1]+h,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},d.attr(b)):(b={translateX:g,translateY:h,scaleX:1,scaleY:1,rotation:0,opacity:1},d.animate(b,this.options.animation),this.animate=
53
+ null)},utils:{calculateLevelSizes:u,range:y}},{draw:d,shouldDraw:function(){return!this.isNull},isValid:function(){return!0}})});x(d,"masters/modules/sunburst.src.js",[],function(){})});
54
54
  //# sourceMappingURL=sunburst.js.map