highcharts 9.3.3 → 10.0.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 (670) 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/Accessibility.js +1 -1
  8. package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
  9. package/es-modules/Accessibility/Components/MenuComponent.js +4 -5
  10. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
  11. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  12. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  13. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +61 -29
  16. package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
  17. package/es-modules/Accessibility/HighContrastMode.js +2 -2
  18. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  19. package/es-modules/Accessibility/ProxyElement.js +14 -6
  20. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  21. package/es-modules/Core/Axis/Axis.js +150 -46
  22. package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
  23. package/es-modules/Core/Axis/GridAxis.js +10 -9
  24. package/es-modules/Core/Axis/TreeGridTick.js +11 -0
  25. package/es-modules/Core/Chart/Chart3D.js +1 -11
  26. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  27. package/es-modules/Core/Chart/MapChart.js +1 -6
  28. package/es-modules/Core/DefaultOptions.js +2 -0
  29. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  30. package/es-modules/Core/Globals.js +4 -18
  31. package/es-modules/Core/HttpUtilities.js +13 -8
  32. package/es-modules/Core/Legend/Legend.js +10 -8
  33. package/es-modules/Core/Navigator.js +9 -6
  34. package/es-modules/Core/Pointer.js +15 -11
  35. package/es-modules/Core/Renderer/HTML/AST.js +62 -5
  36. package/es-modules/Core/Renderer/SVG/SVGElement.js +25 -41
  37. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -17
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  40. package/es-modules/Core/Series/DataLabel.js +11 -3
  41. package/es-modules/Core/Series/Point.js +2 -2
  42. package/es-modules/Core/Series/Series.js +33 -15
  43. package/es-modules/Core/Series/SeriesDefaults.js +4 -1
  44. package/es-modules/Core/Tooltip.js +14 -31
  45. package/es-modules/Core/Utilities.js +28 -28
  46. package/es-modules/Extensions/Annotations/Annotations.js +7 -0
  47. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  48. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
  49. package/es-modules/Extensions/Annotations/Popup.js +1 -1
  50. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  51. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  52. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  53. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  54. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  55. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  56. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  57. package/es-modules/Extensions/Data.js +26 -14
  58. package/es-modules/Extensions/DataGrouping.js +5 -2
  59. package/es-modules/Extensions/DraggablePoints.js +9 -7
  60. package/es-modules/Extensions/Drilldown.js +147 -94
  61. package/es-modules/Extensions/Exporting/Exporting.js +9 -7
  62. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  63. package/es-modules/Extensions/GeoJSON.js +149 -124
  64. package/es-modules/Extensions/MarkerClusters.js +34 -20
  65. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  66. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  67. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  68. package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
  69. package/es-modules/Extensions/Stacking.js +3 -2
  70. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  71. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  72. package/es-modules/Maps/MapNavigation.js +49 -8
  73. package/es-modules/Maps/MapPointer.js +16 -0
  74. package/es-modules/Maps/MapUtilities.js +56 -0
  75. package/es-modules/Maps/MapView.js +606 -135
  76. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  77. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  78. package/es-modules/Maps/Projection.js +169 -77
  79. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  80. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  81. package/es-modules/Maps/Projections/Miller.js +23 -10
  82. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  83. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  84. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  85. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  86. package/es-modules/Series/Column/ColumnSeries.js +4 -3
  87. package/es-modules/Series/DataModifyComposition.js +1 -0
  88. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
  89. package/es-modules/Series/DrawPointComposition.js +7 -4
  90. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  91. package/es-modules/Series/Map/MapPoint.js +24 -1
  92. package/es-modules/Series/Map/MapSeries.js +196 -169
  93. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  94. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  95. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  96. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  97. package/es-modules/Series/NodesComposition.js +60 -13
  98. package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
  99. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  100. package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
  101. package/es-modules/Series/Pie/PiePoint.js +12 -5
  102. package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
  103. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  104. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  105. package/es-modules/Series/Sankey/SankeySeries.js +10 -127
  106. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  107. package/es-modules/Series/Sunburst/SunburstSeries.js +13 -2
  108. package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
  109. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
  110. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
  111. package/es-modules/Stock/StockToolsGui.js +1 -1
  112. package/es-modules/masters/highcharts-3d.src.js +1 -1
  113. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  114. package/es-modules/masters/highcharts-more.src.js +1 -1
  115. package/es-modules/masters/highcharts.src.js +1 -1
  116. package/es-modules/masters/highmaps.src.js +1 -1
  117. package/es-modules/masters/highstock.src.js +1 -1
  118. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  119. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  120. package/es-modules/masters/indicators/ao.src.js +1 -1
  121. package/es-modules/masters/indicators/apo.src.js +1 -1
  122. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  123. package/es-modules/masters/indicators/aroon.src.js +1 -1
  124. package/es-modules/masters/indicators/atr.src.js +1 -1
  125. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  126. package/es-modules/masters/indicators/cci.src.js +1 -1
  127. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  128. package/es-modules/masters/indicators/cmf.src.js +1 -1
  129. package/es-modules/masters/indicators/cmo.src.js +1 -1
  130. package/es-modules/masters/indicators/dema.src.js +1 -1
  131. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  132. package/es-modules/masters/indicators/dmi.src.js +1 -1
  133. package/es-modules/masters/indicators/dpo.src.js +1 -1
  134. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  135. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  136. package/es-modules/masters/indicators/indicators.src.js +1 -1
  137. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  138. package/es-modules/masters/indicators/klinger.src.js +1 -1
  139. package/es-modules/masters/indicators/macd.src.js +1 -1
  140. package/es-modules/masters/indicators/mfi.src.js +1 -1
  141. package/es-modules/masters/indicators/momentum.src.js +1 -1
  142. package/es-modules/masters/indicators/natr.src.js +1 -1
  143. package/es-modules/masters/indicators/obv.src.js +1 -1
  144. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  145. package/es-modules/masters/indicators/ppo.src.js +1 -1
  146. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  147. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  148. package/es-modules/masters/indicators/psar.src.js +1 -1
  149. package/es-modules/masters/indicators/regressions.src.js +1 -1
  150. package/es-modules/masters/indicators/roc.src.js +1 -1
  151. package/es-modules/masters/indicators/rsi.src.js +1 -1
  152. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  153. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  154. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  155. package/es-modules/masters/indicators/tema.src.js +1 -1
  156. package/es-modules/masters/indicators/trendline.src.js +1 -1
  157. package/es-modules/masters/indicators/trix.src.js +1 -1
  158. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  159. package/es-modules/masters/indicators/vwap.src.js +1 -1
  160. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  161. package/es-modules/masters/indicators/wma.src.js +1 -1
  162. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  163. package/es-modules/masters/modules/accessibility.src.js +1 -1
  164. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  165. package/es-modules/masters/modules/annotations.src.js +1 -1
  166. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  167. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  168. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  169. package/es-modules/masters/modules/boost.src.js +1 -1
  170. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  171. package/es-modules/masters/modules/bullet.src.js +1 -1
  172. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  173. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  174. package/es-modules/masters/modules/cylinder.src.js +1 -1
  175. package/es-modules/masters/modules/data.src.js +1 -1
  176. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  177. package/es-modules/masters/modules/debugger.src.js +1 -1
  178. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  179. package/es-modules/masters/modules/dotplot.src.js +1 -1
  180. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  181. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  182. package/es-modules/masters/modules/drilldown.src.js +2 -1
  183. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  184. package/es-modules/masters/modules/export-data.src.js +1 -1
  185. package/es-modules/masters/modules/exporting.src.js +1 -1
  186. package/es-modules/masters/modules/full-screen.src.js +1 -1
  187. package/es-modules/masters/modules/funnel.src.js +1 -1
  188. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  189. package/es-modules/masters/modules/gantt.src.js +1 -1
  190. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  191. package/es-modules/masters/modules/heatmap.src.js +1 -1
  192. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  193. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  194. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  195. package/es-modules/masters/modules/item-series.src.js +1 -1
  196. package/es-modules/masters/modules/lollipop.src.js +1 -1
  197. package/es-modules/masters/modules/map.src.js +5 -1
  198. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  199. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  200. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  201. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  202. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  203. package/es-modules/masters/modules/oldie.src.js +1 -1
  204. package/es-modules/masters/modules/organization.src.js +1 -1
  205. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  206. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  207. package/es-modules/masters/modules/pareto.src.js +1 -1
  208. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  209. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  210. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  211. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  212. package/es-modules/masters/modules/sankey.src.js +1 -1
  213. package/es-modules/masters/modules/series-label.src.js +1 -1
  214. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  215. package/es-modules/masters/modules/sonification.src.js +1 -1
  216. package/es-modules/masters/modules/static-scale.src.js +1 -1
  217. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  218. package/es-modules/masters/modules/stock.src.js +1 -1
  219. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  220. package/es-modules/masters/modules/sunburst.src.js +1 -1
  221. package/es-modules/masters/modules/tilemap.src.js +1 -1
  222. package/es-modules/masters/modules/timeline.src.js +1 -1
  223. package/es-modules/masters/modules/treegrid.src.js +1 -1
  224. package/es-modules/masters/modules/treemap.src.js +5 -1
  225. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  226. package/es-modules/masters/modules/variwide.src.js +1 -1
  227. package/es-modules/masters/modules/vector.src.js +1 -1
  228. package/es-modules/masters/modules/venn.src.js +1 -1
  229. package/es-modules/masters/modules/windbarb.src.js +1 -1
  230. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  231. package/es-modules/masters/modules/xrange.src.js +1 -1
  232. package/es-modules/masters/themes/avocado.src.js +1 -1
  233. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  234. package/es-modules/masters/themes/brand-light.src.js +1 -1
  235. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  236. package/es-modules/masters/themes/dark-green.src.js +1 -1
  237. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  238. package/es-modules/masters/themes/gray.src.js +1 -1
  239. package/es-modules/masters/themes/grid-light.src.js +1 -1
  240. package/es-modules/masters/themes/grid.src.js +1 -1
  241. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  242. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  243. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  244. package/es-modules/masters/themes/skies.src.js +1 -1
  245. package/es-modules/masters/themes/sunset.src.js +1 -1
  246. package/highcharts-3d.js +99 -98
  247. package/highcharts-3d.js.map +1 -1
  248. package/highcharts-3d.src.js +50 -20
  249. package/highcharts-gantt.js +800 -795
  250. package/highcharts-gantt.js.map +1 -1
  251. package/highcharts-gantt.src.js +528 -290
  252. package/highcharts-more.js +195 -194
  253. package/highcharts-more.js.map +1 -1
  254. package/highcharts-more.src.js +13 -2
  255. package/highcharts.d.ts +2162 -504
  256. package/highcharts.js +586 -581
  257. package/highcharts.js.map +1 -1
  258. package/highcharts.src.d.ts +2162 -504
  259. package/highcharts.src.js +494 -272
  260. package/highmaps.js +753 -723
  261. package/highmaps.js.map +1 -1
  262. package/highmaps.src.js +3603 -2117
  263. package/highstock.js +790 -786
  264. package/highstock.js.map +1 -1
  265. package/highstock.src.js +519 -283
  266. package/indicators/acceleration-bands.js +12 -11
  267. package/indicators/acceleration-bands.js.map +1 -1
  268. package/indicators/acceleration-bands.src.js +11 -2
  269. package/indicators/accumulation-distribution.js +5 -5
  270. package/indicators/accumulation-distribution.js.map +1 -1
  271. package/indicators/accumulation-distribution.src.js +11 -2
  272. package/indicators/ao.js +6 -6
  273. package/indicators/ao.js.map +1 -1
  274. package/indicators/ao.src.js +11 -2
  275. package/indicators/apo.js +5 -5
  276. package/indicators/apo.js.map +1 -1
  277. package/indicators/apo.src.js +11 -2
  278. package/indicators/aroon-oscillator.js +10 -10
  279. package/indicators/aroon-oscillator.js.map +1 -1
  280. package/indicators/aroon-oscillator.src.js +11 -2
  281. package/indicators/aroon.js +11 -11
  282. package/indicators/aroon.js.map +1 -1
  283. package/indicators/aroon.src.js +11 -2
  284. package/indicators/atr.js +5 -5
  285. package/indicators/atr.js.map +1 -1
  286. package/indicators/atr.src.js +11 -2
  287. package/indicators/bollinger-bands.js +12 -12
  288. package/indicators/bollinger-bands.js.map +1 -1
  289. package/indicators/bollinger-bands.src.js +11 -2
  290. package/indicators/cci.js +5 -5
  291. package/indicators/cci.js.map +1 -1
  292. package/indicators/cci.src.js +11 -2
  293. package/indicators/chaikin.js +8 -8
  294. package/indicators/chaikin.js.map +1 -1
  295. package/indicators/chaikin.src.js +11 -2
  296. package/indicators/cmf.js +6 -6
  297. package/indicators/cmf.js.map +1 -1
  298. package/indicators/cmf.src.js +11 -2
  299. package/indicators/cmo.js +5 -5
  300. package/indicators/cmo.js.map +1 -1
  301. package/indicators/cmo.src.js +11 -2
  302. package/indicators/dema.js +5 -5
  303. package/indicators/dema.js.map +1 -1
  304. package/indicators/dema.src.js +11 -2
  305. package/indicators/disparity-index.js +6 -6
  306. package/indicators/disparity-index.js.map +1 -1
  307. package/indicators/disparity-index.src.js +11 -2
  308. package/indicators/dmi.js +12 -12
  309. package/indicators/dmi.js.map +1 -1
  310. package/indicators/dmi.src.js +11 -2
  311. package/indicators/dpo.js +5 -5
  312. package/indicators/dpo.js.map +1 -1
  313. package/indicators/dpo.src.js +11 -2
  314. package/indicators/ema.js +2 -1
  315. package/indicators/ema.js.map +1 -1
  316. package/indicators/ema.src.js +10 -1
  317. package/indicators/ichimoku-kinko-hyo.js +16 -16
  318. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  319. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  320. package/indicators/indicators-all.js +195 -194
  321. package/indicators/indicators-all.js.map +1 -1
  322. package/indicators/indicators-all.src.js +21 -5
  323. package/indicators/indicators.js +13 -12
  324. package/indicators/indicators.js.map +1 -1
  325. package/indicators/indicators.src.js +21 -5
  326. package/indicators/keltner-channels.js +12 -11
  327. package/indicators/keltner-channels.js.map +1 -1
  328. package/indicators/keltner-channels.src.js +11 -2
  329. package/indicators/klinger.js +13 -13
  330. package/indicators/klinger.js.map +1 -1
  331. package/indicators/klinger.src.js +11 -2
  332. package/indicators/macd.js +12 -11
  333. package/indicators/macd.js.map +1 -1
  334. package/indicators/macd.src.js +11 -2
  335. package/indicators/mfi.js +6 -6
  336. package/indicators/mfi.js.map +1 -1
  337. package/indicators/mfi.src.js +11 -2
  338. package/indicators/momentum.js +5 -5
  339. package/indicators/momentum.js.map +1 -1
  340. package/indicators/momentum.src.js +11 -2
  341. package/indicators/natr.js +5 -4
  342. package/indicators/natr.js.map +1 -1
  343. package/indicators/natr.src.js +11 -2
  344. package/indicators/obv.js +5 -5
  345. package/indicators/obv.js.map +1 -1
  346. package/indicators/obv.src.js +11 -2
  347. package/indicators/pivot-points.js +11 -11
  348. package/indicators/pivot-points.js.map +1 -1
  349. package/indicators/pivot-points.src.js +11 -2
  350. package/indicators/ppo.js +5 -5
  351. package/indicators/ppo.js.map +1 -1
  352. package/indicators/ppo.src.js +11 -2
  353. package/indicators/price-channel.js +11 -11
  354. package/indicators/price-channel.js.map +1 -1
  355. package/indicators/price-channel.src.js +11 -2
  356. package/indicators/price-envelopes.js +8 -8
  357. package/indicators/price-envelopes.js.map +1 -1
  358. package/indicators/price-envelopes.src.js +11 -2
  359. package/indicators/psar.js +7 -6
  360. package/indicators/psar.js.map +1 -1
  361. package/indicators/psar.src.js +11 -2
  362. package/indicators/regressions.js +12 -12
  363. package/indicators/regressions.js.map +1 -1
  364. package/indicators/regressions.src.js +11 -2
  365. package/indicators/roc.js +5 -5
  366. package/indicators/roc.js.map +1 -1
  367. package/indicators/roc.src.js +11 -2
  368. package/indicators/rsi.js +6 -5
  369. package/indicators/rsi.js.map +1 -1
  370. package/indicators/rsi.src.js +11 -2
  371. package/indicators/slow-stochastic.js +5 -5
  372. package/indicators/slow-stochastic.js.map +1 -1
  373. package/indicators/slow-stochastic.src.js +11 -2
  374. package/indicators/stochastic.js +12 -12
  375. package/indicators/stochastic.js.map +1 -1
  376. package/indicators/stochastic.src.js +11 -2
  377. package/indicators/supertrend.js +10 -10
  378. package/indicators/supertrend.js.map +1 -1
  379. package/indicators/supertrend.src.js +11 -2
  380. package/indicators/tema.js +6 -6
  381. package/indicators/tema.js.map +1 -1
  382. package/indicators/tema.src.js +11 -2
  383. package/indicators/trendline.js +5 -5
  384. package/indicators/trendline.js.map +1 -1
  385. package/indicators/trendline.src.js +11 -2
  386. package/indicators/trix.js +4 -4
  387. package/indicators/trix.js.map +1 -1
  388. package/indicators/trix.src.js +11 -2
  389. package/indicators/volume-by-price.js +17 -17
  390. package/indicators/volume-by-price.js.map +1 -1
  391. package/indicators/volume-by-price.src.js +11 -2
  392. package/indicators/vwap.js +5 -5
  393. package/indicators/vwap.js.map +1 -1
  394. package/indicators/vwap.src.js +11 -2
  395. package/indicators/williams-r.js +6 -5
  396. package/indicators/williams-r.js.map +1 -1
  397. package/indicators/williams-r.src.js +11 -2
  398. package/indicators/wma.js +5 -5
  399. package/indicators/wma.js.map +1 -1
  400. package/indicators/wma.src.js +11 -2
  401. package/indicators/zigzag.js +6 -6
  402. package/indicators/zigzag.js.map +1 -1
  403. package/indicators/zigzag.src.js +11 -2
  404. package/lib/jspdf.js +299 -184
  405. package/lib/jspdf.src.js +25266 -18067
  406. package/lib/svg2pdf.js +35 -31
  407. package/lib/svg2pdf.src.js +5721 -4179
  408. package/modules/accessibility.js +231 -229
  409. package/modules/accessibility.js.map +1 -1
  410. package/modules/accessibility.src.js +278 -197
  411. package/modules/annotations-advanced.js +144 -144
  412. package/modules/annotations-advanced.js.map +1 -1
  413. package/modules/annotations-advanced.src.js +26 -8
  414. package/modules/annotations.js +79 -79
  415. package/modules/annotations.js.map +1 -1
  416. package/modules/annotations.src.js +21 -5
  417. package/modules/arc-diagram.js +25 -0
  418. package/modules/arc-diagram.js.map +1 -0
  419. package/modules/arc-diagram.src.js +770 -0
  420. package/modules/arrow-symbols.js +4 -3
  421. package/modules/arrow-symbols.js.map +1 -1
  422. package/modules/arrow-symbols.src.js +11 -2
  423. package/modules/boost-canvas.js +15 -15
  424. package/modules/boost-canvas.js.map +1 -1
  425. package/modules/boost-canvas.src.js +11 -2
  426. package/modules/boost.js +80 -79
  427. package/modules/boost.js.map +1 -1
  428. package/modules/boost.src.js +71 -43
  429. package/modules/broken-axis.js +13 -13
  430. package/modules/broken-axis.js.map +1 -1
  431. package/modules/broken-axis.src.js +11 -2
  432. package/modules/bullet.js +9 -9
  433. package/modules/bullet.js.map +1 -1
  434. package/modules/bullet.src.js +11 -2
  435. package/modules/coloraxis.js +24 -24
  436. package/modules/coloraxis.js.map +1 -1
  437. package/modules/coloraxis.src.js +33 -7
  438. package/modules/current-date-indicator.js +5 -4
  439. package/modules/current-date-indicator.js.map +1 -1
  440. package/modules/current-date-indicator.src.js +11 -2
  441. package/modules/cylinder.js +11 -11
  442. package/modules/cylinder.js.map +1 -1
  443. package/modules/cylinder.src.js +11 -2
  444. package/modules/data.js +34 -33
  445. package/modules/data.js.map +1 -1
  446. package/modules/data.src.js +59 -32
  447. package/modules/datagrouping.js +21 -20
  448. package/modules/datagrouping.js.map +1 -1
  449. package/modules/datagrouping.src.js +16 -4
  450. package/modules/debugger.js +6 -6
  451. package/modules/debugger.js.map +1 -1
  452. package/modules/debugger.src.js +11 -2
  453. package/modules/dependency-wheel.js +12 -11
  454. package/modules/dependency-wheel.js.map +1 -1
  455. package/modules/dependency-wheel.src.js +14 -5
  456. package/modules/dotplot.js +6 -6
  457. package/modules/dotplot.js.map +1 -1
  458. package/modules/dotplot.src.js +11 -2
  459. package/modules/drag-panes.js +10 -10
  460. package/modules/drag-panes.js.map +1 -1
  461. package/modules/drag-panes.src.js +11 -2
  462. package/modules/draggable-points.js +35 -34
  463. package/modules/draggable-points.js.map +1 -1
  464. package/modules/draggable-points.src.js +20 -9
  465. package/modules/drilldown.d.ts +19 -0
  466. package/modules/drilldown.js +37 -25
  467. package/modules/drilldown.js.map +1 -1
  468. package/modules/drilldown.src.d.ts +19 -0
  469. package/modules/drilldown.src.js +1090 -105
  470. package/modules/dumbbell.js +17 -17
  471. package/modules/dumbbell.js.map +1 -1
  472. package/modules/dumbbell.src.js +11 -2
  473. package/modules/export-data.js +21 -20
  474. package/modules/export-data.js.map +1 -1
  475. package/modules/export-data.src.js +11 -2
  476. package/modules/exporting.js +39 -39
  477. package/modules/exporting.js.map +1 -1
  478. package/modules/exporting.src.js +82 -18
  479. package/modules/full-screen.js +8 -7
  480. package/modules/full-screen.js.map +1 -1
  481. package/modules/full-screen.src.js +11 -2
  482. package/modules/funnel.js +12 -12
  483. package/modules/funnel.js.map +1 -1
  484. package/modules/funnel.src.js +11 -2
  485. package/modules/funnel3d.js +21 -21
  486. package/modules/funnel3d.js.map +1 -1
  487. package/modules/funnel3d.src.js +11 -2
  488. package/modules/gantt.js +217 -217
  489. package/modules/gantt.js.map +1 -1
  490. package/modules/gantt.src.js +45 -20
  491. package/modules/grid-axis.js +23 -23
  492. package/modules/grid-axis.js.map +1 -1
  493. package/modules/grid-axis.src.js +22 -11
  494. package/modules/heatmap.js +40 -39
  495. package/modules/heatmap.js.map +1 -1
  496. package/modules/heatmap.src.js +33 -7
  497. package/modules/heikinashi.js +8 -8
  498. package/modules/heikinashi.js.map +1 -1
  499. package/modules/heikinashi.src.js +11 -2
  500. package/modules/histogram-bellcurve.js +13 -13
  501. package/modules/histogram-bellcurve.js.map +1 -1
  502. package/modules/histogram-bellcurve.src.js +11 -2
  503. package/modules/hollowcandlestick.js +9 -9
  504. package/modules/hollowcandlestick.js.map +1 -1
  505. package/modules/hollowcandlestick.src.js +11 -2
  506. package/modules/item-series.js +12 -12
  507. package/modules/item-series.js.map +1 -1
  508. package/modules/item-series.src.js +11 -2
  509. package/modules/lollipop.js +7 -7
  510. package/modules/lollipop.js.map +1 -1
  511. package/modules/lollipop.src.js +12 -3
  512. package/modules/map.d.ts +80 -43
  513. package/modules/map.js +169 -144
  514. package/modules/map.js.map +1 -1
  515. package/modules/map.src.d.ts +80 -43
  516. package/modules/map.src.js +7960 -6687
  517. package/modules/marker-clusters.js +36 -36
  518. package/modules/marker-clusters.js.map +1 -1
  519. package/modules/marker-clusters.src.js +47 -23
  520. package/modules/networkgraph.d.ts +5 -0
  521. package/modules/networkgraph.js +49 -48
  522. package/modules/networkgraph.js.map +1 -1
  523. package/modules/networkgraph.src.d.ts +5 -0
  524. package/modules/networkgraph.src.js +77 -15
  525. package/modules/no-data-to-display.js +5 -5
  526. package/modules/no-data-to-display.js.map +1 -1
  527. package/modules/no-data-to-display.src.js +11 -2
  528. package/modules/offline-exporting.js +20 -18
  529. package/modules/offline-exporting.js.map +1 -1
  530. package/modules/offline-exporting.src.js +126 -25
  531. package/modules/oldie-polyfills.js +7 -7
  532. package/modules/oldie-polyfills.js.map +1 -1
  533. package/modules/oldie-polyfills.src.js +11 -2
  534. package/modules/oldie.js +30 -30
  535. package/modules/oldie.js.map +1 -1
  536. package/modules/oldie.src.js +12 -3
  537. package/modules/organization.js +16 -14
  538. package/modules/organization.js.map +1 -1
  539. package/modules/organization.src.js +166 -32
  540. package/modules/overlapping-datalabels.js +3 -2
  541. package/modules/overlapping-datalabels.js.map +1 -1
  542. package/modules/overlapping-datalabels.src.js +11 -2
  543. package/modules/parallel-coordinates.js +11 -11
  544. package/modules/parallel-coordinates.js.map +1 -1
  545. package/modules/parallel-coordinates.src.js +11 -2
  546. package/modules/pareto.js +7 -7
  547. package/modules/pareto.js.map +1 -1
  548. package/modules/pareto.src.js +11 -2
  549. package/modules/pathfinder.js +31 -31
  550. package/modules/pathfinder.js.map +1 -1
  551. package/modules/pathfinder.src.js +11 -2
  552. package/modules/pattern-fill.js +14 -14
  553. package/modules/pattern-fill.js.map +1 -1
  554. package/modules/pattern-fill.src.js +11 -2
  555. package/modules/price-indicator.js +5 -5
  556. package/modules/price-indicator.js.map +1 -1
  557. package/modules/price-indicator.src.js +11 -2
  558. package/modules/pyramid3d.js +4 -4
  559. package/modules/pyramid3d.js.map +1 -1
  560. package/modules/pyramid3d.src.js +11 -2
  561. package/modules/sankey.d.ts +5 -0
  562. package/modules/sankey.js +32 -29
  563. package/modules/sankey.js.map +1 -1
  564. package/modules/sankey.src.d.ts +5 -0
  565. package/modules/sankey.src.js +338 -156
  566. package/modules/series-label.js +18 -17
  567. package/modules/series-label.js.map +1 -1
  568. package/modules/series-label.src.js +11 -2
  569. package/modules/solid-gauge.js +10 -10
  570. package/modules/solid-gauge.js.map +1 -1
  571. package/modules/solid-gauge.src.js +11 -2
  572. package/modules/sonification.js +59 -59
  573. package/modules/sonification.js.map +1 -1
  574. package/modules/sonification.src.js +11 -2
  575. package/modules/static-scale.js +5 -4
  576. package/modules/static-scale.js.map +1 -1
  577. package/modules/static-scale.src.js +11 -2
  578. package/modules/stock-tools.js +78 -78
  579. package/modules/stock-tools.js.map +1 -1
  580. package/modules/stock-tools.src.js +21 -5
  581. package/modules/stock.js +162 -162
  582. package/modules/stock.js.map +1 -1
  583. package/modules/stock.src.js +36 -13
  584. package/modules/streamgraph.js +5 -4
  585. package/modules/streamgraph.js.map +1 -1
  586. package/modules/streamgraph.src.js +11 -2
  587. package/modules/sunburst.d.ts +3 -0
  588. package/modules/sunburst.js +73 -60
  589. package/modules/sunburst.js.map +1 -1
  590. package/modules/sunburst.src.d.ts +3 -0
  591. package/modules/sunburst.src.js +1049 -96
  592. package/modules/tilemap.js +17 -17
  593. package/modules/tilemap.js.map +1 -1
  594. package/modules/tilemap.src.js +11 -2
  595. package/modules/timeline.js +18 -18
  596. package/modules/timeline.js.map +1 -1
  597. package/modules/timeline.src.js +11 -2
  598. package/modules/treegrid.js +57 -56
  599. package/modules/treegrid.js.map +1 -1
  600. package/modules/treegrid.src.js +33 -11
  601. package/modules/treemap.d.ts +3 -0
  602. package/modules/treemap.js +53 -41
  603. package/modules/treemap.js.map +1 -1
  604. package/modules/treemap.src.d.ts +3 -0
  605. package/modules/treemap.src.js +1039 -95
  606. package/modules/variable-pie.js +9 -9
  607. package/modules/variable-pie.js.map +1 -1
  608. package/modules/variable-pie.src.js +11 -2
  609. package/modules/variwide.js +12 -12
  610. package/modules/variwide.js.map +1 -1
  611. package/modules/variwide.src.js +11 -2
  612. package/modules/vector.js +8 -7
  613. package/modules/vector.js.map +1 -1
  614. package/modules/vector.src.js +11 -2
  615. package/modules/venn.js +31 -31
  616. package/modules/venn.js.map +1 -1
  617. package/modules/venn.src.js +18 -6
  618. package/modules/windbarb.js +15 -15
  619. package/modules/windbarb.js.map +1 -1
  620. package/modules/windbarb.src.js +11 -2
  621. package/modules/wordcloud.js +23 -23
  622. package/modules/wordcloud.js.map +1 -1
  623. package/modules/wordcloud.src.js +18 -6
  624. package/modules/xrange.js +16 -16
  625. package/modules/xrange.js.map +1 -1
  626. package/modules/xrange.src.js +11 -2
  627. package/package.json +1 -1
  628. package/themes/avocado.js +4 -3
  629. package/themes/avocado.js.map +1 -1
  630. package/themes/avocado.src.js +11 -2
  631. package/themes/brand-dark.js +9 -8
  632. package/themes/brand-dark.js.map +1 -1
  633. package/themes/brand-dark.src.js +11 -2
  634. package/themes/brand-light.js +8 -8
  635. package/themes/brand-light.js.map +1 -1
  636. package/themes/brand-light.src.js +11 -2
  637. package/themes/dark-blue.js +9 -8
  638. package/themes/dark-blue.js.map +1 -1
  639. package/themes/dark-blue.src.js +11 -2
  640. package/themes/dark-green.js +9 -8
  641. package/themes/dark-green.js.map +1 -1
  642. package/themes/dark-green.src.js +11 -2
  643. package/themes/dark-unica.js +8 -7
  644. package/themes/dark-unica.js.map +1 -1
  645. package/themes/dark-unica.src.js +11 -2
  646. package/themes/gray.js +9 -8
  647. package/themes/gray.js.map +1 -1
  648. package/themes/gray.src.js +11 -2
  649. package/themes/grid-light.js +5 -4
  650. package/themes/grid-light.js.map +1 -1
  651. package/themes/grid-light.src.js +11 -2
  652. package/themes/grid.js +5 -5
  653. package/themes/grid.js.map +1 -1
  654. package/themes/grid.src.js +11 -2
  655. package/themes/high-contrast-dark.js +7 -7
  656. package/themes/high-contrast-dark.js.map +1 -1
  657. package/themes/high-contrast-dark.src.js +21 -12
  658. package/themes/high-contrast-light.js +3 -3
  659. package/themes/high-contrast-light.js.map +1 -1
  660. package/themes/high-contrast-light.src.js +21 -12
  661. package/themes/sand-signika.js +5 -5
  662. package/themes/sand-signika.js.map +1 -1
  663. package/themes/sand-signika.src.js +11 -2
  664. package/themes/skies.js +5 -5
  665. package/themes/skies.js.map +1 -1
  666. package/themes/skies.src.js +11 -2
  667. package/themes/sunset.js +3 -3
  668. package/themes/sunset.js.map +1 -1
  669. package/themes/sunset.src.js +11 -2
  670. package/es-modules/Maps/ProjectionDefinition.js +0 -9
