@ntlab/ntjs-assets 2.73.0 → 2.74.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 (838) hide show
  1. package/assets/js/cdn.json +1 -1
  2. package/assets/js/exif-js/exif.min.js +1 -8
  3. package/assets/js/highcharts/css/annotations/popup.css +86 -45
  4. package/assets/js/highcharts/css/highcharts.css +40 -30
  5. package/assets/js/highcharts/css/stocktools/gui.css +28 -11
  6. package/assets/js/highcharts/es-modules/Accessibility/Components/InfoRegionsComponent.js +3 -3
  7. package/assets/js/highcharts/es-modules/Accessibility/Components/LegendComponent.js +10 -1
  8. package/assets/js/highcharts/es-modules/Accessibility/Components/MenuComponent.js +23 -22
  9. package/assets/js/highcharts/es-modules/Accessibility/HighContrastMode.js +0 -5
  10. package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +5 -0
  11. package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +19 -11
  12. package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +14 -1
  13. package/assets/js/highcharts/es-modules/Core/Axis/RadialAxis.js +3 -4
  14. package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +1 -1
  15. package/assets/js/highcharts/es-modules/Core/Axis/WaterfallAxis.js +4 -4
  16. package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +31 -25
  17. package/assets/js/highcharts/es-modules/Core/Chart/ChartDefaults.js +13 -0
  18. package/assets/js/highcharts/es-modules/Core/Chart/GanttChart.js +4 -2
  19. package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +1 -1
  20. package/assets/js/highcharts/es-modules/Core/Color/Color.js +4 -8
  21. package/assets/js/highcharts/es-modules/Core/Defaults.js +4 -0
  22. package/assets/js/highcharts/es-modules/Core/Globals.js +1 -1
  23. package/assets/js/highcharts/es-modules/Core/HttpUtilities.js +45 -38
  24. package/assets/js/highcharts/es-modules/Core/Pointer.js +3 -4
  25. package/assets/js/highcharts/es-modules/Core/Renderer/HTML/AST.js +14 -14
  26. package/assets/js/highcharts/es-modules/Core/Renderer/HTML/HTMLElement.js +6 -2
  27. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +4 -1
  28. package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +4 -2
  29. package/assets/js/highcharts/es-modules/Core/Series/Series.js +16 -6
  30. package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +1 -3
  31. package/assets/js/highcharts/es-modules/Core/Templating.js +6 -5
  32. package/assets/js/highcharts/es-modules/Core/Tooltip.js +3 -1
  33. package/assets/js/highcharts/es-modules/Data/Connectors/CSVConnector.js +32 -15
  34. package/assets/js/highcharts/es-modules/Data/Connectors/DataConnector.js +107 -12
  35. package/assets/js/highcharts/es-modules/Data/Connectors/GoogleSheetsConnector.js +29 -17
  36. package/assets/js/highcharts/es-modules/Data/Connectors/HTMLTableConnector.js +3 -3
  37. package/assets/js/highcharts/es-modules/Data/Connectors/JSONConnector.js +37 -16
  38. package/assets/js/highcharts/es-modules/Data/Converters/HTMLTableConverter.js +1 -1
  39. package/assets/js/highcharts/es-modules/Data/DataPool.js +15 -4
  40. package/assets/js/highcharts/es-modules/Extensions/Annotations/Annotation.js +10 -7
  41. package/assets/js/highcharts/es-modules/Extensions/Annotations/AnnotationChart.js +7 -3
  42. package/assets/js/highcharts/es-modules/Extensions/Annotations/AnnotationDefaults.js +38 -12
  43. package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +10 -3
  44. package/assets/js/highcharts/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  45. package/assets/js/highcharts/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -4
  46. package/assets/js/highcharts/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  47. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +0 -3
  48. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/CrookedLine.js +97 -94
  49. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/ElliottWave.js +43 -36
  50. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Fibonacci.js +86 -82
  51. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +74 -71
  52. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/InfinityLine.js +17 -3
  53. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Measure.js +229 -226
  54. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Pitchfork.js +39 -40
  55. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/TimeCycles.js +56 -52
  56. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Tunnel.js +80 -76
  57. package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/VerticalLine.js +57 -53
  58. package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +22 -3
  59. package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +41 -8
  60. package/assets/js/highcharts/es-modules/Extensions/ExportData/ExportData.js +876 -780
  61. package/assets/js/highcharts/es-modules/Extensions/ExportData/ExportDataDefaults.js +67 -13
  62. package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +1091 -546
  63. package/assets/js/highcharts/es-modules/Extensions/Exporting/ExportingDefaults.js +52 -36
  64. package/assets/js/highcharts/es-modules/Extensions/Exporting/Fullscreen.js +2 -2
  65. package/assets/js/highcharts/es-modules/Extensions/NonCartesianSeriesZoom/NonCartesianSeriesZoom.js +311 -0
  66. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +254 -575
  67. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +9 -38
  68. package/assets/js/highcharts/es-modules/Extensions/Pane/Pane.js +1 -1
  69. package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +9 -1
  70. package/assets/js/highcharts/es-modules/Extensions/Themes/Adaptive.js +1009 -0
  71. package/assets/js/highcharts/es-modules/Maps/MapNavigation.js +1 -1
  72. package/assets/js/highcharts/es-modules/Series/Bubble/BubblePoint.js +2 -2
  73. package/assets/js/highcharts/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -2
  74. package/assets/js/highcharts/es-modules/Series/DragNodesComposition.js +4 -0
  75. package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -0
  76. package/assets/js/highcharts/es-modules/Series/GraphLayoutComposition.js +2 -1
  77. package/assets/js/highcharts/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -2
  78. package/assets/js/highcharts/es-modules/Series/Item/ItemSeries.js +1 -1
  79. package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -0
  80. package/assets/js/highcharts/es-modules/Series/Pie/PieSeriesDefaults.js +1 -2
  81. package/assets/js/highcharts/es-modules/Series/PolarComposition.js +1 -1
  82. package/assets/js/highcharts/es-modules/Series/SolidGauge/SolidGaugeSeries.js +7 -2
  83. package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +3 -1
  84. package/assets/js/highcharts/es-modules/Series/Variwide/VariwideSeries.js +8 -1
  85. package/assets/js/highcharts/es-modules/Series/Waterfall/WaterfallSeries.js +6 -8
  86. package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeries.js +87 -10
  87. package/assets/js/highcharts/es-modules/Shared/BaseForm.js +6 -3
  88. package/assets/js/highcharts/es-modules/Shared/TimeBase.js +5 -1
  89. package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorComposition.js +2 -2
  90. package/assets/js/highcharts/es-modules/Stock/Scrollbar/Scrollbar.js +5 -7
  91. package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolbar.js +1 -1
  92. package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsBindings.js +34 -113
  93. package/assets/js/highcharts/es-modules/masters/highcharts-3d.src.js +3 -1
  94. package/assets/js/highcharts/es-modules/masters/highcharts-gantt.src.js +1 -1
  95. package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +1 -1
  96. package/assets/js/highcharts/es-modules/masters/highcharts.src.js +1 -1
  97. package/assets/js/highcharts/es-modules/masters/highmaps.src.js +1 -1
  98. package/assets/js/highcharts/es-modules/masters/highstock.src.js +1 -1
  99. package/assets/js/highcharts/es-modules/masters/i18n/fr-FR.src.js +1 -1
  100. package/assets/js/highcharts/es-modules/masters/i18n/nb-NO.src.js +1 -1
  101. package/assets/js/highcharts/es-modules/masters/i18n/zh-CN.src.js +1 -1
  102. package/assets/js/highcharts/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  103. package/assets/js/highcharts/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  104. package/assets/js/highcharts/es-modules/masters/indicators/ao.src.js +1 -1
  105. package/assets/js/highcharts/es-modules/masters/indicators/apo.src.js +1 -1
  106. package/assets/js/highcharts/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  107. package/assets/js/highcharts/es-modules/masters/indicators/aroon.src.js +1 -1
  108. package/assets/js/highcharts/es-modules/masters/indicators/atr.src.js +1 -1
  109. package/assets/js/highcharts/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  110. package/assets/js/highcharts/es-modules/masters/indicators/cci.src.js +1 -1
  111. package/assets/js/highcharts/es-modules/masters/indicators/chaikin.src.js +1 -1
  112. package/assets/js/highcharts/es-modules/masters/indicators/cmf.src.js +1 -1
  113. package/assets/js/highcharts/es-modules/masters/indicators/cmo.src.js +1 -1
  114. package/assets/js/highcharts/es-modules/masters/indicators/dema.src.js +1 -1
  115. package/assets/js/highcharts/es-modules/masters/indicators/disparity-index.src.js +1 -1
  116. package/assets/js/highcharts/es-modules/masters/indicators/dmi.src.js +1 -1
  117. package/assets/js/highcharts/es-modules/masters/indicators/dpo.src.js +1 -1
  118. package/assets/js/highcharts/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  119. package/assets/js/highcharts/es-modules/masters/indicators/indicators-all.src.js +1 -1
  120. package/assets/js/highcharts/es-modules/masters/indicators/indicators.src.js +1 -1
  121. package/assets/js/highcharts/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  122. package/assets/js/highcharts/es-modules/masters/indicators/klinger.src.js +1 -1
  123. package/assets/js/highcharts/es-modules/masters/indicators/macd.src.js +1 -1
  124. package/assets/js/highcharts/es-modules/masters/indicators/mfi.src.js +1 -1
  125. package/assets/js/highcharts/es-modules/masters/indicators/momentum.src.js +1 -1
  126. package/assets/js/highcharts/es-modules/masters/indicators/natr.src.js +1 -1
  127. package/assets/js/highcharts/es-modules/masters/indicators/obv.src.js +1 -1
  128. package/assets/js/highcharts/es-modules/masters/indicators/pivot-points.src.js +1 -1
  129. package/assets/js/highcharts/es-modules/masters/indicators/ppo.src.js +1 -1
  130. package/assets/js/highcharts/es-modules/masters/indicators/price-channel.src.js +1 -1
  131. package/assets/js/highcharts/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  132. package/assets/js/highcharts/es-modules/masters/indicators/psar.src.js +1 -1
  133. package/assets/js/highcharts/es-modules/masters/indicators/regressions.src.js +1 -1
  134. package/assets/js/highcharts/es-modules/masters/indicators/roc.src.js +1 -1
  135. package/assets/js/highcharts/es-modules/masters/indicators/rsi.src.js +1 -1
  136. package/assets/js/highcharts/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  137. package/assets/js/highcharts/es-modules/masters/indicators/stochastic.src.js +1 -1
  138. package/assets/js/highcharts/es-modules/masters/indicators/supertrend.src.js +1 -1
  139. package/assets/js/highcharts/es-modules/masters/indicators/tema.src.js +1 -1
  140. package/assets/js/highcharts/es-modules/masters/indicators/trendline.src.js +1 -1
  141. package/assets/js/highcharts/es-modules/masters/indicators/trix.src.js +1 -1
  142. package/assets/js/highcharts/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  143. package/assets/js/highcharts/es-modules/masters/indicators/vwap.src.js +1 -1
  144. package/assets/js/highcharts/es-modules/masters/indicators/williams-r.src.js +1 -1
  145. package/assets/js/highcharts/es-modules/masters/indicators/wma.src.js +1 -1
  146. package/assets/js/highcharts/es-modules/masters/indicators/zigzag.src.js +1 -1
  147. package/assets/js/highcharts/es-modules/masters/modules/accessibility.src.js +1 -1
  148. package/assets/js/highcharts/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  149. package/assets/js/highcharts/es-modules/masters/modules/annotations.src.js +1 -1
  150. package/assets/js/highcharts/es-modules/masters/modules/arc-diagram.src.js +1 -1
  151. package/assets/js/highcharts/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  152. package/assets/js/highcharts/es-modules/masters/modules/boost-canvas.src.js +1 -1
  153. package/assets/js/highcharts/es-modules/masters/modules/boost.src.js +1 -1
  154. package/assets/js/highcharts/es-modules/masters/modules/broken-axis.src.js +1 -1
  155. package/assets/js/highcharts/es-modules/masters/modules/bullet.src.js +1 -1
  156. package/assets/js/highcharts/es-modules/masters/modules/coloraxis.src.js +1 -1
  157. package/assets/js/highcharts/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  158. package/assets/js/highcharts/es-modules/masters/modules/cylinder.src.js +1 -1
  159. package/assets/js/highcharts/es-modules/masters/modules/data-tools.src.js +1 -1
  160. package/assets/js/highcharts/es-modules/masters/modules/data.src.js +1 -1
  161. package/assets/js/highcharts/es-modules/masters/modules/datagrouping.src.js +1 -1
  162. package/assets/js/highcharts/es-modules/masters/modules/debugger.src.js +1 -1
  163. package/assets/js/highcharts/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  164. package/assets/js/highcharts/es-modules/masters/modules/dotplot.src.js +1 -1
  165. package/assets/js/highcharts/es-modules/masters/modules/drag-panes.src.js +1 -1
  166. package/assets/js/highcharts/es-modules/masters/modules/draggable-points.src.js +1 -1
  167. package/assets/js/highcharts/es-modules/masters/modules/drilldown.src.js +3 -1
  168. package/assets/js/highcharts/es-modules/masters/modules/dumbbell.src.js +1 -1
  169. package/assets/js/highcharts/es-modules/masters/modules/export-data.src.js +3 -3
  170. package/assets/js/highcharts/es-modules/masters/modules/exporting.src.js +5 -1
  171. package/assets/js/highcharts/es-modules/masters/modules/flowmap.src.js +1 -1
  172. package/assets/js/highcharts/es-modules/masters/modules/full-screen.src.js +1 -1
  173. package/assets/js/highcharts/es-modules/masters/modules/funnel.src.js +1 -1
  174. package/assets/js/highcharts/es-modules/masters/modules/funnel3d.src.js +1 -1
  175. package/assets/js/highcharts/es-modules/masters/modules/gantt.src.js +1 -1
  176. package/assets/js/highcharts/es-modules/masters/modules/geoheatmap.src.js +1 -1
  177. package/assets/js/highcharts/es-modules/masters/modules/grid-axis.src.js +1 -1
  178. package/assets/js/highcharts/es-modules/masters/modules/heatmap.src.js +1 -1
  179. package/assets/js/highcharts/es-modules/masters/modules/heikinashi.src.js +1 -1
  180. package/assets/js/highcharts/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  181. package/assets/js/highcharts/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  182. package/assets/js/highcharts/es-modules/masters/modules/item-series.src.js +1 -1
  183. package/assets/js/highcharts/es-modules/masters/modules/lollipop.src.js +1 -1
  184. package/assets/js/highcharts/es-modules/masters/modules/map.src.js +1 -1
  185. package/assets/js/highcharts/es-modules/masters/modules/marker-clusters.src.js +1 -1
  186. package/assets/js/highcharts/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  187. package/assets/js/highcharts/es-modules/masters/modules/navigator.src.js +1 -1
  188. package/assets/js/highcharts/es-modules/masters/modules/networkgraph.src.js +1 -1
  189. package/assets/js/highcharts/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  190. package/assets/js/highcharts/es-modules/masters/modules/non-cartesian-zoom.src.js +18 -0
  191. package/assets/js/highcharts/es-modules/masters/modules/offline-exporting.src.js +2 -2
  192. package/assets/js/highcharts/es-modules/masters/modules/organization.src.js +1 -1
  193. package/assets/js/highcharts/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  194. package/assets/js/highcharts/es-modules/masters/modules/pareto.src.js +1 -1
  195. package/assets/js/highcharts/es-modules/masters/modules/pathfinder.src.js +1 -1
  196. package/assets/js/highcharts/es-modules/masters/modules/pattern-fill.src.js +1 -1
  197. package/assets/js/highcharts/es-modules/masters/modules/pictorial.src.js +1 -1
  198. package/assets/js/highcharts/es-modules/masters/modules/pointandfigure.src.js +1 -1
  199. package/assets/js/highcharts/es-modules/masters/modules/price-indicator.src.js +1 -1
  200. package/assets/js/highcharts/es-modules/masters/modules/pyramid3d.src.js +1 -1
  201. package/assets/js/highcharts/es-modules/masters/modules/renko.src.js +1 -1
  202. package/assets/js/highcharts/es-modules/masters/modules/sankey.src.js +1 -1
  203. package/assets/js/highcharts/es-modules/masters/modules/series-label.src.js +1 -1
  204. package/assets/js/highcharts/es-modules/masters/modules/series-on-point.src.js +1 -1
  205. package/assets/js/highcharts/es-modules/masters/modules/solid-gauge.src.js +1 -1
  206. package/assets/js/highcharts/es-modules/masters/modules/sonification.src.js +1 -1
  207. package/assets/js/highcharts/es-modules/masters/modules/static-scale.src.js +1 -1
  208. package/assets/js/highcharts/es-modules/masters/modules/stock-tools.src.js +1 -1
  209. package/assets/js/highcharts/es-modules/masters/modules/stock.src.js +1 -1
  210. package/assets/js/highcharts/es-modules/masters/modules/streamgraph.src.js +1 -1
  211. package/assets/js/highcharts/es-modules/masters/modules/sunburst.src.js +1 -1
  212. package/assets/js/highcharts/es-modules/masters/modules/textpath.src.js +1 -1
  213. package/assets/js/highcharts/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  214. package/assets/js/highcharts/es-modules/masters/modules/tilemap.src.js +1 -1
  215. package/assets/js/highcharts/es-modules/masters/modules/timeline.src.js +1 -1
  216. package/assets/js/highcharts/es-modules/masters/modules/treegraph.src.js +1 -1
  217. package/assets/js/highcharts/es-modules/masters/modules/treegrid.src.js +1 -1
  218. package/assets/js/highcharts/es-modules/masters/modules/treemap.src.js +1 -1
  219. package/assets/js/highcharts/es-modules/masters/modules/variable-pie.src.js +1 -1
  220. package/assets/js/highcharts/es-modules/masters/modules/variwide.src.js +1 -1
  221. package/assets/js/highcharts/es-modules/masters/modules/vector.src.js +1 -1
  222. package/assets/js/highcharts/es-modules/masters/modules/venn.src.js +1 -1
  223. package/assets/js/highcharts/es-modules/masters/modules/windbarb.src.js +1 -1
  224. package/assets/js/highcharts/es-modules/masters/modules/wordcloud.src.js +1 -1
  225. package/assets/js/highcharts/es-modules/masters/modules/xrange.src.js +1 -1
  226. package/assets/js/highcharts/es-modules/masters/themes/adaptive.src.js +15 -0
  227. package/assets/js/highcharts/es-modules/masters/themes/avocado.src.js +1 -1
  228. package/assets/js/highcharts/es-modules/masters/themes/brand-dark.src.js +1 -1
  229. package/assets/js/highcharts/es-modules/masters/themes/brand-light.src.js +1 -1
  230. package/assets/js/highcharts/es-modules/masters/themes/dark-blue.src.js +1 -1
  231. package/assets/js/highcharts/es-modules/masters/themes/dark-green.src.js +1 -1
  232. package/assets/js/highcharts/es-modules/masters/themes/dark-unica.src.js +1 -1
  233. package/assets/js/highcharts/es-modules/masters/themes/gray.src.js +1 -1
  234. package/assets/js/highcharts/es-modules/masters/themes/grid-light.src.js +1 -1
  235. package/assets/js/highcharts/es-modules/masters/themes/grid.src.js +1 -1
  236. package/assets/js/highcharts/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  237. package/assets/js/highcharts/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  238. package/assets/js/highcharts/es-modules/masters/themes/sand-signika.src.js +1 -1
  239. package/assets/js/highcharts/es-modules/masters/themes/skies.src.js +1 -1
  240. package/assets/js/highcharts/es-modules/masters/themes/sunset.src.js +1 -1
  241. package/assets/js/highcharts/esm/highcharts-3d.js +11 -1
  242. package/assets/js/highcharts/esm/highcharts-3d.src.js +3 -1
  243. package/assets/js/highcharts/esm/highcharts-gantt.js +8 -1
  244. package/assets/js/highcharts/esm/highcharts-gantt.src.js +1 -1
  245. package/assets/js/highcharts/esm/highcharts-more.js +9 -1
  246. package/assets/js/highcharts/esm/highcharts-more.src.js +44 -29
  247. package/assets/js/highcharts/esm/highcharts.js +9 -2
  248. package/assets/js/highcharts/esm/highcharts.src.js +138 -80
  249. package/assets/js/highcharts/esm/highmaps.js +8 -1
  250. package/assets/js/highcharts/esm/highmaps.src.js +1 -1
  251. package/assets/js/highcharts/esm/highstock.js +8 -1
  252. package/assets/js/highcharts/esm/highstock.src.js +1 -1
  253. package/assets/js/highcharts/esm/i18n/fr-FR.js +13 -1
  254. package/assets/js/highcharts/esm/i18n/fr-FR.src.js +1 -1
  255. package/assets/js/highcharts/esm/i18n/nb-NO.js +13 -1
  256. package/assets/js/highcharts/esm/i18n/nb-NO.src.js +1 -1
  257. package/assets/js/highcharts/esm/i18n/zh-CN.js +13 -1
  258. package/assets/js/highcharts/esm/i18n/zh-CN.src.js +1 -1
  259. package/assets/js/highcharts/esm/indicators/acceleration-bands.js +12 -1
  260. package/assets/js/highcharts/esm/indicators/acceleration-bands.src.js +1 -1
  261. package/assets/js/highcharts/esm/indicators/accumulation-distribution.js +12 -1
  262. package/assets/js/highcharts/esm/indicators/accumulation-distribution.src.js +1 -1
  263. package/assets/js/highcharts/esm/indicators/ao.js +12 -1
  264. package/assets/js/highcharts/esm/indicators/ao.src.js +1 -1
  265. package/assets/js/highcharts/esm/indicators/apo.js +12 -1
  266. package/assets/js/highcharts/esm/indicators/apo.src.js +1 -1
  267. package/assets/js/highcharts/esm/indicators/aroon-oscillator.js +12 -1
  268. package/assets/js/highcharts/esm/indicators/aroon-oscillator.src.js +1 -1
  269. package/assets/js/highcharts/esm/indicators/aroon.js +12 -1
  270. package/assets/js/highcharts/esm/indicators/aroon.src.js +1 -1
  271. package/assets/js/highcharts/esm/indicators/atr.js +12 -1
  272. package/assets/js/highcharts/esm/indicators/atr.src.js +1 -1
  273. package/assets/js/highcharts/esm/indicators/bollinger-bands.js +12 -1
  274. package/assets/js/highcharts/esm/indicators/bollinger-bands.src.js +1 -1
  275. package/assets/js/highcharts/esm/indicators/cci.js +12 -1
  276. package/assets/js/highcharts/esm/indicators/cci.src.js +1 -1
  277. package/assets/js/highcharts/esm/indicators/chaikin.js +12 -1
  278. package/assets/js/highcharts/esm/indicators/chaikin.src.js +1 -1
  279. package/assets/js/highcharts/esm/indicators/cmf.js +11 -1
  280. package/assets/js/highcharts/esm/indicators/cmf.src.js +1 -1
  281. package/assets/js/highcharts/esm/indicators/cmo.js +12 -1
  282. package/assets/js/highcharts/esm/indicators/cmo.src.js +1 -1
  283. package/assets/js/highcharts/esm/indicators/dema.js +12 -1
  284. package/assets/js/highcharts/esm/indicators/dema.src.js +1 -1
  285. package/assets/js/highcharts/esm/indicators/disparity-index.js +12 -1
  286. package/assets/js/highcharts/esm/indicators/disparity-index.src.js +1 -1
  287. package/assets/js/highcharts/esm/indicators/dmi.js +12 -1
  288. package/assets/js/highcharts/esm/indicators/dmi.src.js +1 -1
  289. package/assets/js/highcharts/esm/indicators/dpo.js +12 -1
  290. package/assets/js/highcharts/esm/indicators/dpo.src.js +1 -1
  291. package/assets/js/highcharts/esm/indicators/ichimoku-kinko-hyo.js +12 -1
  292. package/assets/js/highcharts/esm/indicators/ichimoku-kinko-hyo.src.js +1 -1
  293. package/assets/js/highcharts/esm/indicators/indicators-all.js +12 -1
  294. package/assets/js/highcharts/esm/indicators/indicators-all.src.js +1 -1
  295. package/assets/js/highcharts/esm/indicators/indicators.js +12 -1
  296. package/assets/js/highcharts/esm/indicators/indicators.src.js +1 -1
  297. package/assets/js/highcharts/esm/indicators/keltner-channels.js +12 -1
  298. package/assets/js/highcharts/esm/indicators/keltner-channels.src.js +1 -1
  299. package/assets/js/highcharts/esm/indicators/klinger.js +12 -1
  300. package/assets/js/highcharts/esm/indicators/klinger.src.js +1 -1
  301. package/assets/js/highcharts/esm/indicators/macd.js +12 -1
  302. package/assets/js/highcharts/esm/indicators/macd.src.js +1 -1
  303. package/assets/js/highcharts/esm/indicators/mfi.js +12 -1
  304. package/assets/js/highcharts/esm/indicators/mfi.src.js +1 -1
  305. package/assets/js/highcharts/esm/indicators/momentum.js +12 -1
  306. package/assets/js/highcharts/esm/indicators/momentum.src.js +1 -1
  307. package/assets/js/highcharts/esm/indicators/natr.js +12 -1
  308. package/assets/js/highcharts/esm/indicators/natr.src.js +1 -1
  309. package/assets/js/highcharts/esm/indicators/obv.js +12 -1
  310. package/assets/js/highcharts/esm/indicators/obv.src.js +1 -1
  311. package/assets/js/highcharts/esm/indicators/pivot-points.js +12 -1
  312. package/assets/js/highcharts/esm/indicators/pivot-points.src.js +1 -1
  313. package/assets/js/highcharts/esm/indicators/ppo.js +12 -1
  314. package/assets/js/highcharts/esm/indicators/ppo.src.js +1 -1
  315. package/assets/js/highcharts/esm/indicators/price-channel.js +12 -1
  316. package/assets/js/highcharts/esm/indicators/price-channel.src.js +1 -1
  317. package/assets/js/highcharts/esm/indicators/price-envelopes.js +12 -1
  318. package/assets/js/highcharts/esm/indicators/price-envelopes.src.js +1 -1
  319. package/assets/js/highcharts/esm/indicators/psar.js +12 -1
  320. package/assets/js/highcharts/esm/indicators/psar.src.js +1 -1
  321. package/assets/js/highcharts/esm/indicators/regressions.js +12 -1
  322. package/assets/js/highcharts/esm/indicators/regressions.src.js +1 -1
  323. package/assets/js/highcharts/esm/indicators/roc.js +12 -1
  324. package/assets/js/highcharts/esm/indicators/roc.src.js +1 -1
  325. package/assets/js/highcharts/esm/indicators/rsi.js +12 -1
  326. package/assets/js/highcharts/esm/indicators/rsi.src.js +1 -1
  327. package/assets/js/highcharts/esm/indicators/slow-stochastic.js +12 -1
  328. package/assets/js/highcharts/esm/indicators/slow-stochastic.src.js +1 -1
  329. package/assets/js/highcharts/esm/indicators/stochastic.js +12 -1
  330. package/assets/js/highcharts/esm/indicators/stochastic.src.js +1 -1
  331. package/assets/js/highcharts/esm/indicators/supertrend.js +12 -1
  332. package/assets/js/highcharts/esm/indicators/supertrend.src.js +1 -1
  333. package/assets/js/highcharts/esm/indicators/tema.js +12 -1
  334. package/assets/js/highcharts/esm/indicators/tema.src.js +1 -1
  335. package/assets/js/highcharts/esm/indicators/trendline.js +12 -1
  336. package/assets/js/highcharts/esm/indicators/trendline.src.js +1 -1
  337. package/assets/js/highcharts/esm/indicators/trix.js +12 -1
  338. package/assets/js/highcharts/esm/indicators/trix.src.js +1 -1
  339. package/assets/js/highcharts/esm/indicators/volume-by-price.js +12 -1
  340. package/assets/js/highcharts/esm/indicators/volume-by-price.src.js +1 -1
  341. package/assets/js/highcharts/esm/indicators/vwap.js +12 -1
  342. package/assets/js/highcharts/esm/indicators/vwap.src.js +1 -1
  343. package/assets/js/highcharts/esm/indicators/williams-r.js +12 -1
  344. package/assets/js/highcharts/esm/indicators/williams-r.src.js +1 -1
  345. package/assets/js/highcharts/esm/indicators/wma.js +12 -1
  346. package/assets/js/highcharts/esm/indicators/wma.src.js +1 -1
  347. package/assets/js/highcharts/esm/indicators/zigzag.js +12 -1
  348. package/assets/js/highcharts/esm/indicators/zigzag.src.js +1 -1
  349. package/assets/js/highcharts/esm/modules/accessibility.js +12 -1
  350. package/assets/js/highcharts/esm/modules/accessibility.src.js +46 -43
  351. package/assets/js/highcharts/esm/modules/annotations-advanced.js +11 -1
  352. package/assets/js/highcharts/esm/modules/annotations-advanced.src.js +866 -775
  353. package/assets/js/highcharts/esm/modules/annotations.js +11 -1
  354. package/assets/js/highcharts/esm/modules/annotations.src.js +89 -40
  355. package/assets/js/highcharts/esm/modules/arc-diagram.js +11 -1
  356. package/assets/js/highcharts/esm/modules/arc-diagram.src.js +1 -1
  357. package/assets/js/highcharts/esm/modules/arrow-symbols.js +11 -1
  358. package/assets/js/highcharts/esm/modules/arrow-symbols.src.js +1 -1
  359. package/assets/js/highcharts/esm/modules/boost-canvas.js +12 -1
  360. package/assets/js/highcharts/esm/modules/boost-canvas.src.js +23 -4
  361. package/assets/js/highcharts/esm/modules/boost.js +13 -1
  362. package/assets/js/highcharts/esm/modules/boost.src.js +23 -4
  363. package/assets/js/highcharts/esm/modules/broken-axis.js +9 -1
  364. package/assets/js/highcharts/esm/modules/broken-axis.src.js +1 -1
  365. package/assets/js/highcharts/esm/modules/bullet.js +11 -1
  366. package/assets/js/highcharts/esm/modules/bullet.src.js +1 -1
  367. package/assets/js/highcharts/esm/modules/coloraxis.js +11 -1
  368. package/assets/js/highcharts/esm/modules/coloraxis.src.js +1 -1
  369. package/assets/js/highcharts/esm/modules/current-date-indicator.js +11 -1
  370. package/assets/js/highcharts/esm/modules/current-date-indicator.src.js +1 -1
  371. package/assets/js/highcharts/esm/modules/cylinder.js +12 -1
  372. package/assets/js/highcharts/esm/modules/cylinder.src.js +1 -1
  373. package/assets/js/highcharts/esm/modules/data-tools.js +11 -1
  374. package/assets/js/highcharts/esm/modules/data-tools.src.js +225 -69
  375. package/assets/js/highcharts/esm/modules/data.js +11 -1
  376. package/assets/js/highcharts/esm/modules/data.src.js +46 -39
  377. package/assets/js/highcharts/esm/modules/datagrouping.js +11 -1
  378. package/assets/js/highcharts/esm/modules/datagrouping.src.js +1 -1
  379. package/assets/js/highcharts/esm/modules/debugger.js +11 -1
  380. package/assets/js/highcharts/esm/modules/debugger.src.js +1 -1
  381. package/assets/js/highcharts/esm/modules/dependency-wheel.js +12 -1
  382. package/assets/js/highcharts/esm/modules/dependency-wheel.src.js +1 -1
  383. package/assets/js/highcharts/esm/modules/dotplot.js +11 -1
  384. package/assets/js/highcharts/esm/modules/dotplot.src.js +1 -1
  385. package/assets/js/highcharts/esm/modules/drag-panes.js +13 -1
  386. package/assets/js/highcharts/esm/modules/drag-panes.src.js +1 -1
  387. package/assets/js/highcharts/esm/modules/draggable-points.js +9 -1
  388. package/assets/js/highcharts/esm/modules/draggable-points.src.js +1 -1
  389. package/assets/js/highcharts/esm/modules/drilldown.js +13 -1
  390. package/assets/js/highcharts/esm/modules/drilldown.src.js +3 -1
  391. package/assets/js/highcharts/esm/modules/dumbbell.js +9 -1
  392. package/assets/js/highcharts/esm/modules/dumbbell.src.js +1 -1
  393. package/assets/js/highcharts/esm/modules/export-data.js +12 -1
  394. package/assets/js/highcharts/esm/modules/export-data.src.js +984 -798
  395. package/assets/js/highcharts/esm/modules/exporting.js +11 -1
  396. package/assets/js/highcharts/esm/modules/exporting.src.js +1373 -642
  397. package/assets/js/highcharts/esm/modules/flowmap.js +9 -1
  398. package/assets/js/highcharts/esm/modules/flowmap.src.js +1 -1
  399. package/assets/js/highcharts/esm/modules/full-screen.js +12 -1
  400. package/assets/js/highcharts/esm/modules/full-screen.src.js +3 -3
  401. package/assets/js/highcharts/esm/modules/funnel.js +11 -1
  402. package/assets/js/highcharts/esm/modules/funnel.src.js +1 -1
  403. package/assets/js/highcharts/esm/modules/funnel3d.js +13 -1
  404. package/assets/js/highcharts/esm/modules/funnel3d.src.js +1 -1
  405. package/assets/js/highcharts/esm/modules/gantt.js +11 -1
  406. package/assets/js/highcharts/esm/modules/gantt.src.js +33 -25
  407. package/assets/js/highcharts/esm/modules/geoheatmap.js +9 -1
  408. package/assets/js/highcharts/esm/modules/geoheatmap.src.js +1 -1
  409. package/assets/js/highcharts/esm/modules/grid-axis.js +11 -1
  410. package/assets/js/highcharts/esm/modules/grid-axis.src.js +1 -1
  411. package/assets/js/highcharts/esm/modules/heatmap.js +9 -1
  412. package/assets/js/highcharts/esm/modules/heatmap.src.js +2 -3
  413. package/assets/js/highcharts/esm/modules/heikinashi.js +12 -1
  414. package/assets/js/highcharts/esm/modules/heikinashi.src.js +1 -1
  415. package/assets/js/highcharts/esm/modules/histogram-bellcurve.js +10 -1
  416. package/assets/js/highcharts/esm/modules/histogram-bellcurve.src.js +1 -1
  417. package/assets/js/highcharts/esm/modules/hollowcandlestick.js +12 -1
  418. package/assets/js/highcharts/esm/modules/hollowcandlestick.src.js +1 -1
  419. package/assets/js/highcharts/esm/modules/item-series.js +11 -1
  420. package/assets/js/highcharts/esm/modules/item-series.src.js +3 -5
  421. package/assets/js/highcharts/esm/modules/lollipop.js +9 -1
  422. package/assets/js/highcharts/esm/modules/lollipop.src.js +1 -1
  423. package/assets/js/highcharts/esm/modules/map.js +11 -1
  424. package/assets/js/highcharts/esm/modules/map.src.js +5 -6
  425. package/assets/js/highcharts/esm/modules/marker-clusters.js +11 -1
  426. package/assets/js/highcharts/esm/modules/marker-clusters.src.js +1 -1
  427. package/assets/js/highcharts/esm/modules/mouse-wheel-zoom.js +11 -1
  428. package/assets/js/highcharts/esm/modules/mouse-wheel-zoom.src.js +1 -1
  429. package/assets/js/highcharts/esm/modules/navigator.js +11 -1
  430. package/assets/js/highcharts/esm/modules/navigator.src.js +10 -12
  431. package/assets/js/highcharts/esm/modules/networkgraph.js +11 -1
  432. package/assets/js/highcharts/esm/modules/networkgraph.src.js +7 -2
  433. package/assets/js/highcharts/esm/modules/no-data-to-display.js +12 -1
  434. package/assets/js/highcharts/esm/modules/no-data-to-display.src.js +1 -1
  435. package/assets/js/highcharts/esm/modules/non-cartesian-zoom.js +11 -0
  436. package/assets/js/highcharts/esm/modules/non-cartesian-zoom.src.js +374 -0
  437. package/assets/js/highcharts/esm/modules/offline-exporting.js +12 -1
  438. package/assets/js/highcharts/esm/modules/offline-exporting.src.js +334 -3360
  439. package/assets/js/highcharts/esm/modules/organization.js +11 -1
  440. package/assets/js/highcharts/esm/modules/organization.src.js +1 -1
  441. package/assets/js/highcharts/esm/modules/parallel-coordinates.js +11 -1
  442. package/assets/js/highcharts/esm/modules/parallel-coordinates.src.js +1 -1
  443. package/assets/js/highcharts/esm/modules/pareto.js +11 -1
  444. package/assets/js/highcharts/esm/modules/pareto.src.js +1 -1
  445. package/assets/js/highcharts/esm/modules/pathfinder.js +11 -1
  446. package/assets/js/highcharts/esm/modules/pathfinder.src.js +1 -1
  447. package/assets/js/highcharts/esm/modules/pattern-fill.js +12 -1
  448. package/assets/js/highcharts/esm/modules/pattern-fill.src.js +1 -1
  449. package/assets/js/highcharts/esm/modules/pictorial.js +11 -1
  450. package/assets/js/highcharts/esm/modules/pictorial.src.js +1 -1
  451. package/assets/js/highcharts/esm/modules/pointandfigure.js +12 -1
  452. package/assets/js/highcharts/esm/modules/pointandfigure.src.js +1 -1
  453. package/assets/js/highcharts/esm/modules/price-indicator.js +13 -1
  454. package/assets/js/highcharts/esm/modules/price-indicator.src.js +1 -1
  455. package/assets/js/highcharts/esm/modules/pyramid3d.js +14 -1
  456. package/assets/js/highcharts/esm/modules/pyramid3d.src.js +1 -1
  457. package/assets/js/highcharts/esm/modules/renko.js +12 -1
  458. package/assets/js/highcharts/esm/modules/renko.src.js +1 -1
  459. package/assets/js/highcharts/esm/modules/sankey.js +11 -1
  460. package/assets/js/highcharts/esm/modules/sankey.src.js +1 -1
  461. package/assets/js/highcharts/esm/modules/series-label.js +9 -1
  462. package/assets/js/highcharts/esm/modules/series-label.src.js +1 -1
  463. package/assets/js/highcharts/esm/modules/series-on-point.js +12 -1
  464. package/assets/js/highcharts/esm/modules/series-on-point.src.js +1 -1
  465. package/assets/js/highcharts/esm/modules/solid-gauge.js +12 -1
  466. package/assets/js/highcharts/esm/modules/solid-gauge.src.js +8 -3
  467. package/assets/js/highcharts/esm/modules/sonification.js +12 -1
  468. package/assets/js/highcharts/esm/modules/sonification.src.js +42 -9
  469. package/assets/js/highcharts/esm/modules/static-scale.js +11 -1
  470. package/assets/js/highcharts/esm/modules/static-scale.src.js +1 -1
  471. package/assets/js/highcharts/esm/modules/stock-tools.js +13 -1
  472. package/assets/js/highcharts/esm/modules/stock-tools.src.js +37 -116
  473. package/assets/js/highcharts/esm/modules/stock.js +11 -1
  474. package/assets/js/highcharts/esm/modules/stock.src.js +32 -24
  475. package/assets/js/highcharts/esm/modules/streamgraph.js +11 -1
  476. package/assets/js/highcharts/esm/modules/streamgraph.src.js +1 -1
  477. package/assets/js/highcharts/esm/modules/sunburst.js +10 -1
  478. package/assets/js/highcharts/esm/modules/sunburst.src.js +1 -1
  479. package/assets/js/highcharts/esm/modules/textpath.js +9 -1
  480. package/assets/js/highcharts/esm/modules/textpath.src.js +1 -1
  481. package/assets/js/highcharts/esm/modules/tiledwebmap.js +10 -2
  482. package/assets/js/highcharts/esm/modules/tiledwebmap.src.js +1 -1
  483. package/assets/js/highcharts/esm/modules/tilemap.js +12 -1
  484. package/assets/js/highcharts/esm/modules/tilemap.src.js +1 -1
  485. package/assets/js/highcharts/esm/modules/timeline.js +12 -1
  486. package/assets/js/highcharts/esm/modules/timeline.src.js +1 -1
  487. package/assets/js/highcharts/esm/modules/treegraph.js +11 -1
  488. package/assets/js/highcharts/esm/modules/treegraph.src.js +4 -2
  489. package/assets/js/highcharts/esm/modules/treegrid.js +11 -1
  490. package/assets/js/highcharts/esm/modules/treegrid.src.js +1 -1
  491. package/assets/js/highcharts/esm/modules/treemap.js +10 -1
  492. package/assets/js/highcharts/esm/modules/treemap.src.js +1 -1
  493. package/assets/js/highcharts/esm/modules/variable-pie.js +11 -1
  494. package/assets/js/highcharts/esm/modules/variable-pie.src.js +1 -1
  495. package/assets/js/highcharts/esm/modules/variwide.js +11 -1
  496. package/assets/js/highcharts/esm/modules/variwide.src.js +9 -2
  497. package/assets/js/highcharts/esm/modules/vector.js +11 -1
  498. package/assets/js/highcharts/esm/modules/vector.src.js +1 -1
  499. package/assets/js/highcharts/esm/modules/venn.js +10 -1
  500. package/assets/js/highcharts/esm/modules/venn.src.js +1 -1
  501. package/assets/js/highcharts/esm/modules/windbarb.js +11 -1
  502. package/assets/js/highcharts/esm/modules/windbarb.src.js +1 -1
  503. package/assets/js/highcharts/esm/modules/wordcloud.js +10 -1
  504. package/assets/js/highcharts/esm/modules/wordcloud.src.js +88 -11
  505. package/assets/js/highcharts/esm/modules/xrange.js +11 -1
  506. package/assets/js/highcharts/esm/modules/xrange.src.js +1 -1
  507. package/assets/js/highcharts/esm/standalone-navigator.js +9 -2
  508. package/assets/js/highcharts/esm/standalone-navigator.src.js +146 -90
  509. package/assets/js/highcharts/esm/themes/adaptive.js +130 -0
  510. package/assets/js/highcharts/esm/themes/adaptive.src.js +1069 -0
  511. package/assets/js/highcharts/esm/themes/avocado.js +9 -1
  512. package/assets/js/highcharts/esm/themes/avocado.src.js +1 -1
  513. package/assets/js/highcharts/esm/themes/brand-dark.js +9 -1
  514. package/assets/js/highcharts/esm/themes/brand-dark.src.js +1 -1
  515. package/assets/js/highcharts/esm/themes/brand-light.js +9 -1
  516. package/assets/js/highcharts/esm/themes/brand-light.src.js +1 -1
  517. package/assets/js/highcharts/esm/themes/dark-blue.js +9 -1
  518. package/assets/js/highcharts/esm/themes/dark-blue.src.js +1 -1
  519. package/assets/js/highcharts/esm/themes/dark-green.js +9 -1
  520. package/assets/js/highcharts/esm/themes/dark-green.src.js +1 -1
  521. package/assets/js/highcharts/esm/themes/dark-unica.js +9 -1
  522. package/assets/js/highcharts/esm/themes/dark-unica.src.js +1 -1
  523. package/assets/js/highcharts/esm/themes/gray.js +9 -1
  524. package/assets/js/highcharts/esm/themes/gray.src.js +1 -1
  525. package/assets/js/highcharts/esm/themes/grid-light.js +9 -1
  526. package/assets/js/highcharts/esm/themes/grid-light.src.js +1 -1
  527. package/assets/js/highcharts/esm/themes/grid.js +9 -1
  528. package/assets/js/highcharts/esm/themes/grid.src.js +1 -1
  529. package/assets/js/highcharts/esm/themes/high-contrast-dark.js +9 -1
  530. package/assets/js/highcharts/esm/themes/high-contrast-dark.src.js +1 -1
  531. package/assets/js/highcharts/esm/themes/high-contrast-light.js +9 -1
  532. package/assets/js/highcharts/esm/themes/high-contrast-light.src.js +1 -1
  533. package/assets/js/highcharts/esm/themes/sand-signika.js +9 -1
  534. package/assets/js/highcharts/esm/themes/sand-signika.src.js +1 -1
  535. package/assets/js/highcharts/esm/themes/skies.js +9 -1
  536. package/assets/js/highcharts/esm/themes/skies.src.js +1 -1
  537. package/assets/js/highcharts/esm/themes/sunset.js +9 -1
  538. package/assets/js/highcharts/esm/themes/sunset.src.js +1 -1
  539. package/assets/js/highcharts/highcharts-3d.js +11 -1
  540. package/assets/js/highcharts/highcharts-3d.src.js +3 -1
  541. package/assets/js/highcharts/highcharts-gantt.js +16 -2
  542. package/assets/js/highcharts/highcharts-gantt.src.js +173 -107
  543. package/assets/js/highcharts/highcharts-more.js +9 -1
  544. package/assets/js/highcharts/highcharts-more.src.js +44 -29
  545. package/assets/js/highcharts/highcharts.js +9 -2
  546. package/assets/js/highcharts/highcharts.src.js +138 -80
  547. package/assets/js/highcharts/highmaps.js +16 -2
  548. package/assets/js/highcharts/highmaps.src.js +145 -88
  549. package/assets/js/highcharts/highstock.js +16 -2
  550. package/assets/js/highcharts/highstock.src.js +172 -106
  551. package/assets/js/highcharts/i18n/fr-FR.js +13 -1
  552. package/assets/js/highcharts/i18n/fr-FR.src.js +8 -8
  553. package/assets/js/highcharts/i18n/nb-NO.js +13 -1
  554. package/assets/js/highcharts/i18n/nb-NO.src.js +8 -8
  555. package/assets/js/highcharts/i18n/zh-CN.js +13 -1
  556. package/assets/js/highcharts/i18n/zh-CN.src.js +8 -8
  557. package/assets/js/highcharts/indicators/acceleration-bands.js +12 -1
  558. package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
  559. package/assets/js/highcharts/indicators/accumulation-distribution.js +12 -1
  560. package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
  561. package/assets/js/highcharts/indicators/ao.js +12 -1
  562. package/assets/js/highcharts/indicators/ao.src.js +1 -1
  563. package/assets/js/highcharts/indicators/apo.js +12 -1
  564. package/assets/js/highcharts/indicators/apo.src.js +1 -1
  565. package/assets/js/highcharts/indicators/aroon-oscillator.js +12 -1
  566. package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
  567. package/assets/js/highcharts/indicators/aroon.js +12 -1
  568. package/assets/js/highcharts/indicators/aroon.src.js +1 -1
  569. package/assets/js/highcharts/indicators/atr.js +12 -1
  570. package/assets/js/highcharts/indicators/atr.src.js +1 -1
  571. package/assets/js/highcharts/indicators/bollinger-bands.js +12 -1
  572. package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
  573. package/assets/js/highcharts/indicators/cci.js +12 -1
  574. package/assets/js/highcharts/indicators/cci.src.js +1 -1
  575. package/assets/js/highcharts/indicators/chaikin.js +12 -1
  576. package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
  577. package/assets/js/highcharts/indicators/cmf.js +11 -1
  578. package/assets/js/highcharts/indicators/cmf.src.js +1 -1
  579. package/assets/js/highcharts/indicators/cmo.js +12 -1
  580. package/assets/js/highcharts/indicators/cmo.src.js +1 -1
  581. package/assets/js/highcharts/indicators/dema.js +12 -1
  582. package/assets/js/highcharts/indicators/dema.src.js +1 -1
  583. package/assets/js/highcharts/indicators/disparity-index.js +12 -1
  584. package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
  585. package/assets/js/highcharts/indicators/dmi.js +12 -1
  586. package/assets/js/highcharts/indicators/dmi.src.js +1 -1
  587. package/assets/js/highcharts/indicators/dpo.js +12 -1
  588. package/assets/js/highcharts/indicators/dpo.src.js +1 -1
  589. package/assets/js/highcharts/indicators/ema.src.js +3 -3
  590. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +12 -1
  591. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
  592. package/assets/js/highcharts/indicators/indicators-all.js +12 -1
  593. package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
  594. package/assets/js/highcharts/indicators/indicators.js +12 -1
  595. package/assets/js/highcharts/indicators/indicators.src.js +1 -1
  596. package/assets/js/highcharts/indicators/keltner-channels.js +12 -1
  597. package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
  598. package/assets/js/highcharts/indicators/klinger.js +12 -1
  599. package/assets/js/highcharts/indicators/klinger.src.js +1 -1
  600. package/assets/js/highcharts/indicators/macd.js +12 -1
  601. package/assets/js/highcharts/indicators/macd.src.js +1 -1
  602. package/assets/js/highcharts/indicators/mfi.js +12 -1
  603. package/assets/js/highcharts/indicators/mfi.src.js +1 -1
  604. package/assets/js/highcharts/indicators/momentum.js +12 -1
  605. package/assets/js/highcharts/indicators/momentum.src.js +1 -1
  606. package/assets/js/highcharts/indicators/natr.js +12 -1
  607. package/assets/js/highcharts/indicators/natr.src.js +1 -1
  608. package/assets/js/highcharts/indicators/obv.js +12 -1
  609. package/assets/js/highcharts/indicators/obv.src.js +1 -1
  610. package/assets/js/highcharts/indicators/pivot-points.js +12 -1
  611. package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
  612. package/assets/js/highcharts/indicators/ppo.js +12 -1
  613. package/assets/js/highcharts/indicators/ppo.src.js +1 -1
  614. package/assets/js/highcharts/indicators/price-channel.js +12 -1
  615. package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
  616. package/assets/js/highcharts/indicators/price-envelopes.js +12 -1
  617. package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
  618. package/assets/js/highcharts/indicators/psar.js +12 -1
  619. package/assets/js/highcharts/indicators/psar.src.js +1 -1
  620. package/assets/js/highcharts/indicators/regressions.js +12 -1
  621. package/assets/js/highcharts/indicators/regressions.src.js +1 -1
  622. package/assets/js/highcharts/indicators/roc.js +12 -1
  623. package/assets/js/highcharts/indicators/roc.src.js +1 -1
  624. package/assets/js/highcharts/indicators/rsi.js +12 -1
  625. package/assets/js/highcharts/indicators/rsi.src.js +1 -1
  626. package/assets/js/highcharts/indicators/slow-stochastic.js +12 -1
  627. package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
  628. package/assets/js/highcharts/indicators/stochastic.js +12 -1
  629. package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
  630. package/assets/js/highcharts/indicators/supertrend.js +12 -1
  631. package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
  632. package/assets/js/highcharts/indicators/tema.js +12 -1
  633. package/assets/js/highcharts/indicators/tema.src.js +1 -1
  634. package/assets/js/highcharts/indicators/trendline.js +12 -1
  635. package/assets/js/highcharts/indicators/trendline.src.js +1 -1
  636. package/assets/js/highcharts/indicators/trix.js +12 -1
  637. package/assets/js/highcharts/indicators/trix.src.js +1 -1
  638. package/assets/js/highcharts/indicators/volume-by-price.js +12 -1
  639. package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
  640. package/assets/js/highcharts/indicators/vwap.js +12 -1
  641. package/assets/js/highcharts/indicators/vwap.src.js +1 -1
  642. package/assets/js/highcharts/indicators/williams-r.js +12 -1
  643. package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
  644. package/assets/js/highcharts/indicators/wma.js +12 -1
  645. package/assets/js/highcharts/indicators/wma.src.js +1 -1
  646. package/assets/js/highcharts/indicators/zigzag.js +12 -1
  647. package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
  648. package/assets/js/highcharts/modules/accessibility.js +12 -1
  649. package/assets/js/highcharts/modules/accessibility.src.js +46 -43
  650. package/assets/js/highcharts/modules/annotations-advanced.js +21 -1
  651. package/assets/js/highcharts/modules/annotations-advanced.src.js +879 -788
  652. package/assets/js/highcharts/modules/annotations.js +11 -1
  653. package/assets/js/highcharts/modules/annotations.src.js +89 -40
  654. package/assets/js/highcharts/modules/arc-diagram.js +11 -1
  655. package/assets/js/highcharts/modules/arc-diagram.src.js +1 -1
  656. package/assets/js/highcharts/modules/arrow-symbols.js +11 -1
  657. package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
  658. package/assets/js/highcharts/modules/boost-canvas.js +12 -1
  659. package/assets/js/highcharts/modules/boost-canvas.src.js +23 -4
  660. package/assets/js/highcharts/modules/boost.js +13 -1
  661. package/assets/js/highcharts/modules/boost.src.js +23 -4
  662. package/assets/js/highcharts/modules/broken-axis.js +9 -1
  663. package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
  664. package/assets/js/highcharts/modules/bullet.js +11 -1
  665. package/assets/js/highcharts/modules/bullet.src.js +1 -1
  666. package/assets/js/highcharts/modules/coloraxis.js +11 -1
  667. package/assets/js/highcharts/modules/coloraxis.src.js +1 -1
  668. package/assets/js/highcharts/modules/current-date-indicator.js +11 -1
  669. package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
  670. package/assets/js/highcharts/modules/cylinder.js +12 -1
  671. package/assets/js/highcharts/modules/cylinder.src.js +1 -1
  672. package/assets/js/highcharts/modules/data-tools.js +11 -1
  673. package/assets/js/highcharts/modules/data-tools.src.js +225 -69
  674. package/assets/js/highcharts/modules/data.js +11 -1
  675. package/assets/js/highcharts/modules/data.src.js +46 -39
  676. package/assets/js/highcharts/modules/datagrouping.js +11 -1
  677. package/assets/js/highcharts/modules/datagrouping.src.js +1 -1
  678. package/assets/js/highcharts/modules/debugger.js +11 -1
  679. package/assets/js/highcharts/modules/debugger.src.js +1 -1
  680. package/assets/js/highcharts/modules/dependency-wheel.js +12 -1
  681. package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
  682. package/assets/js/highcharts/modules/dotplot.js +11 -1
  683. package/assets/js/highcharts/modules/dotplot.src.js +1 -1
  684. package/assets/js/highcharts/modules/drag-panes.js +13 -1
  685. package/assets/js/highcharts/modules/drag-panes.src.js +1 -1
  686. package/assets/js/highcharts/modules/draggable-points.js +9 -1
  687. package/assets/js/highcharts/modules/draggable-points.src.js +1 -1
  688. package/assets/js/highcharts/modules/drilldown.js +13 -1
  689. package/assets/js/highcharts/modules/drilldown.src.js +3 -1
  690. package/assets/js/highcharts/modules/dumbbell.js +9 -1
  691. package/assets/js/highcharts/modules/dumbbell.src.js +1 -1
  692. package/assets/js/highcharts/modules/export-data.js +12 -1
  693. package/assets/js/highcharts/modules/export-data.src.js +996 -803
  694. package/assets/js/highcharts/modules/exporting.js +11 -1
  695. package/assets/js/highcharts/modules/exporting.src.js +1372 -636
  696. package/assets/js/highcharts/modules/flowmap.js +9 -1
  697. package/assets/js/highcharts/modules/flowmap.src.js +1 -1
  698. package/assets/js/highcharts/modules/full-screen.js +12 -1
  699. package/assets/js/highcharts/modules/full-screen.src.js +3 -3
  700. package/assets/js/highcharts/modules/funnel.js +11 -1
  701. package/assets/js/highcharts/modules/funnel.src.js +1 -1
  702. package/assets/js/highcharts/modules/funnel3d.js +13 -1
  703. package/assets/js/highcharts/modules/funnel3d.src.js +1 -1
  704. package/assets/js/highcharts/modules/gantt.js +31 -1
  705. package/assets/js/highcharts/modules/gantt.src.js +36 -28
  706. package/assets/js/highcharts/modules/geoheatmap.js +9 -1
  707. package/assets/js/highcharts/modules/geoheatmap.src.js +1 -1
  708. package/assets/js/highcharts/modules/grid-axis.js +11 -1
  709. package/assets/js/highcharts/modules/grid-axis.src.js +1 -1
  710. package/assets/js/highcharts/modules/heatmap.js +19 -1
  711. package/assets/js/highcharts/modules/heatmap.src.js +3 -4
  712. package/assets/js/highcharts/modules/heikinashi.js +12 -1
  713. package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
  714. package/assets/js/highcharts/modules/histogram-bellcurve.js +10 -1
  715. package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
  716. package/assets/js/highcharts/modules/hollowcandlestick.js +12 -1
  717. package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
  718. package/assets/js/highcharts/modules/item-series.js +11 -1
  719. package/assets/js/highcharts/modules/item-series.src.js +3 -5
  720. package/assets/js/highcharts/modules/lollipop.js +9 -1
  721. package/assets/js/highcharts/modules/lollipop.src.js +1 -1
  722. package/assets/js/highcharts/modules/map.js +21 -1
  723. package/assets/js/highcharts/modules/map.src.js +6 -7
  724. package/assets/js/highcharts/modules/marker-clusters.js +11 -1
  725. package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
  726. package/assets/js/highcharts/modules/mouse-wheel-zoom.js +11 -1
  727. package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
  728. package/assets/js/highcharts/modules/navigator.js +11 -1
  729. package/assets/js/highcharts/modules/navigator.src.js +10 -12
  730. package/assets/js/highcharts/modules/networkgraph.js +11 -1
  731. package/assets/js/highcharts/modules/networkgraph.src.js +7 -2
  732. package/assets/js/highcharts/modules/no-data-to-display.js +12 -1
  733. package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
  734. package/assets/js/highcharts/modules/non-cartesian-zoom.js +11 -0
  735. package/assets/js/highcharts/modules/non-cartesian-zoom.src.js +427 -0
  736. package/assets/js/highcharts/modules/offline-exporting.js +12 -1
  737. package/assets/js/highcharts/modules/offline-exporting.src.js +353 -3380
  738. package/assets/js/highcharts/modules/organization.js +11 -1
  739. package/assets/js/highcharts/modules/organization.src.js +1 -1
  740. package/assets/js/highcharts/modules/parallel-coordinates.js +11 -1
  741. package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
  742. package/assets/js/highcharts/modules/pareto.js +11 -1
  743. package/assets/js/highcharts/modules/pareto.src.js +1 -1
  744. package/assets/js/highcharts/modules/pathfinder.js +11 -1
  745. package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
  746. package/assets/js/highcharts/modules/pattern-fill.js +12 -1
  747. package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
  748. package/assets/js/highcharts/modules/pictorial.js +11 -1
  749. package/assets/js/highcharts/modules/pictorial.src.js +1 -1
  750. package/assets/js/highcharts/modules/pointandfigure.js +12 -1
  751. package/assets/js/highcharts/modules/pointandfigure.src.js +1 -1
  752. package/assets/js/highcharts/modules/price-indicator.js +13 -1
  753. package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
  754. package/assets/js/highcharts/modules/pyramid3d.js +14 -1
  755. package/assets/js/highcharts/modules/pyramid3d.src.js +1 -1
  756. package/assets/js/highcharts/modules/renko.js +12 -1
  757. package/assets/js/highcharts/modules/renko.src.js +1 -1
  758. package/assets/js/highcharts/modules/sankey.js +11 -1
  759. package/assets/js/highcharts/modules/sankey.src.js +1 -1
  760. package/assets/js/highcharts/modules/series-label.js +9 -1
  761. package/assets/js/highcharts/modules/series-label.src.js +1 -1
  762. package/assets/js/highcharts/modules/series-on-point.js +12 -1
  763. package/assets/js/highcharts/modules/series-on-point.src.js +1 -1
  764. package/assets/js/highcharts/modules/solid-gauge.js +12 -1
  765. package/assets/js/highcharts/modules/solid-gauge.src.js +8 -3
  766. package/assets/js/highcharts/modules/sonification.js +12 -1
  767. package/assets/js/highcharts/modules/sonification.src.js +42 -9
  768. package/assets/js/highcharts/modules/static-scale.js +11 -1
  769. package/assets/js/highcharts/modules/static-scale.src.js +1 -1
  770. package/assets/js/highcharts/modules/stock-tools.js +13 -1
  771. package/assets/js/highcharts/modules/stock-tools.src.js +37 -116
  772. package/assets/js/highcharts/modules/stock.js +29 -1
  773. package/assets/js/highcharts/modules/stock.src.js +35 -27
  774. package/assets/js/highcharts/modules/streamgraph.js +11 -1
  775. package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
  776. package/assets/js/highcharts/modules/sunburst.js +10 -1
  777. package/assets/js/highcharts/modules/sunburst.src.js +1 -1
  778. package/assets/js/highcharts/modules/textpath.js +9 -1
  779. package/assets/js/highcharts/modules/textpath.src.js +1 -1
  780. package/assets/js/highcharts/modules/tiledwebmap.js +10 -2
  781. package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
  782. package/assets/js/highcharts/modules/tilemap.js +12 -1
  783. package/assets/js/highcharts/modules/tilemap.src.js +1 -1
  784. package/assets/js/highcharts/modules/timeline.js +12 -1
  785. package/assets/js/highcharts/modules/timeline.src.js +1 -1
  786. package/assets/js/highcharts/modules/treegraph.js +11 -1
  787. package/assets/js/highcharts/modules/treegraph.src.js +4 -2
  788. package/assets/js/highcharts/modules/treegrid.js +11 -1
  789. package/assets/js/highcharts/modules/treegrid.src.js +1 -1
  790. package/assets/js/highcharts/modules/treemap.js +10 -1
  791. package/assets/js/highcharts/modules/treemap.src.js +1 -1
  792. package/assets/js/highcharts/modules/variable-pie.js +11 -1
  793. package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
  794. package/assets/js/highcharts/modules/variwide.js +11 -1
  795. package/assets/js/highcharts/modules/variwide.src.js +9 -2
  796. package/assets/js/highcharts/modules/vector.js +11 -1
  797. package/assets/js/highcharts/modules/vector.src.js +1 -1
  798. package/assets/js/highcharts/modules/venn.js +10 -1
  799. package/assets/js/highcharts/modules/venn.src.js +1 -1
  800. package/assets/js/highcharts/modules/windbarb.js +11 -1
  801. package/assets/js/highcharts/modules/windbarb.src.js +1 -1
  802. package/assets/js/highcharts/modules/wordcloud.js +10 -1
  803. package/assets/js/highcharts/modules/wordcloud.src.js +88 -11
  804. package/assets/js/highcharts/modules/xrange.js +11 -1
  805. package/assets/js/highcharts/modules/xrange.src.js +1 -1
  806. package/assets/js/highcharts/standalone-navigator.js +9 -2
  807. package/assets/js/highcharts/standalone-navigator.src.js +146 -90
  808. package/assets/js/highcharts/themes/adaptive.js +130 -0
  809. package/assets/js/highcharts/themes/adaptive.src.js +1122 -0
  810. package/assets/js/highcharts/themes/avocado.js +9 -1
  811. package/assets/js/highcharts/themes/avocado.src.js +1 -1
  812. package/assets/js/highcharts/themes/brand-dark.js +9 -1
  813. package/assets/js/highcharts/themes/brand-dark.src.js +1 -1
  814. package/assets/js/highcharts/themes/brand-light.js +9 -1
  815. package/assets/js/highcharts/themes/brand-light.src.js +1 -1
  816. package/assets/js/highcharts/themes/dark-blue.js +9 -1
  817. package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
  818. package/assets/js/highcharts/themes/dark-green.js +9 -1
  819. package/assets/js/highcharts/themes/dark-green.src.js +1 -1
  820. package/assets/js/highcharts/themes/dark-unica.js +9 -1
  821. package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
  822. package/assets/js/highcharts/themes/gray.js +9 -1
  823. package/assets/js/highcharts/themes/gray.src.js +1 -1
  824. package/assets/js/highcharts/themes/grid-light.js +9 -1
  825. package/assets/js/highcharts/themes/grid-light.src.js +1 -1
  826. package/assets/js/highcharts/themes/grid.js +9 -1
  827. package/assets/js/highcharts/themes/grid.src.js +1 -1
  828. package/assets/js/highcharts/themes/high-contrast-dark.js +9 -1
  829. package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
  830. package/assets/js/highcharts/themes/high-contrast-light.js +9 -1
  831. package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
  832. package/assets/js/highcharts/themes/sand-signika.js +9 -1
  833. package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
  834. package/assets/js/highcharts/themes/skies.js +9 -1
  835. package/assets/js/highcharts/themes/skies.src.js +1 -1
  836. package/assets/js/highcharts/themes/sunset.js +9 -1
  837. package/assets/js/highcharts/themes/sunset.src.js +1 -1
  838. package/package.json +1 -1
