highcharts 9.3.3 → 10.2.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 (917) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +3 -4
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  10. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  12. package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
  13. package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
  14. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  16. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  19. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
  20. package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
  21. package/es-modules/Accessibility/FocusBorder.js +6 -5
  22. package/es-modules/Accessibility/HighContrastMode.js +3 -3
  23. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  24. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
  25. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  26. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  27. package/es-modules/Accessibility/ProxyElement.js +14 -6
  28. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  29. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  30. package/es-modules/Core/Animation/Fx.js +1 -1
  31. package/es-modules/Core/Axis/Axis.js +197 -91
  32. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  33. package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
  34. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  35. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  36. package/es-modules/Core/Axis/GridAxis.js +821 -821
  37. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  38. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  39. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  40. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGridTick.js +13 -2
  43. package/es-modules/Core/Axis/ZAxis.js +3 -1
  44. package/es-modules/Core/Chart/Chart.js +27 -8
  45. package/es-modules/Core/Chart/Chart3D.js +1 -11
  46. package/es-modules/Core/Chart/ChartDefaults.js +46 -14
  47. package/es-modules/Core/Chart/GanttChart.js +3 -1
  48. package/es-modules/Core/Chart/MapChart.js +4 -7
  49. package/es-modules/Core/Chart/StockChart.js +7 -5
  50. package/es-modules/Core/Color/Color.js +1 -1
  51. package/es-modules/Core/DefaultOptions.js +19 -15
  52. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  53. package/es-modules/Core/Globals.js +4 -18
  54. package/es-modules/Core/HttpUtilities.js +46 -39
  55. package/es-modules/Core/Legend/Legend.js +14 -12
  56. package/es-modules/Core/MSPointer.js +3 -1
  57. package/es-modules/Core/Navigator.js +16 -13
  58. package/es-modules/Core/Pointer.js +16 -12
  59. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  60. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  61. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  62. package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
  63. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  64. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
  66. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
  67. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  68. package/es-modules/Core/Scrollbar.js +9 -5
  69. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  70. package/es-modules/Core/Series/DataLabel.js +67 -38
  71. package/es-modules/Core/Series/Point.js +11 -2
  72. package/es-modules/Core/Series/Series.js +57 -27
  73. package/es-modules/Core/Series/Series3D.js +3 -1
  74. package/es-modules/Core/Series/SeriesDefaults.js +7 -4
  75. package/es-modules/Core/Time.js +6 -7
  76. package/es-modules/Core/Tooltip.js +17 -34
  77. package/es-modules/Core/Utilities.js +33 -33
  78. package/es-modules/Data/DataConverter.js +1 -1
  79. package/es-modules/Data/DataTable.js +12 -10
  80. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  81. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  82. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  83. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  85. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  86. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  87. package/es-modules/Data/Parsers/DataParser.js +1 -1
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  90. package/es-modules/Data/Stores/CSVStore.js +8 -5
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
  94. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  97. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
  99. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  102. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  103. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  104. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  105. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  106. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  108. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  109. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  110. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  111. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  112. package/es-modules/Extensions/Boost/BoostInit.js +9 -3
  113. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  114. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  115. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  116. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  117. package/es-modules/Extensions/BoostCanvas.js +11 -5
  118. package/es-modules/Extensions/Breadcrumbs.js +898 -0
  119. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  120. package/es-modules/Extensions/Data.js +661 -613
  121. package/es-modules/Extensions/DataGrouping.js +8 -3
  122. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  123. package/es-modules/Extensions/DownloadURL.js +3 -3
  124. package/es-modules/Extensions/DragPanes.js +1 -1
  125. package/es-modules/Extensions/DraggablePoints.js +9 -7
  126. package/es-modules/Extensions/Drilldown.js +152 -97
  127. package/es-modules/Extensions/ExportData.js +58 -9
  128. package/es-modules/Extensions/Exporting/Exporting.js +34 -23
  129. package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
  130. package/es-modules/Extensions/FullScreen.js +121 -54
  131. package/es-modules/Extensions/GeoJSON.js +149 -125
  132. package/es-modules/Extensions/MarkerClusters.js +36 -22
  133. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  134. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  135. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  136. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  137. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  138. package/es-modules/Extensions/Pane.js +3 -3
  139. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  140. package/es-modules/Extensions/PatternFill.js +14 -2
  141. package/es-modules/Extensions/RangeSelector.js +29 -18
  142. package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
  143. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  144. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  145. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  146. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  147. package/es-modules/Extensions/Stacking.js +5 -4
  148. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  149. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  150. package/es-modules/Maps/MapNavigation.js +49 -12
  151. package/es-modules/Maps/MapPointer.js +16 -0
  152. package/es-modules/Maps/MapUtilities.js +56 -0
  153. package/es-modules/Maps/MapView.js +619 -137
  154. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  155. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  156. package/es-modules/Maps/Projection.js +182 -88
  157. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  158. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  159. package/es-modules/Maps/Projections/Miller.js +23 -10
  160. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  161. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  162. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
  163. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
  164. package/es-modules/Series/Area/AreaSeries.js +21 -14
  165. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  166. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  167. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  168. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  169. package/es-modules/Series/Bar/BarSeries.js +3 -1
  170. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  171. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  172. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  173. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  174. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  175. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  176. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  177. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  178. package/es-modules/Series/CenteredUtilities.js +8 -2
  179. package/es-modules/Series/ColorMapComposition.js +111 -0
  180. package/es-modules/Series/Column/ColumnSeries.js +10 -7
  181. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  182. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  183. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  184. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  185. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  186. package/es-modules/Series/DataModifyComposition.js +1 -0
  187. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  188. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
  189. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  190. package/es-modules/Series/DrawPointUtilities.js +87 -0
  191. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  192. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  193. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  194. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  195. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  196. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  197. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  198. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  199. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  200. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  201. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  202. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  203. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  204. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  205. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  206. package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
  207. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  208. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  209. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  210. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  211. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  212. package/es-modules/Series/Item/ItemPoint.js +3 -1
  213. package/es-modules/Series/Item/ItemSeries.js +3 -1
  214. package/es-modules/Series/Line/LineSeries.js +4 -2
  215. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
  217. package/es-modules/Series/Map/MapPoint.js +32 -7
  218. package/es-modules/Series/Map/MapSeries.js +298 -189
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
  221. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
  224. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  225. package/es-modules/Series/NodesComposition.js +101 -49
  226. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  227. package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
  228. package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
  229. package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
  230. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  231. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  232. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  233. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  234. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  235. package/es-modules/Series/Pie/PiePoint.js +15 -6
  236. package/es-modules/Series/Pie/PieSeries.js +51 -37
  237. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  238. package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
  239. package/es-modules/Series/PolarComposition.js +819 -0
  240. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  241. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  242. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  243. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  244. package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
  245. package/es-modules/Series/Sankey/SankeySeries.js +35 -136
  246. package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
  247. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  248. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  249. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  250. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  251. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  252. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  253. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
  255. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  257. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  258. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  259. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  260. package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
  261. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  262. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  263. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  264. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  265. package/es-modules/Series/Venn/VennPoint.js +5 -5
  266. package/es-modules/Series/Venn/VennSeries.js +9 -6
  267. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  268. package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
  269. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  271. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  272. package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
  273. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  274. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  275. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  278. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  283. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  284. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  285. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  286. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  287. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  288. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  289. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  290. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  291. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  292. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  293. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  294. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  295. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  296. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  297. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  298. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  299. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  300. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  301. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  302. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  303. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  304. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  305. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  306. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  307. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  308. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  309. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  310. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  311. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  312. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  313. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
  314. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  315. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  316. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  317. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  318. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  319. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  320. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  321. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  322. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  323. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  324. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  325. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  326. package/es-modules/Stock/StockToolsBindings.js +51 -43
  327. package/es-modules/Stock/StockToolsGui.js +1 -1
  328. package/es-modules/masters/highcharts-3d.src.js +1 -1
  329. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  330. package/es-modules/masters/highcharts-more.src.js +4 -4
  331. package/es-modules/masters/highcharts.src.js +1 -1
  332. package/es-modules/masters/highmaps.src.js +1 -1
  333. package/es-modules/masters/highstock.src.js +1 -1
  334. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  335. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  336. package/es-modules/masters/indicators/ao.src.js +1 -1
  337. package/es-modules/masters/indicators/apo.src.js +1 -1
  338. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  339. package/es-modules/masters/indicators/aroon.src.js +1 -1
  340. package/es-modules/masters/indicators/atr.src.js +1 -1
  341. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  342. package/es-modules/masters/indicators/cci.src.js +1 -1
  343. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  344. package/es-modules/masters/indicators/cmf.src.js +1 -1
  345. package/es-modules/masters/indicators/cmo.src.js +1 -1
  346. package/es-modules/masters/indicators/dema.src.js +1 -1
  347. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  348. package/es-modules/masters/indicators/dmi.src.js +1 -1
  349. package/es-modules/masters/indicators/dpo.src.js +1 -1
  350. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  351. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  352. package/es-modules/masters/indicators/indicators.src.js +1 -1
  353. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  354. package/es-modules/masters/indicators/klinger.src.js +1 -1
  355. package/es-modules/masters/indicators/macd.src.js +1 -1
  356. package/es-modules/masters/indicators/mfi.src.js +1 -1
  357. package/es-modules/masters/indicators/momentum.src.js +1 -1
  358. package/es-modules/masters/indicators/natr.src.js +1 -1
  359. package/es-modules/masters/indicators/obv.src.js +1 -1
  360. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  361. package/es-modules/masters/indicators/ppo.src.js +1 -1
  362. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  363. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  364. package/es-modules/masters/indicators/psar.src.js +1 -1
  365. package/es-modules/masters/indicators/regressions.src.js +1 -1
  366. package/es-modules/masters/indicators/roc.src.js +1 -1
  367. package/es-modules/masters/indicators/rsi.src.js +1 -1
  368. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  369. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  370. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  371. package/es-modules/masters/indicators/tema.src.js +1 -1
  372. package/es-modules/masters/indicators/trendline.src.js +1 -1
  373. package/es-modules/masters/indicators/trix.src.js +1 -1
  374. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  375. package/es-modules/masters/indicators/vwap.src.js +1 -1
  376. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  377. package/es-modules/masters/indicators/wma.src.js +1 -1
  378. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  379. package/es-modules/masters/modules/accessibility.src.js +1 -1
  380. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  381. package/es-modules/masters/modules/annotations.src.js +2 -2
  382. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  383. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  384. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  385. package/es-modules/masters/modules/boost.src.js +1 -1
  386. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  387. package/es-modules/masters/modules/bullet.src.js +1 -1
  388. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  389. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  390. package/es-modules/masters/modules/cylinder.src.js +1 -1
  391. package/es-modules/masters/modules/data.src.js +2 -1
  392. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  393. package/es-modules/masters/modules/debugger.src.js +1 -1
  394. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  395. package/es-modules/masters/modules/dotplot.src.js +1 -1
  396. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  397. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  398. package/es-modules/masters/modules/drilldown.src.js +2 -1
  399. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  400. package/es-modules/masters/modules/export-data.src.js +1 -1
  401. package/es-modules/masters/modules/exporting.src.js +1 -1
  402. package/es-modules/masters/modules/full-screen.src.js +1 -1
  403. package/es-modules/masters/modules/funnel.src.js +1 -1
  404. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  405. package/es-modules/masters/modules/gantt.src.js +1 -1
  406. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  407. package/es-modules/masters/modules/heatmap.src.js +1 -1
  408. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  409. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  410. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  411. package/es-modules/masters/modules/item-series.src.js +1 -1
  412. package/es-modules/masters/modules/lollipop.src.js +1 -1
  413. package/es-modules/masters/modules/map.src.js +5 -1
  414. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  415. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  416. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  417. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  418. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  419. package/es-modules/masters/modules/oldie.src.js +1 -1
  420. package/es-modules/masters/modules/organization.src.js +1 -1
  421. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  422. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  423. package/es-modules/masters/modules/pareto.src.js +1 -1
  424. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  425. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  426. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  427. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  428. package/es-modules/masters/modules/sankey.src.js +1 -1
  429. package/es-modules/masters/modules/series-label.src.js +5 -2
  430. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  431. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  432. package/es-modules/masters/modules/sonification.src.js +2 -6
  433. package/es-modules/masters/modules/static-scale.src.js +1 -1
  434. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  435. package/es-modules/masters/modules/stock.src.js +1 -1
  436. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  437. package/es-modules/masters/modules/sunburst.src.js +1 -1
  438. package/es-modules/masters/modules/tilemap.src.js +1 -1
  439. package/es-modules/masters/modules/timeline.src.js +1 -1
  440. package/es-modules/masters/modules/treegrid.src.js +1 -1
  441. package/es-modules/masters/modules/treemap.src.js +5 -1
  442. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  443. package/es-modules/masters/modules/variwide.src.js +1 -1
  444. package/es-modules/masters/modules/vector.src.js +1 -1
  445. package/es-modules/masters/modules/venn.src.js +1 -1
  446. package/es-modules/masters/modules/windbarb.src.js +1 -1
  447. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  448. package/es-modules/masters/modules/xrange.src.js +1 -1
  449. package/es-modules/masters/themes/avocado.src.js +1 -1
  450. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  451. package/es-modules/masters/themes/brand-light.src.js +1 -1
  452. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  453. package/es-modules/masters/themes/dark-green.src.js +1 -1
  454. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  455. package/es-modules/masters/themes/gray.src.js +1 -1
  456. package/es-modules/masters/themes/grid-light.src.js +1 -1
  457. package/es-modules/masters/themes/grid.src.js +1 -1
  458. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  459. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  460. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  461. package/es-modules/masters/themes/skies.src.js +1 -1
  462. package/es-modules/masters/themes/sunset.src.js +1 -1
  463. package/highcharts-3d.js +99 -98
  464. package/highcharts-3d.js.map +1 -1
  465. package/highcharts-3d.src.js +51 -21
  466. package/highcharts-gantt.js +811 -801
  467. package/highcharts-gantt.js.map +1 -1
  468. package/highcharts-gantt.src.js +2020 -1607
  469. package/highcharts-more.d.ts +10 -0
  470. package/highcharts-more.js +194 -194
  471. package/highcharts-more.js.map +1 -1
  472. package/highcharts-more.src.d.ts +10 -0
  473. package/highcharts-more.src.js +3512 -3364
  474. package/highcharts.d.ts +12336 -965
  475. package/highcharts.js +595 -586
  476. package/highcharts.js.map +1 -1
  477. package/highcharts.src.d.ts +12336 -965
  478. package/highcharts.src.js +1047 -665
  479. package/highmaps.js +763 -728
  480. package/highmaps.js.map +1 -1
  481. package/highmaps.src.js +4482 -2639
  482. package/highstock.js +798 -788
  483. package/highstock.js.map +1 -1
  484. package/highstock.src.js +1177 -739
  485. package/indicators/acceleration-bands.d.ts +1 -17
  486. package/indicators/acceleration-bands.js +11 -11
  487. package/indicators/acceleration-bands.js.map +1 -1
  488. package/indicators/acceleration-bands.src.d.ts +1 -17
  489. package/indicators/acceleration-bands.src.js +99 -100
  490. package/indicators/accumulation-distribution.js +5 -5
  491. package/indicators/accumulation-distribution.js.map +1 -1
  492. package/indicators/accumulation-distribution.src.js +11 -2
  493. package/indicators/ao.js +6 -6
  494. package/indicators/ao.js.map +1 -1
  495. package/indicators/ao.src.js +13 -4
  496. package/indicators/apo.js +5 -5
  497. package/indicators/apo.js.map +1 -1
  498. package/indicators/apo.src.js +11 -2
  499. package/indicators/aroon-oscillator.d.ts +1 -17
  500. package/indicators/aroon-oscillator.js +10 -10
  501. package/indicators/aroon-oscillator.js.map +1 -1
  502. package/indicators/aroon-oscillator.src.d.ts +1 -17
  503. package/indicators/aroon-oscillator.src.js +99 -100
  504. package/indicators/aroon.d.ts +1 -17
  505. package/indicators/aroon.js +11 -11
  506. package/indicators/aroon.js.map +1 -1
  507. package/indicators/aroon.src.d.ts +1 -17
  508. package/indicators/aroon.src.js +99 -100
  509. package/indicators/atr.js +5 -5
  510. package/indicators/atr.js.map +1 -1
  511. package/indicators/atr.src.js +11 -2
  512. package/indicators/bollinger-bands.d.ts +1 -17
  513. package/indicators/bollinger-bands.js +11 -12
  514. package/indicators/bollinger-bands.js.map +1 -1
  515. package/indicators/bollinger-bands.src.d.ts +1 -17
  516. package/indicators/bollinger-bands.src.js +102 -103
  517. package/indicators/cci.js +5 -5
  518. package/indicators/cci.js.map +1 -1
  519. package/indicators/cci.src.js +11 -2
  520. package/indicators/chaikin.js +8 -8
  521. package/indicators/chaikin.js.map +1 -1
  522. package/indicators/chaikin.src.js +11 -2
  523. package/indicators/cmf.js +6 -6
  524. package/indicators/cmf.js.map +1 -1
  525. package/indicators/cmf.src.js +11 -2
  526. package/indicators/cmo.js +5 -5
  527. package/indicators/cmo.js.map +1 -1
  528. package/indicators/cmo.src.js +11 -2
  529. package/indicators/dema.js +5 -5
  530. package/indicators/dema.js.map +1 -1
  531. package/indicators/dema.src.js +11 -2
  532. package/indicators/disparity-index.js +6 -6
  533. package/indicators/disparity-index.js.map +1 -1
  534. package/indicators/disparity-index.src.js +11 -2
  535. package/indicators/dmi.js +12 -12
  536. package/indicators/dmi.js.map +1 -1
  537. package/indicators/dmi.src.js +109 -106
  538. package/indicators/dpo.js +5 -5
  539. package/indicators/dpo.js.map +1 -1
  540. package/indicators/dpo.src.js +11 -2
  541. package/indicators/ema.js +2 -1
  542. package/indicators/ema.js.map +1 -1
  543. package/indicators/ema.src.js +10 -1
  544. package/indicators/ichimoku-kinko-hyo.js +16 -16
  545. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  546. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  547. package/indicators/indicators-all.d.ts +1 -17
  548. package/indicators/indicators-all.js +198 -196
  549. package/indicators/indicators-all.js.map +1 -1
  550. package/indicators/indicators-all.src.d.ts +1 -17
  551. package/indicators/indicators-all.src.js +151 -129
  552. package/indicators/indicators.js +13 -12
  553. package/indicators/indicators.js.map +1 -1
  554. package/indicators/indicators.src.js +21 -5
  555. package/indicators/keltner-channels.d.ts +1 -17
  556. package/indicators/keltner-channels.js +11 -11
  557. package/indicators/keltner-channels.js.map +1 -1
  558. package/indicators/keltner-channels.src.d.ts +1 -17
  559. package/indicators/keltner-channels.src.js +99 -100
  560. package/indicators/klinger.js +14 -14
  561. package/indicators/klinger.js.map +1 -1
  562. package/indicators/klinger.src.js +99 -100
  563. package/indicators/macd.js +13 -11
  564. package/indicators/macd.js.map +1 -1
  565. package/indicators/macd.src.js +35 -14
  566. package/indicators/mfi.js +6 -6
  567. package/indicators/mfi.js.map +1 -1
  568. package/indicators/mfi.src.js +11 -2
  569. package/indicators/momentum.js +5 -5
  570. package/indicators/momentum.js.map +1 -1
  571. package/indicators/momentum.src.js +11 -2
  572. package/indicators/natr.js +5 -4
  573. package/indicators/natr.js.map +1 -1
  574. package/indicators/natr.src.js +11 -2
  575. package/indicators/obv.js +5 -5
  576. package/indicators/obv.js.map +1 -1
  577. package/indicators/obv.src.js +11 -2
  578. package/indicators/pivot-points.js +11 -11
  579. package/indicators/pivot-points.js.map +1 -1
  580. package/indicators/pivot-points.src.js +11 -2
  581. package/indicators/ppo.js +5 -5
  582. package/indicators/ppo.js.map +1 -1
  583. package/indicators/ppo.src.js +11 -2
  584. package/indicators/price-channel.d.ts +1 -17
  585. package/indicators/price-channel.js +11 -11
  586. package/indicators/price-channel.js.map +1 -1
  587. package/indicators/price-channel.src.d.ts +1 -17
  588. package/indicators/price-channel.src.js +99 -100
  589. package/indicators/price-envelopes.js +8 -8
  590. package/indicators/price-envelopes.js.map +1 -1
  591. package/indicators/price-envelopes.src.js +11 -2
  592. package/indicators/psar.js +7 -6
  593. package/indicators/psar.js.map +1 -1
  594. package/indicators/psar.src.js +11 -2
  595. package/indicators/regressions.js +12 -12
  596. package/indicators/regressions.js.map +1 -1
  597. package/indicators/regressions.src.js +11 -2
  598. package/indicators/roc.js +5 -5
  599. package/indicators/roc.js.map +1 -1
  600. package/indicators/roc.src.js +11 -2
  601. package/indicators/rsi.js +6 -5
  602. package/indicators/rsi.js.map +1 -1
  603. package/indicators/rsi.src.js +11 -2
  604. package/indicators/slow-stochastic.js +5 -5
  605. package/indicators/slow-stochastic.js.map +1 -1
  606. package/indicators/slow-stochastic.src.js +11 -2
  607. package/indicators/stochastic.d.ts +1 -17
  608. package/indicators/stochastic.js +12 -12
  609. package/indicators/stochastic.js.map +1 -1
  610. package/indicators/stochastic.src.d.ts +1 -17
  611. package/indicators/stochastic.src.js +99 -100
  612. package/indicators/supertrend.js +10 -10
  613. package/indicators/supertrend.js.map +1 -1
  614. package/indicators/supertrend.src.js +14 -5
  615. package/indicators/tema.js +6 -6
  616. package/indicators/tema.js.map +1 -1
  617. package/indicators/tema.src.js +11 -2
  618. package/indicators/trendline.js +5 -5
  619. package/indicators/trendline.js.map +1 -1
  620. package/indicators/trendline.src.js +11 -2
  621. package/indicators/trix.js +4 -4
  622. package/indicators/trix.js.map +1 -1
  623. package/indicators/trix.src.js +11 -2
  624. package/indicators/volume-by-price.js +17 -17
  625. package/indicators/volume-by-price.js.map +1 -1
  626. package/indicators/volume-by-price.src.js +11 -2
  627. package/indicators/vwap.js +5 -5
  628. package/indicators/vwap.js.map +1 -1
  629. package/indicators/vwap.src.js +11 -2
  630. package/indicators/williams-r.js +6 -5
  631. package/indicators/williams-r.js.map +1 -1
  632. package/indicators/williams-r.src.js +11 -2
  633. package/indicators/wma.js +5 -5
  634. package/indicators/wma.js.map +1 -1
  635. package/indicators/wma.src.js +11 -2
  636. package/indicators/zigzag.js +6 -6
  637. package/indicators/zigzag.js.map +1 -1
  638. package/indicators/zigzag.src.js +11 -2
  639. package/lib/jspdf.js +299 -184
  640. package/lib/jspdf.src.js +25266 -18067
  641. package/lib/svg2pdf.js +35 -31
  642. package/lib/svg2pdf.src.js +5721 -4179
  643. package/modules/accessibility.js +242 -237
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.js +599 -390
  646. package/modules/annotations-advanced.js +192 -192
  647. package/modules/annotations-advanced.js.map +1 -1
  648. package/modules/annotations-advanced.src.js +96 -47
  649. package/modules/annotations.js +126 -126
  650. package/modules/annotations.js.map +1 -1
  651. package/modules/annotations.src.js +67 -25
  652. package/modules/arc-diagram.js +25 -0
  653. package/modules/arc-diagram.js.map +1 -0
  654. package/modules/arc-diagram.src.js +778 -0
  655. package/modules/arrow-symbols.js +4 -3
  656. package/modules/arrow-symbols.js.map +1 -1
  657. package/modules/arrow-symbols.src.js +11 -2
  658. package/modules/boost-canvas.js +16 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +22 -7
  661. package/modules/boost.js +81 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +90 -51
  664. package/modules/broken-axis.js +13 -13
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +11 -2
  667. package/modules/bullet.js +9 -9
  668. package/modules/bullet.js.map +1 -1
  669. package/modules/bullet.src.js +12 -6
  670. package/modules/coloraxis.js +24 -24
  671. package/modules/coloraxis.js.map +1 -1
  672. package/modules/coloraxis.src.js +37 -11
  673. package/modules/current-date-indicator.js +5 -4
  674. package/modules/current-date-indicator.js.map +1 -1
  675. package/modules/current-date-indicator.src.js +12 -3
  676. package/modules/cylinder.js +11 -11
  677. package/modules/cylinder.js.map +1 -1
  678. package/modules/cylinder.src.js +11 -2
  679. package/modules/data.d.ts +12 -12
  680. package/modules/data.js +33 -33
  681. package/modules/data.js.map +1 -1
  682. package/modules/data.src.d.ts +12 -12
  683. package/modules/data.src.js +906 -846
  684. package/modules/datagrouping.js +21 -20
  685. package/modules/datagrouping.js.map +1 -1
  686. package/modules/datagrouping.src.js +19 -5
  687. package/modules/debugger.js +8 -7
  688. package/modules/debugger.js.map +1 -1
  689. package/modules/debugger.src.js +15 -2
  690. package/modules/dependency-wheel.js +12 -11
  691. package/modules/dependency-wheel.js.map +1 -1
  692. package/modules/dependency-wheel.src.js +14 -5
  693. package/modules/dotplot.js +6 -6
  694. package/modules/dotplot.js.map +1 -1
  695. package/modules/dotplot.src.js +11 -2
  696. package/modules/drag-panes.js +10 -10
  697. package/modules/drag-panes.js.map +1 -1
  698. package/modules/drag-panes.src.js +12 -3
  699. package/modules/draggable-points.js +35 -34
  700. package/modules/draggable-points.js.map +1 -1
  701. package/modules/draggable-points.src.js +20 -9
  702. package/modules/drilldown.d.ts +19 -0
  703. package/modules/drilldown.js +37 -25
  704. package/modules/drilldown.js.map +1 -1
  705. package/modules/drilldown.src.d.ts +19 -0
  706. package/modules/drilldown.src.js +1124 -108
  707. package/modules/dumbbell.d.ts +4 -0
  708. package/modules/dumbbell.js +17 -17
  709. package/modules/dumbbell.js.map +1 -1
  710. package/modules/dumbbell.src.d.ts +4 -0
  711. package/modules/dumbbell.src.js +34 -13
  712. package/modules/export-data.js +24 -21
  713. package/modules/export-data.js.map +1 -1
  714. package/modules/export-data.src.js +87 -14
  715. package/modules/exporting.d.ts +8 -8
  716. package/modules/exporting.js +39 -39
  717. package/modules/exporting.js.map +1 -1
  718. package/modules/exporting.src.d.ts +8 -8
  719. package/modules/exporting.src.js +270 -135
  720. package/modules/full-screen.js +8 -7
  721. package/modules/full-screen.js.map +1 -1
  722. package/modules/full-screen.src.js +135 -58
  723. package/modules/funnel.js +12 -12
  724. package/modules/funnel.js.map +1 -1
  725. package/modules/funnel.src.js +13 -4
  726. package/modules/funnel3d.js +21 -21
  727. package/modules/funnel3d.js.map +1 -1
  728. package/modules/funnel3d.src.js +11 -2
  729. package/modules/gantt.js +218 -217
  730. package/modules/gantt.js.map +1 -1
  731. package/modules/gantt.src.js +983 -943
  732. package/modules/grid-axis.js +23 -23
  733. package/modules/grid-axis.js.map +1 -1
  734. package/modules/grid-axis.src.js +900 -890
  735. package/modules/heatmap.js +40 -39
  736. package/modules/heatmap.js.map +1 -1
  737. package/modules/heatmap.src.js +160 -113
  738. package/modules/heikinashi.js +8 -8
  739. package/modules/heikinashi.js.map +1 -1
  740. package/modules/heikinashi.src.js +11 -2
  741. package/modules/histogram-bellcurve.js +13 -13
  742. package/modules/histogram-bellcurve.js.map +1 -1
  743. package/modules/histogram-bellcurve.src.js +11 -2
  744. package/modules/hollowcandlestick.js +9 -9
  745. package/modules/hollowcandlestick.js.map +1 -1
  746. package/modules/hollowcandlestick.src.js +19 -10
  747. package/modules/item-series.js +12 -12
  748. package/modules/item-series.js.map +1 -1
  749. package/modules/item-series.src.js +11 -2
  750. package/modules/lollipop.js +7 -7
  751. package/modules/lollipop.js.map +1 -1
  752. package/modules/lollipop.src.js +12 -3
  753. package/modules/map.d.ts +80 -43
  754. package/modules/map.js +171 -144
  755. package/modules/map.js.map +1 -1
  756. package/modules/map.src.d.ts +80 -43
  757. package/modules/map.src.js +8292 -6822
  758. package/modules/marker-clusters.js +36 -36
  759. package/modules/marker-clusters.js.map +1 -1
  760. package/modules/marker-clusters.src.js +48 -28
  761. package/modules/networkgraph.d.ts +1 -12
  762. package/modules/networkgraph.js +46 -45
  763. package/modules/networkgraph.js.map +1 -1
  764. package/modules/networkgraph.src.d.ts +1 -12
  765. package/modules/networkgraph.src.js +127 -55
  766. package/modules/no-data-to-display.js +5 -5
  767. package/modules/no-data-to-display.js.map +1 -1
  768. package/modules/no-data-to-display.src.js +12 -3
  769. package/modules/offline-exporting.js +20 -18
  770. package/modules/offline-exporting.js.map +1 -1
  771. package/modules/offline-exporting.src.js +129 -28
  772. package/modules/oldie-polyfills.js +7 -7
  773. package/modules/oldie-polyfills.js.map +1 -1
  774. package/modules/oldie-polyfills.src.js +11 -2
  775. package/modules/oldie.js +30 -30
  776. package/modules/oldie.js.map +1 -1
  777. package/modules/oldie.src.js +13 -4
  778. package/modules/organization.js +16 -14
  779. package/modules/organization.js.map +1 -1
  780. package/modules/organization.src.js +168 -34
  781. package/modules/overlapping-datalabels.js +3 -2
  782. package/modules/overlapping-datalabels.js.map +1 -1
  783. package/modules/overlapping-datalabels.src.js +11 -2
  784. package/modules/parallel-coordinates.js +11 -11
  785. package/modules/parallel-coordinates.js.map +1 -1
  786. package/modules/parallel-coordinates.src.js +12 -3
  787. package/modules/pareto.js +7 -7
  788. package/modules/pareto.js.map +1 -1
  789. package/modules/pareto.src.js +11 -2
  790. package/modules/pathfinder.js +31 -31
  791. package/modules/pathfinder.js.map +1 -1
  792. package/modules/pathfinder.src.js +11 -2
  793. package/modules/pattern-fill.js +15 -14
  794. package/modules/pattern-fill.js.map +1 -1
  795. package/modules/pattern-fill.src.js +25 -3
  796. package/modules/price-indicator.js +5 -5
  797. package/modules/price-indicator.js.map +1 -1
  798. package/modules/price-indicator.src.js +11 -2
  799. package/modules/pyramid3d.js +4 -4
  800. package/modules/pyramid3d.js.map +1 -1
  801. package/modules/pyramid3d.src.js +11 -2
  802. package/modules/sankey.d.ts +1 -12
  803. package/modules/sankey.js +32 -29
  804. package/modules/sankey.js.map +1 -1
  805. package/modules/sankey.src.d.ts +1 -12
  806. package/modules/sankey.src.js +422 -207
  807. package/modules/series-label.js +18 -17
  808. package/modules/series-label.js.map +1 -1
  809. package/modules/series-label.src.js +482 -386
  810. package/modules/series-on-point.js +18 -0
  811. package/modules/series-on-point.js.map +1 -0
  812. package/modules/series-on-point.src.js +464 -0
  813. package/modules/solid-gauge.js +10 -10
  814. package/modules/solid-gauge.js.map +1 -1
  815. package/modules/solid-gauge.src.js +15 -6
  816. package/modules/sonification.js +59 -59
  817. package/modules/sonification.js.map +1 -1
  818. package/modules/sonification.src.js +13 -8
  819. package/modules/static-scale.js +5 -4
  820. package/modules/static-scale.js.map +1 -1
  821. package/modules/static-scale.src.js +11 -2
  822. package/modules/stock-tools.js +167 -167
  823. package/modules/stock-tools.js.map +1 -1
  824. package/modules/stock-tools.src.js +118 -67
  825. package/modules/stock.js +205 -204
  826. package/modules/stock.js.map +1 -1
  827. package/modules/stock.src.js +141 -76
  828. package/modules/streamgraph.js +5 -4
  829. package/modules/streamgraph.js.map +1 -1
  830. package/modules/streamgraph.src.js +11 -2
  831. package/modules/sunburst.d.ts +3 -0
  832. package/modules/sunburst.js +73 -60
  833. package/modules/sunburst.js.map +1 -1
  834. package/modules/sunburst.src.d.ts +3 -0
  835. package/modules/sunburst.src.js +1391 -406
  836. package/modules/tilemap.js +17 -17
  837. package/modules/tilemap.js.map +1 -1
  838. package/modules/tilemap.src.js +11 -2
  839. package/modules/timeline.js +18 -18
  840. package/modules/timeline.js.map +1 -1
  841. package/modules/timeline.src.js +14 -5
  842. package/modules/treegrid.js +57 -56
  843. package/modules/treegrid.js.map +1 -1
  844. package/modules/treegrid.src.js +913 -892
  845. package/modules/treemap.d.ts +3 -0
  846. package/modules/treemap.js +54 -41
  847. package/modules/treemap.js.map +1 -1
  848. package/modules/treemap.src.d.ts +3 -0
  849. package/modules/treemap.src.js +1229 -255
  850. package/modules/variable-pie.js +9 -9
  851. package/modules/variable-pie.js.map +1 -1
  852. package/modules/variable-pie.src.js +11 -2
  853. package/modules/variwide.js +12 -12
  854. package/modules/variwide.js.map +1 -1
  855. package/modules/variwide.src.js +11 -2
  856. package/modules/vector.js +8 -7
  857. package/modules/vector.js.map +1 -1
  858. package/modules/vector.src.js +11 -2
  859. package/modules/venn.js +31 -31
  860. package/modules/venn.js.map +1 -1
  861. package/modules/venn.src.js +88 -105
  862. package/modules/windbarb.js +15 -15
  863. package/modules/windbarb.js.map +1 -1
  864. package/modules/windbarb.src.js +11 -2
  865. package/modules/wordcloud.js +23 -23
  866. package/modules/wordcloud.js.map +1 -1
  867. package/modules/wordcloud.src.js +92 -109
  868. package/modules/xrange.js +16 -16
  869. package/modules/xrange.js.map +1 -1
  870. package/modules/xrange.src.js +11 -2
  871. package/package.json +1 -1
  872. package/themes/avocado.js +4 -3
  873. package/themes/avocado.js.map +1 -1
  874. package/themes/avocado.src.js +11 -2
  875. package/themes/brand-dark.js +9 -8
  876. package/themes/brand-dark.js.map +1 -1
  877. package/themes/brand-dark.src.js +11 -2
  878. package/themes/brand-light.js +8 -8
  879. package/themes/brand-light.js.map +1 -1
  880. package/themes/brand-light.src.js +11 -2
  881. package/themes/dark-blue.js +9 -8
  882. package/themes/dark-blue.js.map +1 -1
  883. package/themes/dark-blue.src.js +11 -2
  884. package/themes/dark-green.js +9 -8
  885. package/themes/dark-green.js.map +1 -1
  886. package/themes/dark-green.src.js +11 -2
  887. package/themes/dark-unica.js +8 -7
  888. package/themes/dark-unica.js.map +1 -1
  889. package/themes/dark-unica.src.js +11 -2
  890. package/themes/gray.js +9 -8
  891. package/themes/gray.js.map +1 -1
  892. package/themes/gray.src.js +11 -2
  893. package/themes/grid-light.js +5 -4
  894. package/themes/grid-light.js.map +1 -1
  895. package/themes/grid-light.src.js +11 -2
  896. package/themes/grid.js +5 -5
  897. package/themes/grid.js.map +1 -1
  898. package/themes/grid.src.js +11 -2
  899. package/themes/high-contrast-dark.js +7 -7
  900. package/themes/high-contrast-dark.js.map +1 -1
  901. package/themes/high-contrast-dark.src.js +21 -12
  902. package/themes/high-contrast-light.js +3 -3
  903. package/themes/high-contrast-light.js.map +1 -1
  904. package/themes/high-contrast-light.src.js +21 -12
  905. package/themes/sand-signika.js +5 -5
  906. package/themes/sand-signika.js.map +1 -1
  907. package/themes/sand-signika.src.js +11 -2
  908. package/themes/skies.js +5 -5
  909. package/themes/skies.js.map +1 -1
  910. package/themes/skies.src.js +11 -2
  911. package/themes/sunset.js +3 -3
  912. package/themes/sunset.js.map +1 -1
  913. package/themes/sunset.src.js +11 -2
  914. package/es-modules/Extensions/Polar.js +0 -740
  915. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  916. package/es-modules/Series/ColorMapMixin.js +0 -84
  917. package/es-modules/Series/DrawPointComposition.js +0 -111