@@ -20,9 +20,11 @@ var downloadURL = DownloadURL.downloadURL;
20
20
  import Exporting from '../Exporting/Exporting.js';
21
21
  import H from '../../Core/Globals.js';
22
22
  var win = H.win, doc = H.doc;
23
+ import HU from '../../Core/HttpUtilities.js';
24
+ var ajax = HU.ajax;
23
25
  import OfflineExportingDefaults from './OfflineExportingDefaults.js';
24
26
  import U from '../../Core/Utilities.js';
25
- var addEvent = U.addEvent, error = U.error, extend = U.extend, fireEvent = U.fireEvent, merge = U.merge;
27
+ var addEvent = U.addEvent, error = U.error, extend = U.extend, fireEvent = U.fireEvent, pick = U.pick, merge = U.merge;
26
28
  AST.allowedAttributes.push('data-z-index', 'fill-opacity', 'rx', 'ry', 'stroke-dasharray', 'stroke-linejoin', 'text-anchor', 'transform', 'version', 'viewBox', 'visibility', 'xmlns', 'xmlns:xlink');
27
29
  AST.allowedTags.push('desc', 'clippath', 'g');
28
30
  /* *
@@ -110,9 +112,82 @@ var OfflineExporting;
110
112
  '.' +
111
113
  (imageType === 'image/svg+xml' ?
112
114
  'svg' : imageType.split('/')[1])), scale = options.scale || 1;
113
- var svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true;
115
+ var svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true, pdfFont = options.pdfFont;
114
116
  // Allow libURL to end with or without fordward slash
115
117
  libURL = libURL.slice(-1) !== '/' ? libURL + '/' : libURL;
118
+ /*
119
+ * Detect if we need to load TTF fonts for the PDF, then load them and
120
+ * proceed.
121
+ *
122
+ * @private
123
+ */
124
+ var loadPdfFonts = function (svgElement, callback) {
125
+ var hasNonASCII = function (s) { return (
126
+ // eslint-disable-next-line no-control-regex
127
+ /[^\u0000-\u007F\u200B]+/.test(s)); };
128
+ // Register an event in order to add the font once jsPDF is
129
+ // initialized
130
+ var addFont = function (variant, base64) {
131
+ win.jspdf.jsPDF.API.events.push([
132
+ 'initialized',
133
+ function () {
134
+ this.addFileToVFS(variant, base64);
135
+ this.addFont(variant, 'HighchartsFont', variant);
136
+ if (!this.getFontList().HighchartsFont) {
137
+ this.setFont('HighchartsFont');
138
+ }
139
+ }
140
+ ]);
141
+ };
142
+ // If there are no non-ASCII characters in the SVG, do not use
143
+ // bother downloading the font files
144
+ if (pdfFont && !hasNonASCII(svgElement.textContent || '')) {
145
+ pdfFont = void 0;
146
+ }
147
+ // Add new font if the URL is declared, #6417.
148
+ var variants = ['normal', 'italic', 'bold', 'bolditalic'];
149
+ // Shift the first element off the variants and add as a font.
150
+ // Then asynchronously trigger the next variant until calling the
151
+ // callback when the variants are empty.
152
+ var normalBase64;
153
+ var shiftAndLoadVariant = function () {
154
+ var variant = variants.shift();
155
+ // All variants shifted and possibly loaded, proceed
156
+ if (!variant) {
157
+ return callback();
158
+ }
159
+ var url = pdfFont && pdfFont[variant];
160
+ if (url) {
161
+ ajax({
162
+ url: url,
163
+ responseType: 'blob',
164
+ success: function (data, xhr) {
165
+ var reader = new FileReader();
166
+ reader.onloadend = function () {
167
+ if (typeof this.result === 'string') {
168
+ var base64 = this.result.split(',')[1];
169
+ addFont(variant, base64);
170
+ if (variant === 'normal') {
171
+ normalBase64 = base64;
172
+ }
173
+ }
174
+ shiftAndLoadVariant();
175
+ };
176
+ reader.readAsDataURL(xhr.response);
177
+ },
178
+ error: shiftAndLoadVariant
179
+ });
180
+ }
181
+ else {
182
+ // For other variants, fall back to normal text weight/style
183
+ if (normalBase64) {
184
+ addFont(variant, normalBase64);
185
+ }
186
+ shiftAndLoadVariant();
187
+ }
188
+ };
189
+ shiftAndLoadVariant();
190
+ };
116
191
  /*
117
192
  * @private
118
193
  */
