highcharts 9.3.2 → 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 (700) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +1 -1
  9. package/es-modules/Accessibility/Components/ContainerComponent.js +8 -9
  10. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +14 -9
  11. package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
  12. package/es-modules/Accessibility/Components/MenuComponent.js +15 -5
  13. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
  14. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  15. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  16. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +84 -33
  19. package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
  20. package/es-modules/Accessibility/FocusBorder.js +6 -5
  21. package/es-modules/Accessibility/HighContrastMode.js +2 -2
  22. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  23. package/es-modules/Accessibility/Options/LangOptions.js +36 -31
  24. package/es-modules/Accessibility/Options/Options.js +66 -3
  25. package/es-modules/Accessibility/ProxyElement.js +14 -6
  26. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  27. package/es-modules/Accessibility/Utils/ChartUtilities.js +9 -4
  28. package/es-modules/Core/Axis/Axis.js +180 -73
  29. package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
  30. package/es-modules/Core/Axis/GridAxis.js +15 -11
  31. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  32. package/es-modules/Core/Axis/OrdinalAxis.js +3 -2
  33. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
  34. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  35. package/es-modules/Core/Axis/Tick.js +2 -2
  36. package/es-modules/Core/Axis/TreeGridTick.js +11 -0
  37. package/es-modules/Core/Chart/Chart.js +21 -3
  38. package/es-modules/Core/Chart/Chart3D.js +1 -11
  39. package/es-modules/Core/Chart/ChartDefaults.js +43 -11
  40. package/es-modules/Core/Chart/MapChart.js +1 -6
  41. package/es-modules/Core/Chart/StockChart.js +1 -1
  42. package/es-modules/Core/DefaultOptions.js +8 -4
  43. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  44. package/es-modules/Core/Globals.js +4 -18
  45. package/es-modules/Core/HttpUtilities.js +13 -8
  46. package/es-modules/Core/Legend/Legend.js +11 -9
  47. package/es-modules/Core/Navigator.js +10 -7
  48. package/es-modules/Core/Pointer.js +15 -11
  49. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  50. package/es-modules/Core/Renderer/SVG/SVGElement.js +47 -63
  51. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  52. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +31 -28
  53. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  54. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  55. package/es-modules/Core/Scrollbar.js +9 -5
  56. package/es-modules/Core/Series/DataLabel.js +65 -36
  57. package/es-modules/Core/Series/Point.js +2 -2
  58. package/es-modules/Core/Series/Series.js +52 -22
  59. package/es-modules/Core/Series/SeriesDefaults.js +4 -1
  60. package/es-modules/Core/Tooltip.js +14 -31
  61. package/es-modules/Core/Utilities.js +29 -29
  62. package/es-modules/Extensions/Annotations/Annotations.js +9 -2
  63. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  64. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  65. package/es-modules/Extensions/Annotations/NavigationBindings.js +9 -1
  66. package/es-modules/Extensions/Annotations/Popup.js +1 -1
  67. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  68. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  69. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  70. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  71. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  72. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  73. package/es-modules/Extensions/Breadcrumbs.js +873 -0
  74. package/es-modules/Extensions/Data.js +26 -14
  75. package/es-modules/Extensions/DataGrouping.js +8 -3
  76. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  77. package/es-modules/Extensions/DraggablePoints.js +9 -7
  78. package/es-modules/Extensions/Drilldown.js +150 -95
  79. package/es-modules/Extensions/ExportData.js +1 -2
  80. package/es-modules/Extensions/Exporting/Exporting.js +31 -20
  81. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  82. package/es-modules/Extensions/FullScreen.js +121 -54
  83. package/es-modules/Extensions/GeoJSON.js +151 -125
  84. package/es-modules/Extensions/MarkerClusters.js +34 -20
  85. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  86. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  87. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  88. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  89. package/es-modules/Extensions/Polar.js +4 -1
  90. package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
  91. package/es-modules/Extensions/Stacking.js +4 -3
  92. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  93. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  94. package/es-modules/Maps/MapNavigation.js +50 -13
  95. package/es-modules/Maps/MapPointer.js +16 -0
  96. package/es-modules/Maps/MapUtilities.js +56 -0
  97. package/es-modules/Maps/MapView.js +611 -136
  98. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  99. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  100. package/es-modules/Maps/Projection.js +169 -77
  101. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  102. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  103. package/es-modules/Maps/Projections/Miller.js +23 -10
  104. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  105. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  106. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  107. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +589 -0
  108. package/es-modules/Series/CenteredUtilities.js +6 -1
  109. package/es-modules/Series/Column/ColumnSeries.js +4 -3
  110. package/es-modules/Series/DataModifyComposition.js +1 -0
  111. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
  112. package/es-modules/Series/DrawPointComposition.js +7 -4
  113. package/es-modules/Series/Flags/FlagsSeries.js +7 -12
  114. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  115. package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -20
  116. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  117. package/es-modules/Series/Map/MapPoint.js +24 -1
  118. package/es-modules/Series/Map/MapSeries.js +206 -169
  119. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  120. package/es-modules/Series/MapBubble/MapBubbleSeries.js +58 -1
  121. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  122. package/es-modules/Series/MapPoint/MapPointSeries.js +40 -14
  123. package/es-modules/Series/NodesComposition.js +60 -13
  124. package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
  125. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  126. package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
  127. package/es-modules/Series/Pie/PieDataLabel.js +3 -1
  128. package/es-modules/Series/Pie/PiePoint.js +12 -5
  129. package/es-modules/Series/Pie/PieSeries.js +12 -1
  130. package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
  131. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  132. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  133. package/es-modules/Series/Sankey/SankeySeries.js +13 -128
  134. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  135. package/es-modules/Series/Sunburst/SunburstSeries.js +14 -3
  136. package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
  137. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
  138. package/es-modules/Series/Wordcloud/WordcloudSeries.js +4 -4
  139. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
  140. package/es-modules/Stock/StockToolsBindings.js +31 -24
  141. package/es-modules/Stock/StockToolsGui.js +1 -1
  142. package/es-modules/masters/highcharts-3d.src.js +1 -1
  143. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  144. package/es-modules/masters/highcharts-more.src.js +1 -1
  145. package/es-modules/masters/highcharts.src.js +1 -1
  146. package/es-modules/masters/highmaps.src.js +1 -1
  147. package/es-modules/masters/highstock.src.js +1 -1
  148. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  149. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  150. package/es-modules/masters/indicators/ao.src.js +1 -1
  151. package/es-modules/masters/indicators/apo.src.js +1 -1
  152. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  153. package/es-modules/masters/indicators/aroon.src.js +1 -1
  154. package/es-modules/masters/indicators/atr.src.js +1 -1
  155. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  156. package/es-modules/masters/indicators/cci.src.js +1 -1
  157. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  158. package/es-modules/masters/indicators/cmf.src.js +1 -1
  159. package/es-modules/masters/indicators/cmo.src.js +1 -1
  160. package/es-modules/masters/indicators/dema.src.js +1 -1
  161. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  162. package/es-modules/masters/indicators/dmi.src.js +1 -1
  163. package/es-modules/masters/indicators/dpo.src.js +1 -1
  164. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  165. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  166. package/es-modules/masters/indicators/indicators.src.js +1 -1
  167. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  168. package/es-modules/masters/indicators/klinger.src.js +1 -1
  169. package/es-modules/masters/indicators/macd.src.js +1 -1
  170. package/es-modules/masters/indicators/mfi.src.js +1 -1
  171. package/es-modules/masters/indicators/momentum.src.js +1 -1
  172. package/es-modules/masters/indicators/natr.src.js +1 -1
  173. package/es-modules/masters/indicators/obv.src.js +1 -1
  174. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  175. package/es-modules/masters/indicators/ppo.src.js +1 -1
  176. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  177. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  178. package/es-modules/masters/indicators/psar.src.js +1 -1
  179. package/es-modules/masters/indicators/regressions.src.js +1 -1
  180. package/es-modules/masters/indicators/roc.src.js +1 -1
  181. package/es-modules/masters/indicators/rsi.src.js +1 -1
  182. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  183. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  184. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  185. package/es-modules/masters/indicators/tema.src.js +1 -1
  186. package/es-modules/masters/indicators/trendline.src.js +1 -1
  187. package/es-modules/masters/indicators/trix.src.js +1 -1
  188. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  189. package/es-modules/masters/indicators/vwap.src.js +1 -1
  190. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  191. package/es-modules/masters/indicators/wma.src.js +1 -1
  192. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  193. package/es-modules/masters/modules/accessibility.src.js +1 -1
  194. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  195. package/es-modules/masters/modules/annotations.src.js +1 -1
  196. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  197. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  198. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  199. package/es-modules/masters/modules/boost.src.js +1 -1
  200. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  201. package/es-modules/masters/modules/bullet.src.js +1 -1
  202. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  203. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  204. package/es-modules/masters/modules/cylinder.src.js +1 -1
  205. package/es-modules/masters/modules/data.src.js +1 -1
  206. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  207. package/es-modules/masters/modules/debugger.src.js +1 -1
  208. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  209. package/es-modules/masters/modules/dotplot.src.js +1 -1
  210. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  211. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  212. package/es-modules/masters/modules/drilldown.src.js +2 -1
  213. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  214. package/es-modules/masters/modules/export-data.src.js +1 -1
  215. package/es-modules/masters/modules/exporting.src.js +1 -1
  216. package/es-modules/masters/modules/full-screen.src.js +1 -1
  217. package/es-modules/masters/modules/funnel.src.js +1 -1
  218. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  219. package/es-modules/masters/modules/gantt.src.js +1 -1
  220. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  221. package/es-modules/masters/modules/heatmap.src.js +1 -1
  222. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  223. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  224. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  225. package/es-modules/masters/modules/item-series.src.js +1 -1
  226. package/es-modules/masters/modules/lollipop.src.js +1 -1
  227. package/es-modules/masters/modules/map.src.js +5 -1
  228. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  229. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  230. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  231. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  232. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  233. package/es-modules/masters/modules/oldie.src.js +1 -1
  234. package/es-modules/masters/modules/organization.src.js +1 -1
  235. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  236. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  237. package/es-modules/masters/modules/pareto.src.js +1 -1
  238. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  239. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  240. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  241. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  242. package/es-modules/masters/modules/sankey.src.js +1 -1
  243. package/es-modules/masters/modules/series-label.src.js +1 -1
  244. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  245. package/es-modules/masters/modules/sonification.src.js +1 -1
  246. package/es-modules/masters/modules/static-scale.src.js +1 -1
  247. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  248. package/es-modules/masters/modules/stock.src.js +1 -1
  249. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  250. package/es-modules/masters/modules/sunburst.src.js +1 -1
  251. package/es-modules/masters/modules/tilemap.src.js +1 -1
  252. package/es-modules/masters/modules/timeline.src.js +1 -1
  253. package/es-modules/masters/modules/treegrid.src.js +1 -1
  254. package/es-modules/masters/modules/treemap.src.js +5 -1
  255. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  256. package/es-modules/masters/modules/variwide.src.js +1 -1
  257. package/es-modules/masters/modules/vector.src.js +1 -1
  258. package/es-modules/masters/modules/venn.src.js +1 -1
  259. package/es-modules/masters/modules/windbarb.src.js +1 -1
  260. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  261. package/es-modules/masters/modules/xrange.src.js +1 -1
  262. package/es-modules/masters/themes/avocado.src.js +1 -1
  263. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  264. package/es-modules/masters/themes/brand-light.src.js +1 -1
  265. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  266. package/es-modules/masters/themes/dark-green.src.js +1 -1
  267. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  268. package/es-modules/masters/themes/gray.src.js +1 -1
  269. package/es-modules/masters/themes/grid-light.src.js +1 -1
  270. package/es-modules/masters/themes/grid.src.js +1 -1
  271. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  272. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  273. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  274. package/es-modules/masters/themes/skies.src.js +1 -1
  275. package/es-modules/masters/themes/sunset.src.js +1 -1
  276. package/highcharts-3d.js +99 -98
  277. package/highcharts-3d.js.map +1 -1
  278. package/highcharts-3d.src.js +51 -21
  279. package/highcharts-gantt.js +808 -800
  280. package/highcharts-gantt.js.map +1 -1
  281. package/highcharts-gantt.src.js +781 -426
  282. package/highcharts-more.js +195 -194
  283. package/highcharts-more.js.map +1 -1
  284. package/highcharts-more.src.js +18 -4
  285. package/highcharts.d.ts +3224 -542
  286. package/highcharts.js +592 -584
  287. package/highcharts.js.map +1 -1
  288. package/highcharts.src.d.ts +3224 -542
  289. package/highcharts.src.js +732 -400
  290. package/highmaps.js +760 -728
  291. package/highmaps.js.map +1 -1
  292. package/highmaps.src.js +3840 -2189
  293. package/highstock.js +793 -786
  294. package/highstock.js.map +1 -1
  295. package/highstock.src.js +783 -432
  296. package/indicators/acceleration-bands.js +12 -11
  297. package/indicators/acceleration-bands.js.map +1 -1
  298. package/indicators/acceleration-bands.src.js +11 -2
  299. package/indicators/accumulation-distribution.js +5 -5
  300. package/indicators/accumulation-distribution.js.map +1 -1
  301. package/indicators/accumulation-distribution.src.js +11 -2
  302. package/indicators/ao.js +6 -6
  303. package/indicators/ao.js.map +1 -1
  304. package/indicators/ao.src.js +11 -2
  305. package/indicators/apo.js +5 -5
  306. package/indicators/apo.js.map +1 -1
  307. package/indicators/apo.src.js +11 -2
  308. package/indicators/aroon-oscillator.js +10 -10
  309. package/indicators/aroon-oscillator.js.map +1 -1
  310. package/indicators/aroon-oscillator.src.js +11 -2
  311. package/indicators/aroon.js +11 -11
  312. package/indicators/aroon.js.map +1 -1
  313. package/indicators/aroon.src.js +11 -2
  314. package/indicators/atr.js +5 -5
  315. package/indicators/atr.js.map +1 -1
  316. package/indicators/atr.src.js +11 -2
  317. package/indicators/bollinger-bands.js +12 -12
  318. package/indicators/bollinger-bands.js.map +1 -1
  319. package/indicators/bollinger-bands.src.js +11 -2
  320. package/indicators/cci.js +5 -5
  321. package/indicators/cci.js.map +1 -1
  322. package/indicators/cci.src.js +11 -2
  323. package/indicators/chaikin.js +8 -8
  324. package/indicators/chaikin.js.map +1 -1
  325. package/indicators/chaikin.src.js +11 -2
  326. package/indicators/cmf.js +6 -6
  327. package/indicators/cmf.js.map +1 -1
  328. package/indicators/cmf.src.js +11 -2
  329. package/indicators/cmo.js +5 -5
  330. package/indicators/cmo.js.map +1 -1
  331. package/indicators/cmo.src.js +11 -2
  332. package/indicators/dema.js +5 -5
  333. package/indicators/dema.js.map +1 -1
  334. package/indicators/dema.src.js +11 -2
  335. package/indicators/disparity-index.js +6 -6
  336. package/indicators/disparity-index.js.map +1 -1
  337. package/indicators/disparity-index.src.js +11 -2
  338. package/indicators/dmi.js +12 -12
  339. package/indicators/dmi.js.map +1 -1
  340. package/indicators/dmi.src.js +11 -2
  341. package/indicators/dpo.js +5 -5
  342. package/indicators/dpo.js.map +1 -1
  343. package/indicators/dpo.src.js +11 -2
  344. package/indicators/ema.js +2 -1
  345. package/indicators/ema.js.map +1 -1
  346. package/indicators/ema.src.js +10 -1
  347. package/indicators/ichimoku-kinko-hyo.js +16 -16
  348. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  349. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  350. package/indicators/indicators-all.js +195 -194
  351. package/indicators/indicators-all.js.map +1 -1
  352. package/indicators/indicators-all.src.js +21 -5
  353. package/indicators/indicators.js +13 -12
  354. package/indicators/indicators.js.map +1 -1
  355. package/indicators/indicators.src.js +21 -5
  356. package/indicators/keltner-channels.js +12 -11
  357. package/indicators/keltner-channels.js.map +1 -1
  358. package/indicators/keltner-channels.src.js +11 -2
  359. package/indicators/klinger.js +13 -13
  360. package/indicators/klinger.js.map +1 -1
  361. package/indicators/klinger.src.js +11 -2
  362. package/indicators/macd.js +12 -11
  363. package/indicators/macd.js.map +1 -1
  364. package/indicators/macd.src.js +11 -2
  365. package/indicators/mfi.js +6 -6
  366. package/indicators/mfi.js.map +1 -1
  367. package/indicators/mfi.src.js +11 -2
  368. package/indicators/momentum.js +5 -5
  369. package/indicators/momentum.js.map +1 -1
  370. package/indicators/momentum.src.js +11 -2
  371. package/indicators/natr.js +5 -4
  372. package/indicators/natr.js.map +1 -1
  373. package/indicators/natr.src.js +11 -2
  374. package/indicators/obv.js +5 -5
  375. package/indicators/obv.js.map +1 -1
  376. package/indicators/obv.src.js +11 -2
  377. package/indicators/pivot-points.js +11 -11
  378. package/indicators/pivot-points.js.map +1 -1
  379. package/indicators/pivot-points.src.js +11 -2
  380. package/indicators/ppo.js +5 -5
  381. package/indicators/ppo.js.map +1 -1
  382. package/indicators/ppo.src.js +11 -2
  383. package/indicators/price-channel.js +11 -11
  384. package/indicators/price-channel.js.map +1 -1
  385. package/indicators/price-channel.src.js +11 -2
  386. package/indicators/price-envelopes.js +8 -8
  387. package/indicators/price-envelopes.js.map +1 -1
  388. package/indicators/price-envelopes.src.js +11 -2
  389. package/indicators/psar.js +7 -6
  390. package/indicators/psar.js.map +1 -1
  391. package/indicators/psar.src.js +11 -2
  392. package/indicators/regressions.js +12 -12
  393. package/indicators/regressions.js.map +1 -1
  394. package/indicators/regressions.src.js +11 -2
  395. package/indicators/roc.js +5 -5
  396. package/indicators/roc.js.map +1 -1
  397. package/indicators/roc.src.js +11 -2
  398. package/indicators/rsi.js +6 -5
  399. package/indicators/rsi.js.map +1 -1
  400. package/indicators/rsi.src.js +11 -2
  401. package/indicators/slow-stochastic.js +5 -5
  402. package/indicators/slow-stochastic.js.map +1 -1
  403. package/indicators/slow-stochastic.src.js +11 -2
  404. package/indicators/stochastic.js +12 -12
  405. package/indicators/stochastic.js.map +1 -1
  406. package/indicators/stochastic.src.js +11 -2
  407. package/indicators/supertrend.js +10 -10
  408. package/indicators/supertrend.js.map +1 -1
  409. package/indicators/supertrend.src.js +11 -2
  410. package/indicators/tema.js +6 -6
  411. package/indicators/tema.js.map +1 -1
  412. package/indicators/tema.src.js +11 -2
  413. package/indicators/trendline.js +5 -5
  414. package/indicators/trendline.js.map +1 -1
  415. package/indicators/trendline.src.js +11 -2
  416. package/indicators/trix.js +4 -4
  417. package/indicators/trix.js.map +1 -1
  418. package/indicators/trix.src.js +11 -2
  419. package/indicators/volume-by-price.js +17 -17
  420. package/indicators/volume-by-price.js.map +1 -1
  421. package/indicators/volume-by-price.src.js +11 -2
  422. package/indicators/vwap.js +5 -5
  423. package/indicators/vwap.js.map +1 -1
  424. package/indicators/vwap.src.js +11 -2
  425. package/indicators/williams-r.js +6 -5
  426. package/indicators/williams-r.js.map +1 -1
  427. package/indicators/williams-r.src.js +11 -2
  428. package/indicators/wma.js +5 -5
  429. package/indicators/wma.js.map +1 -1
  430. package/indicators/wma.src.js +11 -2
  431. package/indicators/zigzag.js +6 -6
  432. package/indicators/zigzag.js.map +1 -1
  433. package/indicators/zigzag.src.js +11 -2
  434. package/lib/jspdf.js +299 -184
  435. package/lib/jspdf.src.js +25266 -18067
  436. package/lib/svg2pdf.js +35 -31
  437. package/lib/svg2pdf.src.js +5721 -4179
  438. package/modules/accessibility.js +245 -240
  439. package/modules/accessibility.js.map +1 -1
  440. package/modules/accessibility.src.js +510 -283
  441. package/modules/annotations-advanced.js +144 -144
  442. package/modules/annotations-advanced.js.map +1 -1
  443. package/modules/annotations-advanced.src.js +37 -11
  444. package/modules/annotations.js +79 -79
  445. package/modules/annotations.js.map +1 -1
  446. package/modules/annotations.src.js +32 -8
  447. package/modules/arc-diagram.js +25 -0
  448. package/modules/arc-diagram.js.map +1 -0
  449. package/modules/arc-diagram.src.js +778 -0
  450. package/modules/arrow-symbols.js +4 -3
  451. package/modules/arrow-symbols.js.map +1 -1
  452. package/modules/arrow-symbols.src.js +11 -2
  453. package/modules/boost-canvas.js +15 -15
  454. package/modules/boost-canvas.js.map +1 -1
  455. package/modules/boost-canvas.src.js +11 -2
  456. package/modules/boost.js +80 -79
  457. package/modules/boost.js.map +1 -1
  458. package/modules/boost.src.js +71 -43
  459. package/modules/broken-axis.js +13 -13
  460. package/modules/broken-axis.js.map +1 -1
  461. package/modules/broken-axis.src.js +11 -2
  462. package/modules/bullet.js +9 -9
  463. package/modules/bullet.js.map +1 -1
  464. package/modules/bullet.src.js +11 -2
  465. package/modules/coloraxis.js +24 -24
  466. package/modules/coloraxis.js.map +1 -1
  467. package/modules/coloraxis.src.js +33 -7
  468. package/modules/current-date-indicator.js +5 -4
  469. package/modules/current-date-indicator.js.map +1 -1
  470. package/modules/current-date-indicator.src.js +11 -2
  471. package/modules/cylinder.js +11 -11
  472. package/modules/cylinder.js.map +1 -1
  473. package/modules/cylinder.src.js +11 -2
  474. package/modules/data.js +34 -33
  475. package/modules/data.js.map +1 -1
  476. package/modules/data.src.js +59 -32
  477. package/modules/datagrouping.js +21 -20
  478. package/modules/datagrouping.js.map +1 -1
  479. package/modules/datagrouping.src.js +19 -5
  480. package/modules/debugger.js +8 -7
  481. package/modules/debugger.js.map +1 -1
  482. package/modules/debugger.src.js +15 -2
  483. package/modules/dependency-wheel.js +12 -11
  484. package/modules/dependency-wheel.js.map +1 -1
  485. package/modules/dependency-wheel.src.js +14 -5
  486. package/modules/dotplot.js +6 -6
  487. package/modules/dotplot.js.map +1 -1
  488. package/modules/dotplot.src.js +11 -2
  489. package/modules/drag-panes.js +10 -10
  490. package/modules/drag-panes.js.map +1 -1
  491. package/modules/drag-panes.src.js +11 -2
  492. package/modules/draggable-points.js +35 -34
  493. package/modules/draggable-points.js.map +1 -1
  494. package/modules/draggable-points.src.js +20 -9
  495. package/modules/drilldown.d.ts +19 -0
  496. package/modules/drilldown.js +36 -25
  497. package/modules/drilldown.js.map +1 -1
  498. package/modules/drilldown.src.d.ts +19 -0
  499. package/modules/drilldown.src.js +1091 -106
  500. package/modules/dumbbell.js +17 -17
  501. package/modules/dumbbell.js.map +1 -1
  502. package/modules/dumbbell.src.js +11 -2
  503. package/modules/export-data.js +21 -20
  504. package/modules/export-data.js.map +1 -1
  505. package/modules/export-data.src.js +12 -4
  506. package/modules/exporting.js +39 -39
  507. package/modules/exporting.js.map +1 -1
  508. package/modules/exporting.src.js +227 -92
  509. package/modules/full-screen.js +8 -7
  510. package/modules/full-screen.js.map +1 -1
  511. package/modules/full-screen.src.js +135 -58
  512. package/modules/funnel.js +12 -12
  513. package/modules/funnel.js.map +1 -1
  514. package/modules/funnel.src.js +11 -2
  515. package/modules/funnel3d.js +21 -21
  516. package/modules/funnel3d.js.map +1 -1
  517. package/modules/funnel3d.src.js +11 -2
  518. package/modules/gantt.js +216 -215
  519. package/modules/gantt.js.map +1 -1
  520. package/modules/gantt.src.js +60 -28
  521. package/modules/grid-axis.js +23 -23
  522. package/modules/grid-axis.js.map +1 -1
  523. package/modules/grid-axis.src.js +27 -13
  524. package/modules/heatmap.js +40 -39
  525. package/modules/heatmap.js.map +1 -1
  526. package/modules/heatmap.src.js +46 -27
  527. package/modules/heikinashi.js +8 -8
  528. package/modules/heikinashi.js.map +1 -1
  529. package/modules/heikinashi.src.js +11 -2
  530. package/modules/histogram-bellcurve.js +13 -13
  531. package/modules/histogram-bellcurve.js.map +1 -1
  532. package/modules/histogram-bellcurve.src.js +11 -2
  533. package/modules/hollowcandlestick.js +9 -9
  534. package/modules/hollowcandlestick.js.map +1 -1
  535. package/modules/hollowcandlestick.src.js +11 -2
  536. package/modules/item-series.js +12 -12
  537. package/modules/item-series.js.map +1 -1
  538. package/modules/item-series.src.js +11 -2
  539. package/modules/lollipop.js +7 -7
  540. package/modules/lollipop.js.map +1 -1
  541. package/modules/lollipop.src.js +12 -3
  542. package/modules/map.d.ts +80 -43
  543. package/modules/map.js +169 -144
  544. package/modules/map.js.map +1 -1
  545. package/modules/map.src.d.ts +80 -43
  546. package/modules/map.src.js +8024 -6696
  547. package/modules/marker-clusters.js +36 -36
  548. package/modules/marker-clusters.js.map +1 -1
  549. package/modules/marker-clusters.src.js +47 -23
  550. package/modules/networkgraph.d.ts +5 -0
  551. package/modules/networkgraph.js +49 -48
  552. package/modules/networkgraph.js.map +1 -1
  553. package/modules/networkgraph.src.d.ts +5 -0
  554. package/modules/networkgraph.src.js +77 -15
  555. package/modules/no-data-to-display.js +5 -5
  556. package/modules/no-data-to-display.js.map +1 -1
  557. package/modules/no-data-to-display.src.js +11 -2
  558. package/modules/offline-exporting.js +20 -18
  559. package/modules/offline-exporting.js.map +1 -1
  560. package/modules/offline-exporting.src.js +126 -25
  561. package/modules/oldie-polyfills.js +7 -7
  562. package/modules/oldie-polyfills.js.map +1 -1
  563. package/modules/oldie-polyfills.src.js +11 -2
  564. package/modules/oldie.js +30 -30
  565. package/modules/oldie.js.map +1 -1
  566. package/modules/oldie.src.js +12 -3
  567. package/modules/organization.js +16 -14
  568. package/modules/organization.js.map +1 -1
  569. package/modules/organization.src.js +166 -32
  570. package/modules/overlapping-datalabels.js +3 -2
  571. package/modules/overlapping-datalabels.js.map +1 -1
  572. package/modules/overlapping-datalabels.src.js +11 -2
  573. package/modules/parallel-coordinates.js +11 -11
  574. package/modules/parallel-coordinates.js.map +1 -1
  575. package/modules/parallel-coordinates.src.js +11 -2
  576. package/modules/pareto.js +7 -7
  577. package/modules/pareto.js.map +1 -1
  578. package/modules/pareto.src.js +11 -2
  579. package/modules/pathfinder.js +31 -31
  580. package/modules/pathfinder.js.map +1 -1
  581. package/modules/pathfinder.src.js +11 -2
  582. package/modules/pattern-fill.js +14 -14
  583. package/modules/pattern-fill.js.map +1 -1
  584. package/modules/pattern-fill.src.js +11 -2
  585. package/modules/price-indicator.js +5 -5
  586. package/modules/price-indicator.js.map +1 -1
  587. package/modules/price-indicator.src.js +11 -2
  588. package/modules/pyramid3d.js +4 -4
  589. package/modules/pyramid3d.js.map +1 -1
  590. package/modules/pyramid3d.src.js +11 -2
  591. package/modules/sankey.d.ts +5 -0
  592. package/modules/sankey.js +32 -29
  593. package/modules/sankey.js.map +1 -1
  594. package/modules/sankey.src.d.ts +5 -0
  595. package/modules/sankey.src.js +341 -157
  596. package/modules/series-label.js +18 -17
  597. package/modules/series-label.js.map +1 -1
  598. package/modules/series-label.src.js +11 -2
  599. package/modules/solid-gauge.js +10 -10
  600. package/modules/solid-gauge.js.map +1 -1
  601. package/modules/solid-gauge.src.js +11 -2
  602. package/modules/sonification.js +59 -59
  603. package/modules/sonification.js.map +1 -1
  604. package/modules/sonification.src.js +11 -2
  605. package/modules/static-scale.js +5 -4
  606. package/modules/static-scale.js.map +1 -1
  607. package/modules/static-scale.src.js +11 -2
  608. package/modules/stock-tools.js +145 -145
  609. package/modules/stock-tools.js.map +1 -1
  610. package/modules/stock-tools.src.js +64 -32
  611. package/modules/stock.js +204 -204
  612. package/modules/stock.js.map +1 -1
  613. package/modules/stock.src.js +62 -34
  614. package/modules/streamgraph.js +5 -4
  615. package/modules/streamgraph.js.map +1 -1
  616. package/modules/streamgraph.src.js +11 -2
  617. package/modules/sunburst.d.ts +3 -0
  618. package/modules/sunburst.js +73 -60
  619. package/modules/sunburst.js.map +1 -1
  620. package/modules/sunburst.src.d.ts +3 -0
  621. package/modules/sunburst.src.js +1048 -97
  622. package/modules/tilemap.js +17 -17
  623. package/modules/tilemap.js.map +1 -1
  624. package/modules/tilemap.src.js +11 -2
  625. package/modules/timeline.js +18 -18
  626. package/modules/timeline.js.map +1 -1
  627. package/modules/timeline.src.js +11 -2
  628. package/modules/treegrid.js +57 -56
  629. package/modules/treegrid.js.map +1 -1
  630. package/modules/treegrid.src.js +38 -13
  631. package/modules/treemap.d.ts +3 -0
  632. package/modules/treemap.js +53 -41
  633. package/modules/treemap.js.map +1 -1
  634. package/modules/treemap.src.d.ts +3 -0
  635. package/modules/treemap.src.js +1037 -95
  636. package/modules/variable-pie.js +9 -9
  637. package/modules/variable-pie.js.map +1 -1
  638. package/modules/variable-pie.src.js +11 -2
  639. package/modules/variwide.js +12 -12
  640. package/modules/variwide.js.map +1 -1
  641. package/modules/variwide.src.js +11 -2
  642. package/modules/vector.js +8 -7
  643. package/modules/vector.js.map +1 -1
  644. package/modules/vector.src.js +11 -2
  645. package/modules/venn.js +31 -31
  646. package/modules/venn.js.map +1 -1
  647. package/modules/venn.src.js +18 -6
  648. package/modules/windbarb.js +15 -15
  649. package/modules/windbarb.js.map +1 -1
  650. package/modules/windbarb.src.js +11 -2
  651. package/modules/wordcloud.js +24 -23
  652. package/modules/wordcloud.js.map +1 -1
  653. package/modules/wordcloud.src.js +22 -10
  654. package/modules/xrange.js +16 -16
  655. package/modules/xrange.js.map +1 -1
  656. package/modules/xrange.src.js +11 -2
  657. package/package.json +1 -1
  658. package/themes/avocado.js +4 -3
  659. package/themes/avocado.js.map +1 -1
  660. package/themes/avocado.src.js +11 -2
  661. package/themes/brand-dark.js +9 -8
  662. package/themes/brand-dark.js.map +1 -1
  663. package/themes/brand-dark.src.js +11 -2
  664. package/themes/brand-light.js +8 -8
  665. package/themes/brand-light.js.map +1 -1
  666. package/themes/brand-light.src.js +11 -2
  667. package/themes/dark-blue.js +9 -8
  668. package/themes/dark-blue.js.map +1 -1
  669. package/themes/dark-blue.src.js +11 -2
  670. package/themes/dark-green.js +9 -8
  671. package/themes/dark-green.js.map +1 -1
  672. package/themes/dark-green.src.js +11 -2
  673. package/themes/dark-unica.js +8 -7
  674. package/themes/dark-unica.js.map +1 -1
  675. package/themes/dark-unica.src.js +11 -2
  676. package/themes/gray.js +9 -8
  677. package/themes/gray.js.map +1 -1
  678. package/themes/gray.src.js +11 -2
  679. package/themes/grid-light.js +5 -4
  680. package/themes/grid-light.js.map +1 -1
  681. package/themes/grid-light.src.js +11 -2
  682. package/themes/grid.js +5 -5
  683. package/themes/grid.js.map +1 -1
  684. package/themes/grid.src.js +11 -2
  685. package/themes/high-contrast-dark.js +7 -7
  686. package/themes/high-contrast-dark.js.map +1 -1
  687. package/themes/high-contrast-dark.src.js +21 -12
  688. package/themes/high-contrast-light.js +3 -3
  689. package/themes/high-contrast-light.js.map +1 -1
  690. package/themes/high-contrast-light.src.js +21 -12
  691. package/themes/sand-signika.js +5 -5
  692. package/themes/sand-signika.js.map +1 -1
  693. package/themes/sand-signika.src.js +11 -2
  694. package/themes/skies.js +5 -5
  695. package/themes/skies.js.map +1 -1
  696. package/themes/skies.src.js +11 -2
  697. package/themes/sunset.js +3 -3
  698. package/themes/sunset.js.map +1 -1
  699. package/themes/sunset.src.js +11 -2
  700. package/es-modules/Maps/ProjectionDefinition.js +0 -9