@@ -19,493 +19,61 @@ import Point from '../Core/Series/Point.js';
19
19
  import SeriesRegistry from '../Core/Series/SeriesRegistry.js';
20
20
  var seriesTypes = SeriesRegistry.seriesTypes;
21
21
  import U from '../Core/Utilities.js';
22
+ import D from '../Core/DefaultOptions.js';
23
+ var getOptions = D.getOptions;
22
24
  var addEvent = U.addEvent, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
23
- /**
24
- * Callback function to modify the CSV before parsing it by the data module.
25
- *
26
- * @callback Highcharts.DataBeforeParseCallbackFunction
27
- *
28
- * @param {string} csv
29
- * The CSV to modify.
30
- *
31
- * @return {string}
32
- * The CSV to parse.
33
- */
34
- /**
35
- * Callback function that gets called after parsing data.
36
- *
37
- * @callback Highcharts.DataCompleteCallbackFunction
38
- *
39
- * @param {Highcharts.Options} chartOptions
40
- * The chart options that were used.
41
- */
42
- /**
43
- * Callback function that returns the correspondig Date object to a match.
44
- *
45
- * @callback Highcharts.DataDateFormatCallbackFunction
46
- *
47
- * @param {Array<number>} match
48
- *
49
- * @return {number}
50
- */
51
- /**
52
- * Structure for alternative date formats to parse.
53
- *
54
- * @interface Highcharts.DataDateFormatObject
55
- */ /**
56
- * @name Highcharts.DataDateFormatObject#alternative
57
- * @type {string|undefined}
58
- */ /**
59
- * @name Highcharts.DataDateFormatObject#parser
60
- * @type {Highcharts.DataDateFormatCallbackFunction}
61
- */ /**
62
- * @name Highcharts.DataDateFormatObject#regex
63
- * @type {global.RegExp}
64
- */
65
- /**
66
- * Possible types for a data item in a column or row.
67
- *
68
- * @typedef {number|string|null} Highcharts.DataValueType
69
- */
70
- /**
71
- * Callback function to parse string representations of dates into
72
- * JavaScript timestamps (milliseconds since 1.1.1970).
73
- *
74
- * @callback Highcharts.DataParseDateCallbackFunction
75
- *
76
- * @param {string} dateValue
77
- *
78
- * @return {number}
79
- * Timestamp (milliseconds since 1.1.1970) as integer for Date class.
80
- */
81
- /**
82
- * Callback function to access the parsed columns, the two-dimentional
83
- * input data array directly, before they are interpreted into series
84
- * data and categories.
85
- *
86
- * @callback Highcharts.DataParsedCallbackFunction
87
- *
88
- * @param {Array<Array<*>>} columns
89
- * The parsed columns by the data module.
90
- *
91
- * @return {boolean|undefined}
92
- * Return `false` to stop completion, or call `this.complete()` to
93
- * continue async.
94
- */
95
- /**
96
- * The Data module provides a simplified interface for adding data to
97
- * a chart from sources like CVS, HTML tables or grid views. See also
98
- * the [tutorial article on the Data module](
99
- * https://www.highcharts.com/docs/working-with-data/data-module).
100
- *
101
- * It requires the `modules/data.js` file to be loaded.
102
- *
103
- * Please note that the default way of adding data in Highcharts, without
104
- * the need of a module, is through the [series._type_.data](#series.line.data)
105
- * option.
106
- *
107
- * @sample {highcharts} highcharts/demo/column-parsed/
108
- * HTML table
109
- * @sample {highcharts} highcharts/data/csv/
110
- * CSV
111
- *
112
- * @since 4.0
113
- * @requires modules/data
114
- * @apioption data
115
- */
116
- /**
117
- * A callback function to modify the CSV before parsing it. Return the modified
118
- * string.
119
- *
120
- * @sample {highcharts} highcharts/demo/line-ajax/
121
- * Modify CSV before parse
122
- *
123
- * @type {Highcharts.DataBeforeParseCallbackFunction}
124
- * @since 6.1
125
- * @apioption data.beforeParse
126
- */
127
- /**
128
- * A two-dimensional array representing the input data on tabular form.
129
- * This input can be used when the data is already parsed, for example
130
- * from a grid view component. Each cell can be a string or number.
131
- * If not switchRowsAndColumns is set, the columns are interpreted as
132
- * series.
133
- *
134
- * @see [data.rows](#data.rows)
135
- *
136
- * @sample {highcharts} highcharts/data/columns/
137
- * Columns
138
- *
139
- * @type {Array<Array<Highcharts.DataValueType>>}
140
- * @since 4.0
141
- * @apioption data.columns
142
- */
143
- /**
144
- * The callback that is evaluated when the data is finished loading,
145
- * optionally from an external source, and parsed. The first argument
146
- * passed is a finished chart options object, containing the series.
147
- * These options can be extended with additional options and passed
148
- * directly to the chart constructor.
149
- *
150
- * @see [data.parsed](#data.parsed)
151
- *
152
- * @sample {highcharts} highcharts/data/complete/
153
- * Modify data on complete
154
- *
155
- * @type {Highcharts.DataCompleteCallbackFunction}
156
- * @since 4.0
157
- * @apioption data.complete
158
- */
159
- /**
160
- * A comma delimited string to be parsed. Related options are [startRow](
161
- * #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
162
- * and [endColumn](#data.endColumn) to delimit what part of the table
163
- * is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
164
- * #data.itemDelimiter) options define the CSV delimiter formats.
165
- *
166
- * The built-in CSV parser doesn't support all flavours of CSV, so in
167
- * some cases it may be necessary to use an external CSV parser. See
168
- * [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
169
- * CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
170
- * library.
171
- *
172
- * @sample {highcharts} highcharts/data/csv/
173
- * Data from CSV
174
- *
175
- * @type {string}
176
- * @since 4.0
177
- * @apioption data.csv
178
- */
179
- /**
180
- * Which of the predefined date formats in Date.prototype.dateFormats
181
- * to use to parse date values. Defaults to a best guess based on what
182
- * format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
183
- * `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
184
- *
185
- * @see [data.parseDate](#data.parseDate)
186
- *
187
- * @sample {highcharts} highcharts/data/dateformat-auto/
188
- * Best guess date format
189
- *
190
- * @type {string}
191
- * @since 4.0
192
- * @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
193
- * "dd/mm/YY", "mm/dd/YY"]
194
- * @apioption data.dateFormat
195
- */
196
- /**
197
- * The decimal point used for parsing numbers in the CSV.
198
- *
199
- * If both this and data.delimiter is set to `undefined`, the parser will
200
- * attempt to deduce the decimal point automatically.
201
- *
202
- * @sample {highcharts} highcharts/data/delimiters/
203
- * Comma as decimal point
204
- *
205
- * @type {string}
206
- * @default .
207
- * @since 4.1.0
208
- * @apioption data.decimalPoint
209
- */
210
- /**
211
- * In tabular input data, the last column (indexed by 0) to use. Defaults
212
- * to the last column containing data.
25
+ /* *
213
26
  *
214
- * @sample {highcharts} highcharts/data/start-end/
215
- * Limited data
27
+ * Functions
216
28
  *
217
- * @type {number}
218
- * @since 4.0
219
- * @apioption data.endColumn
220
- */
29
+ * */
221
30
  /**
222
- * In tabular input data, the last row (indexed by 0) to use. Defaults
223
- * to the last row containing data.
224
- *
225
- * @sample {highcharts} highcharts/data/start-end/
226
- * Limited data
227
- *
228
- * @type {number}
229
- * @since 4.0.4
230
- * @apioption data.endRow
31
+ * @private
231
32
  */
