highcharts 10.2.0 → 10.2.1

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 (763) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/Accessibility.js +6 -0
  7. package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
  9. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  10. package/es-modules/Core/Axis/Axis.js +3 -0
  11. package/es-modules/Core/Axis/Axis3D.js +1 -1
  12. package/es-modules/Core/Axis/AxisDefaults.js +1 -1
  13. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
  15. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  16. package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
  17. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  19. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  22. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  23. package/es-modules/Core/Axis/ZAxis.js +73 -70
  24. package/es-modules/Core/Chart/Chart.js +16 -2
  25. package/es-modules/Core/Chart/Chart3D.js +2 -2
  26. package/es-modules/Core/Chart/ChartDefaults.js +151 -2
  27. package/es-modules/Core/Chart/StockChart.js +5 -3
  28. package/es-modules/Core/DefaultOptions.js +2 -1
  29. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  30. package/es-modules/Core/Globals.js +2 -1
  31. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  32. package/es-modules/Core/Navigator.js +24 -7
  33. package/es-modules/Core/Pointer.js +7 -9
  34. package/es-modules/Core/Renderer/HTML/AST.js +4 -1
  35. package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
  36. package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
  37. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  40. package/es-modules/Core/Scrollbar.js +3 -1
  41. package/es-modules/Core/Series/DataLabel.js +8 -6
  42. package/es-modules/Core/Series/Point.js +2 -2
  43. package/es-modules/Core/Series/Series.js +36 -31
  44. package/es-modules/Core/Series/Series3D.js +1 -1
  45. package/es-modules/Core/Series/SeriesDefaults.js +8 -3
  46. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  47. package/es-modules/Core/Tooltip.js +14 -3
  48. package/es-modules/Core/Utilities.js +1 -3
  49. package/es-modules/Data/DataConverter.js +5 -0
  50. package/es-modules/Data/DataPromise.js +1 -1
  51. package/es-modules/Data/DataSeriesComposition.js +288 -0
  52. package/es-modules/Data/DataSeriesConverter.js +1 -1
  53. package/es-modules/Data/DataTable.js +2 -2
  54. package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
  55. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  56. package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
  57. package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
  58. package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
  59. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
  60. package/es-modules/Data/Modifiers/SortModifier.js +1 -1
  61. package/es-modules/Data/Parsers/DataParser.js +1 -1
  62. package/es-modules/Data/Stores/DataStore.js +1 -1
  63. package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
  64. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  65. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  66. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  67. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  68. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  69. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  70. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
  71. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  72. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  73. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  74. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  75. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  76. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
  78. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  79. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  80. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  81. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  82. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  83. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  84. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  85. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
  86. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
  87. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
  88. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
  89. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
  90. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
  91. package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
  92. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
  93. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
  94. package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
  95. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
  96. package/es-modules/Extensions/Boost/Boost.js +320 -15
  97. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  98. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  99. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  100. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  101. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  102. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  103. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  104. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  105. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  106. package/es-modules/Extensions/BoostCanvas.js +62 -46
  107. package/es-modules/Extensions/Breadcrumbs.js +4 -0
  108. package/es-modules/Extensions/DataGrouping.js +65 -27
  109. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  110. package/es-modules/Extensions/DraggablePoints.js +4 -3
  111. package/es-modules/Extensions/Drilldown.js +7 -8
  112. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
  113. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  114. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  115. package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
  116. package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
  117. package/es-modules/Extensions/MarkerClusters.js +2 -0
  118. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  119. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  120. package/es-modules/Extensions/ParallelCoordinates.js +11 -7
  121. package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
  122. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  123. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  124. package/es-modules/Maps/MapPointer.js +1 -1
  125. package/es-modules/Maps/MapView.js +2 -1
  126. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  127. package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
  128. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  129. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  130. package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
  131. package/es-modules/Series/Column/ColumnSeries.js +2 -0
  132. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  133. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
  134. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  135. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
  136. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
  137. package/es-modules/Series/DragNodesComposition.js +166 -0
  138. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
  139. package/es-modules/Series/Gantt/GanttSeries.js +1 -1
  140. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  141. package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
  142. package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
  143. package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
  144. package/es-modules/Series/Map/MapSeries.js +6 -1
  145. package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
  146. package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
  147. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  148. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  149. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  150. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  151. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  152. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  153. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  154. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  155. package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
  156. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  157. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
  158. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
  159. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
  160. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  161. package/es-modules/Series/Pie/PieSeries.js +3 -1
  162. package/es-modules/Series/PolarComposition.js +12 -12
  163. package/es-modules/Series/Sankey/SankeySeries.js +13 -1
  164. package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
  165. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
  166. package/es-modules/Series/SeriesOnPointComposition.js +5 -1
  167. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
  168. package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
  169. package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
  170. package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
  171. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  172. package/es-modules/Series/Vector/VectorSeries.js +2 -4
  173. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
  174. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  175. package/es-modules/Series/XRange/XRangePoint.js +54 -45
  176. package/es-modules/Series/XRange/XRangeSeries.js +121 -273
  177. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  178. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
  179. package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
  181. package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
  182. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
  183. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
  184. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
  185. package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
  186. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
  187. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
  188. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
  189. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
  190. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
  191. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
  192. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
  193. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
  194. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
  195. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
  196. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
  197. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
  198. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
  199. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
  200. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
  201. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
  202. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
  203. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
  204. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
  205. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
  206. package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
  207. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
  208. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
  209. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
  210. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
  211. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
  212. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
  213. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
  214. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  215. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
  216. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
  217. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
  218. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
  219. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
  220. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
  221. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
  222. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
  223. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
  224. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
  225. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
  226. package/es-modules/Stock/StockToolbar.js +568 -0
  227. package/es-modules/Stock/StockTools.js +256 -0
  228. package/es-modules/Stock/StockToolsBindings.js +114 -629
  229. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  230. package/es-modules/Stock/StockToolsGui.js +150 -1771
  231. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  232. package/es-modules/masters/highcharts-3d.src.js +5 -4
  233. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  234. package/es-modules/masters/highcharts-more.src.js +4 -3
  235. package/es-modules/masters/highcharts.src.js +5 -2
  236. package/es-modules/masters/highmaps.src.js +1 -1
  237. package/es-modules/masters/highstock.src.js +1 -1
  238. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  239. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  240. package/es-modules/masters/indicators/ao.src.js +1 -1
  241. package/es-modules/masters/indicators/apo.src.js +1 -1
  242. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  243. package/es-modules/masters/indicators/aroon.src.js +1 -1
  244. package/es-modules/masters/indicators/atr.src.js +1 -1
  245. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  246. package/es-modules/masters/indicators/cci.src.js +1 -1
  247. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  248. package/es-modules/masters/indicators/cmf.src.js +1 -1
  249. package/es-modules/masters/indicators/cmo.src.js +1 -1
  250. package/es-modules/masters/indicators/dema.src.js +1 -1
  251. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  252. package/es-modules/masters/indicators/dmi.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  255. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  256. package/es-modules/masters/indicators/indicators.src.js +1 -1
  257. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  258. package/es-modules/masters/indicators/klinger.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/obv.src.js +1 -1
  264. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  265. package/es-modules/masters/indicators/ppo.src.js +1 -1
  266. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  267. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  268. package/es-modules/masters/indicators/psar.src.js +1 -1
  269. package/es-modules/masters/indicators/regressions.src.js +5 -5
  270. package/es-modules/masters/indicators/roc.src.js +1 -1
  271. package/es-modules/masters/indicators/rsi.src.js +1 -1
  272. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  274. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  275. package/es-modules/masters/indicators/tema.src.js +1 -1
  276. package/es-modules/masters/indicators/trendline.src.js +1 -1
  277. package/es-modules/masters/indicators/trix.src.js +1 -1
  278. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  279. package/es-modules/masters/indicators/vwap.src.js +1 -1
  280. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  281. package/es-modules/masters/indicators/wma.src.js +1 -1
  282. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  283. package/es-modules/masters/modules/accessibility.src.js +1 -1
  284. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  285. package/es-modules/masters/modules/annotations.src.js +6 -4
  286. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  287. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  288. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  289. package/es-modules/masters/modules/boost.src.js +6 -2
  290. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  291. package/es-modules/masters/modules/bullet.src.js +1 -1
  292. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  293. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  294. package/es-modules/masters/modules/cylinder.src.js +1 -1
  295. package/es-modules/masters/modules/data.src.js +1 -1
  296. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  297. package/es-modules/masters/modules/debugger.src.js +5 -3
  298. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  299. package/es-modules/masters/modules/dotplot.src.js +1 -1
  300. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  301. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  302. package/es-modules/masters/modules/drilldown.src.js +1 -1
  303. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  304. package/es-modules/masters/modules/export-data.src.js +5 -2
  305. package/es-modules/masters/modules/exporting.src.js +1 -2
  306. package/es-modules/masters/modules/full-screen.src.js +6 -2
  307. package/es-modules/masters/modules/funnel.src.js +1 -1
  308. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  309. package/es-modules/masters/modules/gantt.src.js +3 -2
  310. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  311. package/es-modules/masters/modules/heatmap.src.js +1 -1
  312. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  313. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  314. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  315. package/es-modules/masters/modules/item-series.src.js +1 -1
  316. package/es-modules/masters/modules/lollipop.src.js +1 -1
  317. package/es-modules/masters/modules/map.src.js +2 -2
  318. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  319. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  320. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  321. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  322. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  323. package/es-modules/masters/modules/oldie.src.js +1 -1
  324. package/es-modules/masters/modules/organization.src.js +1 -1
  325. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  326. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  327. package/es-modules/masters/modules/pareto.src.js +1 -1
  328. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  329. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  330. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  331. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  332. package/es-modules/masters/modules/sankey.src.js +1 -1
  333. package/es-modules/masters/modules/series-label.src.js +1 -1
  334. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  335. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  336. package/es-modules/masters/modules/sonification.src.js +1 -1
  337. package/es-modules/masters/modules/static-scale.src.js +1 -1
  338. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  339. package/es-modules/masters/modules/stock.src.js +1 -1
  340. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  341. package/es-modules/masters/modules/sunburst.src.js +1 -1
  342. package/es-modules/masters/modules/tilemap.src.js +1 -1
  343. package/es-modules/masters/modules/timeline.src.js +1 -1
  344. package/es-modules/masters/modules/treegrid.src.js +2 -2
  345. package/es-modules/masters/modules/treemap.src.js +1 -1
  346. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  347. package/es-modules/masters/modules/variwide.src.js +1 -1
  348. package/es-modules/masters/modules/vector.src.js +1 -1
  349. package/es-modules/masters/modules/venn.src.js +1 -1
  350. package/es-modules/masters/modules/windbarb.src.js +1 -1
  351. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  352. package/es-modules/masters/modules/xrange.src.js +5 -2
  353. package/es-modules/masters/themes/avocado.src.js +1 -1
  354. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  355. package/es-modules/masters/themes/brand-light.src.js +1 -1
  356. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  357. package/es-modules/masters/themes/dark-green.src.js +1 -1
  358. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  359. package/es-modules/masters/themes/gray.src.js +1 -1
  360. package/es-modules/masters/themes/grid-light.src.js +1 -1
  361. package/es-modules/masters/themes/grid.src.js +1 -1
  362. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  363. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  364. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  365. package/es-modules/masters/themes/skies.src.js +1 -1
  366. package/es-modules/masters/themes/sunset.src.js +1 -1
  367. package/highcharts-3d.js +98 -99
  368. package/highcharts-3d.js.map +1 -1
  369. package/highcharts-3d.src.js +232 -211
  370. package/highcharts-gantt.js +808 -809
  371. package/highcharts-gantt.js.map +1 -1
  372. package/highcharts-gantt.src.js +2308 -2136
  373. package/highcharts-more.d.ts +5 -8
  374. package/highcharts-more.js +201 -194
  375. package/highcharts-more.js.map +1 -1
  376. package/highcharts-more.src.d.ts +5 -8
  377. package/highcharts-more.src.js +3671 -3275
  378. package/highcharts.d.ts +1400 -885
  379. package/highcharts.js +593 -595
  380. package/highcharts.js.map +1 -1
  381. package/highcharts.src.d.ts +1400 -885
  382. package/highcharts.src.js +847 -716
  383. package/highmaps.js +762 -763
  384. package/highmaps.js.map +1 -1
  385. package/highmaps.src.js +1288 -1129
  386. package/highstock.js +796 -798
  387. package/highstock.js.map +1 -1
  388. package/highstock.src.js +953 -762
  389. package/indicators/acceleration-bands.js +1 -1
  390. package/indicators/acceleration-bands.js.map +1 -1
  391. package/indicators/acceleration-bands.src.js +11 -3
  392. package/indicators/accumulation-distribution.js +1 -1
  393. package/indicators/accumulation-distribution.js.map +1 -1
  394. package/indicators/accumulation-distribution.src.js +6 -1
  395. package/indicators/ao.js +6 -6
  396. package/indicators/ao.js.map +1 -1
  397. package/indicators/ao.src.js +23 -14
  398. package/indicators/apo.js +1 -1
  399. package/indicators/apo.js.map +1 -1
  400. package/indicators/apo.src.js +6 -1
  401. package/indicators/aroon-oscillator.js +10 -10
  402. package/indicators/aroon-oscillator.js.map +1 -1
  403. package/indicators/aroon-oscillator.src.js +7 -3
  404. package/indicators/aroon.js +1 -1
  405. package/indicators/aroon.js.map +1 -1
  406. package/indicators/aroon.src.js +16 -3
  407. package/indicators/atr.js +1 -1
  408. package/indicators/atr.js.map +1 -1
  409. package/indicators/atr.src.js +17 -4
  410. package/indicators/bollinger-bands.js +1 -1
  411. package/indicators/bollinger-bands.js.map +1 -1
  412. package/indicators/bollinger-bands.src.js +6 -2
  413. package/indicators/cci.js +1 -1
  414. package/indicators/cci.js.map +1 -1
  415. package/indicators/cci.src.js +17 -4
  416. package/indicators/chaikin.js +8 -8
  417. package/indicators/chaikin.js.map +1 -1
  418. package/indicators/chaikin.src.js +13 -5
  419. package/indicators/cmf.js +1 -1
  420. package/indicators/cmf.js.map +1 -1
  421. package/indicators/cmf.src.js +21 -1
  422. package/indicators/cmo.js +1 -1
  423. package/indicators/cmo.js.map +1 -1
  424. package/indicators/cmo.src.js +16 -2
  425. package/indicators/dema.js +1 -1
  426. package/indicators/dema.js.map +1 -1
  427. package/indicators/dema.src.js +26 -1
  428. package/indicators/disparity-index.js +1 -1
  429. package/indicators/disparity-index.src.js +1 -1
  430. package/indicators/dmi.js +1 -1
  431. package/indicators/dmi.js.map +1 -1
  432. package/indicators/dmi.src.js +6 -1
  433. package/indicators/dpo.js +1 -1
  434. package/indicators/dpo.js.map +1 -1
  435. package/indicators/dpo.src.js +20 -9
  436. package/indicators/ichimoku-kinko-hyo.js +1 -1
  437. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  438. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  439. package/indicators/indicators-all.js +199 -199
  440. package/indicators/indicators-all.js.map +1 -1
  441. package/indicators/indicators-all.src.js +754 -162
  442. package/indicators/indicators.js +1 -1
  443. package/indicators/indicators.js.map +1 -1
  444. package/indicators/indicators.src.js +12 -2
  445. package/indicators/keltner-channels.js +1 -1
  446. package/indicators/keltner-channels.js.map +1 -1
  447. package/indicators/keltner-channels.src.js +26 -1
  448. package/indicators/klinger.js +12 -12
  449. package/indicators/klinger.js.map +1 -1
  450. package/indicators/klinger.src.js +13 -4
  451. package/indicators/macd.js +1 -1
  452. package/indicators/macd.js.map +1 -1
  453. package/indicators/macd.src.js +22 -13
  454. package/indicators/mfi.js +1 -1
  455. package/indicators/mfi.js.map +1 -1
  456. package/indicators/mfi.src.js +24 -11
  457. package/indicators/momentum.js +1 -1
  458. package/indicators/momentum.js.map +1 -1
  459. package/indicators/momentum.src.js +31 -3
  460. package/indicators/natr.js +1 -1
  461. package/indicators/natr.js.map +1 -1
  462. package/indicators/natr.src.js +17 -3
  463. package/indicators/obv.js +1 -1
  464. package/indicators/obv.js.map +1 -1
  465. package/indicators/obv.src.js +11 -1
  466. package/indicators/pivot-points.js +1 -1
  467. package/indicators/pivot-points.js.map +1 -1
  468. package/indicators/pivot-points.src.js +32 -19
  469. package/indicators/ppo.js +1 -1
  470. package/indicators/ppo.js.map +1 -1
  471. package/indicators/ppo.src.js +15 -5
  472. package/indicators/price-channel.js +1 -1
  473. package/indicators/price-channel.js.map +1 -1
  474. package/indicators/price-channel.src.js +14 -9
  475. package/indicators/price-envelopes.js +1 -1
  476. package/indicators/price-envelopes.js.map +1 -1
  477. package/indicators/price-envelopes.src.js +26 -1
  478. package/indicators/psar.js +1 -1
  479. package/indicators/psar.js.map +1 -1
  480. package/indicators/psar.src.js +17 -4
  481. package/indicators/regressions.js +12 -11
  482. package/indicators/regressions.js.map +1 -1
  483. package/indicators/regressions.src.js +50 -15
  484. package/indicators/roc.js +1 -1
  485. package/indicators/roc.js.map +1 -1
  486. package/indicators/roc.src.js +16 -3
  487. package/indicators/rsi.js +1 -1
  488. package/indicators/rsi.js.map +1 -1
  489. package/indicators/rsi.src.js +21 -3
  490. package/indicators/slow-stochastic.js +1 -1
  491. package/indicators/slow-stochastic.js.map +1 -1
  492. package/indicators/slow-stochastic.src.js +26 -1
  493. package/indicators/stochastic.js +1 -1
  494. package/indicators/stochastic.js.map +1 -1
  495. package/indicators/stochastic.src.js +16 -1
  496. package/indicators/supertrend.js +7 -7
  497. package/indicators/supertrend.js.map +1 -1
  498. package/indicators/supertrend.src.js +18 -6
  499. package/indicators/tema.js +1 -1
  500. package/indicators/tema.src.js +1 -1
  501. package/indicators/trendline.js +1 -1
  502. package/indicators/trendline.js.map +1 -1
  503. package/indicators/trendline.src.js +15 -5
  504. package/indicators/trix.js +1 -1
  505. package/indicators/trix.js.map +1 -1
  506. package/indicators/trix.src.js +26 -1
  507. package/indicators/volume-by-price.js +17 -17
  508. package/indicators/volume-by-price.js.map +1 -1
  509. package/indicators/volume-by-price.src.js +38 -10
  510. package/indicators/vwap.js +1 -1
  511. package/indicators/vwap.js.map +1 -1
  512. package/indicators/vwap.src.js +12 -2
  513. package/indicators/williams-r.js +1 -1
  514. package/indicators/williams-r.js.map +1 -1
  515. package/indicators/williams-r.src.js +11 -1
  516. package/indicators/wma.js +1 -1
  517. package/indicators/wma.js.map +1 -1
  518. package/indicators/wma.src.js +31 -3
  519. package/indicators/zigzag.js +1 -1
  520. package/indicators/zigzag.js.map +1 -1
  521. package/indicators/zigzag.src.js +12 -2
  522. package/modules/accessibility.js +183 -182
  523. package/modules/accessibility.js.map +1 -1
  524. package/modules/accessibility.src.js +559 -554
  525. package/modules/annotations-advanced.d.ts +1 -1
  526. package/modules/annotations-advanced.js +193 -192
  527. package/modules/annotations-advanced.js.map +1 -1
  528. package/modules/annotations-advanced.src.d.ts +1 -1
  529. package/modules/annotations-advanced.src.js +9263 -8654
  530. package/modules/annotations.d.ts +1 -1
  531. package/modules/annotations.js +128 -126
  532. package/modules/annotations.js.map +1 -1
  533. package/modules/annotations.src.d.ts +1 -1
  534. package/modules/annotations.src.js +6699 -6063
  535. package/modules/arc-diagram.js +1 -1
  536. package/modules/arc-diagram.src.js +1 -1
  537. package/modules/arrow-symbols.js +1 -1
  538. package/modules/arrow-symbols.src.js +1 -1
  539. package/modules/boost-canvas.d.ts +19 -0
  540. package/modules/boost-canvas.js +81 -16
  541. package/modules/boost-canvas.js.map +1 -1
  542. package/modules/boost-canvas.src.d.ts +19 -0
  543. package/modules/boost-canvas.src.js +3334 -50
  544. package/modules/boost.d.ts +8 -26
  545. package/modules/boost.js +84 -77
  546. package/modules/boost.js.map +1 -1
  547. package/modules/boost.src.d.ts +8 -26
  548. package/modules/boost.src.js +2423 -1888
  549. package/modules/broken-axis.js +2 -2
  550. package/modules/broken-axis.js.map +1 -1
  551. package/modules/broken-axis.src.js +2 -2
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +1 -1
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +5 -1
  557. package/modules/current-date-indicator.js +1 -1
  558. package/modules/current-date-indicator.src.js +1 -1
  559. package/modules/cylinder.js +9 -9
  560. package/modules/cylinder.js.map +1 -1
  561. package/modules/cylinder.src.js +2 -2
  562. package/modules/data.js +1 -1
  563. package/modules/data.src.js +1 -1
  564. package/modules/datagrouping.d.ts +22 -0
  565. package/modules/datagrouping.js +4 -4
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.d.ts +22 -0
  568. package/modules/datagrouping.src.js +66 -28
  569. package/modules/debugger.js +6 -5
  570. package/modules/debugger.js.map +1 -1
  571. package/modules/debugger.src.js +81 -40
  572. package/modules/dependency-wheel.js +12 -12
  573. package/modules/dependency-wheel.js.map +1 -1
  574. package/modules/dependency-wheel.src.js +41 -14
  575. package/modules/dotplot.js +1 -1
  576. package/modules/dotplot.src.js +1 -1
  577. package/modules/drag-panes.js +1 -1
  578. package/modules/drag-panes.src.js +1 -1
  579. package/modules/draggable-points.js +5 -5
  580. package/modules/draggable-points.js.map +1 -1
  581. package/modules/draggable-points.src.js +5 -4
  582. package/modules/drilldown.d.ts +0 -10
  583. package/modules/drilldown.js +29 -29
  584. package/modules/drilldown.js.map +1 -1
  585. package/modules/drilldown.src.d.ts +0 -10
  586. package/modules/drilldown.src.js +12 -9
  587. package/modules/dumbbell.js +1 -1
  588. package/modules/dumbbell.src.js +1 -1
  589. package/modules/export-data.js +25 -24
  590. package/modules/export-data.js.map +1 -1
  591. package/modules/export-data.src.js +607 -499
  592. package/modules/exporting.js +38 -38
  593. package/modules/exporting.js.map +1 -1
  594. package/modules/exporting.src.js +559 -507
  595. package/modules/full-screen.js +8 -8
  596. package/modules/full-screen.js.map +1 -1
  597. package/modules/full-screen.src.js +76 -26
  598. package/modules/funnel.js +1 -1
  599. package/modules/funnel.src.js +1 -1
  600. package/modules/funnel3d.js +2 -2
  601. package/modules/funnel3d.js.map +1 -1
  602. package/modules/funnel3d.src.js +2 -2
  603. package/modules/gantt.js +217 -216
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +1481 -1440
  606. package/modules/grid-axis.js +1 -1
  607. package/modules/grid-axis.src.js +1 -1
  608. package/modules/heatmap.js +1 -1
  609. package/modules/heatmap.js.map +1 -1
  610. package/modules/heatmap.src.js +10 -2
  611. package/modules/heikinashi.js +1 -1
  612. package/modules/heikinashi.src.js +1 -1
  613. package/modules/histogram-bellcurve.js +1 -1
  614. package/modules/histogram-bellcurve.src.js +1 -1
  615. package/modules/hollowcandlestick.js +1 -1
  616. package/modules/hollowcandlestick.src.js +1 -1
  617. package/modules/item-series.js +1 -1
  618. package/modules/item-series.src.js +1 -1
  619. package/modules/lollipop.js +6 -6
  620. package/modules/lollipop.js.map +1 -1
  621. package/modules/lollipop.src.js +37 -22
  622. package/modules/map.d.ts +3 -3
  623. package/modules/map.js +171 -171
  624. package/modules/map.js.map +1 -1
  625. package/modules/map.src.d.ts +3 -3
  626. package/modules/map.src.js +442 -414
  627. package/modules/marker-clusters.js +1 -1
  628. package/modules/marker-clusters.js.map +1 -1
  629. package/modules/marker-clusters.src.js +3 -1
  630. package/modules/networkgraph.js +55 -50
  631. package/modules/networkgraph.js.map +1 -1
  632. package/modules/networkgraph.src.js +2259 -1938
  633. package/modules/no-data-to-display.js +1 -1
  634. package/modules/no-data-to-display.src.js +1 -1
  635. package/modules/offline-exporting.js +2 -2
  636. package/modules/offline-exporting.src.js +2 -2
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.src.js +2 -2
  641. package/modules/organization.js +15 -15
  642. package/modules/organization.js.map +1 -1
  643. package/modules/organization.src.js +10 -2
  644. package/modules/overlapping-datalabels.js +1 -1
  645. package/modules/overlapping-datalabels.src.js +1 -1
  646. package/modules/parallel-coordinates.js +11 -11
  647. package/modules/parallel-coordinates.js.map +1 -1
  648. package/modules/parallel-coordinates.src.js +13 -8
  649. package/modules/pareto.js +1 -1
  650. package/modules/pareto.src.js +1 -1
  651. package/modules/pathfinder.js +1 -1
  652. package/modules/pathfinder.src.js +1 -1
  653. package/modules/pattern-fill.js +1 -1
  654. package/modules/pattern-fill.src.js +1 -1
  655. package/modules/price-indicator.js +1 -1
  656. package/modules/price-indicator.src.js +1 -1
  657. package/modules/pyramid3d.js +1 -1
  658. package/modules/pyramid3d.src.js +1 -1
  659. package/modules/sankey.js +1 -1
  660. package/modules/sankey.js.map +1 -1
  661. package/modules/sankey.src.js +14 -2
  662. package/modules/series-label.js +5 -5
  663. package/modules/series-label.js.map +1 -1
  664. package/modules/series-label.src.js +3 -3
  665. package/modules/series-on-point.js +1 -1
  666. package/modules/series-on-point.js.map +1 -1
  667. package/modules/series-on-point.src.js +6 -2
  668. package/modules/solid-gauge.js +1 -1
  669. package/modules/solid-gauge.src.js +2 -2
  670. package/modules/sonification.d.ts +2 -2
  671. package/modules/sonification.js +1 -1
  672. package/modules/sonification.src.d.ts +2 -2
  673. package/modules/sonification.src.js +2 -2
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.d.ts +1 -23
  677. package/modules/stock-tools.js +109 -179
  678. package/modules/stock-tools.js.map +1 -1
  679. package/modules/stock-tools.src.d.ts +1 -23
  680. package/modules/stock-tools.src.js +2605 -6335
  681. package/modules/stock.d.ts +8 -0
  682. package/modules/stock.js +105 -105
  683. package/modules/stock.js.map +1 -1
  684. package/modules/stock.src.d.ts +8 -0
  685. package/modules/stock.src.js +105 -45
  686. package/modules/streamgraph.js +1 -1
  687. package/modules/streamgraph.src.js +1 -1
  688. package/modules/sunburst.js +72 -72
  689. package/modules/sunburst.js.map +1 -1
  690. package/modules/sunburst.src.js +38 -12
  691. package/modules/tilemap.js +1 -1
  692. package/modules/tilemap.src.js +1 -1
  693. package/modules/timeline.js +1 -1
  694. package/modules/timeline.js.map +1 -1
  695. package/modules/timeline.src.js +3 -1
  696. package/modules/treegrid.js +57 -57
  697. package/modules/treegrid.js.map +1 -1
  698. package/modules/treegrid.src.js +1022 -1014
  699. package/modules/treemap.js +1 -1
  700. package/modules/treemap.js.map +1 -1
  701. package/modules/treemap.src.js +8 -4
  702. package/modules/variable-pie.js +1 -1
  703. package/modules/variable-pie.src.js +1 -1
  704. package/modules/variwide.js +1 -1
  705. package/modules/variwide.src.js +1 -1
  706. package/modules/vector.js +2 -2
  707. package/modules/vector.js.map +1 -1
  708. package/modules/vector.src.js +3 -5
  709. package/modules/venn.js +1 -1
  710. package/modules/venn.src.js +5 -5
  711. package/modules/windbarb.js +1 -1
  712. package/modules/windbarb.src.js +1 -1
  713. package/modules/wordcloud.js +1 -1
  714. package/modules/wordcloud.src.js +3 -3
  715. package/modules/xrange.js +17 -17
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +411 -397
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +1 -1
  722. package/themes/brand-dark.src.js +1 -1
  723. package/themes/brand-light.js +1 -1
  724. package/themes/brand-light.src.js +1 -1
  725. package/themes/dark-blue.js +1 -1
  726. package/themes/dark-blue.src.js +1 -1
  727. package/themes/dark-green.js +1 -1
  728. package/themes/dark-green.src.js +1 -1
  729. package/themes/dark-unica.js +1 -1
  730. package/themes/dark-unica.src.js +1 -1
  731. package/themes/gray.js +1 -1
  732. package/themes/gray.src.js +1 -1
  733. package/themes/grid-light.js +1 -1
  734. package/themes/grid-light.src.js +1 -1
  735. package/themes/grid.js +1 -1
  736. package/themes/grid.src.js +1 -1
  737. package/themes/high-contrast-dark.js +1 -1
  738. package/themes/high-contrast-dark.src.js +1 -1
  739. package/themes/high-contrast-light.js +1 -1
  740. package/themes/high-contrast-light.src.js +1 -1
  741. package/themes/sand-signika.js +1 -1
  742. package/themes/sand-signika.src.js +1 -1
  743. package/themes/skies.js +1 -1
  744. package/themes/skies.src.js +1 -1
  745. package/themes/sunset.js +1 -1
  746. package/themes/sunset.src.js +1 -1
  747. package/es-modules/Core/Axis/StackingAxis.js +0 -215
  748. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  749. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  750. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  751. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  752. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  753. package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
  754. package/es-modules/Extensions/Boost/BoostInit.js +0 -324
  755. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  756. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  757. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  758. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  759. package/es-modules/Extensions/Stacking.js +0 -517
  760. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  761. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  762. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
  763. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v10.2.0 (2022-07-05)