@@ -13,19 +13,14 @@
13
13
  import AST from '../../Core/Renderer/HTML/AST.js';
14
14
  import Chart from '../../Core/Chart/Chart.js';
15
15
  import D from '../../Core/Defaults.js';
16
- const { defaultOptions } = D;
16
+ const { getOptions, setOptions } = D;
17
17
  import DownloadURL from '../DownloadURL.js';
18
- const { downloadURL } = DownloadURL;
19
- import Exporting from '../Exporting/Exporting.js';
20
- import H from '../../Core/Globals.js';
21
- const { doc, win } = H;
22
- import HU from '../../Core/HttpUtilities.js';
23
- const { ajax } = HU;
18
+ const { downloadURL, getScript } = DownloadURL;
19
+ import G from '../../Core/Globals.js';
20
+ const { composed, doc, win } = G;
24
21
  import OfflineExportingDefaults from './OfflineExportingDefaults.js';
25
22
  import U from '../../Core/Utilities.js';
26
- const { addEvent, error, extend, fireEvent, merge } = U;
27
- AST.allowedAttributes.push('data-z-index', 'fill-opacity', 'filter', 'rx', 'ry', 'stroke-dasharray', 'stroke-linejoin', 'stroke-opacity', 'text-anchor', 'transform', 'version', 'viewBox', 'visibility', 'xmlns', 'xmlns:xlink');
28
- AST.allowedTags.push('desc', 'clippath', 'g');
23
+ const { addEvent, extend, pushUnique } = U;
29
24
  /* *
30
25
  *
31
26
  * Composition
@@ -33,39 +28,72 @@ AST.allowedTags.push('desc', 'clippath', 'g');
33
28
  * */
