highcharts 10.0.0 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/A11yI18n.js +4 -4
  3. package/es-modules/Accessibility/Components/ContainerComponent.js +8 -9
  4. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +14 -9
  5. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +31 -15
  6. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +23 -4
  7. package/es-modules/Accessibility/FocusBorder.js +6 -5
  8. package/es-modules/Accessibility/Options/LangOptions.js +36 -31
  9. package/es-modules/Accessibility/Options/Options.js +66 -3
  10. package/es-modules/Accessibility/Utils/ChartUtilities.js +9 -4
  11. package/es-modules/Core/Axis/Axis.js +30 -27
  12. package/es-modules/Core/Axis/GridAxis.js +5 -2
  13. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  14. package/es-modules/Core/Axis/OrdinalAxis.js +3 -2
  15. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
  16. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  17. package/es-modules/Core/Axis/Tick.js +2 -2
  18. package/es-modules/Core/Chart/Chart.js +21 -3
  19. package/es-modules/Core/Chart/ChartDefaults.js +11 -0
  20. package/es-modules/Core/Chart/StockChart.js +1 -1
  21. package/es-modules/Core/DefaultOptions.js +6 -4
  22. package/es-modules/Core/Globals.js +1 -1
  23. package/es-modules/Core/Legend/Legend.js +1 -1
  24. package/es-modules/Core/Navigator.js +1 -1
  25. package/es-modules/Core/Renderer/HTML/AST.js +9 -6
  26. package/es-modules/Core/Renderer/SVG/SVGElement.js +22 -22
  27. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +16 -13
  28. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  29. package/es-modules/Core/Scrollbar.js +9 -5
  30. package/es-modules/Core/Series/DataLabel.js +54 -33
  31. package/es-modules/Core/Series/Series.js +19 -7
  32. package/es-modules/Core/Utilities.js +1 -1
  33. package/es-modules/Extensions/Annotations/Annotations.js +2 -2
  34. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  35. package/es-modules/Extensions/Annotations/NavigationBindings.js +9 -1
  36. package/es-modules/Extensions/Annotations/Popup.js +1 -1
  37. package/es-modules/Extensions/Breadcrumbs.js +2 -3
  38. package/es-modules/Extensions/DataGrouping.js +3 -1
  39. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  40. package/es-modules/Extensions/Drilldown.js +6 -4
  41. package/es-modules/Extensions/ExportData.js +1 -2
  42. package/es-modules/Extensions/Exporting/Exporting.js +22 -13
  43. package/es-modules/Extensions/FullScreen.js +121 -54
  44. package/es-modules/Extensions/GeoJSON.js +3 -2
  45. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  46. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  47. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  48. package/es-modules/Extensions/Polar.js +4 -1
  49. package/es-modules/Extensions/Stacking.js +1 -1
  50. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  51. package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
  52. package/es-modules/Maps/MapNavigation.js +1 -5
  53. package/es-modules/Maps/MapView.js +6 -2
  54. package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
  55. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +9 -1
  56. package/es-modules/Series/CenteredUtilities.js +6 -1
  57. package/es-modules/Series/Flags/FlagsSeries.js +7 -12
  58. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  59. package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -20
  60. package/es-modules/Series/Map/MapSeries.js +11 -1
  61. package/es-modules/Series/MapBubble/MapBubbleSeries.js +49 -3
  62. package/es-modules/Series/MapPoint/MapPointSeries.js +4 -0
  63. package/es-modules/Series/Pie/PieDataLabel.js +3 -1
  64. package/es-modules/Series/Pie/PieSeries.js +12 -1
  65. package/es-modules/Series/Sankey/SankeySeries.js +3 -1
  66. package/es-modules/Series/Sunburst/SunburstSeries.js +1 -1
  67. package/es-modules/Series/Wordcloud/WordcloudSeries.js +4 -4
  68. package/es-modules/Stock/StockToolsBindings.js +31 -24
  69. package/es-modules/Stock/StockToolsGui.js +1 -1
  70. package/es-modules/masters/highcharts-3d.src.js +1 -1
  71. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  72. package/es-modules/masters/highcharts-more.src.js +1 -1
  73. package/es-modules/masters/highcharts.src.js +1 -1
  74. package/es-modules/masters/highmaps.src.js +1 -1
  75. package/es-modules/masters/highstock.src.js +1 -1
  76. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  77. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  78. package/es-modules/masters/indicators/ao.src.js +1 -1
  79. package/es-modules/masters/indicators/apo.src.js +1 -1
  80. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  81. package/es-modules/masters/indicators/aroon.src.js +1 -1
  82. package/es-modules/masters/indicators/atr.src.js +1 -1
  83. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  84. package/es-modules/masters/indicators/cci.src.js +1 -1
  85. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  86. package/es-modules/masters/indicators/cmf.src.js +1 -1
  87. package/es-modules/masters/indicators/cmo.src.js +1 -1
  88. package/es-modules/masters/indicators/dema.src.js +1 -1
  89. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  90. package/es-modules/masters/indicators/dmi.src.js +1 -1
  91. package/es-modules/masters/indicators/dpo.src.js +1 -1
  92. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  93. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  94. package/es-modules/masters/indicators/indicators.src.js +1 -1
  95. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  96. package/es-modules/masters/indicators/klinger.src.js +1 -1
  97. package/es-modules/masters/indicators/macd.src.js +1 -1
  98. package/es-modules/masters/indicators/mfi.src.js +1 -1
  99. package/es-modules/masters/indicators/momentum.src.js +1 -1
  100. package/es-modules/masters/indicators/natr.src.js +1 -1
  101. package/es-modules/masters/indicators/obv.src.js +1 -1
  102. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  103. package/es-modules/masters/indicators/ppo.src.js +1 -1
  104. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  105. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  106. package/es-modules/masters/indicators/psar.src.js +1 -1
  107. package/es-modules/masters/indicators/regressions.src.js +1 -1
  108. package/es-modules/masters/indicators/roc.src.js +1 -1
  109. package/es-modules/masters/indicators/rsi.src.js +1 -1
  110. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  111. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  112. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  113. package/es-modules/masters/indicators/tema.src.js +1 -1
  114. package/es-modules/masters/indicators/trendline.src.js +1 -1
  115. package/es-modules/masters/indicators/trix.src.js +1 -1
  116. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  117. package/es-modules/masters/indicators/vwap.src.js +1 -1
  118. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  119. package/es-modules/masters/indicators/wma.src.js +1 -1
  120. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  121. package/es-modules/masters/modules/accessibility.src.js +1 -1
  122. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  123. package/es-modules/masters/modules/annotations.src.js +1 -1
  124. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  125. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  126. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  127. package/es-modules/masters/modules/boost.src.js +1 -1
  128. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  129. package/es-modules/masters/modules/bullet.src.js +1 -1
  130. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  131. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  132. package/es-modules/masters/modules/cylinder.src.js +1 -1
  133. package/es-modules/masters/modules/data.src.js +1 -1
  134. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  135. package/es-modules/masters/modules/debugger.src.js +1 -1
  136. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  137. package/es-modules/masters/modules/dotplot.src.js +1 -1
  138. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  139. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  140. package/es-modules/masters/modules/drilldown.src.js +1 -1
  141. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  142. package/es-modules/masters/modules/export-data.src.js +1 -1
  143. package/es-modules/masters/modules/exporting.src.js +1 -1
  144. package/es-modules/masters/modules/full-screen.src.js +1 -1
  145. package/es-modules/masters/modules/funnel.src.js +1 -1
  146. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  147. package/es-modules/masters/modules/gantt.src.js +1 -1
  148. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  149. package/es-modules/masters/modules/heatmap.src.js +1 -1
  150. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  151. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  152. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  153. package/es-modules/masters/modules/item-series.src.js +1 -1
  154. package/es-modules/masters/modules/lollipop.src.js +1 -1
  155. package/es-modules/masters/modules/map.src.js +1 -1
  156. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  157. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  158. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  159. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  160. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  161. package/es-modules/masters/modules/oldie.src.js +1 -1
  162. package/es-modules/masters/modules/organization.src.js +1 -1
  163. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  164. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  165. package/es-modules/masters/modules/pareto.src.js +1 -1
  166. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  167. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  168. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  169. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  170. package/es-modules/masters/modules/sankey.src.js +1 -1
  171. package/es-modules/masters/modules/series-label.src.js +1 -1
  172. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  173. package/es-modules/masters/modules/sonification.src.js +1 -1
  174. package/es-modules/masters/modules/static-scale.src.js +1 -1
  175. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  176. package/es-modules/masters/modules/stock.src.js +1 -1
  177. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  178. package/es-modules/masters/modules/sunburst.src.js +1 -1
  179. package/es-modules/masters/modules/tilemap.src.js +1 -1
  180. package/es-modules/masters/modules/timeline.src.js +1 -1
  181. package/es-modules/masters/modules/treegrid.src.js +1 -1
  182. package/es-modules/masters/modules/treemap.src.js +1 -1
  183. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  184. package/es-modules/masters/modules/variwide.src.js +1 -1
  185. package/es-modules/masters/modules/vector.src.js +1 -1
  186. package/es-modules/masters/modules/venn.src.js +1 -1
  187. package/es-modules/masters/modules/windbarb.src.js +1 -1
  188. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  189. package/es-modules/masters/modules/xrange.src.js +1 -1
  190. package/es-modules/masters/themes/avocado.src.js +1 -1
  191. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  192. package/es-modules/masters/themes/brand-light.src.js +1 -1
  193. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  194. package/es-modules/masters/themes/dark-green.src.js +1 -1
  195. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  196. package/es-modules/masters/themes/gray.src.js +1 -1
  197. package/es-modules/masters/themes/grid-light.src.js +1 -1
  198. package/es-modules/masters/themes/grid.src.js +1 -1
  199. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  200. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  201. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  202. package/es-modules/masters/themes/skies.src.js +1 -1
  203. package/es-modules/masters/themes/sunset.src.js +1 -1
  204. package/highcharts-3d.js +2 -2
  205. package/highcharts-3d.src.js +2 -2
  206. package/highcharts-gantt.js +805 -802
  207. package/highcharts-gantt.js.map +1 -1
  208. package/highcharts-gantt.src.js +261 -144
  209. package/highcharts-more.js +5 -5
  210. package/highcharts-more.js.map +1 -1
  211. package/highcharts-more.src.js +6 -3
  212. package/highcharts.d.ts +1077 -53
  213. package/highcharts.js +591 -588
  214. package/highcharts.js.map +1 -1
  215. package/highcharts.src.d.ts +1077 -53
  216. package/highcharts.src.js +246 -136
  217. package/highmaps.js +758 -756
  218. package/highmaps.js.map +1 -1
  219. package/highmaps.src.js +336 -171
  220. package/highstock.js +792 -789
  221. package/highstock.js.map +1 -1
  222. package/highstock.src.js +272 -157
  223. package/indicators/acceleration-bands.js +1 -1
  224. package/indicators/acceleration-bands.src.js +1 -1
  225. package/indicators/accumulation-distribution.js +1 -1
  226. package/indicators/accumulation-distribution.src.js +1 -1
  227. package/indicators/ao.js +1 -1
  228. package/indicators/ao.src.js +1 -1
  229. package/indicators/apo.js +1 -1
  230. package/indicators/apo.src.js +1 -1
  231. package/indicators/aroon-oscillator.js +1 -1
  232. package/indicators/aroon-oscillator.src.js +1 -1
  233. package/indicators/aroon.js +1 -1
  234. package/indicators/aroon.src.js +1 -1
  235. package/indicators/atr.js +1 -1
  236. package/indicators/atr.src.js +1 -1
  237. package/indicators/bollinger-bands.js +1 -1
  238. package/indicators/bollinger-bands.src.js +1 -1
  239. package/indicators/cci.js +1 -1
  240. package/indicators/cci.src.js +1 -1
  241. package/indicators/chaikin.js +1 -1
  242. package/indicators/chaikin.src.js +1 -1
  243. package/indicators/cmf.js +1 -1
  244. package/indicators/cmf.src.js +1 -1
  245. package/indicators/cmo.js +1 -1
  246. package/indicators/cmo.src.js +1 -1
  247. package/indicators/dema.js +1 -1
  248. package/indicators/dema.src.js +1 -1
  249. package/indicators/disparity-index.js +1 -1
  250. package/indicators/disparity-index.src.js +1 -1
  251. package/indicators/dmi.js +1 -1
  252. package/indicators/dmi.src.js +1 -1
  253. package/indicators/dpo.js +1 -1
  254. package/indicators/dpo.src.js +1 -1
  255. package/indicators/ichimoku-kinko-hyo.js +1 -1
  256. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  257. package/indicators/indicators-all.js +1 -1
  258. package/indicators/indicators-all.src.js +1 -1
  259. package/indicators/indicators.js +1 -1
  260. package/indicators/indicators.src.js +1 -1
  261. package/indicators/keltner-channels.js +1 -1
  262. package/indicators/keltner-channels.src.js +1 -1
  263. package/indicators/klinger.js +1 -1
  264. package/indicators/klinger.src.js +1 -1
  265. package/indicators/macd.js +1 -1
  266. package/indicators/macd.src.js +1 -1
  267. package/indicators/mfi.js +1 -1
  268. package/indicators/mfi.src.js +1 -1
  269. package/indicators/momentum.js +1 -1
  270. package/indicators/momentum.src.js +1 -1
  271. package/indicators/natr.js +1 -1
  272. package/indicators/natr.src.js +1 -1
  273. package/indicators/obv.js +1 -1
  274. package/indicators/obv.src.js +1 -1
  275. package/indicators/pivot-points.js +1 -1
  276. package/indicators/pivot-points.src.js +1 -1
  277. package/indicators/ppo.js +1 -1
  278. package/indicators/ppo.src.js +1 -1
  279. package/indicators/price-channel.js +1 -1
  280. package/indicators/price-channel.src.js +1 -1
  281. package/indicators/price-envelopes.js +1 -1
  282. package/indicators/price-envelopes.src.js +1 -1
  283. package/indicators/psar.js +1 -1
  284. package/indicators/psar.src.js +1 -1
  285. package/indicators/regressions.js +1 -1
  286. package/indicators/regressions.src.js +1 -1
  287. package/indicators/roc.js +1 -1
  288. package/indicators/roc.src.js +1 -1
  289. package/indicators/rsi.js +1 -1
  290. package/indicators/rsi.src.js +1 -1
  291. package/indicators/slow-stochastic.js +1 -1
  292. package/indicators/slow-stochastic.src.js +1 -1
  293. package/indicators/stochastic.js +1 -1
  294. package/indicators/stochastic.src.js +1 -1
  295. package/indicators/supertrend.js +1 -1
  296. package/indicators/supertrend.src.js +1 -1
  297. package/indicators/tema.js +1 -1
  298. package/indicators/tema.src.js +1 -1
  299. package/indicators/trendline.js +1 -1
  300. package/indicators/trendline.src.js +1 -1
  301. package/indicators/trix.js +1 -1
  302. package/indicators/trix.src.js +1 -1
  303. package/indicators/volume-by-price.js +1 -1
  304. package/indicators/volume-by-price.src.js +1 -1
  305. package/indicators/vwap.js +1 -1
  306. package/indicators/vwap.src.js +1 -1
  307. package/indicators/williams-r.js +1 -1
  308. package/indicators/williams-r.src.js +1 -1
  309. package/indicators/wma.js +1 -1
  310. package/indicators/wma.src.js +1 -1
  311. package/indicators/zigzag.js +1 -1
  312. package/indicators/zigzag.src.js +1 -1
  313. package/modules/accessibility.js +240 -238
  314. package/modules/accessibility.js.map +1 -1
  315. package/modules/accessibility.src.js +220 -87
  316. package/modules/annotations-advanced.js +6 -6
  317. package/modules/annotations-advanced.js.map +1 -1
  318. package/modules/annotations-advanced.src.js +14 -6
  319. package/modules/annotations.js +6 -6
  320. package/modules/annotations.js.map +1 -1
  321. package/modules/annotations.src.js +14 -6
  322. package/modules/arc-diagram.js +7 -7
  323. package/modules/arc-diagram.js.map +1 -1
  324. package/modules/arc-diagram.src.js +10 -2
  325. package/modules/arrow-symbols.js +1 -1
  326. package/modules/arrow-symbols.src.js +1 -1
  327. package/modules/boost-canvas.js +1 -1
  328. package/modules/boost-canvas.src.js +1 -1
  329. package/modules/boost.js +1 -1
  330. package/modules/boost.src.js +1 -1
  331. package/modules/broken-axis.js +1 -1
  332. package/modules/broken-axis.src.js +1 -1
  333. package/modules/bullet.js +1 -1
  334. package/modules/bullet.src.js +1 -1
  335. package/modules/coloraxis.js +1 -1
  336. package/modules/coloraxis.src.js +1 -1
  337. package/modules/current-date-indicator.js +1 -1
  338. package/modules/current-date-indicator.src.js +1 -1
  339. package/modules/cylinder.js +1 -1
  340. package/modules/cylinder.src.js +1 -1
  341. package/modules/data.js +1 -1
  342. package/modules/data.src.js +1 -1
  343. package/modules/datagrouping.js +7 -7
  344. package/modules/datagrouping.js.map +1 -1
  345. package/modules/datagrouping.src.js +4 -2
  346. package/modules/debugger.js +6 -5
  347. package/modules/debugger.js.map +1 -1
  348. package/modules/debugger.src.js +5 -1
  349. package/modules/dependency-wheel.js +1 -1
  350. package/modules/dependency-wheel.src.js +1 -1
  351. package/modules/dotplot.js +1 -1
  352. package/modules/dotplot.src.js +1 -1
  353. package/modules/drag-panes.js +1 -1
  354. package/modules/drag-panes.src.js +1 -1
  355. package/modules/draggable-points.js +1 -1
  356. package/modules/draggable-points.src.js +1 -1
  357. package/modules/drilldown.js +36 -37
  358. package/modules/drilldown.js.map +1 -1
  359. package/modules/drilldown.src.js +9 -9
  360. package/modules/dumbbell.js +1 -1
  361. package/modules/dumbbell.src.js +1 -1
  362. package/modules/export-data.js +13 -13
  363. package/modules/export-data.js.map +1 -1
  364. package/modules/export-data.src.js +2 -3
  365. package/modules/exporting.js +39 -39
  366. package/modules/exporting.js.map +1 -1
  367. package/modules/exporting.src.js +146 -75
  368. package/modules/full-screen.js +8 -8
  369. package/modules/full-screen.js.map +1 -1
  370. package/modules/full-screen.src.js +125 -57
  371. package/modules/funnel.js +1 -1
  372. package/modules/funnel.src.js +1 -1
  373. package/modules/funnel3d.js +1 -1
  374. package/modules/funnel3d.src.js +1 -1
  375. package/modules/gantt.js +218 -217
  376. package/modules/gantt.js.map +1 -1
  377. package/modules/gantt.src.js +16 -9
  378. package/modules/grid-axis.js +21 -21
  379. package/modules/grid-axis.js.map +1 -1
  380. package/modules/grid-axis.src.js +6 -3
  381. package/modules/heatmap.js +40 -40
  382. package/modules/heatmap.js.map +1 -1
  383. package/modules/heatmap.src.js +14 -21
  384. package/modules/heikinashi.js +1 -1
  385. package/modules/heikinashi.src.js +1 -1
  386. package/modules/histogram-bellcurve.js +1 -1
  387. package/modules/histogram-bellcurve.src.js +1 -1
  388. package/modules/hollowcandlestick.js +1 -1
  389. package/modules/hollowcandlestick.src.js +1 -1
  390. package/modules/item-series.js +1 -1
  391. package/modules/item-series.src.js +1 -1
  392. package/modules/lollipop.js +1 -1
  393. package/modules/lollipop.src.js +1 -1
  394. package/modules/map.js +169 -169
  395. package/modules/map.js.map +1 -1
  396. package/modules/map.src.js +91 -36
  397. package/modules/marker-clusters.js +1 -1
  398. package/modules/marker-clusters.src.js +1 -1
  399. package/modules/networkgraph.js +1 -1
  400. package/modules/networkgraph.src.js +1 -1
  401. package/modules/no-data-to-display.js +1 -1
  402. package/modules/no-data-to-display.src.js +1 -1
  403. package/modules/offline-exporting.js +2 -2
  404. package/modules/offline-exporting.src.js +2 -2
  405. package/modules/oldie-polyfills.js +1 -1
  406. package/modules/oldie-polyfills.src.js +1 -1
  407. package/modules/oldie.js +2 -2
  408. package/modules/oldie.src.js +2 -2
  409. package/modules/organization.js +1 -1
  410. package/modules/organization.src.js +1 -1
  411. package/modules/overlapping-datalabels.js +1 -1
  412. package/modules/overlapping-datalabels.src.js +1 -1
  413. package/modules/parallel-coordinates.js +1 -1
  414. package/modules/parallel-coordinates.src.js +1 -1
  415. package/modules/pareto.js +1 -1
  416. package/modules/pareto.src.js +1 -1
  417. package/modules/pathfinder.js +1 -1
  418. package/modules/pathfinder.src.js +1 -1
  419. package/modules/pattern-fill.js +1 -1
  420. package/modules/pattern-fill.src.js +1 -1
  421. package/modules/price-indicator.js +1 -1
  422. package/modules/price-indicator.src.js +1 -1
  423. package/modules/pyramid3d.js +1 -1
  424. package/modules/pyramid3d.src.js +1 -1
  425. package/modules/sankey.js +5 -5
  426. package/modules/sankey.js.map +1 -1
  427. package/modules/sankey.src.js +4 -2
  428. package/modules/series-label.js +1 -1
  429. package/modules/series-label.src.js +1 -1
  430. package/modules/solid-gauge.js +1 -1
  431. package/modules/solid-gauge.src.js +1 -1
  432. package/modules/sonification.js +1 -1
  433. package/modules/sonification.src.js +1 -1
  434. package/modules/static-scale.js +1 -1
  435. package/modules/static-scale.src.js +1 -1
  436. package/modules/stock-tools.js +137 -137
  437. package/modules/stock-tools.js.map +1 -1
  438. package/modules/stock-tools.src.js +46 -30
  439. package/modules/stock.js +204 -204
  440. package/modules/stock.js.map +1 -1
  441. package/modules/stock.src.js +27 -22
  442. package/modules/streamgraph.js +1 -1
  443. package/modules/streamgraph.src.js +1 -1
  444. package/modules/sunburst.js +69 -69
  445. package/modules/sunburst.js.map +1 -1
  446. package/modules/sunburst.src.js +4 -6
  447. package/modules/tilemap.js +1 -1
  448. package/modules/tilemap.src.js +1 -1
  449. package/modules/timeline.js +1 -1
  450. package/modules/timeline.src.js +1 -1
  451. package/modules/treegrid.js +56 -56
  452. package/modules/treegrid.js.map +1 -1
  453. package/modules/treegrid.src.js +6 -3
  454. package/modules/treemap.js +50 -50
  455. package/modules/treemap.js.map +1 -1
  456. package/modules/treemap.src.js +3 -5
  457. package/modules/variable-pie.js +1 -1
  458. package/modules/variable-pie.src.js +1 -1
  459. package/modules/variwide.js +1 -1
  460. package/modules/variwide.src.js +1 -1
  461. package/modules/vector.js +1 -1
  462. package/modules/vector.src.js +1 -1
  463. package/modules/venn.js +1 -1
  464. package/modules/venn.src.js +1 -1
  465. package/modules/windbarb.js +1 -1
  466. package/modules/windbarb.src.js +1 -1
  467. package/modules/wordcloud.js +4 -3
  468. package/modules/wordcloud.js.map +1 -1
  469. package/modules/wordcloud.src.js +5 -5
  470. package/modules/xrange.js +1 -1
  471. package/modules/xrange.src.js +1 -1
  472. package/package.json +1 -1
  473. package/themes/avocado.js +1 -1
  474. package/themes/avocado.src.js +1 -1
  475. package/themes/brand-dark.js +1 -1
  476. package/themes/brand-dark.src.js +1 -1
  477. package/themes/brand-light.js +1 -1
  478. package/themes/brand-light.src.js +1 -1
  479. package/themes/dark-blue.js +1 -1
  480. package/themes/dark-blue.src.js +1 -1
  481. package/themes/dark-green.js +1 -1
  482. package/themes/dark-green.src.js +1 -1
  483. package/themes/dark-unica.js +1 -1
  484. package/themes/dark-unica.src.js +1 -1
  485. package/themes/gray.js +1 -1
  486. package/themes/gray.src.js +1 -1
  487. package/themes/grid-light.js +1 -1
  488. package/themes/grid-light.src.js +1 -1
  489. package/themes/grid.js +1 -1
  490. package/themes/grid.src.js +1 -1
  491. package/themes/high-contrast-dark.js +2 -2
  492. package/themes/high-contrast-dark.src.js +11 -11
  493. package/themes/high-contrast-light.js +2 -2
  494. package/themes/high-contrast-light.src.js +10 -10
  495. package/themes/sand-signika.js +1 -1
  496. package/themes/sand-signika.src.js +1 -1
  497. package/themes/skies.js +1 -1
  498. package/themes/skies.src.js +1 -1
  499. package/themes/sunset.js +1 -1
  500. package/themes/sunset.src.js +1 -1