@@ -137,13 +212,17 @@ var OfflineExporting;
137
212
  // Workaround for the text styling. Making sure it does pick up
138
213
  // settings for parent elements.
139
214
  [].forEach.call(textElements, function (el) {
140
- // Workaround for the text styling. making sure it does pick up@
215
+ // Workaround for the text styling. making sure it does pick up
141
216
  // the root element
142
217
  ['font-family', 'font-size'].forEach(function (property) {
143
218
  setStylePropertyFromParents(el, property);
144
219
  });
145
- el.style['font-family'] = (el.style['font-family'] &&
146
- el.style['font-family'].split(' ').splice(-1));
220
+ el.style.fontFamily = pdfFont && pdfFont.normal ?
221
+ // Custom PDF font
222
+ 'HighchartsFont' :
223
+ // Generic font (serif, sans-serif etc)
224
+ String(el.style.fontFamily &&
225
+ el.style.fontFamily.split(' ').splice(-1));
147
226
  // Workaround for plotband with width, removing title from text
148
227
  // nodes
149
228
  titleElements = el.getElementsByTagName('title');
@@ -151,15 +230,21 @@ var OfflineExporting;
151
230
  el.removeChild(titleElement);
152
231
  });
153
232
  });
154
- var svgData = svgToPdf(dummySVGContainer.firstChild, 0);
155
- try {
156
- downloadURL(svgData, filename);
157
- if (successCallback) {
158
- successCallback();
159
- }
160
- }
161
- catch (e) {
162
- failCallback(e);
233
+ var svgNode = dummySVGContainer.querySelector('svg');
234
+ if (svgNode) {
235
+ loadPdfFonts(svgNode, function () {
236
+ svgToPdf(svgNode, 0, function (pdfData) {
237
+ try {
238
+ downloadURL(pdfData, filename);
239
+ if (successCallback) {
240
+ successCallback();
241
+ }
242
+ }
243
+ catch (e) {
244
+ failCallback(e);
245
+ }
246
+ });
247
+ });
163
248
  }
164
249
  };