@@ -1133,7 +1133,7 @@ export default Point;
1133
1133
  * @type {Highcharts.Point}
1134
1134
  */
1135
1135
  /**
1136
- * Configuration hash for the data label and tooltip formatters.
1136
+ * Configuration for the data label and tooltip formatters.
1137
1137
  *
1138
1138
  * @interface Highcharts.PointLabelObject
1139
1139
  */ /**
@@ -1175,7 +1175,7 @@ export default Point;
1175
1175
  */ /**
1176
1176
  * The y value of the point.
1177
1177
  * @name Highcharts.PointLabelObject#y
1178
- * @type {number|undefined}
1178
+ * @type {number|null|undefined}
1179
1179
  */
1180
1180
  /**
1181
1181
  * Gets fired when the mouse leaves the area close to the point.
@@ -826,8 +826,18 @@ var Series = /** @class */ (function () {
826
826
  */
827
827
  Series.prototype.setData = function (data, redraw, animation, updatePoints) {
828
828
  var series = this, oldData = series.points, oldDataLength = (oldData && oldData.length) || 0, options = series.options, chart = series.chart, dataSorting = options.dataSorting, xAxis = series.xAxis, turboThreshold = options.turboThreshold, xData = this.xData, yData = this.yData, pointArrayMap = series.pointArrayMap, valueCount = pointArrayMap && pointArrayMap.length, keys = options.keys;
829
- var i, pt, updatedData, indexOfX = 0, indexOfY = 1, firstPoint = null;
830
- data = data || [];
829
+ var i, pt, updatedData, indexOfX = 0, indexOfY = 1, firstPoint = null, copiedData;
830
+ if (!chart.options.chart.allowMutatingData) { // #4259
831
+ // Remove old reference
832
+ if (options.data) {
833
+ delete series.options.data;
834
+ }
835
+ if (series.userOptions.data) {
836
+ delete series.userOptions.data;
837
+ }
838
+ copiedData = merge(true, data);
839
+ }
840
+ data = copiedData || data || [];
831
841
  var dataLength = data.length;
832
842
  redraw = pick(redraw, true);
833
843
  if (dataSorting && dataSorting.enabled) {
@@ -835,7 +845,8 @@ var Series = /** @class */ (function () {
835
845
  }
836
846
  // First try to run Point.update which is cheaper, allows animation,
837
847
  // and keeps references to points.
838
- if (updatePoints !== false &&
848
+ if (chart.options.chart.allowMutatingData &&
849
+ updatePoints !== false &&
839
850
  dataLength &&
840
851
  oldDataLength &&
841
852
  !series.cropped &&
@@ -1034,7 +1045,7 @@ var Series = /** @class */ (function () {
1034
1045
  xExtremes = xAxis.getExtremes();
1035
1046
  min = xExtremes.min;
1036
1047
  max = xExtremes.max;
1037
- updatingNames = xAxis.categories && !xAxis.names.length;
1048
+ updatingNames = !!(xAxis.categories && !xAxis.names.length);
1038
1049
  }
1039
1050
  // optionally filter out points outside the plot area
1040
1051
  if (isCartesian &&
@@ -1162,7 +1173,7 @@ var Series = /** @class */ (function () {
1162
1173
  * @function Highcharts.Series#generatePoints
1163
1174
  */
1164
1175
  Series.prototype.generatePoints = function () {
1165
- var series = this, options = series.options, dataOptions = options.data, processedXData = series.processedXData, processedYData = series.processedYData, PointClass = series.pointClass, processedDataLength = processedXData.length, cropStart = series.cropStart || 0, hasGroupedData = series.hasGroupedData, keys = options.keys, points = [], groupCropStartIndex = (options.dataGrouping &&
1176
+ var series = this, options = series.options, dataOptions = (series.processedData || options.data), processedXData = series.processedXData, processedYData = series.processedYData, PointClass = series.pointClass, processedDataLength = processedXData.length, cropStart = series.cropStart || 0, hasGroupedData = series.hasGroupedData, keys = options.keys, points = [], groupCropStartIndex = (options.dataGrouping &&
1166
1177
  options.dataGrouping.groupAll ?
1167
1178
  cropStart :
1168
1179
  0);
@@ -1448,8 +1459,16 @@ var Series = /** @class */ (function () {
1448
1459
  !xAxis.validatePositiveValue(xValue)) {
1449
1460
  point.isNull = true;
1450
1461
  }
1451
- // Get the plotX translation
1462
+ /**
1463
+ * The translated X value for the point in terms of pixels. Relative
1464
+ * to the X axis position if the series has one, otherwise relative
1465
+ * to the plot area. Depending on the series type this value might
1466
+ * not be defined.
1467
+ * @name Highcharts.Point#plotX
1468
+ * @type {number|undefined}
1469
+ */
1452
1470
  point.plotX = plotX = correctFloat(// #5236
1471
+ // Get the plotX translation
1453
1472
  limitedRange(xAxis.translate(// #3923
1454
1473
  xValue, 0, 0, 0, 1, pointPlacement, this.type === 'flags')) // #3923
1455
1474
  );
@@ -1506,6 +1525,14 @@ var Series = /** @class */ (function () {
1506
1525
  if (isNumber(yValue)) {
1507
1526
  var translated = yAxis.translate(yValue, false, true, false, true);
1508
1527
  if (typeof translated !== 'undefined') {
1528
+ /**
1529
+ * The translated Y value for the point in terms of pixels.
1530
+ * Relative to the Y axis position if the series has one,
1531
+ * otherwise relative to the plot area. Depending on the
1532
+ * series type this value might not be defined.
1533
+ * @name Highcharts.Point#plotY
1534
+ * @type {number|undefined}
1535
+ */
1509
1536
  point.plotY = limitedRange(translated);
1510
1537
  }
1511
1538
  }
@@ -1520,10 +1547,7 @@ var Series = /** @class */ (function () {
1520
1547
  threshold ||
1521
1548
  0);
1522
1549
  // some API data
1523
- point.category = (categories &&
1524
- typeof categories[point.x] !== 'undefined' ?
1525
- categories[point.x] :
1526
- point.x);
1550
+ point.category = pick(categories && categories[point.x], point.x);
1527
1551
  // Determine auto enabling of markers (#3635, #5099)
1528
1552
  if (!point.isNull && point.visible !== false) {
1529
1553
  if (typeof lastPlotX !== 'undefined') {
@@ -1842,26 +1866,26 @@ var Series = /** @class */ (function () {
1842
1866
  Series.prototype.markerAttribs = function (point, state) {
1843
1867
  var seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
1844
1868
  seriesMarkerOptions.symbol);
1845
- var seriesStateOptions, pointStateOptions, radius = pick(pointMarkerOptions.radius, seriesMarkerOptions.radius);
1869
+ var seriesStateOptions, pointStateOptions, radius = pick(pointMarkerOptions.radius, seriesMarkerOptions && seriesMarkerOptions.radius);
1846
1870
  // Handle hover and select states
1847
1871
  if (state) {
1848
1872
  seriesStateOptions = seriesMarkerOptions.states[state];
1849
1873
  pointStateOptions = pointMarkerOptions.states &&
1850
1874
  pointMarkerOptions.states[state];
1851
- radius = pick(pointStateOptions && pointStateOptions.radius, seriesStateOptions && seriesStateOptions.radius, radius + (seriesStateOptions && seriesStateOptions.radiusPlus ||
1875
+ radius = pick(pointStateOptions && pointStateOptions.radius, seriesStateOptions && seriesStateOptions.radius, radius && radius + (seriesStateOptions && seriesStateOptions.radiusPlus ||
1852
1876
  0));
1853
1877
  }
1854
1878
  point.hasImage = symbol && symbol.indexOf('url') === 0;
1855
1879
  if (point.hasImage) {
1856
1880
  radius = 0; // and subsequently width and height is not set
1857
1881
  }
1858
- var attribs = {
1882
+ var attribs = isNumber(radius) ? {
1859
1883
  // Math.floor for #1843:
1860
1884
  x: seriesOptions.crisp ?
1861
1885
  Math.floor(point.plotX - radius) :
1862
1886
  point.plotX - radius,
1863
1887
  y: point.plotY - radius
1864
- };
1888
+ } : {};
1865
1889
  if (radius) {
1866
1890
  attribs.width = attribs.height = 2 * radius;
1867
1891
  }
@@ -1933,7 +1957,7 @@ var Series = /** @class */ (function () {
1933
1957
  var series = this, chart = series.chart, issue134 = /AppleWebKit\/533/.test(win.navigator.userAgent), data = series.data || [];
1934
1958
  var destroy, i, point, axis;
1935
1959
  // add event hook
1936
- fireEvent(series, 'destroy');
1960
+ fireEvent(series, 'destroy', { keepEventsForUpdate: keepEventsForUpdate });
1937
1961
  // remove events
1938
1962
  this.removeEvents(keepEventsForUpdate);
1939
1963
  // erase from axes
@@ -2099,10 +2123,10 @@ var Series = /** @class */ (function () {
2099
2123
  else if (series.visible) {
2100
2124
  // If zones were removed, restore graph and area
2101
2125
  if (graph) {
2102
- graph.show(true);
2126
+ graph.show();
2103
2127
  }
2104
2128
  if (area) {
2105
- area.show(true);
2129
+ area.show();
2106
2130
  }
2107
2131
  }
2108
2132
  };
@@ -2552,7 +2576,7 @@ var Series = /** @class */ (function () {
2552
2576
  else if (series.graph) { // create
2553
2577
  series.tracker = renderer.path(trackerPath)
2554
2578
  .attr({
2555
- visibility: series.visible ? 'visible' : 'hidden',
2579
+ visibility: series.visible ? 'inherit' : 'hidden',
2556
2580
  zIndex: 2
2557
2581
  })
2558
2582
  .addClass(trackByArea ?
@@ -2670,7 +2694,10 @@ var Series = /** @class */ (function () {
2670
2694
  names[x] = point.name;
2671
2695
  }
2672
2696
  dataOptions.splice(i, 0, options);
2673
- if (isInTheMiddle) {
2697
+ if (isInTheMiddle ||
2698
+ // When processedData is present we need to splice an empty slot
2699
+ // into series.data, otherwise generatePoints won't pick it up.
2700
+ series.processedData) {
2674
2701
  series.data.splice(i, 0, null);
2675
2702
  series.processData();
2676
2703
  }
@@ -2860,6 +2887,8 @@ var Series = /** @class */ (function () {
2860
2887
  typeof options.pointStart !== 'undefined' ||
2861
2888
  typeof options.pointInterval !== 'undefined' ||
2862
2889
  typeof options.relativeXValue !== 'undefined' ||
2890
+ options.joinBy ||
2891
+ options.mapData || // #11636
2863
2892
  // Changes to data grouping requires new points in new group
2864
2893
  series.hasOptionChanged('dataGrouping') ||
2865
2894
  series.hasOptionChanged('pointStart') ||
@@ -2868,9 +2897,12 @@ var Series = /** @class */ (function () {
2868
2897
  series.hasOptionChanged('keys'));
2869
2898
  newType = newType || initialType;
2870
2899
  if (keepPoints) {
2871
- preserve.push('data', 'isDirtyData', 'points', 'processedXData', 'processedYData', 'xIncrement', 'cropped', '_hasPointMarkers', '_hasPointLabels', 'clips', // #15420
2900
+ preserve.push('data', 'isDirtyData', 'points', 'processedData', // #17057
2901
+ 'processedXData', 'processedYData', 'xIncrement', 'cropped', '_hasPointMarkers', '_hasPointLabels', 'clips', // #15420
2872
2902
  // Networkgraph (#14397)
2873
2903
  'nodes', 'layout',
2904
+ // Treemap
2905
+ 'level',
2874
2906
  // Map specific, consider moving it to series-specific preserve-
2875
2907
  // properties (#10617)
2876
2908
  'mapMap', 'mapData', 'minY', 'maxY', 'minX', 'maxX');
@@ -2922,8 +2954,6 @@ var Series = /** @class */ (function () {
2922
2954
  series.remove(false, false, false, true);
2923
2955
  if (casting) {
2924
2956
  // Modern browsers including IE11
2925
- // @todo slow, consider alternatives mentioned:
2926
- // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf
2927
2957
  if (Object.setPrototypeOf) {
2928
2958
  Object.setPrototypeOf(series, seriesTypes[newType].prototype);
2929
2959
  // Legacy (IE < 11)
@@ -1250,6 +1250,9 @@ var seriesDefaults = {
1250
1250
  * parameter, `event`, is passed to the function, containing common
1251
1251
  * event information.
1252
1252
  *
1253
+ * Returning `false` cancels the default behavior, which is to show a
1254
+ * tooltip for the point.
1255
+ *
1253
1256
  * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/
1254
1257
  * Show values in the chart's corner on mouse over
1255
1258
  *
@@ -1972,7 +1975,7 @@ var seriesDefaults = {
1972
1975
  * @deprecated
1973
1976
  *
1974
1977
  * @extends plotOptions.series.marker
1975
- * @excluding states
1978
+ * @excluding states, symbol
1976
1979
  * @product highcharts highstock
1977
1980
  */
1978
1981
  marker: {
@@ -158,6 +158,12 @@ var Tooltip = /** @class */ (function () {
158
158
  * the context here is an object holding point, series, x, y etc.
159
159
  *
160
160
  * @function Highcharts.Tooltip#defaultFormatter
161
+ *
162
+ * @param {Highcharts.Tooltip} tooltip
163
+ *
164
+ * @return {string|Array<string>}
165
+ * Returns a string (single tooltip and shared)
166
+ * or an array of strings (split tooltip)
161
167
  */
162
168
  Tooltip.prototype.defaultFormatter = function (tooltip) {
163
169
  var items = this.points || splat(this);
@@ -710,7 +716,7 @@ var Tooltip = /** @class */ (function () {
710
716
  Tooltip.prototype.refresh = function (pointOrPoints, mouseEvent) {
711
717
  var tooltip = this, chart = this.chart, options = tooltip.options, points = splat(pointOrPoints), point = points[0], pointConfig = [], formatter = options.formatter || tooltip.defaultFormatter, shared = tooltip.shared, styledMode = chart.styledMode;
712
718
  var textConfig = {};
713
- if (!options.enabled) {
719
+ if (!options.enabled || !point.series) { // #16820
714
720
  return;
715
721
  }
716
722
  U.clearTimeout(this.hideTimer);
@@ -1289,46 +1295,23 @@ export default Tooltip;
1289
1295
  * @callback Highcharts.TooltipFormatterCallbackFunction
1290
1296
  *
1291
1297
  * @param {Highcharts.TooltipFormatterContextObject} this
1292
- * Context to format
1298
+ * Context to format
1293
1299
  *
1294
1300
  * @param {Highcharts.Tooltip} tooltip
1295
- * The tooltip instance
1301
+ * The tooltip instance
1296
1302
  *
1297
1303
  * @return {false|string|Array<(string|null|undefined)>|null|undefined}
1298
- * Formatted text or false
1304
+ * Formatted text or false
1299
1305
  */
1300
1306
  /**
1307
+ * Configuration for the tooltip formatters.
1308
+ *
1301
1309
  * @interface Highcharts.TooltipFormatterContextObject
1310
+ * @extends Highcharts.PointLabelObject
1302
1311
  */ /**
1303
- * @name Highcharts.TooltipFormatterContextObject#color
1304
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1305
- */ /**
1306
- * @name Highcharts.TooltipFormatterContextObject#colorIndex
1307
- * @type {number|undefined}
1308
- */ /**
1309
- * @name Highcharts.TooltipFormatterContextObject#key
1310
- * @type {number}
1311
- */ /**
1312
- * @name Highcharts.TooltipFormatterContextObject#percentage
1313
- * @type {number|undefined}
1314
- */ /**
1315
- * @name Highcharts.TooltipFormatterContextObject#point
1316
- * @type {Highcharts.Point}
1317
- */ /**
1312
+ * Array of points in shared tooltips.
1318
1313
  * @name Highcharts.TooltipFormatterContextObject#points
1319
1314
  * @type {Array<Highcharts.TooltipFormatterContextObject>|undefined}
1320
- */ /**
1321
- * @name Highcharts.TooltipFormatterContextObject#series
1322
- * @type {Highcharts.Series}
1323
- */ /**
1324
- * @name Highcharts.TooltipFormatterContextObject#total
1325
- * @type {number|undefined}
1326
- */ /**
1327
- * @name Highcharts.TooltipFormatterContextObject#x
1328
- * @type {number}
1329
- */ /**
1330
- * @name Highcharts.TooltipFormatterContextObject#y
1331
- * @type {number}
1332
1315
  */
1333
1316
  /**
1334
1317
  * A callback function to place the tooltip in a specific position.
@@ -197,7 +197,9 @@ function cleanRecursively(newer, older) {
197
197
  // Arrays, primitives and DOM nodes are copied directly
198
198
  }
199
199
  else if (isObject(newer[key]) ||
200
- newer[key] !== older[key]) {
200
+ newer[key] !== older[key] ||
201
+ // If the newer key is explicitly undefined, keep it (#10525)
202
+ (key in newer && !(key in older))) {
201
203
  result[key] = newer[key];
202
204
  }
203
205
  });
@@ -365,7 +367,7 @@ function defined(obj) {
365
367
  * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} elem
366
368
  * The DOM element to receive the attribute(s).
367
369
  *
368
- * @param {string|Highcharts.HTMLAttributes|Highcharts.SVGAttributes} [prop]
370
+ * @param {string|Highcharts.HTMLAttributes|Highcharts.SVGAttributes} [keyOrAttribs]
369
371
  * The property or an object of key-value pairs.
370
372
  *
371
373
  * @param {number|string} [value]
@@ -374,33 +376,34 @@ function defined(obj) {
374
376
  * @return {string|null|undefined}
375
377
  * When used as a getter, return the value.
376
378
  */
377
- function attr(elem, prop, value) {
379
+ function attr(elem, keyOrAttribs, value) {
380
+ var isGetter = isString(keyOrAttribs) && !defined(value);
378
381
  var ret;
379
- // if the prop is a string
380
- if (isString(prop)) {
381
- // set the value
382
+ var attrSingle = function (value, key) {
383
+ // Set the value
382
384
  if (defined(value)) {
383
- elem.setAttribute(prop, value);
384
- // get the value
385
+ elem.setAttribute(key, value);
386
+ // Get the value
385
387
  }
386
- else if (elem && elem.getAttribute) {
387
- ret = elem.getAttribute(prop);
388
+ else if (isGetter) {
389
+ ret = elem.getAttribute(key);
388
390
  // IE7 and below cannot get class through getAttribute (#7850)
389
- if (!ret && prop === 'class') {
390
- ret = elem.getAttribute(prop + 'Name');
391
+ if (!ret && key === 'class') {
392
+ ret = elem.getAttribute(key + 'Name');
391
393
  }
394
+ // Remove the value
392
395
  }
393
- // else if prop is defined, it is a hash of key/value pairs
396
+ else {
397
+ elem.removeAttribute(key);
398
+ }
399
+ };
400
+ // If keyOrAttribs is a string
401
+ if (isString(keyOrAttribs)) {
402
+ attrSingle(value, keyOrAttribs);
403
+ // Else if keyOrAttribs is defined, it is a hash of key/value pairs
394
404
  }
395
405
  else {
396
- objectEach(prop, function (val, key) {
397
- if (defined(val)) {
398
- elem.setAttribute(key, val);
399
- }
400
- else {
401
- elem.removeAttribute(key);
402
- }
403
- });
406
+ objectEach(keyOrAttribs, attrSingle);
404
407
  }
405
408
  return ret;
406
409
  }
@@ -451,10 +454,8 @@ function syncTimeout(fn, delay, context) {
451
454
  *
452
455
  * @function Highcharts.clearTimeout
453
456
  *
454
- * @param {number} id
455
- * Id of a timeout.
456
- *
457
- * @return {void}
457
+ * @param {number|undefined} id
458
+ * Id of a timeout.
458
459
  */
459
460
  function internalClearTimeout(id) {
460
461
  if (defined(id)) {
@@ -524,9 +525,8 @@ function pick() {
524
525
  */
525
526
  function css(el, styles) {
526
527
  if (H.isMS && !H.svg) { // #2686
527
- if (styles && typeof styles.opacity !== 'undefined') {
528
- styles.filter =
529
- 'alpha(opacity=' + (styles.opacity * 100) + ')';
528
+ if (styles && defined(styles.opacity)) {
529
+ styles.filter = "alpha(opacity=" + styles.opacity * 100 + ")";
530
530
  }
531
531
  }
532
532
  extend(el.style, styles);
@@ -715,7 +715,7 @@ function getMagnitude(num) {
715
715
  function normalizeTickInterval(interval, multiples, magnitude, allowDecimals, hasTickAmount) {
716
716
  var i, retInterval = interval;
717
717
  // round to a tenfold of 1, 2, 2.5 or 5
718
- magnitude = pick(magnitude, 1);
718
+ magnitude = pick(magnitude, getMagnitude(interval));
719
719
  var normalized = interval / magnitude;
720
720
  // multiples for a linear scale
721
721
  if (!multiples) {
@@ -318,7 +318,7 @@ var Annotation = /** @class */ (function () {
318
318
  opacity: 0,
319
319
  zIndex: this.options.zIndex,
320
320
  visibility: this.options.visible ?
321
- 'visible' :
321
+ 'inherit' :
322
322
  'hidden'
323
323
  })
324
324
  .add();
@@ -355,7 +355,7 @@ var Annotation = /** @class */ (function () {
355
355
  */
356
356
  Annotation.prototype.setVisibility = function (visible) {
357
357
  var options = this.options, navigation = this.chart.navigationBindings, visibility = pick(visible, !options.visible);
358
- this.graphic.attr('visibility', visibility ? 'visible' : 'hidden');
358
+ this.graphic.attr('visibility', visibility ? 'inherit' : 'hidden');
359
359
  if (!visibility) {
360
360
  this.setControlPointsVisibility(false);
361
361
  if (navigation.activeAnnotation === this &&
@@ -1140,6 +1140,13 @@ merge(Annotation.prototype,
1140
1140
  * @since 7.1.0
1141
1141
  * @apioption annotations.events.afterUpdate
1142
1142
  */
1143
+ /**
1144
+ * Fires when the annotation is clicked.
1145
+ *
1146
+ * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
1147
+ * @since 7.1.0
1148
+ * @apioption annotations.events.click
1149
+ */
1143
1150
  /**
1144
1151
  * Event callback when annotation is removed from the chart.
1145
1152
  *
@@ -82,7 +82,7 @@ var ControlPoint = /** @class */ (function () {
82
82
  *
83
83
  */
84
84
  ControlPoint.prototype.setVisibility = function (visible) {
85
- this.graphic.attr('visibility', visible ? 'visible' : 'hidden');
85
+ this.graphic[visible ? 'show' : 'hide']();
86
86
  this.options.visible = visible;
87
87
  };
88
88
  /**
@@ -329,7 +329,7 @@ var MockPoint = /** @class */ (function () {
329
329
  this.plotX = xAxis.toPixels(options.x, true);
330
330
  }
331
331
  else {
332
- this.x = null;
332
+ this.x = void 0;
333
333
  this.plotX = options.x;
334
334
  }
335
335
  if (yAxis) {
@@ -948,6 +948,14 @@ setOptions({
948
948
  }
949
949
  ]
950
950
  },
951
+ /**
952
+ * A ellipse annotation bindings. Includes `start` and two events in
953
+ * `steps` array. First updates the second point, responsible for a
954
+ * rx width, and second updates the ry width.
955
+ *
956
+ * @type {Highcharts.NavigationBindingsOptionsObject}
957
+ * @default {"className": "highcharts-ellipse-annotation", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
958
+ */
951
959
  ellipseAnnotation: {
952
960
  className: 'highcharts-ellipse-annotation',
953
961
  start: function (e) {
@@ -1094,7 +1102,7 @@ setOptions({
1094
1102
  * from a different server.
1095
1103
  *
1096
1104
  * @type {string}
1097
- * @default https://code.highcharts.com/9.3.2/gfx/stock-icons/
1105
+ * @default https://code.highcharts.com/10.1.0/gfx/stock-icons/
1098
1106
  * @since 7.1.3
1099
1107
  * @apioption navigation.iconsURL
1100
1108
  */
@@ -1111,7 +1111,7 @@ addEvent(NavigationBindings, 'showPopup', function (config) {
1111
1111
  this.popup = new H.Popup(this.chart.container, (this.chart.options.navigation.iconsURL ||
1112
1112
  (this.chart.options.stockTools &&
1113
1113
  this.chart.options.stockTools.gui.iconsURL) ||
1114
- 'https://code.highcharts.com/9.3.2/gfx/stock-icons/'), this.chart);
1114
+ 'https://code.highcharts.com/10.1.0/gfx/stock-icons/'), this.chart);
1115
1115
  }
1116
1116
  this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit);
1117
1117
  });
@@ -47,11 +47,13 @@ var BasicAnnotation = /** @class */ (function (_super) {
47
47
  var options = this.options;
48
48
  if (options.shapes) {
49
49
  delete options.labelOptions;
50
- if (options.shapes[0].type) {
51
- this.basicType = options.shapes[0].type;
50
+ var type = options.shapes[0].type;
51
+ // The rectangle is rendered as a path, whereas other basic shapes
52
+ // are rendered as their respecitve SVG shapes.
53
+ if (type && type !== 'path') {
54
+ this.basicType = type;
52
55
  }
53
56
  else {
54
- // Defalut shape would be rectangle.
55
57
  this.basicType = 'rectangle';
56
58
  }
57
59
  }
@@ -165,7 +165,7 @@ function init() {
165
165
  }
166
166
  }
167
167
  // Add points and reset
168
- if (clientX !== lastClientX) {
168
+ if (!compareX || clientX !== lastClientX) {
169
169
  // maxI is number too:
170
170
  if (typeof minI !== 'undefined') {
171
171
  plotY =
@@ -242,6 +242,11 @@ function init() {
242
242
  fillOpacity: true,
243
243
  sampling: true
244
244
  });
245
+ extend(seriesTypes.areaspline.prototype, {
246
+ fill: true,
247
+ fillOpacity: true,
248
+ sampling: true
249
+ });
245
250
  extend(seriesTypes.column.prototype, {
246
251
  fill: true,
247
252
  sampling: true
@@ -149,6 +149,32 @@ import '../../Core/Globals.js';
149
149
  * @default false
150
150
  * @apioption boost.debug.timeBufferCopy
151
151
  */
152
+ /**
153
+ * The pixel ratio for the WebGL content. If 0, the `window.devicePixelRatio` is
154
+ * used. This ensures sharp graphics on high DPI displays like Apple's Retina,
155
+ * as well as when a page is zoomed.
156
+ *
157
+ * The default is left at 1 for now, as this is a new feature that has the
158
+ * potential to break existing setups. Over time, when it has been battle
159
+ * tested, the intention is to set it to 0 by default.
160
+ *
161
+ * Another use case for this option is to set it to 2 in order to make exported
162
+ * and upscaled charts render sharp.
163
+ *
164
+ * One limitation when using the `pixelRatio` is that the line width of graphs
165
+ * is scaled down. Since the Boost module currently can only render 1px line
166
+ * widths, it is scaled down to a thin 0.5 pixels on a Retina display.
167
+ *
168
+ * @sample highcharts/boost/line-devicepixelratio
169
+ * Enable the `devicePixelRatio`
170
+ * @sample highcharts/boost/line-export-pixelratio
171
+ * Sharper graphics in export
172
+ *
173
+ * @type {number}
174
+ * @since 10.0.0
175
+ * @default 1
176
+ * @apioption boost.pixelRatio
177
+ */
152
178
  /**
153
179
  * Enable or disable GPU translations. GPU translations are faster than doing
154
180
  * the translation in JavaScript.
@@ -12,6 +12,7 @@
12
12
  // These are the series we allow boosting for.
13
13
  var boostables = [
14
14
  'area',
15
+ 'areaspline',
15
16
  'arearange',
16
17
  'column',
17
18
  'columnrange',