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
@@ -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.2/lib/',
17
+ libURL: 'https://code.highcharts.com/10.1.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.2/gfx/vml-radial-gradient.png';
39
+ 'http://code.highcharts.com/10.1.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) {
@@ -34,9 +34,7 @@ addEvent(Chart, 'render', function collectAndHide() {
34
34
  !yAxis.options.stackLabels.allowOverlap) {
35
35
  objectEach(yAxis.stacking.stacks, function (stack) {
36
36
  objectEach(stack, function (stackItem) {
37
- if (stackItem.label &&
38
- stackItem.label.visibility !== 'hidden' // #15607
39
- ) {
37
+ if (stackItem.label) {
40
38
  labels.push(stackItem.label);
41
39
  }
42
40
  });
@@ -162,7 +160,10 @@ Chart.prototype.hideOverlappingLabels = function (labels) {
162
160
  box2 &&
163
161
  label1 !== label2 && // #6465, polar chart with connectEnds
164
162
  label1.newOpacity !== 0 &&
165
- label2.newOpacity !== 0) {
163
+ label2.newOpacity !== 0 &&
164
+ // #15863 dataLabels are no longer hidden by translation
165
+ label1.visibility !== 'hidden' &&
166
+ label2.visibility !== 'hidden') {
166
167
  if (isIntersectRect(box1, box2)) {
167
168
  (label1.labelrank < label2.labelrank ? label1 : label2)
168
169
  .newOpacity = 0;
@@ -652,7 +652,10 @@ if (seriesTypes.column) {
652
652
  // visible y range
653
653
  if (this.isRadialBar && point.shapeArgs &&
654
654
  point.shapeArgs.start === point.shapeArgs.end) {
655
- dataLabel.hide(true);
655
+ dataLabel.hide();
656
+ }
657
+ else {
658
+ dataLabel.show();
656
659
  }
657
660
  }
658
661
  else {
@@ -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
  /**
@@ -179,7 +179,7 @@ var StackItem = /** @class */ (function () {
179
179
  }
180
180
  else {
181
181
  // Move label away to avoid the overlapping issues
182
- label.alignAttr.y = -9999;
182
+ label.hide();
183
183
  isJustify = false;
184
184
  }
185
185
  if (isJustify) {
@@ -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
+ '#67B9EE',
35
+ '#CEEDA5',
36
+ '#9F6AE1',
37
+ '#FEA26E',
38
+ '#6BA48F',
39
+ '#EA3535',
40
+ '#8D96B7',
41
+ '#ECCA15',
42
+ '#20AA09',
43
+ '#E0C3E4'
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
+ '#265FB5',
34
+ '#222',
35
+ '#698F01',
36
+ '#F4693E',
37
+ '#4C0684',
38
+ '#0FA388',
39
+ '#B7104A',
40
+ '#AF9023',
41
+ '#1A704C',
42
+ '#B02FDD'
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
@@ -91,13 +96,9 @@ MapNavigation.prototype.update = function (options) {
91
96
  attr = buttonOptions.theme;
92
97
  attr.style = merge(buttonOptions.theme.style, buttonOptions.style // #3203
93
98
  );
94
- states = attr.states;
95
- hoverStates = states && states.hover;
96
- selectStates = states && states.select;
97
- delete attr.states;
98
99
  }
99
100
  var button = chart.renderer
100
- .button(buttonOptions.text || '', 0, 0, outerHandler, attr, hoverStates, selectStates, void 0, n === 'zoomIn' ? 'topbutton' : 'bottombutton')
101
+ .button(buttonOptions.text || '', 0, 0, outerHandler, attr, void 0, void 0, void 0, n === 'zoomIn' ? 'topbutton' : 'bottombutton')
101
102
  .addClass('highcharts-map-navigation highcharts-' + {
102
103
  zoomIn: 'zoom-in',
103
104
  zoomOut: 'zoom-out'
@@ -109,11 +110,11 @@ MapNavigation.prototype.update = function (options) {
109
110
  padding: buttonOptions.padding,
110
111
  zIndex: 5
111
112
  })
112
- .add();
113
+ .add(mapNav.navButtonsGroup);
113
114
  button.handler = buttonOptions.onclick;
114
115
  // Stop double click event (#4444)
115
116
  addEvent(button.element, 'dblclick', stopEvent);
116
- mapNavButtons.push(button);
117
+ navButtons.push(button);
117
118
  extend(buttonOptions, {
118
119
  width: button.width,
119
120
  height: 2 * button.height
@@ -132,6 +133,41 @@ MapNavigation.prototype.update = function (options) {
132
133
  button.align(buttonOptions, false, buttonOptions.alignTo);
133
134
  }
134
135
  });
136
+ // Borrowed from overlapping-datalabels. Consider a shared module.
137
+ var isIntersectRect_1 = function (box1, box2) { return !(box2.x >= box1.x + box1.width ||
138
+ box2.x + box2.width <= box1.x ||
139
+ box2.y >= box1.y + box1.height ||
140
+ box2.y + box2.height <= box1.y); };
141
+ // Check the mapNavigation buttons collision with exporting button
142
+ // and translate the mapNavigation button if they overlap.
143
+ var adjustMapNavBtn = function () {
144
+ var expBtnBBox = chart.exportingGroup && chart.exportingGroup.getBBox();
145
+ if (expBtnBBox) {
146
+ var navBtnsBBox = mapNav.navButtonsGroup.getBBox();
147
+ // If buttons overlap
148
+ if (isIntersectRect_1(expBtnBBox, navBtnsBBox)) {
149
+ // Adjust the mapNav buttons' position by translating them
150
+ // above or below the exporting button
151
+ var aboveExpBtn = -navBtnsBBox.y - navBtnsBBox.height +
152
+ expBtnBBox.y - 5, belowExpBtn = expBtnBBox.y + expBtnBBox.height -
153
+ navBtnsBBox.y + 5, mapNavVerticalAlign = o.buttonOptions && o.buttonOptions.verticalAlign;
154
+ // If bottom aligned and adjusting the mapNav button would
155
+ // translate it out of the plotBox, translate it up
156
+ // instead of down
157
+ mapNav.navButtonsGroup.attr({
158
+ translateY: mapNavVerticalAlign === 'bottom' ?
159
+ aboveExpBtn :
160
+ belowExpBtn
161
+ });
162
+ }
163
+ }
164
+ };
165
+ if (!chart.hasLoaded) {
166
+ // Align it after the plotBox is known (#12776) and after the
167
+ // hamburger button's position is known so they don't overlap
168
+ // (#15782)
169
+ addEvent(chart, 'render', adjustMapNavBtn);
170
+ }
135
171
  }
136
172
  this.updateEvents(o);
137
173
  };
@@ -229,6 +265,7 @@ extend(Chart.prototype, /** @lends Chart.prototype */ {
229
265
  *
230
266
  * Deprecated as of v9.3 in favor of [MapView.zoomBy](https://api.highcharts.com/class-reference/Highcharts.MapView#zoomBy).
231
267
  *
268
+ * @deprecated
232
269
  * @function Highcharts.Chart#mapZoom
233
270
  *
234
271
  * @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;