34
29
  var OfflineExporting;
35
30
  (function (OfflineExporting) {
36
- /* *
37
- *
38
- * Declarations
39
- *
40
- * */
41
- /* *
42
- *
43
- * Constants
44
- *
45
- * */
46
- // Dummy object so we can reuse our canvas-tools.js without errors
47
- OfflineExporting.CanVGRenderer = {}, OfflineExporting.domurl = win.URL || win.webkitURL || win,
48
- // Milliseconds to defer image load event handlers to offset IE bug
49
- OfflineExporting.loadEventDeferDelay = H.isMS ? 150 : 0;
50
31
  /* *
51
32
  *
52
33
  * Functions
53
34
  *
54
35
  * */
55
- /* eslint-disable valid-jsdoc */
56
36
  /**
57
- * Extends OfflineExporting with Chart.
37
+ * Composition function.
38
+ *
58
39
  * @private
40
+ * @function compose
41
+ *
42
+ * @param {ExportingClass} ExportingClass
43
+ * Exporting class.
44
+ *
45
+ * @requires modules/exporting
46
+ * @requires modules/offline-exporting
59
47
  */
60
- function compose(ChartClass) {
61
- const chartProto = ChartClass.prototype;
62
- if (!chartProto.exportChartLocal) {
63
- chartProto.getSVGForLocalExport = getSVGForLocalExport;
64
- chartProto.exportChartLocal = exportChartLocal;
65
- // Extend the default options to use the local exporter logic
66
- merge(true, defaultOptions.exporting, OfflineExportingDefaults);
48
+ function compose(ExportingClass) {
49
+ // Add the downloadSVG event to the Exporting class for local PDF export
50
+ addEvent(ExportingClass, 'downloadSVG', async function (e) {
51
+ const { svg, exportingOptions, exporting, preventDefault } = e;
52
+ // Check if PDF export is requested
53
+ if (exportingOptions?.type === 'application/pdf') {
54
+ // Prevent the default export behavior
55
+ preventDefault?.();
56
+ // Run the PDF local export
57
+ try {
58
+ // Get the final image options
59
+ const { type, filename, scale, libURL } = G.Exporting.prepareImageOptions(exportingOptions);
60
+ // Local PDF download
61
+ if (type === 'application/pdf') {
62
+ // Must load pdf libraries first if not found. Don't
63
+ // destroy the object URL yet since we are doing
64
+ // things asynchronously
65
+ if (!win.jspdf?.jsPDF) {
66
+ // Get jspdf
67
+ await getScript(`${libURL}jspdf.js`);
68
+ // Get svg2pdf
69
+ await getScript(`${libURL}svg2pdf.js`);
70
+ }
71
+ // Call the PDF download if SVG element found
72
+ await downloadPDF(svg, scale, filename, exportingOptions?.pdfFont);
73
+ }
74
+ }
75
+ catch (error) {
76
+ // Try to fallback to the server
77
+ await exporting?.fallbackToServer(exportingOptions, error);
78
+ }
79
+ }
80
+ });
81
+ // Check the composition registry for the OfflineExporting
82
+ if (!pushUnique(composed, 'OfflineExporting')) {
83
+ return;
67
84
  }
68
- return ChartClass;
85
+ // Adding wrappers for the deprecated functions
86
+ extend(Chart.prototype, {
87
+ exportChartLocal: async function (exportingOptions, chartOptions) {
88
+ await this.exporting?.exportChart(exportingOptions, chartOptions);
89
+ return;
90
+ }
91
+ });
92
+ // Update with defaults of the offline exporting module
93
+ setOptions(OfflineExportingDefaults);
94
+ // Additionaly, extend the menuItems with the offline exporting variants
95
+ const menuItems = getOptions().exporting?.buttons?.contextButton?.menuItems;
96
+ menuItems && menuItems.push('downloadPDF');
69
97
  }
70
98
  OfflineExporting.compose = compose;
71
99
  /**
@@ -83,6 +111,7 @@ var OfflineExporting;
83
111
  * Highcharts options pointing to our server.
84
112
  *
85
113
  * @function Highcharts.downloadSVGLocal
114
+ * @deprecated
86
115
  *
87
116
  * @param {string} svg
88
117
  * The generated SVG
@@ -90,586 +119,234 @@ var OfflineExporting;
90
119
  * @param {Highcharts.ExportingOptions} options
91
120
  * The exporting options
92
121
  *
93
- * @param {Function} failCallback
94
- * The callback function in case of errors
95
- *
96
- * @param {Function} [successCallback]
97
- * The callback function in case of success
98
- *
99
122
  */
100
- function downloadSVGLocal(svg, options, failCallback, successCallback) {
101
- const dummySVGContainer = doc.createElement('div'), imageType = options.type || 'image/png', filename = ((options.filename || 'chart') +
102
- '.' +
103
- (imageType === 'image/svg+xml' ?
104
- 'svg' : imageType.split('/')[1])), scale = options.scale || 1;
105
- let svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true, pdfFont = options.pdfFont;
106
- // Allow libURL to end with or without fordward slash
107
- libURL = libURL.slice(-1) !== '/' ? libURL + '/' : libURL;
108
- /*
109
- * Detect if we need to load TTF fonts for the PDF, then load them and
110
- * proceed.
111
- *
112
- * @private
113
- */
114
- const loadPdfFonts = (svgElement, callback) => {
115
- const hasNonASCII = (s) => (
116
- // eslint-disable-next-line no-control-regex
117
- /[^\u0000-\u007F\u200B]+/.test(s));
118
- // Register an event in order to add the font once jsPDF is
119
- // initialized
120
- const addFont = (variant, base64) => {
121
- win.jspdf.jsPDF.API.events.push([
122
- 'initialized',
123
- function () {
124
- this.addFileToVFS(variant, base64);
125
- this.addFont(variant, 'HighchartsFont', variant);
126
- if (!this.getFontList().HighchartsFont) {
127
- this.setFont('HighchartsFont');
128
- }
129
- }
130
- ]);
131
- };
132
- // If there are no non-ASCII characters in the SVG, do not use
133
- // bother downloading the font files
134
- if (pdfFont && !hasNonASCII(svgElement.textContent || '')) {
135
- pdfFont = void 0;
136
- }
137
- // Add new font if the URL is declared, #6417.
138
- const variants = ['normal', 'italic', 'bold', 'bolditalic'];
139
- // Shift the first element off the variants and add as a font.
140
- // Then asynchronously trigger the next variant until calling the
141
- // callback when the variants are empty.
142
- let normalBase64;
143
- const shiftAndLoadVariant = () => {
144
- const variant = variants.shift();
145
- // All variants shifted and possibly loaded, proceed
146
- if (!variant) {
147
- return callback();
148
- }
149
- const url = pdfFont && pdfFont[variant];
150
- if (url) {
151
- ajax({
152
- url,
153
- responseType: 'blob',
154
- success: (data, xhr) => {
155
- const reader = new FileReader();
156
- reader.onloadend = function () {
157
- if (typeof this.result === 'string') {
158
- const base64 = this.result.split(',')[1];
159
- addFont(variant, base64);
160
- if (variant === 'normal') {
161
- normalBase64 = base64;
162
- }
163
- }
164
- shiftAndLoadVariant();
165
- };
166
- reader.readAsDataURL(xhr.response);
167
- },
168
- error: shiftAndLoadVariant
169
- });
170
- }
171
- else {
172
- // For other variants, fall back to normal text weight/style
173
- if (normalBase64) {
174
- addFont(variant, normalBase64);
175
- }
176
- shiftAndLoadVariant();
177
- }
178
- };
179
- shiftAndLoadVariant();
180
- };
181
- /*
182
- * @private
183
- */
184
- const downloadPDF = () => {
185
- AST.setElementHTML(dummySVGContainer, svg);
186
- const textElements = dummySVGContainer.getElementsByTagName('text'),
187
- // Copy style property to element from parents if it's not
188
- // there. Searches up hierarchy until it finds prop, or hits the
189
- // chart container.
190
- setStylePropertyFromParents = function (el, propName) {
191
- let curParent = el;
192
- while (curParent && curParent !== dummySVGContainer) {
193
- if (curParent.style[propName]) {
194
- let value = curParent.style[propName];
195
- if (propName === 'fontSize' && /em$/.test(value)) {
196
- value = Math.round(parseFloat(value) * 16) + 'px';
197
- }
198
- el.style[propName] = value;
199
- break;
200
- }
201
- curParent = curParent.parentNode;
202
- }
203
- };
204
- let titleElements, outlineElements;
205
- // Workaround for the text styling. Making sure it does pick up
206
- // settings for parent elements.
207
- [].forEach.call(textElements, function (el) {
208
- // Workaround for the text styling. making sure it does pick up
209
- // the root element
210
- ['fontFamily', 'fontSize']
211
- .forEach((property) => {
212
- setStylePropertyFromParents(el, property);
213
- });
214
- el.style.fontFamily = pdfFont && pdfFont.normal ?
215
- // Custom PDF font
216
- 'HighchartsFont' :
217
- // Generic font (serif, sans-serif etc)
218
- String(el.style.fontFamily &&
219
- el.style.fontFamily.split(' ').splice(-1));
220
- // Workaround for plotband with width, removing title from text
221
- // nodes
222
- titleElements = el.getElementsByTagName('title');
223
- [].forEach.call(titleElements, function (titleElement) {
224
- el.removeChild(titleElement);
225
- });
226
- // Remove all .highcharts-text-outline elements, #17170
227
- outlineElements =
228
- el.getElementsByClassName('highcharts-text-outline');
229
- while (outlineElements.length > 0) {
230
- const outline = outlineElements[0];
231
- if (outline.parentNode) {
232
- outline.parentNode.removeChild(outline);
233
- }
234
- }
235
- });
236
- const svgNode = dummySVGContainer.querySelector('svg');
237
- if (svgNode) {
238
- loadPdfFonts(svgNode, () => {
239
- svgToPdf(svgNode, 0, scale, (pdfData) => {
240
- try {
241
- downloadURL(pdfData, filename);
242
- if (successCallback) {
243
- successCallback();
244
- }
245
- }
246
- catch (e) {
247
- failCallback(e);
248
- }
249
- });
250
- });
251
- }
252
- };
253
- // Initiate download depending on file type
254
- if (imageType === 'image/svg+xml') {
255
- // SVG download. In this case, we want to use Microsoft specific
256
- // Blob if available
257
- try {
258
- if (typeof win.MSBlobBuilder !== 'undefined') {
259
- blob = new win.MSBlobBuilder();
260
- blob.append(svg);
261
- svgurl = blob.getBlob('image/svg+xml');
262
- }
263
- else {
264
- svgurl = svgToDataUrl(svg);
265
- }
266
- downloadURL(svgurl, filename);
267
- if (successCallback) {
268
- successCallback();
269
- }
270
- }
271
- catch (e) {
272
- failCallback(e);
273
- }
274
- }
275
- else if (imageType === 'application/pdf') {
276
- if (win.jspdf && win.jspdf.jsPDF) {
277
- downloadPDF();
278
- }
279
- else {
280
- // Must load pdf libraries first. // Don't destroy the object
281
- // URL yet since we are doing things asynchronously. A cleaner
282
- // solution would be nice, but this will do for now.
283
- objectURLRevoke = true;
284
- getScript(libURL + 'jspdf.js', function () {
285
- getScript(libURL + 'svg2pdf.js', downloadPDF);
286
- });
287
- }
288
- }
289
- else {
290
- // PNG/JPEG download - create bitmap from SVG
291
- svgurl = svgToDataUrl(svg);
292
- finallyHandler = function () {
293
- try {
294
- OfflineExporting.domurl.revokeObjectURL(svgurl);
295
- }
296
- catch (e) {
297
- // Ignore
298
- }
299
- };
300
- // First, try to get PNG by rendering on canvas
301
- imageToDataUrl(svgurl, imageType, {}, scale, function (imageURL) {
302
- // Success
303
- try {
304
- downloadURL(imageURL, filename);
305
- if (successCallback) {
306
- successCallback();
307
- }
308
- }
309
- catch (e) {
310
- failCallback(e);
311
- }
312
- }, function () {
313
- if (svg.length > 100000000 /* RegexLimits.svgLimit */) {
314
- throw new Error('Input too long');
315
- }
316
- // Failed due to tainted canvas
317
- // Create new and untainted canvas
318
- const canvas = doc.createElement('canvas'), ctx = canvas.getContext('2d'), matchedImageWidth = svg.match(
319
- // eslint-disable-next-line max-len
320
- /^<svg[^>]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/), matchedImageHeight = svg.match(
321
- // eslint-disable-next-line max-len
322
- /^<svg[^>]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);
323
- if (ctx && matchedImageWidth && matchedImageHeight) {
324
- const imageWidth = +matchedImageWidth[1] * scale, imageHeight = +matchedImageHeight[1] * scale, downloadWithCanVG = () => {
325
- const v = win.canvg.Canvg.fromString(ctx, svg);
326
- v.start();
327
- try {
328
- downloadURL(win.navigator.msSaveOrOpenBlob ?
329
- canvas.msToBlob() :
330
- canvas.toDataURL(imageType), filename);
331
- if (successCallback) {
332
- successCallback();
333
- }
334
- }
335
- catch (e) {
336
- failCallback(e);
337
- }
338
- finally {
339
- finallyHandler();
340
- }
341
- };
342
- canvas.width = imageWidth;
343
- canvas.height = imageHeight;
344
- if (win.canvg) {
345
- // Use preloaded canvg
346
- downloadWithCanVG();
347
- }
348
- else {
349
- // Must load canVG first.
350
- // Don't destroy the object URL yet since we are
351
- // doing things asynchronously. A cleaner solution
352
- // would be nice, but this will do for now.
353
- objectURLRevoke = true;
354
- getScript(libURL + 'canvg.js', downloadWithCanVG);
355
- }
356
- }
357
- },
358
- // No canvas support
359
- failCallback,
360
- // Failed to load image
361
- failCallback,
362
- // Finally
363
- function () {
364
- if (objectURLRevoke) {
365
- finallyHandler();
366
- }
367
- });
368
- }
123
+ async function downloadSVGLocal(svg, options) {
124
+ await G.Exporting.prototype.downloadSVG.call(void 0, svg, options);
369
125
  }
370
126
  OfflineExporting.downloadSVGLocal = downloadSVGLocal;
371
- /* eslint-disable valid-jsdoc */
372
127
  /**
373
- * Exporting and offline-exporting modules required. Export a chart to
374
- * an image locally in the user's browser.
375
- *
376
- * @function Highcharts.Chart#exportChartLocal
128
+ * Converts an SVG string into a PDF file and triggers its download. This
129
+ * function processes the SVG, applies necessary font adjustments, converts
130
+ * it to a PDF, and initiates the file download.
377
131
  *
378
- * @param {Highcharts.ExportingOptions} [exportingOptions]
379
- * Exporting options, the same as in
380
- * {@link Highcharts.Chart#exportChart}.
132
+ * @private
133
+ * @async
134
+ * @function downloadPDF
381
135
  *
382
- * @param {Highcharts.Options} [chartOptions]
383
- * Additional chart options for the exported chart. For example
384
- * a different background color can be added here, or
385
- * `dataLabels` for export only.
136
+ * @param {string} svg
137
+ * A string representation of the SVG markup to be converted into a PDF.
138
+ * @param {number} scale
139
+ * The scaling factor for the PDF output.
140
+ * @param {string} filename
141
+ * The name of the downloaded PDF file.
142
+ * @param {Highcharts.PdfFontOptions} [pdfFont]
143
+ * An optional object specifying URLs for different font variants (normal,
144
+ * bold, italic, bolditalic).
386
145
  *
146
+ * @return {Promise<void>}
147
+ * A promise that resolves when the PDF has been successfully generated and
148
+ * downloaded.
387
149
  *
388
150
  * @requires modules/exporting
389
151
  * @requires modules/offline-exporting
390
152
  */
391
- function exportChartLocal(exportingOptions, chartOptions) {
392
- const chart = this, options = merge(chart.options.exporting, exportingOptions), fallbackToExportServer = function (err) {
393
- if (options.fallbackToExportServer === false) {
394
- if (options.error) {
395
- options.error(options, err);
396
- }
397
- else {
398
- error(28, true); // Fallback disabled
399
- }
400
- }
401
- else {
402
- chart.exportChart(options);
403
- }
404
- }, svgSuccess = function (svg) {
405
- // If SVG contains foreignObjects PDF fails in all browsers
406
- // and all exports except SVG will fail in IE, as both CanVG
407
- // and svg2pdf choke on this. Gracefully fall back.
408
- if (svg.indexOf('<foreignObject') > -1 &&
409
- options.type !== 'image/svg+xml' &&
410
- (H.isMS || options.type === 'application/pdf')) {
411
- fallbackToExportServer(new Error('Image type not supported for charts with embedded HTML'));
412
- }
413
- else {
414
- OfflineExporting.downloadSVGLocal(svg, extend({ filename: chart.getFilename() }, options), fallbackToExportServer, () => fireEvent(chart, 'exportChartLocalSuccess'));
415
- }
416
- },
417
- // Return true if the SVG contains images with external data. With
418
- // the boost module there are `image` elements with encoded PNGs,
419
- // these are supported by svg2pdf and should pass (#10243).
420
- hasExternalImages = function () {
421
- return [].some.call(chart.container.getElementsByTagName('image'), function (image) {
422
- const href = image.getAttribute('href');
423
- return (href !== '' &&
424
- typeof href === 'string' &&
425
- href.indexOf('data:') !== 0);
426
- });
427
- };
428
- // If we are on IE and in styled mode, add an allowlist to the renderer
429
- // for inline styles that we want to pass through. There are so many
430
- // styles by default in IE that we don't want to denylist them all.
431
- if (H.isMS && chart.styledMode && !Exporting.inlineAllowlist.length) {
432
- Exporting.inlineAllowlist.push(/^blockSize/, /^border/, /^caretColor/, /^color/, /^columnRule/, /^columnRuleColor/, /^cssFloat/, /^cursor/, /^fill$/, /^fillOpacity/, /^font/, /^inlineSize/, /^length/, /^lineHeight/, /^opacity/, /^outline/, /^parentRule/, /^rx$/, /^ry$/, /^stroke/, /^textAlign/, /^textAnchor/, /^textDecoration/, /^transform/, /^vectorEffect/, /^visibility/, /^x$/, /^y$/);
433
- }
434
- // Always fall back on:
435
- // - MS browsers: Embedded images JPEG/PNG, or any PDF
436
- // - Embedded images and PDF
437
- if ((H.isMS &&
438
- (options.type === 'application/pdf' ||
439
- chart.container.getElementsByTagName('image').length &&
440
- options.type !== 'image/svg+xml')) || (options.type === 'application/pdf' &&
441
- hasExternalImages())) {
442
- fallbackToExportServer(new Error('Image type not supported for this chart/browser.'));
443
- return;
153
+ async function downloadPDF(svg, scale, filename, pdfFont) {
154
+ const svgNode = preparePDF(svg, pdfFont);
155
+ if (svgNode) {
156
+ // Loads all required fonts
157
+ await loadPdfFonts(svgNode, pdfFont);
158
+ // Transform SVG to PDF
159
+ const pdfData = await svgToPdf(svgNode, 0, scale);
160
+ // Download the PDF
161
+ downloadURL(pdfData, filename);
444
162
  }
445
- chart.getSVGForLocalExport(options, chartOptions || {}, fallbackToExportServer, svgSuccess);
446
163
  }
447
164
  /**
448
- * Downloads a script and executes a callback when done.
165
+ * Loads and registers custom fonts for PDF export if non-ASCII characters
166
+ * are detected in the given SVG element. This function ensures that text
167
+ * content with special characters is properly rendered in the exported PDF.
449
168
  *
450
- * @private
451
- * @function getScript
452
- * @param {string} scriptLocation
453
- * @param {Function} callback
454
- */
455
- function getScript(scriptLocation, callback) {
456
- const head = doc.getElementsByTagName('head')[0], script = doc.createElement('script');
457
- script.type = 'text/javascript';
458
- script.src = scriptLocation;
459
- script.onload = callback;
460
- script.onerror = function () {
461
- error('Error loading script ' + scriptLocation);
462
- };
463
- head.appendChild(script);
464
- }
465
- OfflineExporting.getScript = getScript;
466
- /**
467
- * Get SVG of chart prepared for client side export. This converts
468
- * embedded images in the SVG to data URIs. It requires the regular
469
- * exporting module. The options and chartOptions arguments are passed
470
- * to the getSVGForExport function.
169
+ * It fetches font files (if provided in `pdfFont`), converts them to
170
+ * base64, and registers them with jsPDF.
471
171
  *
472
172
  * @private
473
- * @function Highcharts.Chart#getSVGForLocalExport
474
- * @param {Highcharts.ExportingOptions} options
475
- * @param {Highcharts.Options} chartOptions
476
- * @param {Function} failCallback
477
- * @param {Function} successCallback
173
+ * @function loadPdfFonts
174
+ *
175
+ * @param {SVGElement} svgElement
176
+ * The generated SVG element containing the text content to be exported.
177
+ * @param {Highcharts.PdfFontOptions} [pdfFont]
178
+ * An optional object specifying URLs for different font variants (normal,
179
+ * bold, italic, bolditalic). If non-ASCII characters are not detected,
180
+ * fonts are not loaded.
181
+ *
182
+ * @requires modules/exporting
183
+ * @requires modules/offline-exporting
478
184
  */
479
- function getSVGForLocalExport(options, chartOptions, failCallback, successCallback) {
480
- const chart = this,
481
- // After grabbing the SVG of the chart's copy container we need
482
- // to do sanitation on the SVG
483
- sanitize = (svg) => chart.sanitizeSVG(svg, chartCopyOptions),
484
- // When done with last image we have our SVG
485
- checkDone = () => {
486
- if (images && imagesEmbedded === imagesLength) {
487
- successCallback(sanitize(chartCopyContainer.innerHTML));
488
- }
489
- },
490
- // Success handler, we converted image to base64!
491
- embeddedSuccess = (imageURL, imageType, callbackArgs) => {
492
- ++imagesEmbedded;
493
- // Change image href in chart copy
494
- callbackArgs.imageElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', imageURL);
495
- checkDone();
185
+ async function loadPdfFonts(svgElement, pdfFont) {
186
+ const hasNonASCII = (s) => (
187
+ // eslint-disable-next-line no-control-regex
188
+ /[^\u0000-\u007F\u200B]+/.test(s));
189
+ // Register an event in order to add the font once jsPDF is initialized
190
+ const addFont = (variant, base64) => {
191
+ win.jspdf.jsPDF.API.events.push([
192
+ 'initialized',
193
+ function () {
194
+ this.addFileToVFS(variant, base64);
195
+ this.addFont(variant, 'HighchartsFont', variant);
196
+ if (!this.getFontList()?.HighchartsFont) {
197
+ this.setFont('HighchartsFont');
198
+ }
199
+ }
200
+ ]);
496
201
  };
497
- let el, chartCopyContainer, chartCopyOptions, href = null, images, imagesLength = 0, imagesEmbedded = 0;
498
- // Hook into getSVG to get a copy of the chart copy's
499
- // container (#8273)
500
- chart.unbindGetSVG = addEvent(chart, 'getSVG', (e) => {
501
- chartCopyOptions = e.chartCopy.options;
502
- chartCopyContainer = e.chartCopy.container.cloneNode(true);
503
- images = chartCopyContainer && chartCopyContainer
504
- .getElementsByTagName('image') || [];
505
- imagesLength = images.length;
506
- });
507
- // Trigger hook to get chart copy
508
- chart.getSVGForExport(options, chartOptions);
509
- try {
510
- // If there are no images to embed, the SVG is okay now.
511
- if (!images || !images.length) {
512
- // Use SVG of chart copy
513
- successCallback(sanitize(chartCopyContainer.innerHTML));
514
- return;
515
- }
516
- // Go through the images we want to embed
517
- for (let i = 0; i < images.length; i++) {
518
- el = images[i];
519
- href = el.getAttributeNS('http://www.w3.org/1999/xlink', 'href');
520
- if (href) {
521
- OfflineExporting.imageToDataUrl(href, 'image/png', { imageElement: el }, options.scale, embeddedSuccess,
522
- // Tainted canvas
523
- failCallback,
524
- // No canvas support
525
- failCallback,
526
- // Failed to load source
527
- failCallback);
528
- // Hidden, boosted series have blank href (#10243)
202
+ // If there are no non-ASCII characters in the SVG, do not use bother
203
+ // downloading the font files
204
+ if (pdfFont && !hasNonASCII(svgElement.textContent || '')) {
205
+ pdfFont = void 0;
206
+ }
207
+ // Add new font if the URL is declared, #6417
208
+ const variants = ['normal', 'italic', 'bold', 'bolditalic'];
209
+ // Shift the first element off the variants and add as a font.
210
+ // Then asynchronously trigger the next variant until variants are empty
211
+ let normalBase64;
212
+ for (const variant of variants) {
213
+ const url = pdfFont?.[variant];
214
+ if (url) {
215
+ try {
216
+ const response = await win.fetch(url);
217
+ if (!response.ok) {
218
+ throw new Error(`Failed to fetch font: ${url}`);
219
+ }
220
+ const blob = await response.blob(), reader = new FileReader();
221
+ const base64 = await new Promise((resolve, reject) => {
222
+ reader.onloadend = () => {
223
+ if (typeof reader.result === 'string') {
224
+ resolve(reader.result.split(',')[1]);
225
+ }
226
+ else {
227
+ reject(new Error('Failed to read font as base64'));
228
+ }
229
+ };
230
+ reader.onerror = reject;
231
+ reader.readAsDataURL(blob);
232
+ });
233
+ addFont(variant, base64);
234
+ if (variant === 'normal') {
235
+ normalBase64 = base64;
236
+ }
237
+ }
238
+ catch (e) {
239
+ // If fetch or reading fails, fallback to next variant
529
240
  }
530
- else {
531
- imagesEmbedded++;
532
- el.parentNode.removeChild(el);
533
- i--;
534
- checkDone();
241
+ }
242
+ else {
243
+ // For other variants, fall back to normal text weight/style
244
+ if (normalBase64) {
245
+ addFont(variant, normalBase64);
535
246
  }
536
247
  }
537
248
  }
538
- catch (e) {
539
- failCallback(e);
540
- }
541
- // Clean up
542
- chart.unbindGetSVG();
543
249
  }
544
250
  /**
545
- * Get data:URL from image URL. Pass in callbacks to handle results.
251
+ * Prepares an SVG for PDF export by ensuring proper text styling and
252
+ * removing unnecessary elements. This function extracts an SVG element from
253
+ * a given SVG string, applies font styles inherited from parent elements,
254
+ * and removes text outlines and title elements to improve PDF rendering.
546
255
  *
547
256
  * @private
548
- * @function Highcharts.imageToDataUrl
549
- *
550
- * @param {string} imageURL
551
- *
552
- * @param {string} imageType
553
- *
554
- * @param {*} callbackArgs
555
- * callbackArgs is used only by callbacks.
556
- *
557
- * @param {number} scale
558
- *
559
- * @param {Function} successCallback
560
- * Receives four arguments: imageURL, imageType, callbackArgs,
561
- * and scale.
257
+ * @function preparePDF
562
258
  *
563
- * @param {Function} taintedCallback
564
- * Receives four arguments: imageURL, imageType, callbackArgs,
565
- * and scale.
566
- *
567
- * @param {Function} noCanvasSupportCallback
568
- * Receives four arguments: imageURL, imageType, callbackArgs,
569
- * and scale.
259
+ * @param {string} svg
260
+ * A string representation of the SVG markup.
261
+ * @param {Highcharts.PdfFontOptions} [pdfFont]
262
+ * An optional object specifying URLs for different font variants (normal,
263
+ * bold, italic, bolditalic). If provided, the text elements are assigned a
264
+ * custom PDF font.
570
265
  *
571
- * @param {Function} failedLoadCallback
572
- * Receives four arguments: imageURL, imageType, callbackArgs,
573
- * and scale.
266
+ * @return {SVGSVGElement | null}
267
+ * Returns the parsed SVG element from the container or `null` if the SVG is
268
+ * not found.
574
269
  *
575
- * @param {Function} [finallyCallback]
576
- * finallyCallback is always called at the end of the process. All
577
- * callbacks receive four arguments: imageURL, imageType,
578
- * callbackArgs, and scale.
270
+ * @requires modules/exporting
271
+ * @requires modules/offline-exporting
579
272
  */
580
- function imageToDataUrl(imageURL, imageType, callbackArgs, scale, successCallback, taintedCallback, noCanvasSupportCallback, failedLoadCallback, finallyCallback) {
581
- let img = new win.Image(), taintedHandler;
582
- const loadHandler = () => {
583
- setTimeout(function () {
584
- const canvas = doc.createElement('canvas'), ctx = canvas.getContext && canvas.getContext('2d');
585
- let dataURL;
586
- try {
587
- if (!ctx) {
588
- noCanvasSupportCallback(imageURL, imageType, callbackArgs, scale);
589
- }
590
- else {
591
- canvas.height = img.height * scale;
592
- canvas.width = img.width * scale;
593
- ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
594
- // Now we try to get the contents of the canvas.
595
- try {
596
- dataURL = canvas.toDataURL(imageType);
597
- successCallback(dataURL, imageType, callbackArgs, scale);
598
- }
599
- catch (e) {
600
- taintedHandler(imageURL, imageType, callbackArgs, scale);
601
- }
602
- }
603
- }
604
- finally {
605
- if (finallyCallback) {
606
- finallyCallback(imageURL, imageType, callbackArgs, scale);
273
+ function preparePDF(svg, pdfFont) {
274
+ const dummySVGContainer = doc.createElement('div');
275
+ AST.setElementHTML(dummySVGContainer, svg);
276
+ const textElements = dummySVGContainer.getElementsByTagName('text'),
277
+ // Copy style property to element from parents if it's not there.
278
+ // Searches up hierarchy until it finds prop, or hits the chart
279
+ // container
280
+ setStylePropertyFromParents = function (el, propName) {
281
+ let curParent = el;
282
+ while (curParent && curParent !== dummySVGContainer) {
283
+ if (curParent.style[propName]) {
284
+ let value = curParent.style[propName];
285
+ if (propName === 'fontSize' && /em$/.test(value)) {
286
+ value = Math.round(parseFloat(value) * 16) + 'px';
607
287
  }
288
+ el.style[propName] = value;
289
+ break;
608
290
  }
609
- // IE bug where image is not always ready despite calling load
610
- // event.
611
- }, OfflineExporting.loadEventDeferDelay);
612
- },
613
- // Image load failed (e.g. invalid URL)
614
- errorHandler = () => {
615
- failedLoadCallback(imageURL, imageType, callbackArgs, scale);
616
- if (finallyCallback) {
617
- finallyCallback(imageURL, imageType, callbackArgs, scale);
291
+ curParent = curParent.parentNode;
618
292
  }
619
293
  };
620
- // This is called on load if the image drawing to canvas failed with a
621
- // security error. We retry the drawing with crossOrigin set to
622
- // Anonymous.
623
- taintedHandler = () => {
624
- img = new win.Image();
625
- taintedHandler = taintedCallback;
626
- // Must be set prior to loading image source
627
- img.crossOrigin = 'Anonymous';
628
- img.onload = loadHandler;
629
- img.onerror = errorHandler;
630
- img.src = imageURL;
631
- };
632
- img.onload = loadHandler;
633
- img.onerror = errorHandler;
634
- img.src = imageURL;
635
- }
636
- OfflineExporting.imageToDataUrl = imageToDataUrl;
637
- /**
638
- * Get blob URL from SVG code. Falls back to normal data URI.
639
- *
640
- * @private
641
- * @function Highcharts.svgToDataURL
642
- */
643
- function svgToDataUrl(svg) {
644
- // Webkit and not chrome
645
- const userAgent = win.navigator.userAgent;
646
- const webKit = (userAgent.indexOf('WebKit') > -1 &&
647
- userAgent.indexOf('Chrome') < 0);
648
- try {
649
- // Safari requires data URI since it doesn't allow navigation to
650
- // blob URLs. ForeignObjects also don't work well in Blobs in Chrome
651
- // (#14780).
652
- if (!webKit && svg.indexOf('<foreignObject') === -1) {
653
- return OfflineExporting.domurl.createObjectURL(new win.Blob([svg], {
654
- type: 'image/svg+xml;charset-utf-16'
655
- }));
294
+ let titleElements, outlineElements;
295
+ // Workaround for the text styling. Making sure it does pick up
296
+ // settings for parent elements.
297
+ [].forEach.call(textElements, function (el) {
298
+ // Workaround for the text styling. making sure it does pick up
299
+ // the root element
300
+ ['fontFamily', 'fontSize']
301
+ .forEach((property) => {
302
+ setStylePropertyFromParents(el, property);
303
+ });
304
+ el.style.fontFamily = pdfFont?.normal ?
305
+ // Custom PDF font
306
+ 'HighchartsFont' :
307
+ // Generic font (serif, sans-serif etc)
308
+ String(el.style.fontFamily &&
309
+ el.style.fontFamily.split(' ').splice(-1));
310
+ // Workaround for plotband with width, removing title from text
311
+ // nodes
312
+ titleElements = el.getElementsByTagName('title');
313
+ [].forEach.call(titleElements, function (titleElement) {
314
+ el.removeChild(titleElement);
315
+ });
316
+ // Remove all .highcharts-text-outline elements, #17170
317
+ outlineElements =
318
+ el.getElementsByClassName('highcharts-text-outline');
319
+ while (outlineElements.length > 0) {
320
+ const outline = outlineElements[0];
321
+ if (outline.parentNode) {
322
+ outline.parentNode.removeChild(outline);
323
+ }
656
324
  }
657
- }
658
- catch (e) {
659
- // Ignore
660
- }
661
- return 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(svg);
325
+ });
326
+ return dummySVGContainer.querySelector('svg');
662
327
  }
663
- OfflineExporting.svgToDataUrl = svgToDataUrl;
664
- /* eslint-disable valid-jsdoc */
665
328
  /**
329
+ * Transform from PDF to SVG.
330
+ *
331
+ * @async
666
332
  * @private
333
+ * @function svgToPdf
334
+ *
335
+ * @param {Highcharts.SVGElement} svgElement
336
+ * The SVG element to convert.
337
+ * @param {number} margin
338
+ * The margin to apply.
339
+ * @param {number} scale
340
+ * The scale of the SVG.
341
+ *
342
+ * @requires modules/exporting
343
+ * @requires modules/offline-exporting
667
344
  */
668
- function svgToPdf(svgElement, margin, scale, callback) {
345
+ async function svgToPdf(svgElement, margin, scale) {
669
346
  const width = (Number(svgElement.getAttribute('width')) + 2 * margin) *
670
347
  scale, height = (Number(svgElement.getAttribute('height')) + 2 * margin) *
671
348
  scale, pdfDoc = new win.jspdf.jsPDF(// eslint-disable-line new-cap
672
- // setting orientation to portrait if height exceeds width
349
+ // Setting orientation to portrait if height exceeds width
673
350
  height > width ? 'p' : 'l', 'pt', [width, height]);
674
351
  // Workaround for #7090, hidden elements were drawn anyway. It comes
675
352
  // down to https://github.com/yWorks/svg2pdf.js/issues/28. Check this
@@ -700,19 +377,21 @@ var OfflineExporting;
700
377
  tspan.setAttribute('dx', -5);
701
378
  }
702
379
  });
703
- pdfDoc.svg(svgElement, {
380
+ // Transform from PDF to SVG
381
+ await pdfDoc.svg(svgElement, {
704
382
  x: 0,
705
383
  y: 0,
706
384
  width,
707
385
  height,
708
386
  removeInvalid: true
709
- }).then(() => callback(pdfDoc.output('datauristring')));
387
+ });
388
+ // Return the output
389
+ return pdfDoc.output('datauristring');
710
390
  }
711
- OfflineExporting.svgToPdf = svgToPdf;
712
391
  })(OfflineExporting || (OfflineExporting = {}));
713
392
  /* *
714
393
  *
715
- * Default Export
394
+ * Default Export
716
395
  *
717
396
  * */
718
397
  export default OfflineExporting;