165
250
  // Initiate download depending on file type
@@ -185,7 +270,7 @@ var OfflineExporting;
185
270
  }
186
271
  }
187
272
  else if (imageType === 'application/pdf') {
188
- if (win.jsPDF && win.svg2pdf) {
273
+ if (win.jspdf && win.jspdf.jsPDF) {
189
274
  downloadPDF();
190
275
  }
191
276
  else {
@@ -194,9 +279,7 @@ var OfflineExporting;
194
279
  // solution would be nice, but this will do for now.
195
280
  objectURLRevoke = true;
196
281
  getScript(libURL + 'jspdf.js', function () {
197
- getScript(libURL + 'svg2pdf.js', function () {
198
- downloadPDF();
199
- });
282
+ getScript(libURL + 'svg2pdf.js', downloadPDF);
200
283
  });
201
284
  }
202
285
  }
@@ -571,8 +654,8 @@ var OfflineExporting;
571
654
  /**
572
655
  * @private
573
656
  */
574
- function svgToPdf(svgElement, margin) {
575
- var width = svgElement.width.baseVal.value + 2 * margin, height = svgElement.height.baseVal.value + 2 * margin, pdf = new win.jsPDF(// eslint-disable-line new-cap
657
+ function svgToPdf(svgElement, margin, callback) {
658
+ var width = Number(svgElement.getAttribute('width')) + 2 * margin, height = Number(svgElement.getAttribute('height')) + 2 * margin, pdfDoc = new win.jspdf.jsPDF(// eslint-disable-line new-cap
576
659
  // setting orientation to portrait if height exceeds width
577
660
  height > width ? 'p' : 'l', 'pt', [width, height]);
578
661
  // Workaround for #7090, hidden elements were drawn anyway. It comes
@@ -604,8 +687,13 @@ var OfflineExporting;
604
687
  tspan.setAttribute('dx', -5);
605
688
  }
606
689
  });
607
- win.svg2pdf(svgElement, pdf, { removeInvalid: true });
608
- return pdf.output('datauristring');
690
+ pdfDoc.svg(svgElement, {
691
+ x: 0,
692
+ y: 0,
693
+ width: width,
694
+ height: height,
695
+ removeInvalid: true
696
+ }).then(function () { return callback(pdfDoc.output('datauristring')); });
609
697
  }