@@ -20,7 +20,13 @@ import H from '../Globals.js';
20
20
  var deg2rad = H.deg2rad;
21
21
  import Tick from './Tick.js';
22
22
  import U from '../Utilities.js';
23
- var arrayMax = U.arrayMax, arrayMin = U.arrayMin, clamp = U.clamp, correctFloat = U.correctFloat, defined = U.defined, destroyObjectProperties = U.destroyObjectProperties, erase = U.erase, error = U.error, extend = U.extend, fireEvent = U.fireEvent, getMagnitude = U.getMagnitude, isArray = U.isArray, isNumber = U.isNumber, isString = U.isString, merge = U.merge, normalizeTickInterval = U.normalizeTickInterval, objectEach = U.objectEach, pick = U.pick, relativeLength = U.relativeLength, removeEvent = U.removeEvent, splat = U.splat, syncTimeout = U.syncTimeout;
23
+ var arrayMax = U.arrayMax, arrayMin = U.arrayMin, clamp = U.clamp, correctFloat = U.correctFloat, defined = U.defined, destroyObjectProperties = U.destroyObjectProperties, erase = U.erase, error = U.error, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, isString = U.isString, merge = U.merge, normalizeTickInterval = U.normalizeTickInterval, objectEach = U.objectEach, pick = U.pick, relativeLength = U.relativeLength, removeEvent = U.removeEvent, splat = U.splat, syncTimeout = U.syncTimeout;
24
+ var getNormalizedTickInterval = function (axis, tickInterval) { return normalizeTickInterval(tickInterval, void 0, void 0, pick(axis.options.allowDecimals,
25
+ // If the tick interval is greather than 0.5, avoid decimals, as
26
+ // linear axes are often used to render discrete values (#3363). If
27
+ // a tick amount is set, allow decimals by default, as it increases
28
+ // the chances for a good fit.
29
+ tickInterval < 0.5 || axis.tickAmount !== void 0), !!axis.tickAmount); };
24
30
  /* *
25
31
  *
26
32
  * Class
@@ -1280,15 +1286,9 @@ var Axis = /** @class */ (function () {
1280
1286
  if (!tickIntervalOption && axis.tickInterval < minTickInterval) {
1281
1287
  axis.tickInterval = minTickInterval;
1282
1288
  }
1283
- // for linear axes, get magnitude and normalize the interval
1289
+ // For linear axes, normalize the interval
1284
1290
  if (!axis.dateTime && !axis.logarithmic && !tickIntervalOption) {
1285
- axis.tickInterval = normalizeTickInterval(axis.tickInterval, void 0, getMagnitude(axis.tickInterval), pick(options.allowDecimals,
1286
- // If the tick interval is greather than 0.5, avoid
1287
- // decimals, as linear axes are often used to render
1288
- // discrete values. #3363. If a tick amount is set, allow
1289
- // decimals by default, as it increases the chances for a
1290
- // good fit.
1291
- axis.tickInterval < 0.5 || this.tickAmount !== void 0), !!this.tickAmount);
1291
+ axis.tickInterval = getNormalizedTickInterval(axis, axis.tickInterval);
1292
1292
  }
1293
1293
  // Prevent ticks from getting so close that we can't draw the labels
1294
1294
  if (!this.tickAmount) {
@@ -1365,7 +1365,21 @@ var Axis = /** @class */ (function () {
1365
1365
  tickPositions = axis.logarithmic.getLogTickPositions(this.tickInterval, this.min, this.max);
1366
1366
  }
1367
1367
  else {
1368
- tickPositions = this.getLinearTickPositions(this.tickInterval, this.min, this.max);
1368
+ var startingTickInterval = this.tickInterval;
1369
+ var adjustedTickInterval = startingTickInterval;
1370
+ while (adjustedTickInterval <= startingTickInterval * 2) {
1371
+ tickPositions = this.getLinearTickPositions(this.tickInterval, this.min, this.max);
1372
+ // If there are more tick positions than the set tickAmount,
1373
+ // increase the tickInterval and continue until it fits.
1374
+ // (#17100)
1375
+ if (this.tickAmount &&
1376
+ tickPositions.length > this.tickAmount) {
1377
+ this.tickInterval = getNormalizedTickInterval(this, adjustedTickInterval *= 1.1);
1378
+ }
1379
+ else {
1380
+ break;
1381
+ }
1382
+ }
1369
1383
  }
1370
1384
  // Too dense ticks, keep only the first and last (#4477)
1371
1385
  if (tickPositions.length > this.len) {
@@ -1666,11 +1680,6 @@ var Axis = /** @class */ (function () {
1666
1680
  }
1667
1681
  }
1668
1682
  adjustExtremes();
1669
- // We have too many ticks, run second pass to try to reduce ticks
1670
- }
1671
- else if (currentTickAmount > tickAmount) {
1672
- axis.tickInterval *= 2;
1673
- axis.setTickPositions();
1674
1683
  }
1675
1684
  // The finalTickAmt property is set in getTickAmount
1676
1685
  if (defined(finalTickAmt)) {
@@ -2509,18 +2518,18 @@ var Axis = /** @class */ (function () {
2509
2518
  // The part of a multiline text that is below the baseline of the
2510
2519
  // first line. Subtract 1 to preserve pixel-perfectness from the
2511
2520
  // old behaviour (v5.0.12), where only one line was allowed.
2512
- textHeightOvershoot = Math.max(axisTitle.getBBox(null, 0).height - fontMetrics.h - 1, 0),
2521
+ textHeightOvershoot = axisTitle ? Math.max(axisTitle.getBBox(false, 0).height - fontMetrics.h - 1, 0) : 0,
2513
2522
  // the position in the length direction of the axis
2514
- alongAxis = {
2523
+ alongAxis = ({
2515
2524
  low: margin + (horiz ? 0 : axisLength),
2516
2525
  middle: margin + axisLength / 2,
2517
2526
  high: margin + (horiz ? axisLength : 0)
2518
- }[axisTitleOptions.align],
2527
+ })[axisTitleOptions.align],
2519
2528
  // the position in the perpendicular direction of the axis
2520
2529
  offAxis = (horiz ? axisTop + this.height : axisLeft) +
2521
2530
  (horiz ? 1 : -1) * // horizontal axis reverses the margin
2522
2531
  (opposite ? -1 : 1) * // so does opposite axes
2523
- this.axisTitleMargin +
2532
+ (this.axisTitleMargin || 0) +
2524
2533
  [
2525
2534
  -textHeightOvershoot,
2526
2535
  textHeightOvershoot,
@@ -2722,14 +2731,8 @@ var Axis = /** @class */ (function () {
2722
2731
  }
2723
2732
  if (axisTitle && showAxis) {
2724
2733
  var titleXy = axis.getTitlePosition();
2725
- if (isNumber(titleXy.y)) {
2726
- axisTitle[axisTitle.isNew ? 'attr' : 'animate'](titleXy);
2727
- axisTitle.isNew = false;
2728
- }
2729
- else {
2730
- axisTitle.attr('y', -9999);
2731
- axisTitle.isNew = true;
2732
- }
2734
+ axisTitle[axisTitle.isNew ? 'attr' : 'animate'](titleXy);
2735
+ axisTitle.isNew = false;
2733
2736
  }
2734
2737
  // Stacked totals:
2735
2738
  if (stackLabelOptions && stackLabelOptions.enabled && axis.stacking) {
@@ -357,7 +357,7 @@ var GridAxis;
357
357
  });
358
358
  }
359
359
  // show or hide the line depending on options.showEmpty
360
- axis.axisLine[axis.showAxis ? 'show' : 'hide'](true);
360
+ axis.axisLine[axis.showAxis ? 'show' : 'hide']();
361
361
  }
362
362
  }
363
363
  (grid && grid.columns || []).forEach(function (column) {
@@ -951,7 +951,10 @@ dateFormats.E = function (timestamp) {
951
951
  };
952
952
  // Adds week date format
953
953
  dateFormats.W = function (timestamp) {
954
- var d = new this.Date(timestamp);
954
+ var time = this, d = new this.Date(timestamp), unitsToOmit = ['Hours', 'Milliseconds', 'Minutes', 'Seconds'];
955
+ unitsToOmit.forEach(function (format) {
956
+ time.set(format, d, 0);
957
+ });
955
958
  var firstDay = (this.get('Day', d) + 6) % 7;
956
959
  var thursday = new this.Date(d.valueOf());
957
960
  this.set('Date', thursday, this.get('Date', d) - firstDay + 3);
@@ -172,7 +172,7 @@ var LogarithmicAxis;
172
172
  axisLength;
173
173
  interval = pick(filteredTickIntervalOption, log.minorAutoInterval, (realMax - realMin) *
174
174
  tickPixelIntervalOption / (totalPixelLength || 1));
175
- interval = normalizeTickInterval(interval, void 0, getMagnitude(interval));
175
+ interval = normalizeTickInterval(interval);
176
176
  positions = axis.getLinearTickPositions(interval, realMin, realMax).map(log.log2lin);
177
177
  if (!minor) {
178
178
  log.minorAutoInterval = interval / 5;
@@ -407,9 +407,10 @@ var OrdinalAxis;
407
407
  // how many ordinal units did we move?
408
408
  movedUnits = (mouseDownX - chartX) / pointPixelWidth,
409
409
  // get index of all the chart's points
410
- extendedAxis = {
410
+ extendedOrdinalPositions = xAxis.ordinal.getExtendedPositions(), extendedAxis = {
411
411
  ordinal: {
412
- positions: xAxis.ordinal.getExtendedPositions()
412
+ positions: extendedOrdinalPositions,
413
+ extendedOrdinalPositions: extendedOrdinalPositions
413
414
  }
414
415
  }, index2val_1 = xAxis.index2val, val2lin_1 = xAxis.val2lin;
415
416
  var trimmedRange = void 0, ordinalPositions = void 0, searchAxisLeft = void 0, searchAxisRight = void 0;
@@ -145,7 +145,7 @@ var PlotLineOrBand = /** @class */ (function () {
145
145
  }
146
146
  else if (svgElem) {
147
147
  if (path) {
148
- svgElem.show(true);
148
+ svgElem.show();
149
149
  svgElem.animate({ d: path });
150
150
  }
151
151
  else if (svgElem.d) {
@@ -185,7 +185,6 @@ var StackingAxis;
185
185
  renderer
186
186
  .g('stack-labels')
187
187
  .attr({
188
- visibility: 'visible',
189
188
  zIndex: 6,
190
189
  opacity: 0
191
190
  })
@@ -647,11 +647,11 @@ var Tick = /** @class */ (function () {
647
647
  // Set the new position, and show or hide
648
648
  if (show && isNumber(xy.y)) {
649
649
  xy.opacity = opacity;
650
- label[tick.isNewLabel ? 'attr' : 'animate'](xy);
650
+ label[tick.isNewLabel ? 'attr' : 'animate'](xy).show(true);
651
651
  tick.isNewLabel = false;
652
652
  }
653
653
  else {
654
- label.attr('y', -9999); // #1338
654
+ label.hide(); // #1338, #15863
655
655
  tick.isNewLabel = true;
656
656
  }
657
657
  }
@@ -29,7 +29,7 @@ import SVGRenderer from '../Renderer/SVG/SVGRenderer.js';
29
29
  import Time from '../Time.js';
30
30
  import U from '../Utilities.js';
31
31
  import AST from '../Renderer/HTML/AST.js';
32
- var addEvent = U.addEvent, attr = U.attr, cleanRecursively = U.cleanRecursively, createElement = U.createElement, css = U.css, defined = U.defined, discardElement = U.discardElement, erase = U.erase, error = U.error, extend = U.extend, find = U.find, fireEvent = U.fireEvent, getStyle = U.getStyle, isArray = U.isArray, isFunction = U.isFunction, isNumber = U.isNumber, isObject = U.isObject, isString = U.isString, merge = U.merge, objectEach = U.objectEach, pick = U.pick, pInt = U.pInt, relativeLength = U.relativeLength, removeEvent = U.removeEvent, splat = U.splat, syncTimeout = U.syncTimeout, uniqueKey = U.uniqueKey;
32
+ var addEvent = U.addEvent, attr = U.attr, cleanRecursively = U.cleanRecursively, createElement = U.createElement, css = U.css, defined = U.defined, discardElement = U.discardElement, erase = U.erase, error = U.error, extend = U.extend, find = U.find, fireEvent = U.fireEvent, getStyle = U.getStyle, isArray = U.isArray, isNumber = U.isNumber, isObject = U.isObject, isString = U.isString, merge = U.merge, objectEach = U.objectEach, pick = U.pick, pInt = U.pInt, relativeLength = U.relativeLength, removeEvent = U.removeEvent, splat = U.splat, syncTimeout = U.syncTimeout, uniqueKey = U.uniqueKey;
33
33
  /* *
34
34
  *
35
35
  * Class
@@ -1943,9 +1943,27 @@ var Chart = /** @class */ (function () {
1943
1943
  if (defined(this.index)) {
1944
1944
  this.setReflow(this.options.chart.reflow);
1945
1945
  }
1946
+ this.warnIfA11yModuleNotLoaded();
1946
1947
  // Don't run again
1947
1948
  this.hasLoaded = true;
1948
1949
  };
1950
+ /**
1951
+ * Emit console warning if the a11y module is not loaded.
1952
+ */
1953
+ Chart.prototype.warnIfA11yModuleNotLoaded = function () {
1954
+ var _this = this;
1955
+ setTimeout(function () {
1956
+ var opts = _this && _this.options;
1957
+ if (opts && !_this.accessibility &&
1958
+ !(opts.accessibility && opts.accessibility.enabled === false)) {
1959
+ error('Highcharts warning: Consider including the ' +
1960
+ '"accessibility.js" module to make your chart more ' +
1961
+ 'usable for people with disabilities. Set the ' +
1962
+ '"accessibility.enabled" option to false to remove this ' +
1963
+ 'warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.', false, _this);
1964
+ }
1965
+ }, 100);
1966
+ };
1949
1967
  /**
1950
1968
  * Add a series to the chart after render time. Note that this method should
1951
1969
  * never be used when adding data synchronously at chart render time, as it
@@ -2494,7 +2512,7 @@ var Chart = /** @class */ (function () {
2494
2512
  * @emits Highcharts.Chart#event:beforeShowResetZoom
2495
2513
  */
2496
2514
  Chart.prototype.showResetZoom = function () {
2497
- var chart = this, lang = defaultOptions.lang, btnOptions = chart.options.chart.resetZoomButton, theme = btnOptions.theme, states = theme.states, alignTo = (btnOptions.relativeTo === 'chart' ||
2515
+ var chart = this, lang = defaultOptions.lang, btnOptions = chart.options.chart.resetZoomButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
2498
2516
  btnOptions.relativeTo === 'spacingBox' ?
2499
2517
  null :
2500
2518
  'scrollablePlotBox');
@@ -2506,7 +2524,7 @@ var Chart = /** @class */ (function () {
2506
2524
  }
2507
2525
  fireEvent(this, 'beforeShowResetZoom', null, function () {
2508
2526
  chart.resetZoomButton = chart.renderer
2509
- .button(lang.resetZoom, null, null, zoomOut, theme, states && states.hover)
2527
+ .button(lang.resetZoom, null, null, zoomOut, theme)
2510
2528
  .attr({
2511
2529
  align: btnOptions.position.align,
2512
2530
  title: lang.resetZoomTitle
@@ -484,6 +484,17 @@ var ChartDefaults = {
484
484
  * @since 5.0.0
485
485
  */
486
486
  colorCount: 10,
487
+ /**
488
+ * By default, (because of memory and performance reasons) the chart does
489
+ * not copy the data but keeps it as a reference. In some cases, this might
490
+ * result in mutating the original data source. In order to prevent that,
491
+ * set that property to false. Please note that changing that might decrease
492
+ * performance, especially with bigger sets of data.
493
+ *
494
+ * @type {boolean}
495
+ * @since 10.1.0
496
+ */
497
+ allowMutatingData: true,
487
498
  /**
488
499
  * Alias of `type`.
489
500
  *
@@ -562,7 +562,7 @@ addEvent(Axis, 'afterDrawCrosshair', function (event) {
562
562
  text: text,
563
563
  x: posx,
564
564
  y: posy,
565
- visibility: isInside ? 'visible' : 'hidden'
565
+ visibility: isInside ? 'inherit' : 'hidden'
566
566
  });
567
567
  crossBox = crossLabel.getBBox();
568
568
  // now it is placed we can correct its position
@@ -1917,18 +1917,20 @@ var defaultOptions = {
1917
1917
  * @apioption tooltip.pointFormatter
1918
1918
  */
1919
1919
  /**
1920
- * A callback function to place the tooltip in a default position. The
1920
+ * A callback function to place the tooltip in a custom position. The
1921
1921
  * callback receives three parameters: `labelWidth`, `labelHeight` and
1922
1922
  * `point`, where point contains values for `plotX` and `plotY` telling
1923
1923
  * where the reference point is in the plot area. Add `chart.plotLeft`
1924
1924
  * and `chart.plotTop` to get the full coordinates.
1925
1925
  *
1926
+ * To find the actual hovered `Point` instance, use
1927
+ * `this.chart.hoverPoint`. For shared or split tooltips, all the hover
1928
+ * points are available in `this.chart.hoverPoints`.
1929
+ *
1926
1930
  * Since v7, when [tooltip.split](#tooltip.split) option is enabled,
1927
1931
  * positioner is called for each of the boxes separately, including
1928
1932
  * xAxis header. xAxis header is not a point, instead `point` argument
1929
- * contains info:
1930
- * `{ plotX: Number, plotY: Number, isHeader: Boolean }`
1931
- *
1933
+ * contains info: `{ plotX: Number, plotY: Number, isHeader: Boolean }`
1932
1934
  *
1933
1935
  * The return should be an object containing x and y values, for example
1934
1936
  * `{ x: 100, y: 100 }`.
@@ -23,7 +23,7 @@ var Globals;
23
23
  * Constants
24
24
  *
25
25
  * */
26
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.0.0', Globals.win = (typeof window !== 'undefined' ?
26
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.1.0', Globals.win = (typeof window !== 'undefined' ?
27
27
  window :
28
28
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
29
29
  Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
@@ -1010,7 +1010,7 @@ var Legend = /** @class */ (function () {
1010
1010
  this.nav.attr({
1011
1011
  translateX: padding,
1012
1012
  translateY: clipHeight + this.padding + 7 + this.titleHeight,
1013
- visibility: 'visible'
1013
+ visibility: 'inherit'
1014
1014
  });
1015
1015
  [this.up, this.upTracker].forEach(function (elem) {
1016
1016
  elem.attr({
@@ -904,7 +904,7 @@ var Navigator = /** @class */ (function () {
904
904
  zoomedMin = Math.round(navigator.zoomedMin);
905
905
  if (navigatorEnabled) {
906
906
  navigator.navigatorGroup.attr({
907
- visibility: 'visible'
907
+ visibility: 'inherit'
908
908
  });
909
909
  // Place elements
910
910
  verb = rendered && !navigator.hasDragged ? 'animate' : 'attr';
@@ -91,7 +91,9 @@ var AST = /** @class */ (function () {
91
91
  valid = isString(val) && AST.allowedReferences.some(function (ref) { return val.indexOf(ref) === 0; });
92
92
  }
93
93
  if (!valid) {
94
- error("Highcharts warning: Invalid attribute '" + key + "' in config");
94
+ error(33, false, void 0, {
95
+ 'Invalid attribute in config': "" + key
96
+ });
95
97
  delete attributes[key];
96
98
  }
97
99
  });
@@ -101,9 +103,9 @@ var AST = /** @class */ (function () {
101
103
  return style
102
104
  .split(';')
103
105
  .reduce(function (styles, line) {
104
- var pair = line.split(':').map(function (s) { return s.trim(); }), key = pair[0].replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });
105
- if (pair[1]) {
106
- styles[key] = pair[1];
106
+ var pair = line.split(':').map(function (s) { return s.trim(); }), key = pair.shift();
107
+ if (key && pair.length) {
108
+ styles[key.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); })] = pair.join(':'); // #17146
107
109
  }
108
110
  return styles;
109
111
  }, {});
@@ -203,8 +205,9 @@ var AST = /** @class */ (function () {
203
205
  node = element;
204
206
  }
205
207
  else {
206
- error('Highcharts warning: Invalid tagName ' +
207
- tagName + ' in config');
208
+ error(33, false, void 0, {
209
+ 'Invalid tagName in config': tagName
210
+ });
208
211
  }
209
212
  }
210
213
  // Add to the tree
@@ -1032,10 +1032,9 @@ var SVGElement = /** @class */ (function () {
1032
1032
  * The bounding box with `x`, `y`, `width` and `height` properties.
1033
1033
  */
1034
1034
  SVGElement.prototype.getBBox = function (reload, rot) {
1035
- var wrapper = this, renderer = wrapper.renderer, element = wrapper.element, styles = wrapper.styles, textStr = wrapper.textStr, cache = renderer.cache, cacheKeys = renderer.cacheKeys, isSVG = element.namespaceURI === wrapper.SVG_NS, rotation = pick(rot, wrapper.rotation, 0), fontSize = renderer.styledMode ? (element &&
1035
+ var wrapper = this, alignValue = wrapper.alignValue, element = wrapper.element, renderer = wrapper.renderer, styles = wrapper.styles, textStr = wrapper.textStr, cache = renderer.cache, cacheKeys = renderer.cacheKeys, isSVG = element.namespaceURI === wrapper.SVG_NS, rotation = pick(rot, wrapper.rotation, 0), fontSize = renderer.styledMode ? (element &&
1036
1036
  SVGElement.prototype.getStyle.call(element, 'font-size')) : (styles && styles.fontSize);
1037
- var bBox, // = wrapper.bBox,
1038
- width, height, toggleTextShadowShim, cacheKey;
1037
+ var bBox, width, height, toggleTextShadowShim, cacheKey;
1039
1038
  // Avoid undefined and null (#7316)
1040
1039
  if (defined(textStr)) {
1041
1040
  cacheKey = textStr.toString();
@@ -1052,6 +1051,7 @@ var SVGElement = /** @class */ (function () {
1052
1051
  rotation,
1053
1052
  fontSize,
1054
1053
  wrapper.textWidth,
1054
+ alignValue,
1055
1055
  styles && styles.textOverflow,
1056
1056
  styles && styles.fontWeight // #12163
1057
1057
  ].join(',');
@@ -1097,7 +1097,7 @@ var SVGElement = /** @class */ (function () {
1097
1097
  // other condition is for Opera that returns a width of
1098
1098
  // -Infinity on hidden elements.
1099
1099
  if (!bBox || bBox.width < 0) {
1100
- bBox = { width: 0, height: 0 };
1100
+ bBox = { x: 0, y: 0, width: 0, height: 0 };
1101
1101
  }
1102
1102
  // VML Renderer or useHTML within SVG
1103
1103
  }
@@ -1126,11 +1126,20 @@ var SVGElement = /** @class */ (function () {
1126
1126
  }
1127
1127
  // Adjust for rotated text
1128
1128
  if (rotation) {
1129
- var rad = rotation * deg2rad;
1130
- bBox.width = Math.abs(height * Math.sin(rad)) +
1131
- Math.abs(width * Math.cos(rad));
1132
- bBox.height = Math.abs(height * Math.cos(rad)) +
1133
- Math.abs(width * Math.sin(rad));
1129
+ var baseline = Number(element.getAttribute('y') || 0) - bBox.y, alignFactor = {
1130
+ 'right': 1,
1131
+ 'center': 0.5
1132
+ }[alignValue || 0] || 0, rad = rotation * deg2rad, rad90 = (rotation - 90) * deg2rad, wCosRad = width * Math.cos(rad), wSinRad = width * Math.sin(rad), cosRad90 = Math.cos(rad90), sinRad90 = Math.sin(rad90),
1133
+ // Find the starting point on the left side baseline of
1134
+ // the text
1135
+ pX = bBox.x + alignFactor * (width - wCosRad), pY = bBox.y + baseline - alignFactor * wSinRad,
1136
+ // Find all corners
1137
+ aX = pX + baseline * cosRad90, bX = aX + wCosRad, cX = bX - height * cosRad90, dX = cX - wCosRad, aY = pY + baseline * sinRad90, bY = aY + wSinRad, cY = bY - height * sinRad90, dY = cY - wSinRad;
1138
+ // Deduct the bounding box from the corners
1139
+ bBox.x = Math.min(aX, bX, cX, dX);
1140
+ bBox.y = Math.min(aY, bY, cY, dY);
1141
+ bBox.width = Math.max(aX, bX, cX, dX) - bBox.x;
1142
+ bBox.height = Math.max(aY, bY, cY, dY) - bBox.y;
1134
1143
  }
1135
1144
  }
1136
1145
  // Cache it. When loading a chart in a hidden iframe in Firefox and
@@ -1189,21 +1198,11 @@ var SVGElement = /** @class */ (function () {
1189
1198
  *
1190
1199
  * @function Highcharts.SVGElement#hide
1191
1200
  *
1192
- * @param {boolean} [hideByTranslation=false]
1193
- * The flag to determine if element should be hidden by moving out
1194
- * of the viewport. Used for example for dataLabels.
1195
- *
1196
1201
  * @return {Highcharts.SVGElement}
1197
1202
  * Returns the SVGElement for chaining.
1198
1203
  */
1199
- SVGElement.prototype.hide = function (hideByTranslation) {
1200
- if (hideByTranslation) {
1201
- this.attr({ y: -9999 });
1202
- }
1203
- else {
1204
- this.attr({ visibility: 'hidden' });
1205
- }
1206
- return this;
1204
+ SVGElement.prototype.hide = function () {
1205
+ return this.attr({ visibility: 'hidden' });
1207
1206
  };
1208
1207
  /**
1209
1208
  * @private
@@ -1604,7 +1603,7 @@ var SVGElement = /** @class */ (function () {
1604
1603
  *
1605
1604
  * @function Highcharts.SVGElement#show
1606
1605
  *
1607
- * @param {boolean} [inherit=false]
1606
+ * @param {boolean} [inherit=true]
1608
1607
  * Set the visibility attribute to `inherit` rather than `visible`.
1609
1608
  * The difference is that an element with `visibility="visible"`
1610
1609
  * will be visible even if the parent is hidden.
@@ -1613,6 +1612,7 @@ var SVGElement = /** @class */ (function () {
1613
1612
  * Returns the SVGElement for chaining.
1614
1613
  */
1615
1614
  SVGElement.prototype.show = function (inherit) {
1615
+ if (inherit === void 0) { inherit = true; }
1616
1616
  return this.attr({ visibility: inherit ? 'inherit' : 'visible' });
1617
1617
  };
1618
1618
  /**
@@ -193,7 +193,7 @@ var SVGRenderer = /** @class */ (function () {
193
193
  this.url = this.getReferenceURL();
194
194
  // Add description
195
195
  var desc = this.createElement('desc').add();
196
- desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.0.0'));
196
+ desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.1.0'));
197
197
  renderer.defs = this.createElement('defs').add();
198
198
  renderer.allowHTML = allowHTML;
199
199
  renderer.forExport = forExport;
@@ -502,7 +502,7 @@ var SVGRenderer = /** @class */ (function () {
502
502
  * @param {Highcharts.SVGAttributes} [hoverState]
503
503
  * SVG attributes for the hover state.
504
504
  *
505
- * @param {Highcharts.SVGAttributes} [pressedState]
505
+ * @param {Highcharts.SVGAttributes} [selectState]
506
506
  * SVG attributes for the pressed state.
507
507
  *
508
508
  * @param {Highcharts.SVGAttributes} [disabledState]
@@ -517,8 +517,11 @@ var SVGRenderer = /** @class */ (function () {
517
517
  * @return {Highcharts.SVGElement}
518
518
  * The button element.
519
519
  */
520
- SVGRenderer.prototype.button = function (text, x, y, callback, theme, hoverState, pressedState, disabledState, shape, useHTML) {
521
- var label = this.label(text, x, y, shape, void 0, void 0, useHTML, void 0, 'button'), styledMode = this.styledMode;
520
+ SVGRenderer.prototype.button = function (text, x, y, callback, theme, hoverState, selectState, disabledState, shape, useHTML) {
521
+ var label = this.label(text, x, y, shape, void 0, void 0, useHTML, void 0, 'button'), styledMode = this.styledMode, states = (theme && theme.states) || {};
522
+ if (theme) {
523
+ delete theme.states;
524
+ }
522
525
  var curState = 0,
523
526
  // Make a copy of normalState (#13798)
524
527
  // (reference to options.rangeSelector.buttonTheme)
@@ -535,7 +538,7 @@ var SVGRenderer = /** @class */ (function () {
535
538
  label.attr(merge({ padding: 8, r: 2 }, normalState));
536
539
  // Presentational. The string type is a mistake, it is just for
537
540
  // compliance with SVGAttribute and is not used in button theme.
538
- var hoverStyle, pressedStyle, disabledStyle;
541
+ var hoverStyle, selectStyle, disabledStyle;
539
542
  if (!styledMode) {
540
543
  // Normal state - prepare the attributes
541
544
  normalState = merge({
@@ -546,25 +549,25 @@ var SVGRenderer = /** @class */ (function () {
546
549
  // Hover state
547
550
  hoverState = merge(normalState, {
548
551
  fill: "#e6e6e6" /* neutralColor10 */
549
- }, AST.filterUserAttributes(hoverState || {}));
552
+ }, AST.filterUserAttributes(hoverState || states.hover || {}));
550
553
  hoverStyle = hoverState.style;
551
554
  delete hoverState.style;
552
555
  // Pressed state
553
- pressedState = merge(normalState, {
556
+ selectState = merge(normalState, {
554
557
  fill: "#e6ebf5" /* highlightColor10 */,
555
558
  style: {
556
559
  color: "#000000" /* neutralColor100 */,
557
560
  fontWeight: 'bold'
558
561
  }
559
- }, AST.filterUserAttributes(pressedState || {}));
560
- pressedStyle = pressedState.style;
561
- delete pressedState.style;
562
+ }, AST.filterUserAttributes(selectState || states.select || {}));
563
+ selectStyle = selectState.style;
564
+ delete selectState.style;
562
565
  // Disabled state
563
566
  disabledState = merge(normalState, {
564
567
  style: {
565
568
  color: "#cccccc" /* neutralColor20 */
566
569
  }
567
- }, AST.filterUserAttributes(disabledState || {}));
570
+ }, AST.filterUserAttributes(disabledState || states.disabled || {}));
568
571
  disabledStyle = disabledState.style;
569
572
  delete disabledState.style;
570
573
  }
@@ -595,13 +598,13 @@ var SVGRenderer = /** @class */ (function () {
595
598
  .attr([
596
599
  normalState,
597
600
  hoverState,
598
- pressedState,
601
+ selectState,
599
602
  disabledState
600
603
  ][state || 0]);
601
604
  var css_1 = [
602
605
  normalStyle,
603
606
  hoverStyle,
604
- pressedStyle,
607
+ selectStyle,
605
608
  disabledStyle
606
609
  ][state || 0];
607
610
  if (isObject(css_1)) {
@@ -165,7 +165,7 @@ var SVGRenderer3D = /** @class */ (function (_super) {
165
165
  var chart = charts[renderer.chartIndex], vertexes2d = perspective(this.vertexes, chart, this.insidePlotArea), path = renderer.toLinePath(vertexes2d, true), area = shapeArea(vertexes2d);
166
166
  hash.d = path;
167
167
  hash.visibility = (this.enabled && area > 0) ?
168
- 'visible' : 'hidden';
168
+ 'inherit' : 'hidden';
169
169
  }
170
170
  return SVGElement.prototype.attr.apply(this, arguments);
171
171
  };
@@ -379,6 +379,8 @@ var Scrollbar = /** @class */ (function () {
379
379
  Scrollbar.prototype.position = function (x, y, width, height) {
380
380
  var scroller = this, options = scroller.options, vertical = options.vertical, method = scroller.rendered ? 'animate' : 'attr';
381
381
  var xOffset = height, yOffset = 0;
382
+ // Make the scrollbar visible when it is repositioned, #15763.
383
+ scroller.group.show();
382
384
  scroller.x = x;
383
385
  scroller.y = y + this.trackBorderWidth;
384
386
  scroller.width = width; // width with buttons
@@ -433,10 +435,12 @@ var Scrollbar = /** @class */ (function () {
433
435
  * @function Highcharts.Scrollbar#render
434
436
  */
435
437
  Scrollbar.prototype.render = function () {
436
- var scroller = this, renderer = scroller.renderer, options = scroller.options, size = scroller.size, styledMode = scroller.chart.styledMode, group = renderer.g('scrollbar').attr({
437
- zIndex: options.zIndex,
438
- translateY: -99999
439
- }).add();
438
+ var scroller = this, renderer = scroller.renderer, options = scroller.options, size = scroller.size, styledMode = scroller.chart.styledMode, group = renderer.g('scrollbar')
439
+ .attr({
440
+ zIndex: options.zIndex
441
+ })
442
+ .hide() // initially hide the scrollbar #15863
443
+ .add();
440
444
  // Draw the scrollbar group
441
445
  scroller.group = group;
442
446
  // Draw the scrollbar track:
@@ -558,7 +562,7 @@ var Scrollbar = /** @class */ (function () {
558
562
  scroller.scrollbarRifles.hide();
559
563
  }
560
564
  else {
561
- scroller.scrollbarRifles.show(true);
565
+ scroller.scrollbarRifles.show();
562
566
  }
563
567
  // Show or hide the scrollbar based on the showFull setting
564
568
  if (options.showFull === false) {