2
+ * @license Highcharts JS v10.2.1 (2022-08-29)
3
3
  *
4
4
  * Exporting module
5
5
  *
@@ -37,120 +37,7 @@
37
37
  }
38
38
  }
39
39
  }
40
- _registerModule(_modules, 'Extensions/DownloadURL.js', [_modules['Core/Globals.js']], function (Highcharts) {
41
- /* *
42
- *
43
- * (c) 2015-2021 Oystein Moseng
44
- *
45
- * License: www.highcharts.com/license
46
- *
47
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
48
- *
49
- * Mixin for downloading content in the browser
50
- *
51
- * */
52
- var isSafari = Highcharts.isSafari;
53
- var win = Highcharts.win,
54
- doc = win.document,
55
- domurl = win.URL || win.webkitURL || win;
56
- /**
57
- * Convert base64 dataURL to Blob if supported, otherwise returns undefined.
58
- * @private
59
- * @function Highcharts.dataURLtoBlob
60
- * @param {string} dataURL
61
- * URL to convert
62
- * @return {string|undefined}
63
- * Blob
64
- */
65
- var dataURLtoBlob = Highcharts.dataURLtoBlob = function (dataURL) {
66
- var parts = dataURL
67
- .replace(/filename=.*;/, '')
68
- .match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/);
69
- if (parts &&
70
- parts.length > 3 &&
71
- (win.atob) &&
72
- win.ArrayBuffer &&
73
- win.Uint8Array &&
74
- win.Blob &&
75
- (domurl.createObjectURL)) {
76
- // Try to convert data URL to Blob
77
- var binStr = win.atob(parts[3]),
78
- buf = new win.ArrayBuffer(binStr.length),
79
- binary = new win.Uint8Array(buf);
80
- for (var i = 0; i < binary.length; ++i) {
81
- binary[i] = binStr.charCodeAt(i);
82
- }
83
- var blob = new win.Blob([binary], { 'type': parts[1] });
84
- return domurl.createObjectURL(blob);
85
- }
86
- };
87
- /**
88
- * Download a data URL in the browser. Can also take a blob as first param.
89
- *
90
- * @private
91
- * @function Highcharts.downloadURL
92
- * @param {string|global.URL} dataURL
93
- * The dataURL/Blob to download
94
- * @param {string} filename
95
- * The name of the resulting file (w/extension)
96
- * @return {void}
97
- */
98
- var downloadURL = Highcharts.downloadURL = function (dataURL,
99
- filename) {
100
- var nav = win.navigator,
101
- a = doc.createElement('a');
102
- // IE specific blob implementation
103
- // Don't use for normal dataURLs
104
- if (typeof dataURL !== 'string' &&
105
- !(dataURL instanceof String) &&
106
- nav.msSaveOrOpenBlob) {
107
- nav.msSaveOrOpenBlob(dataURL, filename);
108
- return;
109
- }
110
- dataURL = "".concat(dataURL);
111
- // Some browsers have limitations for data URL lengths. Try to convert to
112
- // Blob or fall back. Edge always needs that blob.
113
- var isOldEdgeBrowser = /Edge\/\d+/.test(nav.userAgent);
114
- // Safari on iOS needs Blob in order to download PDF
115
- var safariBlob = (isSafari &&
116
- typeof dataURL === 'string' &&
117
- dataURL.indexOf('data:application/pdf') === 0);
118
- if (safariBlob || isOldEdgeBrowser || dataURL.length > 2000000) {
119
- dataURL = dataURLtoBlob(dataURL) || '';
120
- if (!dataURL) {
121
- throw new Error('Failed to convert to blob');
122
- }
123
- }
124
- // Try HTML5 download attr if supported
125
- if (typeof a.download !== 'undefined') {
126
- a.href = dataURL;
127
- a.download = filename; // HTML5 download attribute
128
- doc.body.appendChild(a);
129
- a.click();
130
- doc.body.removeChild(a);
131
- }
132
- else {
133
- // No download attr, just opening data URI
134
- try {
135
- var windowRef = win.open(dataURL, 'chart');
136
- if (typeof windowRef === 'undefined' || windowRef === null) {
137
- throw new Error('Failed to open window');
138
- }
139
- }
140
- catch (e) {
141
- // window.open failed, trying location.href
142
- win.location.href = dataURL;
143
- }
144
- }
145
- };
146
- var DownloadURL = {
147
- dataURLtoBlob: dataURLtoBlob,
148
- downloadURL: downloadURL
149
- };
150
-
151
- return DownloadURL;
152
- });
153
- _registerModule(_modules, 'Extensions/ExportData.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Renderer/HTML/AST.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Utilities.js'], _modules['Extensions/DownloadURL.js']], function (Axis, Chart, AST, H, D, U, DownloadURL) {
40
+ _registerModule(_modules, 'Extensions/ExportData/ExportDataDefaults.js', [], function () {
154
41
  /* *
155
42
  *
156
43
  * Experimental data export module for Highcharts
@@ -162,86 +49,16 @@
162
49
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
163
50
  *
164
51
  * */
165
- // @todo
166
- // - Set up systematic tests for all series types, paired with tests of the data
167
- // module importing the same data.
168
- var __spreadArray = (this && this.__spreadArray) || function (to,
169
- from,
170
- pack) {
171
- if (pack || arguments.length === 2) for (var i = 0,
172
- l = from.length,
173
- ar; i < l; i++) {
174
- if (ar || !(i in from)) {
175
- if (!ar) ar = Array.prototype.slice.call(from, 0,
176
- i);
177
- ar[i] = from[i];
178
- }
179
- }
180
- return to.concat(ar || Array.prototype.slice.call(from));
181
- };
182
- var doc = H.doc,
183
- seriesTypes = H.seriesTypes,
184
- win = H.win;
185
- var getOptions = D.getOptions,
186
- setOptions = D.setOptions;
187
- var addEvent = U.addEvent,
188
- defined = U.defined,
189
- extend = U.extend,
190
- find = U.find,
191
- fireEvent = U.fireEvent,
192
- isNumber = U.isNumber,
193
- pick = U.pick;
194
- /**
195
- * Function callback to execute while data rows are processed for exporting.
196
- * This allows the modification of data rows before processed into the final
197
- * format.
198
- *
199
- * @callback Highcharts.ExportDataCallbackFunction
200
- * @extends Highcharts.EventCallbackFunction<Highcharts.Chart>
52
+ /* *
201
53
  *
202
- * @param {Highcharts.Chart} this
203
- * Chart context where the event occured.
54
+ * Constants
204
55
  *
205
- * @param {Highcharts.ExportDataEventObject} event
206
- * Event object with data rows that can be modified.
207
- */
56
+ * */
208
57
  /**
209
- * Contains information about the export data event.
210
- *
211
- * @interface Highcharts.ExportDataEventObject
212
- */ /**
213
- * Contains the data rows for the current export task and can be modified.
214
- * @name Highcharts.ExportDataEventObject#dataRows
215
- * @type {Array<Array<string>>}
216
- */
217
- var downloadURL = DownloadURL.downloadURL;
218
- setOptions({
219
- /**
220
- * Callback that fires while exporting data. This allows the modification of
221
- * data rows before processed into the final format.
222
- *
223
- * @type {Highcharts.ExportDataCallbackFunction}
224
- * @context Highcharts.Chart
225
- * @requires modules/export-data
226
- * @apioption chart.events.exportData
227
- */
228
- /**
229
- * When set to `false` will prevent the series data from being included in
230
- * any form of data export.
231
- *
232
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented
233
- * as `includeInCSVExport`.
234
- *
235
- * @type {boolean}
236
- * @since 7.1.0
237
- * @requires modules/export-data
238
- * @apioption plotOptions.series.includeInDataExport
239
- */
240
- /**
241
- * @optionparent exporting
242
- * @private
243
- */
244
- exporting: {
58
+ * @optionparent exporting
59
+ * @private
60
+ */
61
+ var exporting = {
245
62
  /**
246
63
  * Caption for the data table. Same as chart title by default. Set to
247
64
  * `false` to disable.
@@ -255,17 +72,22 @@
255
72
  * @apioption exporting.tableCaption
256
73
  */
257
74
  /**
258
- * Options for exporting data to CSV or ExCel, or displaying the data
75
+ * Options for exporting data to CSV or ExCel,
76
+ or displaying the data
259
77
  * in a HTML table or a JavaScript structure.
260
78
  *
261
79
  * This module adds data export options to the export menu and provides
262
- * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows`
80
+ * functions like `Chart.getCSV`,
81
+ `Chart.getTable`,
82
+ `Chart.getDataRows`
263
83
  * and `Chart.viewData`.
264
84
  *
265
85
  * The XLS converter is limited and only creates a HTML string that is
266
- * passed for download, which works but creates a warning before
86
+ * passed for download,
87
+ which works but creates a warning before
267
88
  * opening. The workaround for this is to use a third party XLSX
268
- * converter, as demonstrated in the sample below.
89
+ * converter,
90
+ as demonstrated in the sample below.
269
91
  *
270
92
  * @sample highcharts/export-data/categorized/ Categorized data
271
93
  * @sample highcharts/export-data/stock-timeaxis/ Highcharts Stock time axis
@@ -310,19 +132,25 @@
310
132
  /**
311
133
  * Formatter callback for the column headers. Parameters are:
312
134
  * - `item` - The series or axis object)
313
- * - `key` - The point key, for example y or z
314
- * - `keyLength` - The amount of value keys for this item, for
135
+ * - `key` - The point key,
136
+ for example y or z
137
+ * - `keyLength` - The amount of value keys for this item,
138
+ for
315
139
  * example a range series has the keys `low` and `high` so the
316
140
  * key length is 2.
317
141
  *
318
142
  * If [useMultiLevelHeaders](#exporting.useMultiLevelHeaders) is
319
- * true, columnHeaderFormatter by default returns an object with
143
+ * true,
144
+ columnHeaderFormatter by default returns an object with
320
145
  * columnTitle and topLevelColumnTitle for each key. Columns with
321
146
  * the same topLevelColumnTitle have their titles merged into a
322
147
  * single cell with colspan for table/Excel export.
323
148
  *
324
- * If `useMultiLevelHeaders` is false, or for CSV export, it returns
325
- * the series name, followed by the key if there is more than one
149
+ * If `useMultiLevelHeaders` is false,
150
+ or for CSV export,
151
+ it returns
152
+ * the series name,
153
+ followed by the key if there is more than one
326
154
  * key.
327
155
  *
328
156
  * For the axis it returns the axis title or "Category" or
@@ -343,7 +171,9 @@
343
171
  dateFormat: '%Y-%m-%d %H:%M:%S',
344
172
  /**
345
173
  * Which decimal point to use for exported CSV. Defaults to the same
346
- * as the browser locale, typically `.` (English) or `,` (German,
174
+ * as the browser locale,
175
+ typically `.` (English) or `,
176
+ ` (German,
347
177
  * French etc).
348
178
  *
349
179
  * @type {string|null}
@@ -353,14 +183,19 @@
353
183
  /**
354
184
  * The item delimiter in the exported data. Use `;` for direct
355
185
  * exporting to Excel. Defaults to a best guess based on the browser
356
- * locale. If the locale _decimal point_ is `,`, the `itemDelimiter`
357
- * defaults to `;`, otherwise the `itemDelimiter` defaults to `,`.
186
+ * locale. If the locale _decimal point_ is `,
187
+ `,
188
+ the `itemDelimiter`
189
+ * defaults to `;`,
190
+ otherwise the `itemDelimiter` defaults to `,
191
+ `.
358
192
  *
359
193
  * @type {string|null}
360
194
  */
361
195
  itemDelimiter: null,
362
196
  /**
363
- * The line delimiter in the exported data, defaults to a newline.
197
+ * The line delimiter in the exported data,
198
+ defaults to a newline.
364
199
  */
365
200
  lineDelimiter: '\n'
366
201
  },
@@ -379,7 +214,8 @@
379
214
  showTable: false,
380
215
  /**
381
216
  * Use multi level headers in data table. If [csv.columnHeaderFormatter
382
- * ](#exporting.csv.columnHeaderFormatter) is defined, it has to return
217
+ * ](#exporting.csv.columnHeaderFormatter) is defined,
218
+ it has to return
383
219
  * objects in order for multi level headers to work.
384
220
  *
385
221
  * @sample highcharts/export-data/multilevel-table
@@ -390,7 +226,8 @@
390
226
  */
391
227
  useMultiLevelHeaders: true,
392
228
  /**
393
- * If using multi level table headers, use rowspans for headers that
229
+ * If using multi level table headers,
230
+ use rowspans for headers that
394
231
  * have only one level.
395
232
  *
396
233
  * @sample highcharts/export-data/multilevel-table
@@ -400,13 +237,12 @@
400
237
  * @requires modules/export-data
401
238
  */
402
239
  useRowspanHeaders: true
403
- },
404
- /**
405
- * @optionparent lang
406
- *
407
- * @private
408
- */
409
- lang: {
240
+ };
241
+ /**
242
+ * @optionparent lang
243
+ * @private
244
+ */
245
+ var lang = {
410
246
  /**
411
247
  * The text for the menu item.
412
248
  *
@@ -455,87 +291,319 @@
455
291
  * @requires modules/export-data
456
292
  */
457
293
  hideData: 'Hide data table'
294
+ };
295
+ /* *
296
+ *
297
+ * Default Export
298
+ *
299
+ * */
300
+ var ExportDataDefaults = {
301
+ exporting: exporting,
302
+ lang: lang
303
+ };
304
+ /* *
305
+ *
306
+ * API Options
307
+ *
308
+ * */
309
+ /**
310
+ * Callback that fires while exporting data. This allows the modification of
311
+ * data rows before processed into the final format.
312
+ *
313
+ * @type {Highcharts.ExportDataCallbackFunction}
314
+ * @context Highcharts.Chart
315
+ * @requires modules/export-data
316
+ * @apioption chart.events.exportData
317
+ */
318
+ /**
319
+ * When set to `false` will prevent the series data from being included in
320
+ * any form of data export.
321
+ *
322
+ * Since version 6.0.0 until 7.1.0 the option was existing undocumented
323
+ * as `includeInCSVExport`.
324
+ *
325
+ * @type {boolean}
326
+ * @since 7.1.0
327
+ * @requires modules/export-data
328
+ * @apioption plotOptions.series.includeInDataExport
329
+ */
330
+ (''); // keep doclets above in JS file
331
+
332
+ return ExportDataDefaults;
333
+ });
334
+ _registerModule(_modules, 'Extensions/DownloadURL.js', [_modules['Core/Globals.js']], function (Highcharts) {
335
+ /* *
336
+ *
337
+ * (c) 2015-2021 Oystein Moseng
338
+ *
339
+ * License: www.highcharts.com/license
340
+ *
341
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
342
+ *
343
+ * Mixin for downloading content in the browser
344
+ *
345
+ * */
346
+ var isSafari = Highcharts.isSafari;
347
+ var win = Highcharts.win,
348
+ doc = win.document,
349
+ domurl = win.URL || win.webkitURL || win;
350
+ /**
351
+ * Convert base64 dataURL to Blob if supported, otherwise returns undefined.
352
+ * @private
353
+ * @function Highcharts.dataURLtoBlob
354
+ * @param {string} dataURL
355
+ * URL to convert
356
+ * @return {string|undefined}
357
+ * Blob
358
+ */
359
+ var dataURLtoBlob = Highcharts.dataURLtoBlob = function (dataURL) {
360
+ var parts = dataURL
361
+ .replace(/filename=.*;/, '')
362
+ .match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/);
363
+ if (parts &&
364
+ parts.length > 3 &&
365
+ (win.atob) &&
366
+ win.ArrayBuffer &&
367
+ win.Uint8Array &&
368
+ win.Blob &&
369
+ (domurl.createObjectURL)) {
370
+ // Try to convert data URL to Blob
371
+ var binStr = win.atob(parts[3]),
372
+ buf = new win.ArrayBuffer(binStr.length),
373
+ binary = new win.Uint8Array(buf);
374
+ for (var i = 0; i < binary.length; ++i) {
375
+ binary[i] = binStr.charCodeAt(i);
376
+ }
377
+ var blob = new win.Blob([binary], { 'type': parts[1] });
378
+ return domurl.createObjectURL(blob);
458
379
  }
459
- });
460
- /* eslint-disable no-invalid-this */
461
- // Add an event listener to handle the showTable option
462
- addEvent(Chart, 'render', function () {
463
- if (this.options &&
464
- this.options.exporting &&
465
- this.options.exporting.showTable &&
466
- !this.options.chart.forExport) {
467
- this.viewData();
380
+ };
381
+ /**
382
+ * Download a data URL in the browser. Can also take a blob as first param.
383
+ *
384
+ * @private
385
+ * @function Highcharts.downloadURL
386
+ * @param {string|global.URL} dataURL
387
+ * The dataURL/Blob to download
388
+ * @param {string} filename
389
+ * The name of the resulting file (w/extension)
390
+ * @return {void}
391
+ */
392
+ var downloadURL = Highcharts.downloadURL = function (dataURL,
393
+ filename) {
394
+ var nav = win.navigator,
395
+ a = doc.createElement('a');
396
+ // IE specific blob implementation
397
+ // Don't use for normal dataURLs
398
+ if (typeof dataURL !== 'string' &&
399
+ !(dataURL instanceof String) &&
400
+ nav.msSaveOrOpenBlob) {
401
+ nav.msSaveOrOpenBlob(dataURL, filename);
402
+ return;
468
403
  }
469
- });
470
- addEvent(Chart, 'afterViewData', function () {
471
- var chart = this,
472
- dataTableDiv = chart.dataTableDiv,
473
- row = document.querySelectorAll('thead')[0].querySelectorAll('tr')[0],
474
- getCellValue = function (tr,
475
- index) {
476
- return tr.children[index].textContent;
477
- }, comparer = function (index, ascending) {
478
- return function (a, b) {
479
- var sort = function (v1,
480
- v2) { return (v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ?
481
- v1 - v2 :
482
- v1.toString().localeCompare(v2)); };
483
- return sort(getCellValue(ascending ? a : b, index), getCellValue(ascending ? b : a, index));
484
- };
404
+ dataURL = "".concat(dataURL);
405
+ // Some browsers have limitations for data URL lengths. Try to convert to
406
+ // Blob or fall back. Edge always needs that blob.
407
+ var isOldEdgeBrowser = /Edge\/\d+/.test(nav.userAgent);
408
+ // Safari on iOS needs Blob in order to download PDF
409
+ var safariBlob = (isSafari &&
410
+ typeof dataURL === 'string' &&
411
+ dataURL.indexOf('data:application/pdf') === 0);
412
+ if (safariBlob || isOldEdgeBrowser || dataURL.length > 2000000) {
413
+ dataURL = dataURLtoBlob(dataURL) || '';
414
+ if (!dataURL) {
415
+ throw new Error('Failed to convert to blob');
416
+ }
417
+ }
418
+ // Try HTML5 download attr if supported
419
+ if (typeof a.download !== 'undefined') {
420
+ a.href = dataURL;
421
+ a.download = filename; // HTML5 download attribute
422
+ doc.body.appendChild(a);
423
+ a.click();
424
+ doc.body.removeChild(a);
425
+ }
426
+ else {
427
+ // No download attr, just opening data URI
428
+ try {
429
+ var windowRef = win.open(dataURL, 'chart');
430
+ if (typeof windowRef === 'undefined' || windowRef === null) {
431
+ throw new Error('Failed to open window');
432
+ }
433
+ }
434
+ catch (e) {
435
+ // window.open failed, trying location.href
436
+ win.location.href = dataURL;
437
+ }
438
+ }
439
+ };
440
+ var DownloadURL = {
441
+ dataURLtoBlob: dataURLtoBlob,
442
+ downloadURL: downloadURL
485
443
  };
486
- if (dataTableDiv) {
487
- row.childNodes.forEach(function (th) {
488
- var table = th.closest('table');
489
- th.addEventListener('click', function () {
490
- var rows = __spreadArray([],
491
- dataTableDiv.querySelectorAll('tr:not(thead tr)'),
492
- true),
493
- headers = __spreadArray([],
494
- th.parentNode.children,
495
- true);
496
- rows.sort(comparer(headers.indexOf(th), chart.ascendingOrderInTable =
497
- !chart.ascendingOrderInTable)).forEach(function (tr) {
498
- table.appendChild(tr);
499
- });
500
- headers.forEach(function (th) {
501
- ['highcharts-sort-ascending', 'highcharts-sort-descending']
502
- .forEach(function (className) {
503
- if (th.classList.contains(className)) {
504
- th.classList.remove(className);
505
- }
506
- });
507
- });
508
- th.classList.add(chart.ascendingOrderInTable ?
509
- 'highcharts-sort-ascending' :
510
- 'highcharts-sort-descending');
511
- });
512
- });
444
+
445
+ return DownloadURL;
446
+ });
447
+ _registerModule(_modules, 'Extensions/ExportData/ExportData.js', [_modules['Core/Renderer/HTML/AST.js'], _modules['Extensions/ExportData/ExportDataDefaults.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Extensions/DownloadURL.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (AST, ExportDataDefaults, H, D, DownloadURL, SeriesRegistry, U) {
448
+ /* *
449
+ *
450
+ * Experimental data export module for Highcharts
451
+ *
452
+ * (c) 2010-2021 Torstein Honsi
453
+ *
454
+ * License: www.highcharts.com/license
455
+ *
456
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
457
+ *
458
+ * */
459
+ // @todo
460
+ // - Set up systematic tests for all series types, paired with tests of the data
461
+ // module importing the same data.
462
+ var __spreadArray = (this && this.__spreadArray) || function (to,
463
+ from,
464
+ pack) {
465
+ if (pack || arguments.length === 2) for (var i = 0,
466
+ l = from.length,
467
+ ar; i < l; i++) {
468
+ if (ar || !(i in from)) {
469
+ if (!ar) ar = Array.prototype.slice.call(from, 0,
470
+ i);
471
+ ar[i] = from[i];
472
+ }
513
473
  }
514
- });
515
- /* eslint-enable no-invalid-this */
474
+ return to.concat(ar || Array.prototype.slice.call(from));
475
+ };
476
+ var doc = H.doc,
477
+ win = H.win;
478
+ var getOptions = D.getOptions,
479
+ setOptions = D.setOptions;
480
+ var downloadURL = DownloadURL.downloadURL;
481
+ var SeriesClass = SeriesRegistry.series,
482
+ _a = SeriesRegistry.seriesTypes,
483
+ AreaRangeSeries = _a.arearange,
484
+ GanttSeries = _a.gantt,
485
+ MapSeries = _a.map,
486
+ MapBubbleSeries = _a.mapbubble,
487
+ TreemapSeries = _a.treemap;
488
+ var addEvent = U.addEvent,
489
+ defined = U.defined,
490
+ extend = U.extend,
491
+ find = U.find,
492
+ fireEvent = U.fireEvent,
493
+ isNumber = U.isNumber,
494
+ pick = U.pick;
495
+ /* *
496
+ *
497
+ * Constants
498
+ *
499
+ * */
500
+ var composedClasses = [];
501
+ /* *
502
+ *
503
+ * Functions
504
+ *
505
+ * */
516
506
  /**
517
- * Set up key-to-axis bindings. This is used when the Y axis is datetime or
518
- * categorized. For example in an arearange series, the low and high values
519
- * should be formatted according to the Y axis type, and in order to link them
520
- * we need this map.
507
+ * Generates a data URL of CSV for local download in the browser. This is the
508
+ * default action for a click on the 'Download CSV' button.
521
509
  *
522
- * @private
523
- * @function Highcharts.Chart#setUpKeyToAxis
510
+ * See {@link Highcharts.Chart#getCSV} to get the CSV data itself.
511
+ *
512
+ * @function Highcharts.Chart#downloadCSV
513
+ *
514
+ * @requires modules/exporting
524
515
  */
525
- Chart.prototype.setUpKeyToAxis = function () {
526
- if (seriesTypes.arearange) {
527
- seriesTypes.arearange.prototype.keyToAxis = {
528
- low: 'y',
529
- high: 'y'
530
- };
531
- }
532
- if (seriesTypes.gantt) {
533
- seriesTypes.gantt.prototype.keyToAxis = {
534
- start: 'x',
535
- end: 'x'
516
+ function chartDownloadCSV() {
517
+ var csv = this.getCSV(true);
518
+ downloadURL(getBlobFromContent(csv, 'text/csv') ||
519
+ 'data:text/csv,\uFEFF' + encodeURIComponent(csv), this.getFilename() + '.csv');
520
+ }
521
+ /**
522
+ * Generates a data URL of an XLS document for local download in the browser.
523
+ * This is the default action for a click on the 'Download XLS' button.
524
+ *
525
+ * See {@link Highcharts.Chart#getTable} to get the table data itself.
526
+ *
527
+ * @function Highcharts.Chart#downloadXLS
528
+ *
529
+ * @requires modules/exporting
530
+ */
531
+ function chartDownloadXLS() {
532
+ var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
533
+ 'xmlns:x="urn:schemas-microsoft-com:office:excel" ' +
534
+ 'xmlns="http://www.w3.org/TR/REC-html40">' +
535
+ '<head><!--[if gte mso 9]><xml><x:ExcelWorkbook>' +
536
+ '<x:ExcelWorksheets><x:ExcelWorksheet>' +
537
+ '<x:Name>Ark1</x:Name>' +
538
+ '<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>' +
539
+ '</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>' +
540
+ '</xml><![endif]-->' +
541
+ '<style>td{border:none;font-family: Calibri, sans-serif;} ' +
542
+ '.number{mso-number-format:"0.00";} ' +
543
+ '.text{ mso-number-format:"\@";}</style>' +
544
+ '<meta name=ProgId content=Excel.Sheet>' +
545
+ '<meta charset=UTF-8>' +
546
+ '</head><body>' +
547
+ this.getTable(true) +
548
+ '</body></html>', base64 = function (s) {
549
+ return win.btoa(unescape(encodeURIComponent(s))); // #50
536
550
  };
537
- }
538
- };
551
+ downloadURL(getBlobFromContent(template, 'application/vnd.ms-excel') ||
552
+ uri + base64(template), this.getFilename() + '.xls');
553
+ }
554
+ /**
555
+ * Export-data module required. Returns the current chart data as a CSV string.
556
+ *
557
+ * @function Highcharts.Chart#getCSV
558
+ *
559
+ * @param {boolean} [useLocalDecimalPoint]
560
+ * Whether to use the local decimal point as detected from the browser.
561
+ * This makes it easier to export data to Excel in the same locale as the
562
+ * user is.
563
+ *
564
+ * @return {string}
565
+ * CSV representation of the data
566
+ */
567
+ function chartGetCSV(useLocalDecimalPoint) {
568
+ var csv = '';
569
+ var rows = this.getDataRows(), csvOptions = this.options.exporting.csv, decimalPoint = pick(csvOptions.decimalPoint, csvOptions.itemDelimiter !== ',' && useLocalDecimalPoint ?
570
+ (1.1).toLocaleString()[1] :
571
+ '.'),
572
+ // use ';' for direct to Excel
573
+ itemDelimiter = pick(csvOptions.itemDelimiter, decimalPoint === ',' ? ';' : ','),
574
+ // '\n' isn't working with the js csv data extraction
575
+ lineDelimiter = csvOptions.lineDelimiter;
576
+ // Transform the rows to CSV
577
+ rows.forEach(function (row, i) {
578
+ var val = '',
579
+ j = row.length;
580
+ while (j--) {
581
+ val = row[j];
582
+ if (typeof val === 'string') {
583
+ val = '"' + val + '"';
584
+ }
585
+ if (typeof val === 'number') {
586
+ if (decimalPoint !== '.') {
587
+ val = val.toString().replace('.', decimalPoint);
588
+ }
589
+ }
590
+ row[j] = val;
591
+ }
592
+ // The first row is the header - it defines the number of columns.
593
+ // Empty columns between not-empty cells are covered in the getDataRows
594
+ // method.
595
+ // Now add empty values only to the end of the row so all rows have
596
+ // the same number of columns, #17186
597
+ row.length = rows.length ? rows[0].length : 0;
598
+ // Add the values
599
+ csv += row.join(itemDelimiter);
600
+ // Add the line delimiter
601
+ if (i < rows.length - 1) {
602
+ csv += lineDelimiter;
603
+ }
604
+ });
605
+ return csv;
606
+ }
539
607
  /**
540
608
  * Export-data module required. Returns a two-dimensional array containing the
541
609
  * current chart data.
@@ -552,21 +620,15 @@
552
620
  *
553
621
  * @emits Highcharts.Chart#event:exportData
554
622
  */
555
- Chart.prototype.getDataRows = function (multiLevelHeaders) {
623
+ function chartGetDataRows(multiLevelHeaders) {
556
624
  var hasParallelCoords = this.hasParallelCoordinates,
557
625
  time = this.time,
558
626
  csvOptions = ((this.options.exporting && this.options.exporting.csv) || {}),
559
- xAxis,
560
627
  xAxes = this.xAxis,
561
628
  rows = {},
562
629
  rowArr = [],
563
- dataRows,
564
630
  topLevelColumnTitles = [],
565
631
  columnTitles = [],
566
- columnTitleObj,
567
- i,
568
- x,
569
- xTitle,
570
632
  langOptions = this.options.lang,
571
633
  exportDataOptions = langOptions.exportData,
572
634
  categoryHeader = exportDataOptions.categoryHeader,
@@ -586,7 +648,7 @@
586
648
  if (!item) {
587
649
  return categoryHeader;
588
650
  }
589
- if (item instanceof Axis) {
651
+ if (!(item instanceof SeriesClass)) {
590
652
  return (item.options.title && item.options.title.text) ||
591
653
  (item.dateTime ? categoryDatetimeHeader : categoryHeader);
592
654
  }
@@ -642,9 +704,12 @@
642
704
  }
643
705
  return series.pointArrayMap || ['y'];
644
706
  }, xAxisIndices = [];
645
- // Loop the series and index values
646
- i = 0;
647
- this.setUpKeyToAxis();
707
+ var xAxis,
708
+ dataRows,
709
+ columnTitleObj,
710
+ i = 0, // Loop the series and index values
711
+ x,
712
+ xTitle;
648
713
  this.series.forEach(function (series) {
649
714
  var keys = series.options.keys,
650
715
  xAxis = series.xAxis,
@@ -690,20 +755,18 @@
690
755
  // Export directly from options.data because we need the uncropped
691
756
  // data (#7913), and we need to support Boost (#7026).
692
757
  series.options.data.forEach(function eachData(options, pIdx) {
758
+ var mockPoint = { series: mockSeries };
693
759
  var key,
694
760
  prop,
695
- val,
696
- name,
697
- point;
761
+ val;
698
762
  // In parallel coordinates chart, each data point is connected
699
763
  // to a separate yAxis, conform this
700
764
  if (hasParallelCoords) {
701
765
  categoryAndDatetimeMap = getCategoryAndDateTimeMap(series, pointArrayMap, pIdx);
702
766
  }
703
- point = { series: mockSeries };
704
- series.pointClass.prototype.applyOptions.apply(point, [options]);
705
- key = point.x;
706
- name = series.data[pIdx] && series.data[pIdx].name;
767
+ series.pointClass.prototype.applyOptions.apply(mockPoint, [options]);
768
+ key = mockPoint.x;
769
+ var name = series.data[pIdx] && series.data[pIdx].name;
707
770
  j = 0;
708
771
  // Pies, funnels, geo maps etc. use point name in X row
709
772
  if (!xAxis ||
@@ -723,12 +786,12 @@
723
786
  // Contain the X values from one or more X axes
724
787
  rows[key].xValues = [];
725
788
  }
726
- rows[key].x = point.x;
789
+ rows[key].x = mockPoint.x;
727
790
  rows[key].name = name;
728
- rows[key].xValues[xAxisIndex] = point.x;
791
+ rows[key].xValues[xAxisIndex] = mockPoint.x;
729
792
  while (j < valueCount) {
730
793
  prop = pointArrayMap[j]; // y, z etc
731
- val = point[prop];
794
+ val = mockPoint[prop];
732
795
  rows[key][i + j] = pick(
733
796
  // Y axis category if present
734
797
  categoryAndDatetimeMap.categoryMap[prop][val],
@@ -795,63 +858,10 @@
795
858
  row.splice(column, 0, category);
796
859
  });
797
860
  }
798
- dataRows = dataRows.concat(rowArr);
799
- fireEvent(this, 'exportData', { dataRows: dataRows });
800
- return dataRows;
801
- };
802
- /**
803
- * Export-data module required. Returns the current chart data as a CSV string.
804
- *
805
- * @function Highcharts.Chart#getCSV
806
- *
807
- * @param {boolean} [useLocalDecimalPoint]
808
- * Whether to use the local decimal point as detected from the browser.
809
- * This makes it easier to export data to Excel in the same locale as the
810
- * user is.
811
- *
812
- * @return {string}
813
- * CSV representation of the data
814
- */
815
- Chart.prototype.getCSV = function (useLocalDecimalPoint) {
816
- var csv = '';
817
- var rows = this.getDataRows(), csvOptions = this.options.exporting.csv, decimalPoint = pick(csvOptions.decimalPoint, csvOptions.itemDelimiter !== ',' && useLocalDecimalPoint ?
818
- (1.1).toLocaleString()[1] :
819
- '.'),
820
- // use ';' for direct to Excel
821
- itemDelimiter = pick(csvOptions.itemDelimiter, decimalPoint === ',' ? ';' : ','),
822
- // '\n' isn't working with the js csv data extraction
823
- lineDelimiter = csvOptions.lineDelimiter;
824
- // Transform the rows to CSV
825
- rows.forEach(function (row, i) {
826
- var val = '',
827
- j = row.length;
828
- while (j--) {
829
- val = row[j];
830
- if (typeof val === 'string') {
831
- val = '"' + val + '"';
832
- }
833
- if (typeof val === 'number') {
834
- if (decimalPoint !== '.') {
835
- val = val.toString().replace('.', decimalPoint);
836
- }
837
- }
838
- row[j] = val;
839
- }
840
- // The first row is the header - it defines the number of columns.
841
- // Empty columns between not-empty cells are covered in the getDataRows
842
- // method.
843
- // Now add empty values only to the end of the row so all rows have
844
- // the same number of columns, #17186
845
- row.length = rows.length ? rows[0].length : 0;
846
- // Add the values
847
- csv += row.join(itemDelimiter);
848
- // Add the line delimiter
849
- if (i < rows.length - 1) {
850
- csv += lineDelimiter;
851
- }
852
- });
853
- return csv;
854
- };
861
+ dataRows = dataRows.concat(rowArr);
862
+ fireEvent(this, 'exportData', { dataRows: dataRows });
863
+ return dataRows;
864
+ }
855
865
  /**
856
866
  * Export-data module required. Build a HTML table with the chart's current
857
867
  * data.
@@ -871,7 +881,7 @@
871
881
  *
872
882
  * @emits Highcharts.Chart#event:afterGetTable
873
883
  */
874
- Chart.prototype.getTable = function (useLocalDecimalPoint) {
884
+ function chartGetTable(useLocalDecimalPoint) {
875
885
  var serialize = function (node) {
876
886
  if (!node.tagName || node.tagName === '#text') {
877
887
  // Text node
@@ -880,7 +890,8 @@
880
890
  var attributes = node.attributes;
881
891
  var html = "<".concat(node.tagName);
882
892
  if (attributes) {
883
- Object.keys(attributes).forEach(function (key) {
893
+ Object.keys(attributes)
894
+ .forEach(function (key) {
884
895
  var value = attributes[key];
885
896
  html += " ".concat(key, "=\"").concat(value, "\"");
886
897
  });
@@ -895,7 +906,7 @@
895
906
  };
896
907
  var tree = this.getTableAST(useLocalDecimalPoint);
897
908
  return serialize(tree);
898
- };
909
+ }
899
910
  /**
900
911
  * Get the AST of a HTML table representing the chart data.
901
912
  *
@@ -911,7 +922,7 @@
911
922
  * @return {Highcharts.ASTNode}
912
923
  * The abstract syntax tree
913
924
  */
914
- Chart.prototype.getTableAST = function (useLocalDecimalPoint) {
925
+ function chartGetTableAST(useLocalDecimalPoint) {
915
926
  var rowLength = 0;
916
927
  var treeChildren = [];
917
928
  var options = this.options,
@@ -1086,109 +1097,19 @@
1086
1097
  };
1087
1098
  fireEvent(this, 'aftergetTableAST', e);
1088
1099
  return e.tree;
1089
- };
1090
- /**
1091
- * Get a blob object from content, if blob is supported
1092
- *
1093
- * @private
1094
- * @param {string} content
1095
- * The content to create the blob from.
1096
- * @param {string} type
1097
- * The type of the content.
1098
- * @return {string|undefined}
1099
- * The blob object, or undefined if not supported.
1100
- */
1101
- function getBlobFromContent(content, type) {
1102
- var nav = win.navigator,
1103
- webKit = (nav.userAgent.indexOf('WebKit') > -1 &&
1104
- nav.userAgent.indexOf('Chrome') < 0),
1105
- domurl = win.URL || win.webkitURL || win;
1106
- try {
1107
- // MS specific
1108
- if ((nav.msSaveOrOpenBlob) && win.MSBlobBuilder) {
1109
- var blob = new win.MSBlobBuilder();
1110
- blob.append(content);
1111
- return blob.getBlob('image/svg+xml');
1112
- }
1113
- // Safari requires data URI since it doesn't allow navigation to blob
1114
- // URLs.
1115
- if (!webKit) {
1116
- return domurl.createObjectURL(new win.Blob(['\uFEFF' + content], // #7084
1117
- { type: type }));
1118
- }
1119
- }
1120
- catch (e) {
1121
- // Ignore
1122
- }
1123
1100
  }
1124
- /* eslint-disable valid-jsdoc */
1125
- /**
1126
- * Generates a data URL of CSV for local download in the browser. This is the
1127
- * default action for a click on the 'Download CSV' button.
1128
- *
1129
- * See {@link Highcharts.Chart#getCSV} to get the CSV data itself.
1130
- *
1131
- * @function Highcharts.Chart#downloadCSV
1132
- *
1133
- * @requires modules/exporting
1134
- */
1135
- Chart.prototype.downloadCSV = function () {
1136
- var csv = this.getCSV(true);
1137
- downloadURL(getBlobFromContent(csv, 'text/csv') ||
1138
- 'data:text/csv,\uFEFF' + encodeURIComponent(csv), this.getFilename() + '.csv');
1139
- };
1140
- /**
1141
- * Generates a data URL of an XLS document for local download in the browser.
1142
- * This is the default action for a click on the 'Download XLS' button.
1143
- *
1144
- * See {@link Highcharts.Chart#getTable} to get the table data itself.
1145
- *
1146
- * @function Highcharts.Chart#downloadXLS
1147
- *
1148
- * @requires modules/exporting
1149
- */
1150
- Chart.prototype.downloadXLS = function () {
1151
- var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
1152
- 'xmlns:x="urn:schemas-microsoft-com:office:excel" ' +
1153
- 'xmlns="http://www.w3.org/TR/REC-html40">' +
1154
- '<head><!--[if gte mso 9]><xml><x:ExcelWorkbook>' +
1155
- '<x:ExcelWorksheets><x:ExcelWorksheet>' +
1156
- '<x:Name>Ark1</x:Name>' +
1157
- '<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>' +
1158
- '</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>' +
1159
- '</xml><![endif]-->' +
1160
- '<style>td{border:none;font-family: Calibri, sans-serif;} ' +
1161
- '.number{mso-number-format:"0.00";} ' +
1162
- '.text{ mso-number-format:"\@";}</style>' +
1163
- '<meta name=ProgId content=Excel.Sheet>' +
1164
- '<meta charset=UTF-8>' +
1165
- '</head><body>' +
1166
- this.getTable(true) +
1167
- '</body></html>', base64 = function (s) {
1168
- return win.btoa(unescape(encodeURIComponent(s))); // #50
1169
- };
1170
- downloadURL(getBlobFromContent(template, 'application/vnd.ms-excel') ||
1171
- uri + base64(template), this.getFilename() + '.xls');
1172
- };
1173
- /**
1174
- * Export-data module required. View the data in a table below the chart.
1175
- *
1176
- * @function Highcharts.Chart#viewData
1177
- *
1178
- * @emits Highcharts.Chart#event:afterViewData
1179
- */
1180
- Chart.prototype.viewData = function () {
1181
- this.toggleDataTable(true);
1182
- };
1183
1101
  /**
1184
1102
  * Export-data module required. Hide the data table when visible.
1185
1103
  *
1186
1104
  * @function Highcharts.Chart#hideData
1187
1105
  */
1188
- Chart.prototype.hideData = function () {
1106
+ function chartHideData() {
1189
1107
  this.toggleDataTable(false);
1190
- };
1191
- Chart.prototype.toggleDataTable = function (show) {
1108
+ }
1109
+ /**
1110
+ * @private
1111
+ */
1112
+ function chartToggleDataTable(show) {
1192
1113
  show = pick(show, !this.isDataTableVisible);
1193
1114
  // Create the div
1194
1115
  if (show && !this.dataTableDiv) {
@@ -1217,8 +1138,8 @@
1217
1138
  options.buttons &&
1218
1139
  options.buttons.contextButton.menuItems,
1219
1140
  lang = this.options.lang;
1220
- if (exportingOptions &&
1221
- exportingOptions.menuItemDefinitions &&
1141
+ if (options &&
1142
+ options.menuItemDefinitions &&
1222
1143
  lang &&
1223
1144
  lang.viewData &&
1224
1145
  lang.hideData &&
@@ -1229,48 +1150,235 @@
1229
1150
  AST.setElementHTML(exportDivElement, this.isDataTableVisible ? lang.hideData : lang.viewData);
1230
1151
  }
1231
1152
  }
1232
- };
1233
- // Add "Download CSV" to the exporting menu.
1234
- var exportingOptions = getOptions().exporting;
1235
- if (exportingOptions) {
1236
- extend(exportingOptions.menuItemDefinitions, {
1237
- downloadCSV: {
1238
- textKey: 'downloadCSV',
1239
- onclick: function () {
1240
- this.downloadCSV();
1241
- }
1242
- },
1243
- downloadXLS: {
1244
- textKey: 'downloadXLS',
1245
- onclick: function () {
1246
- this.downloadXLS();
1247
- }
1248
- },
1249
- viewData: {
1250
- textKey: 'viewData',
1251
- onclick: function () {
1252
- this.toggleDataTable();
1153
+ }
1154
+ /**
1155
+ * Export-data module required. View the data in a table below the chart.
1156
+ *
1157
+ * @function Highcharts.Chart#viewData
1158
+ *
1159
+ * @emits Highcharts.Chart#event:afterViewData
1160
+ */
1161
+ function chartViewData() {
1162
+ this.toggleDataTable(true);
1163
+ }
1164
+ /**
1165
+ * @private
1166
+ */
1167
+ function compose(ChartClass) {
1168
+ if (composedClasses.indexOf(ChartClass) === -1) {
1169
+ composedClasses.push(ChartClass);
1170
+ // Add an event listener to handle the showTable option
1171
+ addEvent(ChartClass, 'afterViewData', onChartAfterViewData);
1172
+ addEvent(ChartClass, 'render', onChartRenderer);
1173
+ var chartProto = ChartClass.prototype;
1174
+ chartProto.downloadCSV = chartDownloadCSV;
1175
+ chartProto.downloadXLS = chartDownloadXLS;
1176
+ chartProto.getCSV = chartGetCSV;
1177
+ chartProto.getDataRows = chartGetDataRows;
1178
+ chartProto.getTable = chartGetTable;
1179
+ chartProto.getTableAST = chartGetTableAST;
1180
+ chartProto.hideData = chartHideData;
1181
+ chartProto.toggleDataTable = chartToggleDataTable;
1182
+ chartProto.viewData = chartViewData;
1183
+ }
1184
+ if (composedClasses.indexOf(setOptions) === -1) {
1185
+ composedClasses.push(setOptions);
1186
+ var exportingOptions = getOptions().exporting;
1187
+ // Add "Download CSV" to the exporting menu.
1188
+ // @todo consider move to defaults
1189
+ if (exportingOptions) {
1190
+ extend(exportingOptions.menuItemDefinitions, {
1191
+ downloadCSV: {
1192
+ textKey: 'downloadCSV',
1193
+ onclick: function () {
1194
+ this.downloadCSV();
1195
+ }
1196
+ },
1197
+ downloadXLS: {
1198
+ textKey: 'downloadXLS',
1199
+ onclick: function () {
1200
+ this.downloadXLS();
1201
+ }
1202
+ },
1203
+ viewData: {
1204
+ textKey: 'viewData',
1205
+ onclick: function () {
1206
+ this.toggleDataTable();
1207
+ }
1208
+ }
1209
+ });
1210
+ if (exportingOptions.buttons &&
1211
+ exportingOptions.buttons.contextButton.menuItems) {
1212
+ exportingOptions.buttons.contextButton.menuItems.push('separator', 'downloadCSV', 'downloadXLS', 'viewData');
1253
1213
  }
1254
1214
  }
1255
- });
1256
- if (exportingOptions.buttons) {
1257
- exportingOptions.buttons.contextButton.menuItems.push('separator', 'downloadCSV', 'downloadXLS', 'viewData');
1215
+ setOptions(ExportDataDefaults);
1216
+ }
1217
+ if (AreaRangeSeries && composedClasses.indexOf(AreaRangeSeries) === -1) {
1218
+ composedClasses.push(AreaRangeSeries);
1219
+ AreaRangeSeries.prototype.keyToAxis = {
1220
+ low: 'y',
1221
+ high: 'y'
1222
+ };
1223
+ }
1224
+ if (GanttSeries && composedClasses.indexOf(GanttSeries) === -1) {
1225
+ composedClasses.push(GanttSeries);
1226
+ GanttSeries.prototype.keyToAxis = {
1227
+ start: 'x',
1228
+ end: 'x'
1229
+ };
1230
+ }
1231
+ if (MapSeries && composedClasses.indexOf(MapSeries) === -1) {
1232
+ composedClasses.push(MapSeries);
1233
+ MapSeries.prototype.exportKey = 'name';
1234
+ }
1235
+ if (MapBubbleSeries && composedClasses.indexOf(MapBubbleSeries) === -1) {
1236
+ composedClasses.push(MapBubbleSeries);
1237
+ MapBubbleSeries.prototype.exportKey = 'name';
1238
+ }
1239
+ if (TreemapSeries && composedClasses.indexOf(TreemapSeries) === -1) {
1240
+ composedClasses.push(TreemapSeries);
1241
+ TreemapSeries.prototype.exportKey = 'name';
1258
1242
  }
1259
1243
  }
1260
- // Series specific
1261
- if (seriesTypes.map) {
1262
- seriesTypes.map.prototype.exportKey = 'name';
1244
+ /**
1245
+ * Get a blob object from content, if blob is supported
1246
+ *
1247
+ * @private
1248
+ * @param {string} content
1249
+ * The content to create the blob from.
1250
+ * @param {string} type
1251
+ * The type of the content.
1252
+ * @return {string|undefined}
1253
+ * The blob object, or undefined if not supported.
1254
+ */
1255
+ function getBlobFromContent(content, type) {
1256
+ var nav = win.navigator,
1257
+ webKit = (nav.userAgent.indexOf('WebKit') > -1 &&
1258
+ nav.userAgent.indexOf('Chrome') < 0),
1259
+ domurl = win.URL || win.webkitURL || win;
1260
+ try {
1261
+ // MS specific
1262
+ if ((nav.msSaveOrOpenBlob) && win.MSBlobBuilder) {
1263
+ var blob = new win.MSBlobBuilder();
1264
+ blob.append(content);
1265
+ return blob.getBlob('image/svg+xml');
1266
+ }
1267
+ // Safari requires data URI since it doesn't allow navigation to blob
1268
+ // URLs.
1269
+ if (!webKit) {
1270
+ return domurl.createObjectURL(new win.Blob(['\uFEFF' + content], // #7084
1271
+ { type: type }));
1272
+ }
1273
+ }
1274
+ catch (e) {
1275
+ // Ignore
1276
+ }
1263
1277
  }
1264
- if (seriesTypes.mapbubble) {
1265
- seriesTypes.mapbubble.prototype.exportKey = 'name';
1278
+ /**
1279
+ * @private
1280
+ */
1281
+ function onChartAfterViewData() {
1282
+ var chart = this,
1283
+ dataTableDiv = chart.dataTableDiv,
1284
+ row = document.querySelectorAll('thead')[0].querySelectorAll('tr')[0],
1285
+ getCellValue = function (tr,
1286
+ index) {
1287
+ return tr.children[index].textContent;
1288
+ }, comparer = function (index, ascending) {
1289
+ return function (a, b) {
1290
+ var sort = function (v1,
1291
+ v2) { return (v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ?
1292
+ v1 - v2 :
1293
+ v1.toString().localeCompare(v2)); };
1294
+ return sort(getCellValue(ascending ? a : b, index), getCellValue(ascending ? b : a, index));
1295
+ };
1296
+ };
1297
+ if (dataTableDiv) {
1298
+ row.childNodes.forEach(function (th) {
1299
+ var table = th.closest('table');
1300
+ th.addEventListener('click', function () {
1301
+ var rows = __spreadArray([],
1302
+ dataTableDiv.querySelectorAll('tr:not(thead tr)'),
1303
+ true),
1304
+ headers = __spreadArray([],
1305
+ th.parentNode.children,
1306
+ true);
1307
+ rows.sort(comparer(headers.indexOf(th), chart.ascendingOrderInTable =
1308
+ !chart.ascendingOrderInTable)).forEach(function (tr) {
1309
+ table.appendChild(tr);
1310
+ });
1311
+ headers.forEach(function (th) {
1312
+ ['highcharts-sort-ascending', 'highcharts-sort-descending']
1313
+ .forEach(function (className) {
1314
+ if (th.classList.contains(className)) {
1315
+ th.classList.remove(className);
1316
+ }
1317
+ });
1318
+ });
1319
+ th.classList.add(chart.ascendingOrderInTable ?
1320
+ 'highcharts-sort-ascending' :
1321
+ 'highcharts-sort-descending');
1322
+ });
1323
+ });
1324
+ }
1266
1325
  }
1267
- if (seriesTypes.treemap) {
1268
- seriesTypes.treemap.prototype.exportKey = 'name';
1326
+ /**
1327
+ * Handle the showTable option
1328
+ * @private
1329
+ */
1330
+ function onChartRenderer() {
1331
+ if (this.options &&
1332
+ this.options.exporting &&
1333
+ this.options.exporting.showTable &&
1334
+ !this.options.chart.forExport) {
1335
+ this.viewData();
1336
+ }
1269
1337
  }
1338
+ /* *
1339
+ *
1340
+ * Default Export
1341
+ *
1342
+ * */
1343
+ var ExportData = {
1344
+ compose: compose
1345
+ };
1346
+ /* *
1347
+ *
1348
+ * API Declarations
1349
+ *
1350
+ * */
1351
+ /**
1352
+ * Function callback to execute while data rows are processed for exporting.
1353
+ * This allows the modification of data rows before processed into the final
1354
+ * format.
1355
+ *
1356
+ * @callback Highcharts.ExportDataCallbackFunction
1357
+ * @extends Highcharts.EventCallbackFunction<Highcharts.Chart>
1358
+ *
1359
+ * @param {Highcharts.Chart} this
1360
+ * Chart context where the event occured.
1361
+ *
1362
+ * @param {Highcharts.ExportDataEventObject} event
1363
+ * Event object with data rows that can be modified.
1364
+ */
1365
+ /**
1366
+ * Contains information about the export data event.
1367
+ *
1368
+ * @interface Highcharts.ExportDataEventObject
1369
+ */ /**
1370
+ * Contains the data rows for the current export task and can be modified.
1371
+ * @name Highcharts.ExportDataEventObject#dataRows
1372
+ * @type {Array<Array<string>>}
1373
+ */
1374
+ (''); // keeps doclets above in JS file
1270
1375
 
1376
+ return ExportData;
1271
1377
  });
1272
- _registerModule(_modules, 'masters/modules/export-data.src.js', [], function () {
1378
+ _registerModule(_modules, 'masters/modules/export-data.src.js', [_modules['Core/Globals.js'], _modules['Extensions/ExportData/ExportData.js']], function (Highcharts, ExportData) {
1273
1379
 
1380
+ var G = Highcharts;
1381
+ ExportData.compose(G.Chart);
1274
1382
 
1275
1383
  });
1276
1384
  }));