610
698
  OfflineExporting.svgToPdf = svgToPdf;
611
699
  })(OfflineExporting || (OfflineExporting = {}));
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * */
16
16
  var OfflineExportingDefaults = {
17
- libURL: 'https://code.highcharts.com/9.3.3/lib/',
17
+ libURL: 'https://code.highcharts.com/10.0.0/lib/',
18
18
  // When offline-exporting is loaded, redefine the menu item definitions
19
19
  // related to download.
20
20
  menuItemDefinitions: {
@@ -36,7 +36,7 @@ var VMLRenderer, VMLElement;
36
36
  * @apioption global.VMLRadialGradientURL
37
37
  */
38
38
  getOptions().global.VMLRadialGradientURL =
39
- 'http://code.highcharts.com/9.3.3/gfx/vml-radial-gradient.png';
39
+ 'http://code.highcharts.com/10.0.0/gfx/vml-radial-gradient.png';
40
40
  // Utilites
41
41
  if (doc && !doc.defaultView) {
42
42
  H.getStyle = U.getStyle = function getStyle(el, prop) {
@@ -227,7 +227,7 @@ Chart.prototype.applyFixed = function () {
227
227
  .addClass('highcharts-scrollable-mask')
228
228
  .add();
229
229
  addEvent(this, 'afterShowResetZoom', this.moveFixedElements);
230
- addEvent(this, 'afterDrilldown', this.moveFixedElements);
230
+ addEvent(this, 'afterApplyDrilldown', this.moveFixedElements);
231
231
  addEvent(this, 'afterLayOutTitles', this.moveFixedElements);
232
232
  }
233
233
  else {
@@ -348,6 +348,7 @@ addEvent(Series, 'show', function () {
348
348
  * area will become scrollable.
349
349
  *
350
350
  * @type {number}
351
+ * @since 7.1.2
351
352
  * @apioption chart.scrollablePlotArea.minHeight
352
353
  */
353
354
  /**
@@ -355,6 +356,7 @@ addEvent(Series, 'show', function () {
355
356
  * area will become scrollable.
356
357
  *
357
358
  * @type {number}
359
+ * @since 6.1.0
358
360
  * @apioption chart.scrollablePlotArea.minWidth
359
361
  */
360
362
  /**
@@ -363,6 +365,7 @@ addEvent(Series, 'show', function () {
363
365
  * Typically we would use 1 if the chart has right aligned Y axes.
364
366
  *
365
367
  * @type {number}
368
+ * @since 6.1.0
366
369
  * @apioption chart.scrollablePlotArea.scrollPositionX
367
370
  */
368
371
  /**
@@ -370,6 +373,7 @@ addEvent(Series, 'show', function () {
370
373
  * 1, where 0 aligns the plot area to the top and 1 aligns it to the bottom.
371
374
  *
372
375
  * @type {number}
376
+ * @since 7.1.2
373
377
  * @apioption chart.scrollablePlotArea.scrollPositionY
374
378
  */
375
379
  /**
@@ -453,11 +453,12 @@ Series.prototype.getStackIndicator = function (stackIndicator, x, index, key) {
453
453
  // changed:
454
454
  if (!defined(stackIndicator) ||
455
455
  stackIndicator.x !== x ||
456
- (key && stackIndicator.key !== key)) {
456
+ (key && stackIndicator.stackKey !== key)) {
457
457
  stackIndicator = {
458
458
  x: x,
459
459
  index: 0,
460
- key: key
460
+ key: key,
461
+ stackKey: key
461
462
  };
462
463
  }
463
464
  else {
@@ -31,16 +31,16 @@ var HighContrastDarkTheme;
31
31
  var textBright = '#F0F0F3';
32
32
  HighContrastDarkTheme.options = {
33
33
  colors: [
34
- '#a6f0ff',
35
- '#70d49e',
36
- '#e898a5',
37
- '#007faa',
38
- '#f9db72',
39
- '#f45b5b',
40
- '#1e824c',
41
- '#e7934c',
42
- '#dadfe1',
43
- '#a0618b'
34
+ '#6783E7',
35
+ '#8AC668',
36
+ '#9630EF',
37
+ '#F0A079',
38
+ '#51ACD1',
39
+ '#CB3F44',
40
+ '#CD9FE5',
41
+ '#4DA9A5',
42
+ '#BBDEE0',
43
+ '#E3AF3D'
44
44
  ],
45
45
  chart: {
46
46
  backgroundColor: '#1f1f20',
@@ -30,16 +30,16 @@ var HighContrastLightTheme;
30
30
  * */
31
31
  HighContrastLightTheme.options = {
32
32
  colors: [
33
- '#5f98cf',
34
- '#434348',
35
- '#49a65e',
36
- '#f45b5b',
37
- '#708090',
38
- '#b68c51',
39
- '#397550',
40
- '#c0493d',
41
- '#4f4a7a',
42
- '#b381b3'
33
+ '#4372da',
34
+ '#222',
35
+ '#0b7383',
36
+ '#6B26F0',
37
+ '#D42D1A',
38
+ '#3D239E',
39
+ '#7e7932',
40
+ '#b06320',
41
+ '#244a76',
42
+ '#76767A'
43
43
  ],
44
44
  navigator: {
45
45
  series: {
@@ -12,7 +12,7 @@ import Chart from '../Core/Chart/Chart.js';
12
12
  import H from '../Core/Globals.js';
13
13
  var doc = H.doc;
14
14
  import U from '../Core/Utilities.js';
15
- var addEvent = U.addEvent, extend = U.extend, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
15
+ var addEvent = U.addEvent, defined = U.defined, extend = U.extend, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
16
16
  import './MapNavigationOptionsDefault.js';
17
17
  /* eslint-disable no-invalid-this, valid-jsdoc */
18
18
  /**
@@ -41,6 +41,7 @@ function stopEvent(e) {
41
41
  * The Chart instance.
42
42
  */
43
43
  function MapNavigation(chart) {
44
+ this.navButtons = [];
44
45
  this.init(chart);
45
46
  }
46
47
  /**
@@ -55,7 +56,6 @@ function MapNavigation(chart) {
55
56
  */
56
57
  MapNavigation.prototype.init = function (chart) {
57
58
  this.chart = chart;
58
- chart.mapNavButtons = [];
59
59
  };
60
60
  /**
61
61
  * Update the map navigation with new options. Calling this is the same as
@@ -69,10 +69,10 @@ MapNavigation.prototype.init = function (chart) {
69
69
  * @return {void}
70
70
  */
71
71
  MapNavigation.prototype.update = function (options) {
72
- var chart = this.chart, o = chart.options.mapNavigation, attr, states, hoverStates, selectStates, outerHandler = function (e) {
72
+ var mapNav = this, chart = this.chart, o = chart.options.mapNavigation, attr, states, hoverStates, selectStates, outerHandler = function (e) {
73
73
  this.handler.call(chart, e);
74
74
  stopEvent(e); // Stop default click event (#4444)
75
- }, mapNavButtons = chart.mapNavButtons;
75
+ }, navButtons = mapNav.navButtons;
76
76
  // Merge in new options in case of update, and register back to chart
77
77
  // options.
78
78
  if (options) {
@@ -80,10 +80,15 @@ MapNavigation.prototype.update = function (options) {
80
80
  merge(chart.options.mapNavigation, options);
81
81
  }
82
82
  // Destroy buttons in case of dynamic update
83
- while (mapNavButtons.length) {
84
- mapNavButtons.pop().destroy();
83
+ while (navButtons.length) {
84
+ navButtons.pop().destroy();
85
85
  }
86
86
  if (pick(o.enableButtons, o.enabled) && !chart.renderer.forExport) {
87
+ if (!mapNav.navButtonsGroup) {
88
+ mapNav.navButtonsGroup = chart.renderer.g().attr({
89
+ zIndex: 4 // #4955, // #8392
90
+ }).add();
91
+ }
87
92
  objectEach(o.buttons, function (buttonOptions, n) {
88
93
  buttonOptions = merge(o.buttonOptions, buttonOptions);
89
94
  // Presentational
@@ -109,11 +114,11 @@ MapNavigation.prototype.update = function (options) {
109
114
  padding: buttonOptions.padding,
110
115
  zIndex: 5
111
116
  })
112
- .add();
117
+ .add(mapNav.navButtonsGroup);
113
118
  button.handler = buttonOptions.onclick;
114
119
  // Stop double click event (#4444)
115
120
  addEvent(button.element, 'dblclick', stopEvent);
116
- mapNavButtons.push(button);
121
+ navButtons.push(button);
117
122
  extend(buttonOptions, {
118
123
  width: button.width,
119
124
  height: 2 * button.height
@@ -132,6 +137,41 @@ MapNavigation.prototype.update = function (options) {
132
137
  button.align(buttonOptions, false, buttonOptions.alignTo);
133
138
  }
134
139
  });
140
+ // Borrowed from overlapping-datalabels. Consider a shared module.
141
+ var isIntersectRect_1 = function (box1, box2) { return !(box2.x >= box1.x + box1.width ||
142
+ box2.x + box2.width <= box1.x ||
143
+ box2.y >= box1.y + box1.height ||
144
+ box2.y + box2.height <= box1.y); };
145
+ // Check the mapNavigation buttons collision with exporting button
146
+ // and translate the mapNavigation button if they overlap.
147
+ var adjustMapNavBtn = function () {
148
+ var expBtnBBox = chart.exportingGroup && chart.exportingGroup.getBBox();
149
+ if (expBtnBBox) {
150
+ var navBtnsBBox = mapNav.navButtonsGroup.getBBox();
151
+ // If buttons overlap
152
+ if (isIntersectRect_1(expBtnBBox, navBtnsBBox)) {
153
+ // Adjust the mapNav buttons' position by translating them
154
+ // above or below the exporting button
155
+ var aboveExpBtn = -navBtnsBBox.y - navBtnsBBox.height +
156
+ expBtnBBox.y - 5, belowExpBtn = expBtnBBox.y + expBtnBBox.height -
157
+ navBtnsBBox.y + 5, mapNavVerticalAlign = o.buttonOptions && o.buttonOptions.verticalAlign;
158
+ // If bottom aligned and adjusting the mapNav button would
159
+ // translate it out of the plotBox, translate it up
160
+ // instead of down
161
+ mapNav.navButtonsGroup.attr({
162
+ translateY: mapNavVerticalAlign === 'bottom' ?
163
+ aboveExpBtn :
164
+ belowExpBtn
165
+ });
166
+ }
167
+ }
168
+ };
169
+ if (!chart.hasLoaded) {
170
+ // Align it after the plotBox is known (#12776) and after the
171
+ // hamburger button's position is known so they don't overlap
172
+ // (#15782)
173
+ addEvent(chart, 'render', adjustMapNavBtn);
174
+ }
135
175
  }
136
176
  this.updateEvents(o);
137
177
  };
@@ -229,6 +269,7 @@ extend(Chart.prototype, /** @lends Chart.prototype */ {
229
269
  *
230
270
  * Deprecated as of v9.3 in favor of [MapView.zoomBy](https://api.highcharts.com/class-reference/Highcharts.MapView#zoomBy).
231
271
  *
272
+ * @deprecated
232
273
  * @function Highcharts.Chart#mapZoom
233
274
  *
234
275
  * @param {number} [howMuch]
@@ -12,10 +12,26 @@ import Pointer from '../Core/Pointer.js';
12
12
  import U from '../Core/Utilities.js';
13
13
  var defined = U.defined, extend = U.extend, pick = U.pick, wrap = U.wrap;
14
14
  /* eslint-disable no-invalid-this */
15
+ var normalize = Pointer.prototype.normalize;
15
16
  var totalWheelDelta = 0;
16
17
  var totalWheelDeltaTimer;
17
18
  // Extend the Pointer
18
19
  extend(Pointer.prototype, {
20
+ // Add lon and lat information to pointer events
21
+ normalize: function (e, chartPosition) {
22
+ var chart = this.chart;
23
+ e = normalize.call(this, e, chartPosition);
24
+ if (chart && chart.mapView) {
25
+ var lonLat = chart.mapView.pixelsToLonLat({
26
+ x: e.chartX - chart.plotLeft,
27
+ y: e.chartY - chart.plotTop
28
+ });
29
+ if (lonLat) {
30
+ extend(e, lonLat);
31
+ }
32
+ }
33
+ return e;
34
+ },
19
35
  // The event handler for the doubleclick event
20
36
  onContainerDblClick: function (e) {
21
37
  var chart = this.chart;
@@ -0,0 +1,56 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ // Compute bounds from a path element
12
+ var boundsFromPath = function (path) {
13
+ var x2 = -Number.MAX_VALUE, x1 = Number.MAX_VALUE, y2 = -Number.MAX_VALUE, y1 = Number.MAX_VALUE, validBounds;
14
+ path.forEach(function (seg) {
15
+ var x = seg[seg.length - 2], y = seg[seg.length - 1];
16
+ if (typeof x === 'number' &&
17
+ typeof y === 'number') {
18
+ x1 = Math.min(x1, x);
19
+ x2 = Math.max(x2, x);
20
+ y1 = Math.min(y1, y);
21
+ y2 = Math.max(y2, y);
22
+ validBounds = true;
23
+ }
24
+ });
25
+ if (validBounds) {
26
+ return { x1: x1, y1: y1, x2: x2, y2: y2 };
27
+ }
28
+ };
29
+ /**
30
+ * Test for point in polygon. Polygon defined as array of [x,y] points.
31
+ * @private
32
+ */
33
+ var pointInPolygon = function (point, polygon) {
34
+ var i, j, rel1, rel2, c = false, x = point.x, y = point.y;
35
+ for (i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
36
+ rel1 = polygon[i][1] > y;
37
+ rel2 = polygon[j][1] > y;
38
+ if (rel1 !== rel2 &&
39
+ (x < (polygon[j][0] - polygon[i][0]) * (y - polygon[i][1]) /
40
+ (polygon[j][1] - polygon[i][1]) +
41
+ polygon[i][0])) {
42
+ c = !c;
43
+ }
44
+ }
45
+ return c;
46
+ };
47
+ /* *
48
+ *
49
+ * Default Export
50
+ *
51
+ * */
52
+ var MapUtilities = {
53
+ boundsFromPath: boundsFromPath,
54
+ pointInPolygon: pointInPolygon
55
+ };
56
+ export default MapUtilities;