232
- /**
233
- * Whether to use the first row in the data set as series names.
33
+ function getFreeIndexes(numberOfColumns, seriesBuilders) {
34
+ var freeIndexes = [], freeIndexValues = [];
35
+ var s, i, referencedIndexes;
36
+ // Add all columns as free
37
+ for (i = 0; i < numberOfColumns; i = i + 1) {
38
+ freeIndexes.push(true);
39
+ }
40
+ // Loop all defined builders and remove their referenced columns
41
+ for (s = 0; s < seriesBuilders.length; s = s + 1) {
42
+ referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
43
+ for (i = 0; i < referencedIndexes.length; i = i + 1) {
44
+ freeIndexes[referencedIndexes[i]] = false;
45
+ }
46
+ }
47
+ // Collect the values for the free indexes
48
+ for (i = 0; i < freeIndexes.length; i = i + 1) {
49
+ if (freeIndexes[i]) {
50
+ freeIndexValues.push(i);
51
+ }
52
+ }
53
+ return freeIndexValues;
54
+ }
55
+ function hasURLOption(options) {
56
+ return Boolean(options &&
57
+ (options.rowsURL || options.csvURL || options.columnsURL));
58
+ }
59
+ /* *
234
60
  *
235
- * @sample {highcharts} highcharts/data/start-end/
236
- * Don't get series names from the CSV
237
- * @sample {highstock} highcharts/data/start-end/
238
- * Don't get series names from the CSV
61
+ * Class
239
62
  *
240
- * @type {boolean}
241
- * @default true
242
- * @since 4.1.0
243
- * @product highcharts highstock gantt
244
- * @apioption data.firstRowAsNames
245
- */
63
+ * */
246
64
  /**
247
- * The Google Spreadsheet API key required for access generated at [API Services
248
- * / Credentials](https://console.cloud.google.com/apis/credentials). See a
249
- * comprehensive tutorial for setting up the key at the
250
- * [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
251
- * book website.
65
+ * The Data class
252
66
  *
253
- * @sample {highcharts} highcharts/data/google-spreadsheet/
254
- * Load a Google Spreadsheet
67
+ * @requires module:modules/data
255
68
  *
256
- * @type {string}
257
- * @since 9.2.2
258
- * @apioption data.googleAPIKey
259
- */
260
- /**
261
- * The key or `spreadsheetId` value for a Google Spreadsheet to load. See
262
- * [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
263
- * for how to find the `spreadsheetId`.
69
+ * @class
70
+ * @name Highcharts.Data
264
71
  *
265
- * In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
266
- * must also be given.
72
+ * @param {Highcharts.DataOptions} dataOptions
267
73
  *
268
- * @sample {highcharts} highcharts/data/google-spreadsheet/
269
- * Load a Google Spreadsheet
74
+ * @param {Highcharts.Options} [chartOptions]
270
75
  *
271
- * @type {string}
272
- * @since 4.0
273
- * @apioption data.googleSpreadsheetKey
274
- */
275
- /**
276
- * The Google Spreadsheet `range` to use in combination with
277
- * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
278
- * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
279
- * for details.
280
- *
281
- * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
282
- * `endRow`.
283
- *
284
- * @example
285
- * googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
286
- * googleSpreadsheetRange: 'A:Z' // Load columns A to Z
287
- *
288
- * @sample {highcharts} highcharts/data/google-spreadsheet/
289
- * Load a Google Spreadsheet
290
- *
291
- * @type {string|undefined}
292
- * @since 9.2.2
293
- * @apioption data.googleSpreadsheetRange
294
- */
295
- /**
296
- * No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
297
- * the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
298
- * specific sheet.
299
- *
300
- * @deprecated
301
- * @type {string}
302
- * @since 4.0
303
- * @apioption data.googleSpreadsheetWorksheet
304
- */
305
- /**
306
- * Item or cell delimiter for parsing CSV. Defaults to the tab character
307
- * `\t` if a tab character is found in the CSV string, if not it defaults
308
- * to `,`.
309
- *
310
- * If this is set to false or undefined, the parser will attempt to deduce
311
- * the delimiter automatically.
312
- *
313
- * @sample {highcharts} highcharts/data/delimiters/
314
- * Delimiters
315
- *
316
- * @type {string}
317
- * @since 4.0
318
- * @apioption data.itemDelimiter
319
- */
320
- /**
321
- * Line delimiter for parsing CSV.
322
- *
323
- * @sample {highcharts} highcharts/data/delimiters/
324
- * Delimiters
325
- *
326
- * @type {string}
327
- * @default \n
328
- * @since 4.0
329
- * @apioption data.lineDelimiter
330
- */
331
- /**
332
- * A callback function to access the parsed columns, the two-dimentional
333
- * input data array directly, before they are interpreted into series
334
- * data and categories. Return `false` to stop completion, or call
335
- * `this.complete()` to continue async.
336
- *
337
- * @see [data.complete](#data.complete)
338
- *
339
- * @sample {highcharts} highcharts/data/parsed/
340
- * Modify data after parse
341
- *
342
- * @type {Highcharts.DataParsedCallbackFunction}
343
- * @since 4.0
344
- * @apioption data.parsed
345
- */
346
- /**
347
- * A callback function to parse string representations of dates into
348
- * JavaScript timestamps. Should return an integer timestamp on success.
349
- *
350
- * @see [dateFormat](#data.dateFormat)
351
- *
352
- * @type {Highcharts.DataParseDateCallbackFunction}
353
- * @since 4.0
354
- * @apioption data.parseDate
355
- */
356
- /**
357
- * The same as the columns input option, but defining rows intead of
358
- * columns.
359
- *
360
- * @see [data.columns](#data.columns)
361
- *
362
- * @sample {highcharts} highcharts/data/rows/
363
- * Data in rows
364
- *
365
- * @type {Array<Array<Highcharts.DataValueType>>}
366
- * @since 4.0
367
- * @apioption data.rows
368
- */
369
- /**
370
- * An array containing dictionaries for each series. A dictionary exists of
371
- * Point property names as the key and the CSV column index as the value.
372
- *
373
- * @sample {highcharts} highcharts/data/seriesmapping-label/
374
- * Label from data set
375
- *
376
- * @type {Array<Highcharts.Dictionary<number>>}
377
- * @since 4.0.4
378
- * @apioption data.seriesMapping
379
- */
380
- /**
381
- * In tabular input data, the first column (indexed by 0) to use.
382
- *
383
- * @sample {highcharts} highcharts/data/start-end/
384
- * Limited data
385
- *
386
- * @type {number}
387
- * @default 0
388
- * @since 4.0
389
- * @apioption data.startColumn
390
- */
391
- /**
392
- * In tabular input data, the first row (indexed by 0) to use.
393
- *
394
- * @sample {highcharts} highcharts/data/start-end/
395
- * Limited data
396
- *
397
- * @type {number}
398
- * @default 0
399
- * @since 4.0
400
- * @apioption data.startRow
401
- */
402
- /**
403
- * Switch rows and columns of the input data, so that `this.columns`
404
- * effectively becomes the rows of the data set, and the rows are interpreted
405
- * as series.
406
- *
407
- * @sample {highcharts} highcharts/data/switchrowsandcolumns/
408
- * Switch rows and columns
409
- *
410
- * @type {boolean}
411
- * @default false
412
- * @since 4.0
413
- * @apioption data.switchRowsAndColumns
414
- */
415
- /**
416
- * An HTML table or the id of such to be parsed as input data. Related
417
- * options are `startRow`, `endRow`, `startColumn` and `endColumn` to
418
- * delimit what part of the table is used.
419
- *
420
- * @sample {highcharts} highcharts/demo/column-parsed/
421
- * Parsed table
422
- *
423
- * @type {string|global.HTMLElement}
424
- * @since 4.0
425
- * @apioption data.table
426
- */
427
- /**
428
- * An URL to a remote CSV dataset. Will be fetched when the chart is created
429
- * using Ajax.
430
- *
431
- * @sample highcharts/data/livedata-columns
432
- * Categorized bar chart with CSV and live polling
433
- * @sample highcharts/data/livedata-csv
434
- * Time based line chart with CSV and live polling
435
- *
436
- * @type {string}
437
- * @apioption data.csvURL
438
- */
439
- /**
440
- * A URL to a remote JSON dataset, structured as a row array.
441
- * Will be fetched when the chart is created using Ajax.
442
- *
443
- * @sample highcharts/data/livedata-rows
444
- * Rows with live polling
445
- *
446
- * @type {string}
447
- * @apioption data.rowsURL
448
- */
449
- /**
450
- * A URL to a remote JSON dataset, structured as a column array.
451
- * Will be fetched when the chart is created using Ajax.
452
- *
453
- * @sample highcharts/data/livedata-columns
454
- * Columns with live polling
455
- *
456
- * @type {string}
457
- * @apioption data.columnsURL
458
- */
459
- /**
460
- * Sets the refresh rate for data polling when importing remote dataset by
461
- * setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
462
- * [data.columnsURL](data.columnsURL), or
463
- * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
464
- *
465
- * Note that polling must be enabled by setting
466
- * [data.enablePolling](data.enablePolling) to true.
467
- *
468
- * The value is the number of seconds between pollings.
469
- * It cannot be set to less than 1 second.
470
- *
471
- * @sample highcharts/demo/live-data
472
- * Live data with user set refresh rate
473
- *
474
- * @default 1
475
- * @type {number}
476
- * @apioption data.dataRefreshRate
477
- */
478
- /**
479
- * Enables automatic refetching of remote datasets every _n_ seconds (defined by
480
- * setting [data.dataRefreshRate](data.dataRefreshRate)).
481
- *
482
- * Only works when either [data.csvURL](data.csvURL),
483
- * [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
484
- * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
485
- *
486
- * @sample highcharts/demo/live-data
487
- * Live data
488
- * @sample highcharts/data/livedata-columns
489
- * Categorized bar chart with CSV and live polling
490
- *
491
- * @type {boolean}
492
- * @default false
493
- * @apioption data.enablePolling
494
- */
495
- /* eslint-disable valid-jsdoc */
496
- /**
497
- * The Data class
498
- *
499
- * @requires module:modules/data
500
- *
501
- * @class
502
- * @name Highcharts.Data
503
- *
504
- * @param {Highcharts.DataOptions} dataOptions
505
- *
506
- * @param {Highcharts.Options} [chartOptions]
507
- *
508
- * @param {Highcharts.Chart} [chart]
76
+ * @param {Highcharts.Chart} [chart]
509
77
  */
510
78
  var Data = /** @class */ (function () {
511
79
  /* *
@@ -514,11 +82,8 @@ var Data = /** @class */ (function () {
514
82
  *
515
83
  * */
516
84
  function Data(dataOptions, chartOptions, chart) {
517
- this.chart = void 0;
518
- this.chartOptions = void 0;
519
- this.firstRowAsNames = void 0;
520
- this.rawColumns = void 0;
521
- this.options = void 0;
85
+ if (chartOptions === void 0) { chartOptions = {}; }
86
+ this.rowsToColumns = Data.rowsToColumns; // backwards compatibility
522
87
  /**
523
88
  * A collection of available date formats, extendable from the outside to
524
89
  * support custom date formats.
@@ -558,7 +123,8 @@ var Data = /** @class */ (function () {
558
123
  if (!match) {
559
124
  return NaN;
560
125
  }
561
- var year = +match[3], d = new Date();
126
+ var d = new Date();
127
+ var year = +match[3];
562
128
  if (year > (d.getFullYear() - 2000)) {
563
129
  year += 1900;
564
130
  }
@@ -578,50 +144,90 @@ var Data = /** @class */ (function () {
578
144
  }
579
145
  }
580
146
  };
147
+ this.chart = chart;
148
+ this.chartOptions = chartOptions;
149
+ this.options = dataOptions;
150
+ this.rawColumns = [];
581
151
  this.init(dataOptions, chartOptions, chart);
582
152
  }
583
153
  /* *
584
154
  *
585
- * Functions
155
+ * Static Properties
586
156
  *
587
157
  * */
588
158
  /**
589
- * Initialize the Data object with the given options
159
+ * Creates a data object to parse data for a chart.
590
160
  *
591
- * @private
592
- * @function Highcharts.Data#init
161
+ * @function Highcharts.data
593
162
  */
594
- Data.prototype.init = function (options, chartOptions, chart) {
595
- var decimalPoint = options.decimalPoint, hasData;
596
- if (chartOptions) {
597
- this.chartOptions = chartOptions;
598
- }
599
- if (chart) {
600
- this.chart = chart;
601
- }
602
- if (decimalPoint !== '.' && decimalPoint !== ',') {
603
- decimalPoint = void 0;
604
- }
605
- this.options = options;
606
- this.columns = (options.columns ||
607
- this.rowsToColumns(options.rows) ||
608
- []);
609
- this.firstRowAsNames = pick(options.firstRowAsNames, this.firstRowAsNames, true);
610
- this.decimalRegex = (decimalPoint &&
611
- new RegExp('^(-?[0-9]+)' + decimalPoint + '([0-9]+)$'));
612
- // This is a two-dimensional array holding the raw, trimmed string
613
- // values with the same organisation as the columns array. It makes it
614
- // possible for example to revert from interpreted timestamps to
615
- // string-based categories.
616
- this.rawColumns = [];
163
+ Data.data = function (dataOptions, chartOptions, chart) {
164
+ if (chartOptions === void 0) { chartOptions = {}; }
165
+ return new Data(dataOptions, chartOptions, chart);
166
+ };
167
+ /**
168
+ * Reorganize rows into columns.
169
+ *
170
+ * @function Highcharts.Data.rowsToColumns
171
+ */
172
+ Data.rowsToColumns = function (rows) {
173
+ var row, rowsLength, col, colsLength, columns;
174
+ if (rows) {
175
+ columns = [];
176
+ rowsLength = rows.length;
177
+ for (row = 0; row < rowsLength; row++) {
178
+ colsLength = rows[row].length;
179
+ for (col = 0; col < colsLength; col++) {
180
+ if (!columns[col]) {
181
+ columns[col] = [];
182
+ }
183
+ columns[col][row] = rows[row][col];
184
+ }
185
+ }
186
+ }
187
+ return columns;
188
+ };
189
+ /* *
190
+ *
191
+ * Functions
192
+ *
193
+ * */
194
+ /**
195
+ * Initialize the Data object with the given options
196
+ *
197
+ * @private
198
+ * @function Highcharts.Data#init
199
+ */
200
+ Data.prototype.init = function (dataOptions, chartOptions, chart) {
201
+ var decimalPoint = dataOptions.decimalPoint, hasData;
202
+ if (chartOptions) {
203
+ this.chartOptions = chartOptions;
204
+ }
205
+ if (chart) {
206
+ this.chart = chart;
207
+ }
208
+ if (decimalPoint !== '.' && decimalPoint !== ',') {
209
+ decimalPoint = void 0;
210
+ }
211
+ this.options = dataOptions;
212
+ this.columns = (dataOptions.columns ||
213
+ this.rowsToColumns(dataOptions.rows) ||
214
+ []);
215
+ this.firstRowAsNames = pick(dataOptions.firstRowAsNames, this.firstRowAsNames, true);
216
+ this.decimalRegex = (decimalPoint &&
217
+ new RegExp('^(-?[0-9]+)' + decimalPoint + '([0-9]+)$'));
218
+ // Always stop old polling when we have new options
219
+ if (this.liveDataTimeout !== void 0) {
220
+ clearTimeout(this.liveDataTimeout);
221
+ }
222
+ // This is a two-dimensional array holding the raw, trimmed string
223
+ // values with the same organisation as the columns array. It makes it
224
+ // possible for example to revert from interpreted timestamps to
225
+ // string-based categories.
226
+ this.rawColumns = [];
617
227
  // No need to parse or interpret anything
618
228
  if (this.columns.length) {
619
229
  this.dataFound();
620
- hasData = true;
621
- }
622
- if (this.hasURLOption(options)) {
623
- clearTimeout(this.liveDataTimeout);
624
- hasData = false;
230
+ hasData = !hasURLOption(dataOptions);
625
231
  }
626
232
  if (!hasData) {
627
233
  // Fetch live data
@@ -640,14 +246,10 @@ var Data = /** @class */ (function () {
640
246
  // Parse a Google Spreadsheet
641
247
  hasData = this.parseGoogleSpreadsheet();
642
248
  }
643
- if (!hasData && options.afterComplete) {
644
- options.afterComplete();
249
+ if (!hasData && dataOptions.afterComplete) {
250
+ dataOptions.afterComplete();
645
251
  }
646
252
  };
647
- Data.prototype.hasURLOption = function (options) {
648
- return Boolean(options &&
649
- (options.rowsURL || options.csvURL || options.columnsURL));
650
- };
651
253
  /**
652
254
  * Get the column distribution. For example, a line series takes a single
653
255
  * column for Y values. A range series takes two columns for low and high
@@ -662,7 +264,7 @@ var Data = /** @class */ (function () {
662
264
  return seriesTypes[type || 'line'].prototype.pointArrayMap;
663
265
  }, globalType = (chartOptions &&
664
266
  chartOptions.chart &&
665
- chartOptions.chart.type), individualCounts = [], seriesBuilders = [], seriesIndex = 0,
267
+ chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
666
268
  // If no series mapping is defined, check if the series array is
667
269
  // defined with types.
668
270
  seriesMapping = ((options && options.seriesMapping) ||
@@ -671,7 +273,8 @@ var Data = /** @class */ (function () {
671
273
  chartOptions.series.map(function () {
672
274
  return { x: 0 };
673
275
  })) ||
674
- []), i;
276
+ []);
277
+ var seriesIndex = 0, i;
675
278
  ((chartOptions && chartOptions.series) || []).forEach(function (series) {
676
279
  individualCounts.push(getValueCount(series.type || globalType));
677
280
  });
@@ -757,12 +360,8 @@ var Data = /** @class */ (function () {
757
360
  * @function Highcharts.Data#parseCSV
758
361
  */
759
362
  Data.prototype.parseCSV = function (inOptions) {
760
- var self = this, options = inOptions || this.options, csv = options.csv, columns, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
761
- options.startRow :
762
- 0), endRow = options.endRow || Number.MAX_VALUE, startColumn = (typeof options.startColumn !== 'undefined' &&
763
- options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0,
764
- // activeRowNo = 0,
765
- dataTypes = [],
363
+ var self = this, columns = this.columns = [], options = inOptions || this.options, startColumn = (typeof options.startColumn !== 'undefined' &&
364
+ options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
766
365
  // We count potential delimiters in the prepass, and use the
767
366
  // result as the basis of half-intelligent guesses.
768
367
  potDelimiters = {
@@ -770,7 +369,11 @@ var Data = /** @class */ (function () {
770
369
  ';': 0,
771
370
  '\t': 0
772
371
  };
773
- columns = this.columns = [];
372
+ var csv = options.csv, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
373
+ options.startRow :
374
+ 0), endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines,
375
+ // activeRowNo = 0,
376
+ rowIt = 0;
774
377
  /*
775
378
  This implementation is quite verbose. It will be shortened once
776
379
  it's stable and passes all the test.
@@ -1005,9 +608,10 @@ var Data = /** @class */ (function () {
1005
608
  * @private
1006
609
  */
1007
610
  function deduceDateFormat(data, limit) {
1008
- var format = 'YYYY/mm/dd', thing, guessedFormat = [], calculatedFormat, i = 0, madeDeduction = false,
611
+ var format = 'YYYY/mm/dd', stable = [], max = [];
612
+ var thing, guessedFormat = [], calculatedFormat, i = 0, madeDeduction = false,
1009
613
  // candidates = {},
1010
- stable = [], max = [], j;
614
+ j;
1011
615
  if (!limit || limit > data.length) {
1012
616
  limit = data.length;
1013
617
  }
@@ -1179,8 +783,9 @@ var Data = /** @class */ (function () {
1179
783
  * @function Highcharts.Data#parseTable
1180
784
  */
1181
785
  Data.prototype.parseTable = function () {
1182
- var options = this.options, table = options.table, columns = this.columns || [], startRow = options.startRow || 0, endRow = options.endRow || Number.MAX_VALUE, startColumn = options.startColumn || 0, endColumn = options.endColumn || Number.MAX_VALUE;
1183
- if (table) {
786
+ var options = this.options, columns = this.columns || [], startRow = options.startRow || 0, endRow = options.endRow || Number.MAX_VALUE, startColumn = options.startColumn || 0, endColumn = options.endColumn || Number.MAX_VALUE;
787
+ if (options.table) {
788
+ var table = options.table;
1184
789
  if (typeof table === 'string') {
1185
790
  table = doc.getElementById(table);
1186
791
  }
@@ -1221,8 +826,9 @@ var Data = /** @class */ (function () {
1221
826
  * The URLs that were tried can be found in the options
1222
827
  */
1223
828
  Data.prototype.fetchLiveData = function () {
1224
- var data = this, chart = this.chart, options = this.options, maxRetries = 3, currentRetries = 0, pollingEnabled = options.enablePolling, updateIntervalMs = (options.dataRefreshRate || 2) * 1000, originalOptions = merge(options);
1225
- if (!this.hasURLOption(options)) {
829
+ var data = this, chart = this.chart, options = this.options, maxRetries = 3, pollingEnabled = options.enablePolling, originalOptions = merge(options);
830
+ var currentRetries = 0, updateIntervalMs = (options.dataRefreshRate || 2) * 1000;
831
+ if (!hasURLOption(options)) {
1226
832
  return false;
1227
833
  }
1228
834
  // Do not allow polling more than once a second
@@ -1306,7 +912,7 @@ var Data = /** @class */ (function () {
1306
912
  }
1307
913
  }
1308
914
  performFetch(true);
1309
- return this.hasURLOption(options);
915
+ return hasURLOption(options);
1310
916
  };
1311
917
  /**
1312
918
  * Parse a Google spreadsheet.
@@ -1333,7 +939,7 @@ var Data = /** @class */ (function () {
1333
939
  if (defined(options.endRow)) {
1334
940
  end += options.endRow + 1;
1335
941
  }
1336
- return start + ":" + end;
942
+ return "".concat(start, ":").concat(end);
1337
943
  };
1338
944
  /**
1339
945
  * Fetch the actual spreadsheet using XMLHttpRequest.
@@ -1357,7 +963,7 @@ var Data = /** @class */ (function () {
1357
963
  success: function (json) {
1358
964
  fn(json);
1359
965
  if (options.enablePolling) {
1360
- setTimeout(function () {
966
+ data.liveDataTimeout = setTimeout(function () {
1361
967
  fetchSheet(fn);
1362
968
  }, refreshRate);
1363
969
  }
@@ -1434,7 +1040,8 @@ var Data = /** @class */ (function () {
1434
1040
  * @function Highcharts.Data#parseTypes
1435
1041
  */
1436
1042
  Data.prototype.parseTypes = function () {
1437
- var columns = this.columns, col = columns.length;
1043
+ var columns = this.columns || [];
1044
+ var col = columns.length;
1438
1045
  while (col--) {
1439
1046
  this.parseColumn(columns[col], col);
1440
1047
  }
@@ -1451,9 +1058,10 @@ var Data = /** @class */ (function () {
1451
1058
  * Column index
1452
1059
  */
1453
1060
  Data.prototype.parseColumn = function (column, col) {
1454
- var rawColumns = this.rawColumns, columns = this.columns, row = column.length, val, floatVal, trimVal, trimInsideVal, firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount.xColumns.indexOf(col) !== -1, dateVal, backup = [], diff, chartOptions = this.chartOptions, descending, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = isXColumn && ((chartOptions &&
1061
+ var rawColumns = this.rawColumns, columns = this.columns, firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount.xColumns.indexOf(col) !== -1, backup = [], chartOptions = this.chartOptions, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = isXColumn && ((chartOptions &&
1455
1062
  chartOptions.xAxis &&
1456
- splat(chartOptions.xAxis)[0].type === 'category') || columnType === 'string');
1063
+ splat(chartOptions.xAxis)[0].type === 'category') || columnType === 'string'), columnHasName = defined(column.name);
1064
+ var row = column.length, val, floatVal, trimVal, trimInsideVal, dateVal, diff, descending;
1457
1065
  if (!rawColumns[col]) {
1458
1066
  rawColumns[col] = [];
1459
1067
  }
@@ -1468,7 +1076,8 @@ var Data = /** @class */ (function () {
1468
1076
  }
1469
1077
  // Disable number or date parsing by setting the X axis type to
1470
1078
  // category
1471
- if (forceCategory || (row === 0 && firstRowAsNames)) {
1079
+ if (forceCategory ||
1080
+ (row === 0 && firstRowAsNames && !columnHasName)) {
1472
1081
  column[row] = '' + trimVal;
1473
1082
  }
1474
1083
  else if (+trimInsideVal === floatVal) { // is numeric
@@ -1611,28 +1220,6 @@ var Data = /** @class */ (function () {
1611
1220
  }
1612
1221
  return ret;
1613
1222
  };
1614
- /**
1615
- * Reorganize rows into columns.
1616
- *
1617
- * @function Highcharts.Data#rowsToColumns
1618
- */
1619
- Data.prototype.rowsToColumns = function (rows) {
1620
- var row, rowsLength, col, colsLength, columns;
1621
- if (rows) {
1622
- columns = [];
1623
- rowsLength = rows.length;
1624
- for (row = 0; row < rowsLength; row++) {
1625
- colsLength = rows[row].length;
1626
- for (col = 0; col < colsLength; col++) {
1627
- if (!columns[col]) {
1628
- columns[col] = [];
1629
- }
1630
- columns[col][row] = rows[row][col];
1631
- }
1632
- }
1633
- }
1634
- return columns;
1635
- };
1636
1223
  /**
1637
1224
  * Get the parsed data in a form that we can apply directly to the
1638
1225
  * `series.data` config. Array positions can be mapped using the
@@ -1662,31 +1249,6 @@ var Data = /** @class */ (function () {
1662
1249
  return this.options.parsed.call(this, this.columns);
1663
1250
  }
1664
1251
  };
1665
- /**
1666
- * @private
1667
- * @function Highcharts.Data#getFreeIndexes
1668
- */
1669
- Data.prototype.getFreeIndexes = function (numberOfColumns, seriesBuilders) {
1670
- var s, i, freeIndexes = [], freeIndexValues = [], referencedIndexes;
1671
- // Add all columns as free
1672
- for (i = 0; i < numberOfColumns; i = i + 1) {
1673
- freeIndexes.push(true);
1674
- }
1675
- // Loop all defined builders and remove their referenced columns
1676
- for (s = 0; s < seriesBuilders.length; s = s + 1) {
1677
- referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
1678
- for (i = 0; i < referencedIndexes.length; i = i + 1) {
1679
- freeIndexes[referencedIndexes[i]] = false;
1680
- }
1681
- }
1682
- // Collect the values for the free indexes
1683
- for (i = 0; i < freeIndexes.length; i = i + 1) {
1684
- if (freeIndexes[i]) {
1685
- freeIndexValues.push(i);
1686
- }
1687
- }
1688
- return freeIndexValues;
1689
- };
1690
1252
  /**
1691
1253
  * If a complete callback function is provided in the options, interpret the
1692
1254
  * columns into a Highcharts options object.
@@ -1694,7 +1256,8 @@ var Data = /** @class */ (function () {
1694
1256
  * @function Highcharts.Data#complete
1695
1257
  */
1696
1258
  Data.prototype.complete = function () {
1697
- var columns = this.columns, xColumns = [], type, options = this.options, series, data, i, j, r, seriesIndex, chartOptions, allSeriesBuilders = [], builder, freeIndexes, typeCol, index;
1259
+ var columns = this.columns, xColumns = [], options = this.options, allSeriesBuilders = [];
1260
+ var type, series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
1698
1261
  xColumns.length = columns.length;
1699
1262
  if (options.complete || options.afterComplete) {
1700
1263
  // Get the names and shift the top row
@@ -1708,7 +1271,7 @@ var Data = /** @class */ (function () {
1708
1271
  }
1709
1272
  // Use the next columns for series
1710
1273
  series = [];
1711
- freeIndexes = this.getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
1274
+ freeIndexes = getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
1712
1275
  // Populate defined series
1713
1276
  for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
1714
1277
  builder = this.valueCount.seriesBuilders[seriesIndex];
@@ -1815,7 +1378,7 @@ var Data = /** @class */ (function () {
1815
1378
  * @param {boolean} [redraw=true]
1816
1379
  */
1817
1380
  Data.prototype.update = function (options, redraw) {
1818
- var chart = this.chart;
1381
+ var chart = this.chart, chartOptions = chart.options;
1819
1382
  if (options) {
1820
1383
  // Set the complete handler
1821
1384
  options.afterComplete = function (dataOptions) {
@@ -1834,28 +1397,24 @@ var Data = /** @class */ (function () {
1834
1397
  }
1835
1398
  };
1836
1399
  // Apply it
1837
- merge(true, chart.options.data, options);
1838
- this.init(chart.options.data);
1400
+ merge(true, chartOptions.data, options);
1401
+ // Reset columns if fetching spreadsheet, to force a re-fetch
1402
+ if (chartOptions.data && chartOptions.data.googleSpreadsheetKey &&
1403
+ !options.columns) {
1404
+ delete chartOptions.data.columns;
1405
+ }
1406
+ this.init(chartOptions.data);
1839
1407
  }
1840
1408
  };
1841
1409
  return Data;
1842
1410
  }());
1843
- // Register the Data prototype and data function on Highcharts
1844
- // Highcharts.Data = Data as any;
1845
- /**
1846
- * Creates a data object to parse data for a chart.
1847
- *
1848
- * @function Highcharts.data
1849
- */
1850
- G.data = function (dataOptions, chartOptions, chart) {
1851
- return new G.Data(dataOptions, chartOptions, chart);
1852
- };
1853
1411
  // Extend Chart.init so that the Chart constructor accepts a new configuration
1854
1412
  // option group, data.
1855
1413
  addEvent(Chart, 'init', function (e) {
1856
- var chart = this, // eslint-disable-line no-invalid-this
1857
- userOptions = (e.args[0] || {}), callback = e.args[1];
1858
- if (userOptions && userOptions.data && !chart.hasDataDef) {
1414
+ var chart = this, callback = e.args[1], defaultDataOptions = getOptions().data;
1415
+ var userOptions = (e.args[0] || {});
1416
+ if ((defaultDataOptions || userOptions && userOptions.data) &&
1417
+ !chart.hasDataDef) {
1859
1418
  chart.hasDataDef = true;
1860
1419
  /**
1861
1420
  * The data parser for this chart.
@@ -1863,7 +1422,8 @@ addEvent(Chart, 'init', function (e) {
1863
1422
  * @name Highcharts.Chart#data
1864
1423
  * @type {Highcharts.Data|undefined}
1865
1424
  */
1866
- chart.data = new G.Data(extend(userOptions.data, {
1425
+ var dataOptions = merge(defaultDataOptions, userOptions.data);
1426
+ chart.data = new Data(extend(dataOptions, {
1867
1427
  afterComplete: function (dataOptions) {
1868
1428
  var i, series;
1869
1429
  // Merge series configs
@@ -1911,8 +1471,6 @@ var SeriesBuilder = /** @class */ (function () {
1911
1471
  /* eslint-disable no-invalid-this */
1912
1472
  this.readers = [];
1913
1473
  this.pointIsArray = true;
1914
- /* eslint-enable no-invalid-this */
1915
- this.name = void 0;
1916
1474
  }
1917
1475
  /**
1918
1476
  * Populates readers with column indexes. A reader can be added without
@@ -1922,7 +1480,8 @@ var SeriesBuilder = /** @class */ (function () {
1922
1480
  * @function SeriesBuilder#populateColumns
1923
1481
  */
1924
1482
  SeriesBuilder.prototype.populateColumns = function (freeIndexes) {
1925
- var builder = this, enoughColumns = true;
1483
+ var builder = this;
1484
+ var enoughColumns = true;
1926
1485
  // Loop each reader and give it an index if its missing.
1927
1486
  // The freeIndexes.shift() will return undefined if there
1928
1487
  // are no more columns.
@@ -1948,7 +1507,8 @@ var SeriesBuilder = /** @class */ (function () {
1948
1507
  * @function SeriesBuilder#read<T>
1949
1508
  */
1950
1509
  SeriesBuilder.prototype.read = function (columns, rowIndex) {
1951
- var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {}, columnIndexes;
1510
+ var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {};
1511
+ var columnIndexes;
1952
1512
  // Loop each reader and ask it to read its value.
1953
1513
  // Then, build an array or point based on the readers names.
1954
1514
  builder.readers.forEach(function (reader) {
@@ -2007,7 +1567,8 @@ var SeriesBuilder = /** @class */ (function () {
2007
1567
  * @function SeriesBuilder#getReferencedColumnIndexes
2008
1568
  */
2009
1569
  SeriesBuilder.prototype.getReferencedColumnIndexes = function () {
2010
- var i, referencedColumnIndexes = [], columnReader;
1570
+ var referencedColumnIndexes = [];
1571
+ var i, columnReader;
2011
1572
  for (i = 0; i < this.readers.length; i = i + 1) {
2012
1573
  columnReader = this.readers[i];
2013
1574
  if (typeof columnReader.columnIndex !== 'undefined') {
@@ -2033,5 +1594,492 @@ var SeriesBuilder = /** @class */ (function () {
2033
1594
  };
2034
1595
  return SeriesBuilder;
2035
1596
  }());
2036
- G.Data = Data;
2037
- export default G.Data;
1597
+ /* *
1598
+ *
1599
+ * Default Export
1600
+ *
1601
+ * */
1602
+ export default Data;
1603
+ /* *
1604
+ *
1605
+ * API Declarations
1606
+ *
1607
+ * */
1608
+ /**
1609
+ * Callback function to modify the CSV before parsing it by the data module.
1610
+ *
1611
+ * @callback Highcharts.DataBeforeParseCallbackFunction
1612
+ *
1613
+ * @param {string} csv
1614
+ * The CSV to modify.
1615
+ *
1616
+ * @return {string}
1617
+ * The CSV to parse.
1618
+ */
1619
+ /**
1620
+ * Callback function that gets called after parsing data.
1621
+ *
1622
+ * @callback Highcharts.DataCompleteCallbackFunction
1623
+ *
1624
+ * @param {Highcharts.Options} chartOptions
1625
+ * The chart options that were used.
1626
+ */
1627
+ /**
1628
+ * Callback function that returns the correspondig Date object to a match.
1629
+ *
1630
+ * @callback Highcharts.DataDateFormatCallbackFunction
1631
+ *
1632
+ * @param {Array<number>} match
1633
+ *
1634
+ * @return {number}
1635
+ */
1636
+ /**
1637
+ * Structure for alternative date formats to parse.
1638
+ *
1639
+ * @interface Highcharts.DataDateFormatObject
1640
+ */ /**
1641
+ * @name Highcharts.DataDateFormatObject#alternative
1642
+ * @type {string|undefined}
1643
+ */ /**
1644
+ * @name Highcharts.DataDateFormatObject#parser
1645
+ * @type {Highcharts.DataDateFormatCallbackFunction}
1646
+ */ /**
1647
+ * @name Highcharts.DataDateFormatObject#regex
1648
+ * @type {global.RegExp}
1649
+ */
1650
+ /**
1651
+ * Possible types for a data item in a column or row.
1652
+ *
1653
+ * @typedef {number|string|null} Highcharts.DataValueType
1654
+ */
1655
+ /**
1656
+ * Callback function to parse string representations of dates into
1657
+ * JavaScript timestamps (milliseconds since 1.1.1970).
1658
+ *
1659
+ * @callback Highcharts.DataParseDateCallbackFunction
1660
+ *
1661
+ * @param {string} dateValue
1662
+ *
1663
+ * @return {number}
1664
+ * Timestamp (milliseconds since 1.1.1970) as integer for Date class.
1665
+ */
1666
+ /**
1667
+ * Callback function to access the parsed columns, the two-dimentional
1668
+ * input data array directly, before they are interpreted into series
1669
+ * data and categories.
1670
+ *
1671
+ * @callback Highcharts.DataParsedCallbackFunction
1672
+ *
1673
+ * @param {Array<Array<*>>} columns
1674
+ * The parsed columns by the data module.
1675
+ *
1676
+ * @return {boolean|undefined}
1677
+ * Return `false` to stop completion, or call `this.complete()` to
1678
+ * continue async.
1679
+ */
1680
+ /* *
1681
+ *
1682
+ * API Options
1683
+ *
1684
+ * */
1685
+ /**
1686
+ * The Data module provides a simplified interface for adding data to
1687
+ * a chart from sources like CVS, HTML tables or grid views. See also
1688
+ * the [tutorial article on the Data module](
1689
+ * https://www.highcharts.com/docs/working-with-data/data-module).
1690
+ *
1691
+ * It requires the `modules/data.js` file to be loaded.
1692
+ *
1693
+ * Please note that the default way of adding data in Highcharts, without
1694
+ * the need of a module, is through the [series._type_.data](#series.line.data)
1695
+ * option.
1696
+ *
1697
+ * @sample {highcharts} highcharts/demo/column-parsed/
1698
+ * HTML table
1699
+ * @sample {highcharts} highcharts/data/csv/
1700
+ * CSV
1701
+ *
1702
+ * @since 4.0
1703
+ * @requires modules/data
1704
+ * @apioption data
1705
+ */
1706
+ /**
1707
+ * A callback function to modify the CSV before parsing it. Return the modified
1708
+ * string.
1709
+ *
1710
+ * @sample {highcharts} highcharts/demo/line-ajax/
1711
+ * Modify CSV before parse
1712
+ *
1713
+ * @type {Highcharts.DataBeforeParseCallbackFunction}
1714
+ * @since 6.1
1715
+ * @apioption data.beforeParse
1716
+ */
1717
+ /**
1718
+ * A two-dimensional array representing the input data on tabular form.
1719
+ * This input can be used when the data is already parsed, for example
1720
+ * from a grid view component. Each cell can be a string or number.
1721
+ * If not switchRowsAndColumns is set, the columns are interpreted as
1722
+ * series.
1723
+ *
1724
+ * @see [data.rows](#data.rows)
1725
+ *
1726
+ * @sample {highcharts} highcharts/data/columns/
1727
+ * Columns
1728
+ *
1729
+ * @type {Array<Array<Highcharts.DataValueType>>}
1730
+ * @since 4.0
1731
+ * @apioption data.columns
1732
+ */
1733
+ /**
1734
+ * The callback that is evaluated when the data is finished loading,
1735
+ * optionally from an external source, and parsed. The first argument
1736
+ * passed is a finished chart options object, containing the series.
1737
+ * These options can be extended with additional options and passed
1738
+ * directly to the chart constructor.
1739
+ *
1740
+ * @see [data.parsed](#data.parsed)
1741
+ *
1742
+ * @sample {highcharts} highcharts/data/complete/
1743
+ * Modify data on complete
1744
+ *
1745
+ * @type {Highcharts.DataCompleteCallbackFunction}
1746
+ * @since 4.0
1747
+ * @apioption data.complete
1748
+ */
1749
+ /**
1750
+ * A comma delimited string to be parsed. Related options are [startRow](
1751
+ * #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
1752
+ * and [endColumn](#data.endColumn) to delimit what part of the table
1753
+ * is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
1754
+ * #data.itemDelimiter) options define the CSV delimiter formats.
1755
+ *
1756
+ * The built-in CSV parser doesn't support all flavours of CSV, so in
1757
+ * some cases it may be necessary to use an external CSV parser. See
1758
+ * [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
1759
+ * CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
1760
+ * library.
1761
+ *
1762
+ * @sample {highcharts} highcharts/data/csv/
1763
+ * Data from CSV
1764
+ *
1765
+ * @type {string}
1766
+ * @since 4.0
1767
+ * @apioption data.csv
1768
+ */
1769
+ /**
1770
+ * Which of the predefined date formats in Date.prototype.dateFormats
1771
+ * to use to parse date values. Defaults to a best guess based on what
1772
+ * format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
1773
+ * `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
1774
+ *
1775
+ * @see [data.parseDate](#data.parseDate)
1776
+ *
1777
+ * @sample {highcharts} highcharts/data/dateformat-auto/
1778
+ * Best guess date format
1779
+ *
1780
+ * @type {string}
1781
+ * @since 4.0
1782
+ * @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
1783
+ * "dd/mm/YY", "mm/dd/YY"]
1784
+ * @apioption data.dateFormat
1785
+ */
1786
+ /**
1787
+ * The decimal point used for parsing numbers in the CSV.
1788
+ *
1789
+ * If both this and data.delimiter is set to `undefined`, the parser will
1790
+ * attempt to deduce the decimal point automatically.
1791
+ *
1792
+ * @sample {highcharts} highcharts/data/delimiters/
1793
+ * Comma as decimal point
1794
+ *
1795
+ * @type {string}
1796
+ * @default .
1797
+ * @since 4.1.0
1798
+ * @apioption data.decimalPoint
1799
+ */
1800
+ /**
1801
+ * In tabular input data, the last column (indexed by 0) to use. Defaults
1802
+ * to the last column containing data.
1803
+ *
1804
+ * @sample {highcharts} highcharts/data/start-end/
1805
+ * Limited data
1806
+ *
1807
+ * @type {number}
1808
+ * @since 4.0
1809
+ * @apioption data.endColumn
1810
+ */
1811
+ /**
1812
+ * In tabular input data, the last row (indexed by 0) to use. Defaults
1813
+ * to the last row containing data.
1814
+ *
1815
+ * @sample {highcharts} highcharts/data/start-end/
1816
+ * Limited data
1817
+ *
1818
+ * @type {number}
1819
+ * @since 4.0.4
1820
+ * @apioption data.endRow
1821
+ */
1822
+ /**
1823
+ * Whether to use the first row in the data set as series names.
1824
+ *
1825
+ * @sample {highcharts} highcharts/data/start-end/
1826
+ * Don't get series names from the CSV
1827
+ * @sample {highstock} highcharts/data/start-end/
1828
+ * Don't get series names from the CSV
1829
+ *
1830
+ * @type {boolean}
1831
+ * @default true
1832
+ * @since 4.1.0
1833
+ * @product highcharts highstock gantt
1834
+ * @apioption data.firstRowAsNames
1835
+ */
1836
+ /**
1837
+ * The Google Spreadsheet API key required for access generated at [API Services
1838
+ * / Credentials](https://console.cloud.google.com/apis/credentials). See a
1839
+ * comprehensive tutorial for setting up the key at the
1840
+ * [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
1841
+ * book website.
1842
+ *
1843
+ * @sample {highcharts} highcharts/data/google-spreadsheet/
1844
+ * Load a Google Spreadsheet
1845
+ *
1846
+ * @type {string}
1847
+ * @since 9.2.2
1848
+ * @apioption data.googleAPIKey
1849
+ */
1850
+ /**
1851
+ * The key or `spreadsheetId` value for a Google Spreadsheet to load. See
1852
+ * [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
1853
+ * for how to find the `spreadsheetId`.
1854
+ *
1855
+ * In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
1856
+ * must also be given.
1857
+ *
1858
+ * @sample {highcharts} highcharts/data/google-spreadsheet/
1859
+ * Load a Google Spreadsheet
1860
+ *
1861
+ * @type {string}
1862
+ * @since 4.0
1863
+ * @apioption data.googleSpreadsheetKey
1864
+ */
1865
+ /**
1866
+ * The Google Spreadsheet `range` to use in combination with
1867
+ * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
1868
+ * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
1869
+ * for details.
1870
+ *
1871
+ * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
1872
+ * `endRow`.
1873
+ *
1874
+ * @example
1875
+ * googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
1876
+ * googleSpreadsheetRange: 'A:Z' // Load columns A to Z
1877
+ *
1878
+ * @sample {highcharts} highcharts/data/google-spreadsheet/
1879
+ * Load a Google Spreadsheet
1880
+ *
1881
+ * @type {string|undefined}
1882
+ * @since 9.2.2
1883
+ * @apioption data.googleSpreadsheetRange
1884
+ */
1885
+ /**
1886
+ * No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
1887
+ * the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
1888
+ * specific sheet.
1889
+ *
1890
+ * @deprecated
1891
+ * @type {string}
1892
+ * @since 4.0
1893
+ * @apioption data.googleSpreadsheetWorksheet
1894
+ */
1895
+ /**
1896
+ * Item or cell delimiter for parsing CSV. Defaults to the tab character
1897
+ * `\t` if a tab character is found in the CSV string, if not it defaults
1898
+ * to `,`.
1899
+ *
1900
+ * If this is set to false or undefined, the parser will attempt to deduce
1901
+ * the delimiter automatically.
1902
+ *
1903
+ * @sample {highcharts} highcharts/data/delimiters/
1904
+ * Delimiters
1905
+ *
1906
+ * @type {string}
1907
+ * @since 4.0
1908
+ * @apioption data.itemDelimiter
1909
+ */
1910
+ /**
1911
+ * Line delimiter for parsing CSV.
1912
+ *
1913
+ * @sample {highcharts} highcharts/data/delimiters/
1914
+ * Delimiters
1915
+ *
1916
+ * @type {string}
1917
+ * @default \n
1918
+ * @since 4.0
1919
+ * @apioption data.lineDelimiter
1920
+ */
1921
+ /**
1922
+ * A callback function to access the parsed columns, the two-dimentional
1923
+ * input data array directly, before they are interpreted into series
1924
+ * data and categories. Return `false` to stop completion, or call
1925
+ * `this.complete()` to continue async.
1926
+ *
1927
+ * @see [data.complete](#data.complete)
1928
+ *
1929
+ * @sample {highcharts} highcharts/data/parsed/
1930
+ * Modify data after parse
1931
+ *
1932
+ * @type {Highcharts.DataParsedCallbackFunction}
1933
+ * @since 4.0
1934
+ * @apioption data.parsed
1935
+ */
1936
+ /**
1937
+ * A callback function to parse string representations of dates into
1938
+ * JavaScript timestamps. Should return an integer timestamp on success.
1939
+ *
1940
+ * @see [dateFormat](#data.dateFormat)
1941
+ *
1942
+ * @type {Highcharts.DataParseDateCallbackFunction}
1943
+ * @since 4.0
1944
+ * @apioption data.parseDate
1945
+ */
1946
+ /**
1947
+ * The same as the columns input option, but defining rows intead of
1948
+ * columns.
1949
+ *
1950
+ * @see [data.columns](#data.columns)
1951
+ *
1952
+ * @sample {highcharts} highcharts/data/rows/
1953
+ * Data in rows
1954
+ *
1955
+ * @type {Array<Array<Highcharts.DataValueType>>}
1956
+ * @since 4.0
1957
+ * @apioption data.rows
1958
+ */
1959
+ /**
1960
+ * An array containing dictionaries for each series. A dictionary exists of
1961
+ * Point property names as the key and the CSV column index as the value.
1962
+ *
1963
+ * @sample {highcharts} highcharts/data/seriesmapping-label/
1964
+ * Label from data set
1965
+ *
1966
+ * @type {Array<Highcharts.Dictionary<number>>}
1967
+ * @since 4.0.4
1968
+ * @apioption data.seriesMapping
1969
+ */
1970
+ /**
1971
+ * In tabular input data, the first column (indexed by 0) to use.
1972
+ *
1973
+ * @sample {highcharts} highcharts/data/start-end/
1974
+ * Limited data
1975
+ *
1976
+ * @type {number}
1977
+ * @default 0
1978
+ * @since 4.0
1979
+ * @apioption data.startColumn
1980
+ */
1981
+ /**
1982
+ * In tabular input data, the first row (indexed by 0) to use.
1983
+ *
1984
+ * @sample {highcharts} highcharts/data/start-end/
1985
+ * Limited data
1986
+ *
1987
+ * @type {number}
1988
+ * @default 0
1989
+ * @since 4.0
1990
+ * @apioption data.startRow
1991
+ */
1992
+ /**
1993
+ * Switch rows and columns of the input data, so that `this.columns`
1994
+ * effectively becomes the rows of the data set, and the rows are interpreted
1995
+ * as series.
1996
+ *
1997
+ * @sample {highcharts} highcharts/data/switchrowsandcolumns/
1998
+ * Switch rows and columns
1999
+ *
2000
+ * @type {boolean}
2001
+ * @default false
2002
+ * @since 4.0
2003
+ * @apioption data.switchRowsAndColumns
2004
+ */
2005
+ /**
2006
+ * An HTML table or the id of such to be parsed as input data. Related
2007
+ * options are `startRow`, `endRow`, `startColumn` and `endColumn` to
2008
+ * delimit what part of the table is used.
2009
+ *
2010
+ * @sample {highcharts} highcharts/demo/column-parsed/
2011
+ * Parsed table
2012
+ *
2013
+ * @type {string|global.HTMLElement}
2014
+ * @since 4.0
2015
+ * @apioption data.table
2016
+ */
2017
+ /**
2018
+ * An URL to a remote CSV dataset. Will be fetched when the chart is created
2019
+ * using Ajax.
2020
+ *
2021
+ * @sample highcharts/data/livedata-columns
2022
+ * Categorized bar chart with CSV and live polling
2023
+ * @sample highcharts/data/livedata-csv
2024
+ * Time based line chart with CSV and live polling
2025
+ *
2026
+ * @type {string}
2027
+ * @apioption data.csvURL
2028
+ */
2029
+ /**
2030
+ * A URL to a remote JSON dataset, structured as a row array.
2031
+ * Will be fetched when the chart is created using Ajax.
2032
+ *
2033
+ * @sample highcharts/data/livedata-rows
2034
+ * Rows with live polling
2035
+ *
2036
+ * @type {string}
2037
+ * @apioption data.rowsURL
2038
+ */
2039
+ /**
2040
+ * A URL to a remote JSON dataset, structured as a column array.
2041
+ * Will be fetched when the chart is created using Ajax.
2042
+ *
2043
+ * @sample highcharts/data/livedata-columns
2044
+ * Columns with live polling
2045
+ *
2046
+ * @type {string}
2047
+ * @apioption data.columnsURL
2048
+ */
2049
+ /**
2050
+ * Sets the refresh rate for data polling when importing remote dataset by
2051
+ * setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
2052
+ * [data.columnsURL](data.columnsURL), or
2053
+ * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
2054
+ *
2055
+ * Note that polling must be enabled by setting
2056
+ * [data.enablePolling](data.enablePolling) to true.
2057
+ *
2058
+ * The value is the number of seconds between pollings.
2059
+ * It cannot be set to less than 1 second.
2060
+ *
2061
+ * @sample highcharts/demo/live-data
2062
+ * Live data with user set refresh rate
2063
+ *
2064
+ * @default 1
2065
+ * @type {number}
2066
+ * @apioption data.dataRefreshRate
2067
+ */
2068
+ /**
2069
+ * Enables automatic refetching of remote datasets every _n_ seconds (defined by
2070
+ * setting [data.dataRefreshRate](data.dataRefreshRate)).
2071
+ *
2072
+ * Only works when either [data.csvURL](data.csvURL),
2073
+ * [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
2074
+ * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
2075
+ *
2076
+ * @sample highcharts/demo/live-data
2077
+ * Live data
2078
+ * @sample highcharts/data/livedata-columns
2079
+ * Categorized bar chart with CSV and live polling
2080
+ *
2081
+ * @type {boolean}
2082
+ * @default false
2083
+ * @apioption data.enablePolling
2084
+ */
2085
+ (''); // keeps doclets above in JS file