highcharts 10.0.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/A11yI18n.js +4 -4
  7. package/es-modules/Accessibility/Accessibility.js +8 -3
  8. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  9. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  10. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  11. package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
  12. package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
  13. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
  16. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
  17. package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
  18. package/es-modules/Accessibility/FocusBorder.js +6 -5
  19. package/es-modules/Accessibility/HighContrastMode.js +1 -1
  20. package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
  21. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
  22. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  23. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  24. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  25. package/es-modules/Core/Animation/Fx.js +1 -1
  26. package/es-modules/Core/Axis/Axis.js +51 -46
  27. package/es-modules/Core/Axis/Axis3D.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +9 -9
  29. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
  31. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  32. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  33. package/es-modules/Core/Axis/GridAxis.js +821 -822
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  35. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  36. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  39. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  40. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  43. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  44. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  45. package/es-modules/Core/Axis/ZAxis.js +76 -71
  46. package/es-modules/Core/Chart/Chart.js +42 -9
  47. package/es-modules/Core/Chart/Chart3D.js +2 -2
  48. package/es-modules/Core/Chart/ChartDefaults.js +165 -5
  49. package/es-modules/Core/Chart/GanttChart.js +3 -1
  50. package/es-modules/Core/Chart/MapChart.js +3 -1
  51. package/es-modules/Core/Chart/StockChart.js +12 -8
  52. package/es-modules/Core/Color/Color.js +1 -1
  53. package/es-modules/Core/DefaultOptions.js +19 -16
  54. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  55. package/es-modules/Core/Globals.js +2 -1
  56. package/es-modules/Core/HttpUtilities.js +39 -37
  57. package/es-modules/Core/Legend/Legend.js +4 -4
  58. package/es-modules/Core/MSPointer.js +3 -1
  59. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  60. package/es-modules/Core/Navigator.js +31 -14
  61. package/es-modules/Core/Pointer.js +8 -10
  62. package/es-modules/Core/Renderer/HTML/AST.js +13 -7
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  64. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
  66. package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
  67. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
  68. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  69. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  70. package/es-modules/Core/Scrollbar.js +12 -6
  71. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  72. package/es-modules/Core/Series/DataLabel.js +63 -40
  73. package/es-modules/Core/Series/Point.js +11 -2
  74. package/es-modules/Core/Series/Series.js +60 -43
  75. package/es-modules/Core/Series/Series3D.js +4 -2
  76. package/es-modules/Core/Series/SeriesDefaults.js +11 -6
  77. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  78. package/es-modules/Core/Time.js +6 -7
  79. package/es-modules/Core/Tooltip.js +17 -6
  80. package/es-modules/Core/Utilities.js +7 -9
  81. package/es-modules/Data/DataConverter.js +6 -1
  82. package/es-modules/Data/DataPromise.js +1 -1
  83. package/es-modules/Data/DataSeriesComposition.js +288 -0
  84. package/es-modules/Data/DataSeriesConverter.js +1 -1
  85. package/es-modules/Data/DataTable.js +14 -12
  86. package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
  87. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  88. package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
  89. package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
  90. package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
  91. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
  92. package/es-modules/Data/Modifiers/SortModifier.js +4 -2
  93. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  94. package/es-modules/Data/Parsers/DataParser.js +2 -2
  95. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  96. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  97. package/es-modules/Data/Stores/CSVStore.js +8 -5
  98. package/es-modules/Data/Stores/DataStore.js +1 -1
  99. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  100. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  101. package/es-modules/Extensions/Annotations/Annotation.js +652 -0
  102. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  103. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  104. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  105. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  106. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  107. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  108. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
  109. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  110. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  111. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  112. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  113. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  114. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  115. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
  116. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  117. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  118. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  119. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  120. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  121. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  122. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  123. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
  124. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
  125. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
  126. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
  127. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
  128. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
  129. package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
  130. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
  131. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
  132. package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
  133. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
  134. package/es-modules/Extensions/Boost/Boost.js +320 -15
  135. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  136. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  137. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  138. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  139. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  140. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  141. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  142. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  143. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  144. package/es-modules/Extensions/BoostCanvas.js +70 -48
  145. package/es-modules/Extensions/Breadcrumbs.js +37 -9
  146. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  147. package/es-modules/Extensions/Data.js +638 -602
  148. package/es-modules/Extensions/DataGrouping.js +68 -28
  149. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  150. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  151. package/es-modules/Extensions/DownloadURL.js +3 -3
  152. package/es-modules/Extensions/DragPanes.js +1 -1
  153. package/es-modules/Extensions/DraggablePoints.js +4 -3
  154. package/es-modules/Extensions/Drilldown.js +15 -14
  155. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
  156. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  157. package/es-modules/Extensions/Exporting/Exporting.js +30 -17
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
  159. package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
  160. package/es-modules/Extensions/GeoJSON.js +3 -4
  161. package/es-modules/Extensions/MarkerClusters.js +5 -3
  162. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  163. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  164. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  165. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  166. package/es-modules/Extensions/Pane.js +3 -3
  167. package/es-modules/Extensions/ParallelCoordinates.js +12 -8
  168. package/es-modules/Extensions/PatternFill.js +14 -2
  169. package/es-modules/Extensions/RangeSelector.js +29 -18
  170. package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
  171. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
  172. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  173. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  174. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  175. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  176. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  177. package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
  178. package/es-modules/Maps/MapNavigation.js +3 -7
  179. package/es-modules/Maps/MapPointer.js +1 -1
  180. package/es-modules/Maps/MapView.js +31 -19
  181. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
  182. package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
  183. package/es-modules/Maps/Projection.js +13 -11
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
  186. package/es-modules/Series/Area/AreaSeries.js +21 -14
  187. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  188. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  189. package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
  190. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  191. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  192. package/es-modules/Series/Bar/BarSeries.js +3 -1
  193. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  194. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  195. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  196. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  197. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  198. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  199. package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
  200. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  201. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  202. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  203. package/es-modules/Series/CenteredUtilities.js +8 -2
  204. package/es-modules/Series/ColorMapComposition.js +111 -0
  205. package/es-modules/Series/Column/ColumnSeries.js +8 -4
  206. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  207. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
  208. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  209. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  210. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  211. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  212. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  213. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
  214. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
  215. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  216. package/es-modules/Series/DragNodesComposition.js +166 -0
  217. package/es-modules/Series/DrawPointUtilities.js +87 -0
  218. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  219. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  220. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  221. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  222. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  223. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  224. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  225. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
  226. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  227. package/es-modules/Series/Gantt/GanttSeries.js +4 -2
  228. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  229. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  230. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  231. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  232. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  233. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  234. package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
  235. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  236. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  237. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  238. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  239. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  240. package/es-modules/Series/Item/ItemPoint.js +3 -1
  241. package/es-modules/Series/Item/ItemSeries.js +3 -1
  242. package/es-modules/Series/Line/LineSeries.js +4 -2
  243. package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
  244. package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
  245. package/es-modules/Series/Map/MapPoint.js +8 -6
  246. package/es-modules/Series/Map/MapSeries.js +115 -28
  247. package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
  248. package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
  249. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  250. package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
  251. package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
  252. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  253. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  254. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  255. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  256. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  257. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  258. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  259. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  260. package/es-modules/Series/NodesComposition.js +45 -40
  261. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  262. package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
  263. package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
  264. package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
  265. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  266. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
  267. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
  268. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
  269. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  270. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  271. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  272. package/es-modules/Series/Pie/PiePoint.js +3 -1
  273. package/es-modules/Series/Pie/PieSeries.js +54 -38
  274. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  275. package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
  276. package/es-modules/Series/PolarComposition.js +819 -0
  277. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  278. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  279. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  280. package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
  281. package/es-modules/Series/Sankey/SankeySeries.js +38 -10
  282. package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
  283. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  284. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
  285. package/es-modules/Series/SeriesOnPointComposition.js +395 -0
  286. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
  287. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  288. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
  291. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  292. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  293. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  294. package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
  295. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  296. package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
  297. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  298. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  299. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  300. package/es-modules/Series/Vector/VectorSeries.js +5 -5
  301. package/es-modules/Series/Venn/VennPoint.js +5 -5
  302. package/es-modules/Series/Venn/VennSeries.js +9 -6
  303. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  304. package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
  305. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  306. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  307. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  308. package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
  309. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  310. package/es-modules/Series/XRange/XRangePoint.js +57 -46
  311. package/es-modules/Series/XRange/XRangeSeries.js +124 -274
  312. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  313. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
  314. package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
  315. package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
  316. package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
  317. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
  318. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
  319. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
  320. package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
  321. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
  322. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
  323. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
  324. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
  325. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
  326. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
  327. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
  328. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  329. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
  330. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
  331. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
  332. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
  333. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
  334. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
  335. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
  336. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
  337. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
  338. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
  339. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
  340. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  341. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
  342. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
  343. package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
  344. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
  345. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
  346. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
  347. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
  348. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
  349. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
  350. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
  351. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
  352. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
  353. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
  354. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
  355. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  356. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
  357. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
  358. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
  359. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
  360. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
  361. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
  362. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
  363. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
  364. package/es-modules/Stock/StockToolbar.js +568 -0
  365. package/es-modules/Stock/StockTools.js +256 -0
  366. package/es-modules/Stock/StockToolsBindings.js +140 -647
  367. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  368. package/es-modules/Stock/StockToolsGui.js +150 -1771
  369. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  370. package/es-modules/masters/highcharts-3d.src.js +5 -4
  371. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  372. package/es-modules/masters/highcharts-more.src.js +7 -6
  373. package/es-modules/masters/highcharts.src.js +5 -2
  374. package/es-modules/masters/highmaps.src.js +1 -1
  375. package/es-modules/masters/highstock.src.js +1 -1
  376. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  377. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  378. package/es-modules/masters/indicators/ao.src.js +1 -1
  379. package/es-modules/masters/indicators/apo.src.js +1 -1
  380. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  381. package/es-modules/masters/indicators/aroon.src.js +1 -1
  382. package/es-modules/masters/indicators/atr.src.js +1 -1
  383. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  384. package/es-modules/masters/indicators/cci.src.js +1 -1
  385. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  386. package/es-modules/masters/indicators/cmf.src.js +1 -1
  387. package/es-modules/masters/indicators/cmo.src.js +1 -1
  388. package/es-modules/masters/indicators/dema.src.js +1 -1
  389. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  390. package/es-modules/masters/indicators/dmi.src.js +1 -1
  391. package/es-modules/masters/indicators/dpo.src.js +1 -1
  392. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  393. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  394. package/es-modules/masters/indicators/indicators.src.js +1 -1
  395. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  396. package/es-modules/masters/indicators/klinger.src.js +1 -1
  397. package/es-modules/masters/indicators/macd.src.js +1 -1
  398. package/es-modules/masters/indicators/mfi.src.js +1 -1
  399. package/es-modules/masters/indicators/momentum.src.js +1 -1
  400. package/es-modules/masters/indicators/natr.src.js +1 -1
  401. package/es-modules/masters/indicators/obv.src.js +1 -1
  402. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  403. package/es-modules/masters/indicators/ppo.src.js +1 -1
  404. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  405. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  406. package/es-modules/masters/indicators/psar.src.js +1 -1
  407. package/es-modules/masters/indicators/regressions.src.js +5 -5
  408. package/es-modules/masters/indicators/roc.src.js +1 -1
  409. package/es-modules/masters/indicators/rsi.src.js +1 -1
  410. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  411. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  412. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  413. package/es-modules/masters/indicators/tema.src.js +1 -1
  414. package/es-modules/masters/indicators/trendline.src.js +1 -1
  415. package/es-modules/masters/indicators/trix.src.js +1 -1
  416. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  417. package/es-modules/masters/indicators/vwap.src.js +1 -1
  418. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  419. package/es-modules/masters/indicators/wma.src.js +1 -1
  420. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  421. package/es-modules/masters/modules/accessibility.src.js +1 -1
  422. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  423. package/es-modules/masters/modules/annotations.src.js +6 -4
  424. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  425. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  426. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  427. package/es-modules/masters/modules/boost.src.js +6 -2
  428. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  429. package/es-modules/masters/modules/bullet.src.js +1 -1
  430. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  431. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  432. package/es-modules/masters/modules/cylinder.src.js +1 -1
  433. package/es-modules/masters/modules/data.src.js +2 -1
  434. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  435. package/es-modules/masters/modules/debugger.src.js +5 -3
  436. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  437. package/es-modules/masters/modules/dotplot.src.js +1 -1
  438. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  439. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  440. package/es-modules/masters/modules/drilldown.src.js +1 -1
  441. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  442. package/es-modules/masters/modules/export-data.src.js +5 -2
  443. package/es-modules/masters/modules/exporting.src.js +1 -2
  444. package/es-modules/masters/modules/full-screen.src.js +6 -2
  445. package/es-modules/masters/modules/funnel.src.js +1 -1
  446. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  447. package/es-modules/masters/modules/gantt.src.js +3 -2
  448. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  449. package/es-modules/masters/modules/heatmap.src.js +1 -1
  450. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  451. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  452. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  453. package/es-modules/masters/modules/item-series.src.js +1 -1
  454. package/es-modules/masters/modules/lollipop.src.js +1 -1
  455. package/es-modules/masters/modules/map.src.js +2 -2
  456. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  457. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  458. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  459. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  460. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  461. package/es-modules/masters/modules/oldie.src.js +1 -1
  462. package/es-modules/masters/modules/organization.src.js +1 -1
  463. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  464. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  465. package/es-modules/masters/modules/pareto.src.js +1 -1
  466. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  467. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  468. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  469. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  470. package/es-modules/masters/modules/sankey.src.js +1 -1
  471. package/es-modules/masters/modules/series-label.src.js +5 -2
  472. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  473. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  474. package/es-modules/masters/modules/sonification.src.js +2 -6
  475. package/es-modules/masters/modules/static-scale.src.js +1 -1
  476. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  477. package/es-modules/masters/modules/stock.src.js +1 -1
  478. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  479. package/es-modules/masters/modules/sunburst.src.js +1 -1
  480. package/es-modules/masters/modules/tilemap.src.js +1 -1
  481. package/es-modules/masters/modules/timeline.src.js +1 -1
  482. package/es-modules/masters/modules/treegrid.src.js +2 -2
  483. package/es-modules/masters/modules/treemap.src.js +1 -1
  484. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  485. package/es-modules/masters/modules/variwide.src.js +1 -1
  486. package/es-modules/masters/modules/vector.src.js +1 -1
  487. package/es-modules/masters/modules/venn.src.js +1 -1
  488. package/es-modules/masters/modules/windbarb.src.js +1 -1
  489. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  490. package/es-modules/masters/modules/xrange.src.js +5 -2
  491. package/es-modules/masters/themes/avocado.src.js +1 -1
  492. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  493. package/es-modules/masters/themes/brand-light.src.js +1 -1
  494. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  495. package/es-modules/masters/themes/dark-green.src.js +1 -1
  496. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  497. package/es-modules/masters/themes/gray.src.js +1 -1
  498. package/es-modules/masters/themes/grid-light.src.js +1 -1
  499. package/es-modules/masters/themes/grid.src.js +1 -1
  500. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  501. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  502. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  503. package/es-modules/masters/themes/skies.src.js +1 -1
  504. package/es-modules/masters/themes/sunset.src.js +1 -1
  505. package/highcharts-3d.js +98 -99
  506. package/highcharts-3d.js.map +1 -1
  507. package/highcharts-3d.src.js +233 -212
  508. package/highcharts-gantt.js +809 -805
  509. package/highcharts-gantt.js.map +1 -1
  510. package/highcharts-gantt.src.js +3817 -3470
  511. package/highcharts-more.d.ts +15 -8
  512. package/highcharts-more.js +201 -195
  513. package/highcharts-more.js.map +1 -1
  514. package/highcharts-more.src.d.ts +15 -8
  515. package/highcharts-more.src.js +7994 -7461
  516. package/highcharts.d.ts +11364 -1136
  517. package/highcharts.js +593 -591
  518. package/highcharts.js.map +1 -1
  519. package/highcharts.src.d.ts +11364 -1136
  520. package/highcharts.src.js +1408 -1117
  521. package/highmaps.js +762 -758
  522. package/highmaps.js.map +1 -1
  523. package/highmaps.src.js +2237 -1721
  524. package/highstock.js +796 -792
  525. package/highstock.js.map +1 -1
  526. package/highstock.src.js +1617 -1224
  527. package/indicators/acceleration-bands.d.ts +1 -17
  528. package/indicators/acceleration-bands.js +11 -12
  529. package/indicators/acceleration-bands.js.map +1 -1
  530. package/indicators/acceleration-bands.src.d.ts +1 -17
  531. package/indicators/acceleration-bands.src.js +99 -101
  532. package/indicators/accumulation-distribution.js +1 -1
  533. package/indicators/accumulation-distribution.js.map +1 -1
  534. package/indicators/accumulation-distribution.src.js +6 -1
  535. package/indicators/ao.js +6 -6
  536. package/indicators/ao.js.map +1 -1
  537. package/indicators/ao.src.js +25 -16
  538. package/indicators/apo.js +1 -1
  539. package/indicators/apo.js.map +1 -1
  540. package/indicators/apo.src.js +6 -1
  541. package/indicators/aroon-oscillator.d.ts +1 -17
  542. package/indicators/aroon-oscillator.js +10 -10
  543. package/indicators/aroon-oscillator.js.map +1 -1
  544. package/indicators/aroon-oscillator.src.d.ts +1 -17
  545. package/indicators/aroon-oscillator.src.js +95 -101
  546. package/indicators/aroon.d.ts +1 -17
  547. package/indicators/aroon.js +11 -11
  548. package/indicators/aroon.js.map +1 -1
  549. package/indicators/aroon.src.d.ts +1 -17
  550. package/indicators/aroon.src.js +104 -101
  551. package/indicators/atr.js +1 -1
  552. package/indicators/atr.js.map +1 -1
  553. package/indicators/atr.src.js +17 -4
  554. package/indicators/bollinger-bands.d.ts +1 -17
  555. package/indicators/bollinger-bands.js +11 -12
  556. package/indicators/bollinger-bands.js.map +1 -1
  557. package/indicators/bollinger-bands.src.d.ts +1 -17
  558. package/indicators/bollinger-bands.src.js +97 -103
  559. package/indicators/cci.js +1 -1
  560. package/indicators/cci.js.map +1 -1
  561. package/indicators/cci.src.js +17 -4
  562. package/indicators/chaikin.js +8 -8
  563. package/indicators/chaikin.js.map +1 -1
  564. package/indicators/chaikin.src.js +13 -5
  565. package/indicators/cmf.js +1 -1
  566. package/indicators/cmf.js.map +1 -1
  567. package/indicators/cmf.src.js +21 -1
  568. package/indicators/cmo.js +1 -1
  569. package/indicators/cmo.js.map +1 -1
  570. package/indicators/cmo.src.js +16 -2
  571. package/indicators/dema.js +1 -1
  572. package/indicators/dema.js.map +1 -1
  573. package/indicators/dema.src.js +26 -1
  574. package/indicators/disparity-index.js +1 -1
  575. package/indicators/disparity-index.src.js +1 -1
  576. package/indicators/dmi.js +12 -12
  577. package/indicators/dmi.js.map +1 -1
  578. package/indicators/dmi.src.js +104 -105
  579. package/indicators/dpo.js +1 -1
  580. package/indicators/dpo.js.map +1 -1
  581. package/indicators/dpo.src.js +20 -9
  582. package/indicators/ichimoku-kinko-hyo.js +1 -1
  583. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  584. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  585. package/indicators/indicators-all.d.ts +1 -17
  586. package/indicators/indicators-all.js +200 -199
  587. package/indicators/indicators-all.js.map +1 -1
  588. package/indicators/indicators-all.src.d.ts +1 -17
  589. package/indicators/indicators-all.src.js +882 -284
  590. package/indicators/indicators.js +1 -1
  591. package/indicators/indicators.js.map +1 -1
  592. package/indicators/indicators.src.js +12 -2
  593. package/indicators/keltner-channels.d.ts +1 -17
  594. package/indicators/keltner-channels.js +11 -12
  595. package/indicators/keltner-channels.js.map +1 -1
  596. package/indicators/keltner-channels.src.d.ts +1 -17
  597. package/indicators/keltner-channels.src.js +114 -99
  598. package/indicators/klinger.js +14 -14
  599. package/indicators/klinger.js.map +1 -1
  600. package/indicators/klinger.src.js +101 -102
  601. package/indicators/macd.js +10 -9
  602. package/indicators/macd.js.map +1 -1
  603. package/indicators/macd.src.js +46 -25
  604. package/indicators/mfi.js +1 -1
  605. package/indicators/mfi.js.map +1 -1
  606. package/indicators/mfi.src.js +24 -11
  607. package/indicators/momentum.js +1 -1
  608. package/indicators/momentum.js.map +1 -1
  609. package/indicators/momentum.src.js +31 -3
  610. package/indicators/natr.js +1 -1
  611. package/indicators/natr.js.map +1 -1
  612. package/indicators/natr.src.js +17 -3
  613. package/indicators/obv.js +1 -1
  614. package/indicators/obv.js.map +1 -1
  615. package/indicators/obv.src.js +11 -1
  616. package/indicators/pivot-points.js +1 -1
  617. package/indicators/pivot-points.js.map +1 -1
  618. package/indicators/pivot-points.src.js +32 -19
  619. package/indicators/ppo.js +1 -1
  620. package/indicators/ppo.js.map +1 -1
  621. package/indicators/ppo.src.js +15 -5
  622. package/indicators/price-channel.d.ts +1 -17
  623. package/indicators/price-channel.js +11 -11
  624. package/indicators/price-channel.js.map +1 -1
  625. package/indicators/price-channel.src.d.ts +1 -17
  626. package/indicators/price-channel.src.js +102 -107
  627. package/indicators/price-envelopes.js +1 -1
  628. package/indicators/price-envelopes.js.map +1 -1
  629. package/indicators/price-envelopes.src.js +26 -1
  630. package/indicators/psar.js +1 -1
  631. package/indicators/psar.js.map +1 -1
  632. package/indicators/psar.src.js +17 -4
  633. package/indicators/regressions.js +12 -11
  634. package/indicators/regressions.js.map +1 -1
  635. package/indicators/regressions.src.js +50 -15
  636. package/indicators/roc.js +1 -1
  637. package/indicators/roc.js.map +1 -1
  638. package/indicators/roc.src.js +16 -3
  639. package/indicators/rsi.js +1 -1
  640. package/indicators/rsi.js.map +1 -1
  641. package/indicators/rsi.src.js +21 -3
  642. package/indicators/slow-stochastic.js +1 -1
  643. package/indicators/slow-stochastic.js.map +1 -1
  644. package/indicators/slow-stochastic.src.js +26 -1
  645. package/indicators/stochastic.d.ts +1 -17
  646. package/indicators/stochastic.js +12 -12
  647. package/indicators/stochastic.js.map +1 -1
  648. package/indicators/stochastic.src.d.ts +1 -17
  649. package/indicators/stochastic.src.js +104 -99
  650. package/indicators/supertrend.js +7 -7
  651. package/indicators/supertrend.js.map +1 -1
  652. package/indicators/supertrend.src.js +21 -9
  653. package/indicators/tema.js +1 -1
  654. package/indicators/tema.src.js +1 -1
  655. package/indicators/trendline.js +1 -1
  656. package/indicators/trendline.js.map +1 -1
  657. package/indicators/trendline.src.js +15 -5
  658. package/indicators/trix.js +1 -1
  659. package/indicators/trix.js.map +1 -1
  660. package/indicators/trix.src.js +26 -1
  661. package/indicators/volume-by-price.js +17 -17
  662. package/indicators/volume-by-price.js.map +1 -1
  663. package/indicators/volume-by-price.src.js +38 -10
  664. package/indicators/vwap.js +1 -1
  665. package/indicators/vwap.js.map +1 -1
  666. package/indicators/vwap.src.js +12 -2
  667. package/indicators/williams-r.js +1 -1
  668. package/indicators/williams-r.js.map +1 -1
  669. package/indicators/williams-r.src.js +11 -1
  670. package/indicators/wma.js +1 -1
  671. package/indicators/wma.js.map +1 -1
  672. package/indicators/wma.src.js +31 -3
  673. package/indicators/zigzag.js +1 -1
  674. package/indicators/zigzag.js.map +1 -1
  675. package/indicators/zigzag.src.js +12 -2
  676. package/modules/accessibility.js +246 -242
  677. package/modules/accessibility.js.map +1 -1
  678. package/modules/accessibility.src.js +797 -664
  679. package/modules/annotations-advanced.d.ts +1 -1
  680. package/modules/annotations-advanced.js +193 -192
  681. package/modules/annotations-advanced.js.map +1 -1
  682. package/modules/annotations-advanced.src.d.ts +1 -1
  683. package/modules/annotations-advanced.src.js +9229 -8589
  684. package/modules/annotations.d.ts +1 -1
  685. package/modules/annotations.js +128 -126
  686. package/modules/annotations.js.map +1 -1
  687. package/modules/annotations.src.d.ts +1 -1
  688. package/modules/annotations.src.js +6190 -5528
  689. package/modules/arc-diagram.js +7 -7
  690. package/modules/arc-diagram.js.map +1 -1
  691. package/modules/arc-diagram.src.js +10 -2
  692. package/modules/arrow-symbols.js +1 -1
  693. package/modules/arrow-symbols.src.js +1 -1
  694. package/modules/boost-canvas.d.ts +19 -0
  695. package/modules/boost-canvas.js +81 -15
  696. package/modules/boost-canvas.js.map +1 -1
  697. package/modules/boost-canvas.src.d.ts +19 -0
  698. package/modules/boost-canvas.src.js +3342 -52
  699. package/modules/boost.d.ts +8 -26
  700. package/modules/boost.js +88 -80
  701. package/modules/boost.js.map +1 -1
  702. package/modules/boost.src.d.ts +8 -26
  703. package/modules/boost.src.js +2435 -1889
  704. package/modules/broken-axis.js +2 -2
  705. package/modules/broken-axis.js.map +1 -1
  706. package/modules/broken-axis.src.js +2 -2
  707. package/modules/bullet.js +1 -1
  708. package/modules/bullet.js.map +1 -1
  709. package/modules/bullet.src.js +2 -5
  710. package/modules/coloraxis.js +2 -2
  711. package/modules/coloraxis.js.map +1 -1
  712. package/modules/coloraxis.src.js +9 -5
  713. package/modules/current-date-indicator.js +1 -1
  714. package/modules/current-date-indicator.src.js +2 -2
  715. package/modules/cylinder.js +9 -9
  716. package/modules/cylinder.js.map +1 -1
  717. package/modules/cylinder.src.js +2 -2
  718. package/modules/data.d.ts +12 -12
  719. package/modules/data.js +33 -34
  720. package/modules/data.js.map +1 -1
  721. package/modules/data.src.d.ts +12 -12
  722. package/modules/data.src.js +862 -829
  723. package/modules/datagrouping.d.ts +22 -0
  724. package/modules/datagrouping.js +9 -9
  725. package/modules/datagrouping.js.map +1 -1
  726. package/modules/datagrouping.src.d.ts +22 -0
  727. package/modules/datagrouping.src.js +69 -29
  728. package/modules/debugger.js +8 -6
  729. package/modules/debugger.js.map +1 -1
  730. package/modules/debugger.src.js +85 -40
  731. package/modules/dependency-wheel.js +12 -12
  732. package/modules/dependency-wheel.js.map +1 -1
  733. package/modules/dependency-wheel.src.js +41 -14
  734. package/modules/dotplot.js +1 -1
  735. package/modules/dotplot.src.js +1 -1
  736. package/modules/drag-panes.js +1 -1
  737. package/modules/drag-panes.src.js +2 -2
  738. package/modules/draggable-points.js +5 -5
  739. package/modules/draggable-points.js.map +1 -1
  740. package/modules/draggable-points.src.js +5 -4
  741. package/modules/drilldown.d.ts +0 -10
  742. package/modules/drilldown.js +37 -37
  743. package/modules/drilldown.js.map +1 -1
  744. package/modules/drilldown.src.d.ts +0 -10
  745. package/modules/drilldown.src.js +59 -25
  746. package/modules/dumbbell.d.ts +4 -0
  747. package/modules/dumbbell.js +17 -17
  748. package/modules/dumbbell.js.map +1 -1
  749. package/modules/dumbbell.src.d.ts +4 -0
  750. package/modules/dumbbell.src.js +24 -12
  751. package/modules/export-data.js +25 -22
  752. package/modules/export-data.js.map +1 -1
  753. package/modules/export-data.src.js +641 -469
  754. package/modules/exporting.d.ts +8 -8
  755. package/modules/exporting.js +39 -39
  756. package/modules/exporting.js.map +1 -1
  757. package/modules/exporting.src.d.ts +8 -8
  758. package/modules/exporting.src.js +442 -319
  759. package/modules/full-screen.js +8 -8
  760. package/modules/full-screen.js.map +1 -1
  761. package/modules/full-screen.src.js +196 -78
  762. package/modules/funnel.js +1 -1
  763. package/modules/funnel.src.js +3 -3
  764. package/modules/funnel3d.js +2 -2
  765. package/modules/funnel3d.js.map +1 -1
  766. package/modules/funnel3d.src.js +2 -2
  767. package/modules/gantt.js +219 -217
  768. package/modules/gantt.js.map +1 -1
  769. package/modules/gantt.src.js +2420 -2364
  770. package/modules/grid-axis.js +23 -23
  771. package/modules/grid-axis.js.map +1 -1
  772. package/modules/grid-axis.src.js +890 -891
  773. package/modules/heatmap.js +40 -40
  774. package/modules/heatmap.js.map +1 -1
  775. package/modules/heatmap.src.js +137 -108
  776. package/modules/heikinashi.js +1 -1
  777. package/modules/heikinashi.src.js +1 -1
  778. package/modules/histogram-bellcurve.js +1 -1
  779. package/modules/histogram-bellcurve.src.js +1 -1
  780. package/modules/hollowcandlestick.js +1 -1
  781. package/modules/hollowcandlestick.src.js +9 -9
  782. package/modules/item-series.js +1 -1
  783. package/modules/item-series.src.js +1 -1
  784. package/modules/lollipop.js +6 -6
  785. package/modules/lollipop.js.map +1 -1
  786. package/modules/lollipop.src.js +37 -22
  787. package/modules/map.d.ts +3 -3
  788. package/modules/map.js +171 -169
  789. package/modules/map.js.map +1 -1
  790. package/modules/map.src.d.ts +3 -3
  791. package/modules/map.src.js +830 -605
  792. package/modules/marker-clusters.js +1 -1
  793. package/modules/marker-clusters.js.map +1 -1
  794. package/modules/marker-clusters.src.js +4 -6
  795. package/modules/networkgraph.d.ts +1 -17
  796. package/modules/networkgraph.js +55 -50
  797. package/modules/networkgraph.js.map +1 -1
  798. package/modules/networkgraph.src.d.ts +1 -17
  799. package/modules/networkgraph.src.js +2339 -2008
  800. package/modules/no-data-to-display.js +1 -1
  801. package/modules/no-data-to-display.src.js +2 -2
  802. package/modules/offline-exporting.js +3 -3
  803. package/modules/offline-exporting.js.map +1 -1
  804. package/modules/offline-exporting.src.js +5 -5
  805. package/modules/oldie-polyfills.js +1 -1
  806. package/modules/oldie-polyfills.src.js +1 -1
  807. package/modules/oldie.js +2 -2
  808. package/modules/oldie.src.js +3 -3
  809. package/modules/organization.js +15 -15
  810. package/modules/organization.js.map +1 -1
  811. package/modules/organization.src.js +12 -4
  812. package/modules/overlapping-datalabels.js +1 -1
  813. package/modules/overlapping-datalabels.src.js +1 -1
  814. package/modules/parallel-coordinates.js +11 -11
  815. package/modules/parallel-coordinates.js.map +1 -1
  816. package/modules/parallel-coordinates.src.js +14 -9
  817. package/modules/pareto.js +1 -1
  818. package/modules/pareto.src.js +1 -1
  819. package/modules/pathfinder.js +1 -1
  820. package/modules/pathfinder.src.js +1 -1
  821. package/modules/pattern-fill.js +15 -14
  822. package/modules/pattern-fill.js.map +1 -1
  823. package/modules/pattern-fill.src.js +15 -2
  824. package/modules/price-indicator.js +1 -1
  825. package/modules/price-indicator.src.js +1 -1
  826. package/modules/pyramid3d.js +1 -1
  827. package/modules/pyramid3d.src.js +1 -1
  828. package/modules/sankey.d.ts +1 -17
  829. package/modules/sankey.js +32 -32
  830. package/modules/sankey.js.map +1 -1
  831. package/modules/sankey.src.d.ts +1 -17
  832. package/modules/sankey.src.js +102 -57
  833. package/modules/series-label.js +18 -18
  834. package/modules/series-label.js.map +1 -1
  835. package/modules/series-label.src.js +474 -387
  836. package/modules/series-on-point.js +18 -0
  837. package/modules/series-on-point.js.map +1 -0
  838. package/modules/series-on-point.src.js +468 -0
  839. package/modules/solid-gauge.js +4 -4
  840. package/modules/solid-gauge.js.map +1 -1
  841. package/modules/solid-gauge.src.js +6 -6
  842. package/modules/sonification.d.ts +2 -2
  843. package/modules/sonification.js +1 -1
  844. package/modules/sonification.js.map +1 -1
  845. package/modules/sonification.src.d.ts +2 -2
  846. package/modules/sonification.src.js +4 -8
  847. package/modules/static-scale.js +1 -1
  848. package/modules/static-scale.src.js +1 -1
  849. package/modules/stock-tools.d.ts +1 -23
  850. package/modules/stock-tools.js +109 -179
  851. package/modules/stock-tools.js.map +1 -1
  852. package/modules/stock-tools.src.d.ts +1 -23
  853. package/modules/stock-tools.src.js +2652 -6347
  854. package/modules/stock.d.ts +8 -0
  855. package/modules/stock.js +205 -204
  856. package/modules/stock.js.map +1 -1
  857. package/modules/stock.src.d.ts +8 -0
  858. package/modules/stock.src.js +208 -106
  859. package/modules/streamgraph.js +1 -1
  860. package/modules/streamgraph.src.js +1 -1
  861. package/modules/sunburst.js +73 -73
  862. package/modules/sunburst.js.map +1 -1
  863. package/modules/sunburst.src.js +251 -193
  864. package/modules/tilemap.js +1 -1
  865. package/modules/tilemap.src.js +1 -1
  866. package/modules/timeline.js +1 -1
  867. package/modules/timeline.js.map +1 -1
  868. package/modules/timeline.src.js +6 -4
  869. package/modules/treegrid.js +57 -57
  870. package/modules/treegrid.js.map +1 -1
  871. package/modules/treegrid.src.js +1908 -1901
  872. package/modules/treemap.js +54 -53
  873. package/modules/treemap.js.map +1 -1
  874. package/modules/treemap.src.js +217 -183
  875. package/modules/variable-pie.js +1 -1
  876. package/modules/variable-pie.src.js +1 -1
  877. package/modules/variwide.js +1 -1
  878. package/modules/variwide.src.js +1 -1
  879. package/modules/vector.js +2 -2
  880. package/modules/vector.js.map +1 -1
  881. package/modules/vector.src.js +3 -5
  882. package/modules/venn.js +31 -31
  883. package/modules/venn.js.map +1 -1
  884. package/modules/venn.src.js +82 -111
  885. package/modules/windbarb.js +1 -1
  886. package/modules/windbarb.src.js +1 -1
  887. package/modules/wordcloud.js +23 -23
  888. package/modules/wordcloud.js.map +1 -1
  889. package/modules/wordcloud.src.js +84 -113
  890. package/modules/xrange.js +17 -17
  891. package/modules/xrange.js.map +1 -1
  892. package/modules/xrange.src.js +411 -397
  893. package/package.json +1 -1
  894. package/themes/avocado.js +1 -1
  895. package/themes/avocado.src.js +1 -1
  896. package/themes/brand-dark.js +1 -1
  897. package/themes/brand-dark.src.js +1 -1
  898. package/themes/brand-light.js +1 -1
  899. package/themes/brand-light.src.js +1 -1
  900. package/themes/dark-blue.js +1 -1
  901. package/themes/dark-blue.src.js +1 -1
  902. package/themes/dark-green.js +1 -1
  903. package/themes/dark-green.src.js +1 -1
  904. package/themes/dark-unica.js +1 -1
  905. package/themes/dark-unica.src.js +1 -1
  906. package/themes/gray.js +1 -1
  907. package/themes/gray.src.js +1 -1
  908. package/themes/grid-light.js +1 -1
  909. package/themes/grid-light.src.js +1 -1
  910. package/themes/grid.js +1 -1
  911. package/themes/grid.src.js +1 -1
  912. package/themes/high-contrast-dark.js +2 -2
  913. package/themes/high-contrast-dark.src.js +11 -11
  914. package/themes/high-contrast-light.js +2 -2
  915. package/themes/high-contrast-light.src.js +10 -10
  916. package/themes/sand-signika.js +1 -1
  917. package/themes/sand-signika.src.js +1 -1
  918. package/themes/skies.js +1 -1
  919. package/themes/skies.src.js +1 -1
  920. package/themes/sunset.js +1 -1
  921. package/themes/sunset.src.js +1 -1
  922. package/es-modules/Core/Axis/StackingAxis.js +0 -216
  923. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  924. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  925. package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
  926. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  927. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  928. package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
  929. package/es-modules/Extensions/Boost/BoostInit.js +0 -323
  930. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  931. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  932. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  933. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  934. package/es-modules/Extensions/FullScreen.js +0 -240
  935. package/es-modules/Extensions/Polar.js +0 -740
  936. package/es-modules/Extensions/Stacking.js +0 -517
  937. package/es-modules/Series/ColorMapMixin.js +0 -84
  938. package/es-modules/Series/DrawPointComposition.js +0 -114
  939. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  940. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  941. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
  942. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -22,492 +22,58 @@ import U from '../Core/Utilities.js';
22
22
  import D from '../Core/DefaultOptions.js';
23
23
  var getOptions = D.getOptions;
24
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;
25
- /**
26
- * Callback function to modify the CSV before parsing it by the data module.
27
- *
28
- * @callback Highcharts.DataBeforeParseCallbackFunction
29
- *
30
- * @param {string} csv
31
- * The CSV to modify.
32
- *
33
- * @return {string}
34
- * The CSV to parse.
35
- */
36
- /**
37
- * Callback function that gets called after parsing data.
38
- *
39
- * @callback Highcharts.DataCompleteCallbackFunction
40
- *
41
- * @param {Highcharts.Options} chartOptions
42
- * The chart options that were used.
43
- */
44
- /**
45
- * Callback function that returns the correspondig Date object to a match.
46
- *
47
- * @callback Highcharts.DataDateFormatCallbackFunction
48
- *
49
- * @param {Array<number>} match
50
- *
51
- * @return {number}
52
- */
53
- /**
54
- * Structure for alternative date formats to parse.
55
- *
56
- * @interface Highcharts.DataDateFormatObject
57
- */ /**
58
- * @name Highcharts.DataDateFormatObject#alternative
59
- * @type {string|undefined}
60
- */ /**
61
- * @name Highcharts.DataDateFormatObject#parser
62
- * @type {Highcharts.DataDateFormatCallbackFunction}
63
- */ /**
64
- * @name Highcharts.DataDateFormatObject#regex
65
- * @type {global.RegExp}
66
- */
67
- /**
68
- * Possible types for a data item in a column or row.
69
- *
70
- * @typedef {number|string|null} Highcharts.DataValueType
71
- */
72
- /**
73
- * Callback function to parse string representations of dates into
74
- * JavaScript timestamps (milliseconds since 1.1.1970).
75
- *
76
- * @callback Highcharts.DataParseDateCallbackFunction
77
- *
78
- * @param {string} dateValue
79
- *
80
- * @return {number}
81
- * Timestamp (milliseconds since 1.1.1970) as integer for Date class.
82
- */
83
- /**
84
- * Callback function to access the parsed columns, the two-dimentional
85
- * input data array directly, before they are interpreted into series
86
- * data and categories.
87
- *
88
- * @callback Highcharts.DataParsedCallbackFunction
89
- *
90
- * @param {Array<Array<*>>} columns
91
- * The parsed columns by the data module.
92
- *
93
- * @return {boolean|undefined}
94
- * Return `false` to stop completion, or call `this.complete()` to
95
- * continue async.
96
- */
97
- /**
98
- * The Data module provides a simplified interface for adding data to
99
- * a chart from sources like CVS, HTML tables or grid views. See also
100
- * the [tutorial article on the Data module](
101
- * https://www.highcharts.com/docs/working-with-data/data-module).
102
- *
103
- * It requires the `modules/data.js` file to be loaded.
104
- *
105
- * Please note that the default way of adding data in Highcharts, without
106
- * the need of a module, is through the [series._type_.data](#series.line.data)
107
- * option.
108
- *
109
- * @sample {highcharts} highcharts/demo/column-parsed/
110
- * HTML table
111
- * @sample {highcharts} highcharts/data/csv/
112
- * CSV
113
- *
114
- * @since 4.0
115
- * @requires modules/data
116
- * @apioption data
117
- */
118
- /**
119
- * A callback function to modify the CSV before parsing it. Return the modified
120
- * string.
121
- *
122
- * @sample {highcharts} highcharts/demo/line-ajax/
123
- * Modify CSV before parse
124
- *
125
- * @type {Highcharts.DataBeforeParseCallbackFunction}
126
- * @since 6.1
127
- * @apioption data.beforeParse
128
- */
129
- /**
130
- * A two-dimensional array representing the input data on tabular form.
131
- * This input can be used when the data is already parsed, for example
132
- * from a grid view component. Each cell can be a string or number.
133
- * If not switchRowsAndColumns is set, the columns are interpreted as
134
- * series.
135
- *
136
- * @see [data.rows](#data.rows)
137
- *
138
- * @sample {highcharts} highcharts/data/columns/
139
- * Columns
140
- *
141
- * @type {Array<Array<Highcharts.DataValueType>>}
142
- * @since 4.0
143
- * @apioption data.columns
144
- */
145
- /**
146
- * The callback that is evaluated when the data is finished loading,
147
- * optionally from an external source, and parsed. The first argument
148
- * passed is a finished chart options object, containing the series.
149
- * These options can be extended with additional options and passed
150
- * directly to the chart constructor.
151
- *
152
- * @see [data.parsed](#data.parsed)
153
- *
154
- * @sample {highcharts} highcharts/data/complete/
155
- * Modify data on complete
156
- *
157
- * @type {Highcharts.DataCompleteCallbackFunction}
158
- * @since 4.0
159
- * @apioption data.complete
160
- */
161
- /**
162
- * A comma delimited string to be parsed. Related options are [startRow](
163
- * #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
164
- * and [endColumn](#data.endColumn) to delimit what part of the table
165
- * is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
166
- * #data.itemDelimiter) options define the CSV delimiter formats.
167
- *
168
- * The built-in CSV parser doesn't support all flavours of CSV, so in
169
- * some cases it may be necessary to use an external CSV parser. See
170
- * [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
171
- * CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
172
- * library.
173
- *
174
- * @sample {highcharts} highcharts/data/csv/
175
- * Data from CSV
176
- *
177
- * @type {string}
178
- * @since 4.0
179
- * @apioption data.csv
180
- */
181
- /**
182
- * Which of the predefined date formats in Date.prototype.dateFormats
183
- * to use to parse date values. Defaults to a best guess based on what
184
- * format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
185
- * `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
186
- *
187
- * @see [data.parseDate](#data.parseDate)
188
- *
189
- * @sample {highcharts} highcharts/data/dateformat-auto/
190
- * Best guess date format
191
- *
192
- * @type {string}
193
- * @since 4.0
194
- * @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
195
- * "dd/mm/YY", "mm/dd/YY"]
196
- * @apioption data.dateFormat
197
- */
198
- /**
199
- * The decimal point used for parsing numbers in the CSV.
200
- *
201
- * If both this and data.delimiter is set to `undefined`, the parser will
202
- * attempt to deduce the decimal point automatically.
203
- *
204
- * @sample {highcharts} highcharts/data/delimiters/
205
- * Comma as decimal point
206
- *
207
- * @type {string}
208
- * @default .
209
- * @since 4.1.0
210
- * @apioption data.decimalPoint
211
- */
212
- /**
213
- * In tabular input data, the last column (indexed by 0) to use. Defaults
214
- * to the last column containing data.
25
+ /* *
215
26
  *
216
- * @sample {highcharts} highcharts/data/start-end/
217
- * Limited data
27
+ * Functions
218
28
  *
219
- * @type {number}
220
- * @since 4.0
221
- * @apioption data.endColumn
222
- */
29
+ * */
223
30
  /**
224
- * In tabular input data, the last row (indexed by 0) to use. Defaults
225
- * to the last row containing data.
226
- *
227
- * @sample {highcharts} highcharts/data/start-end/
228
- * Limited data
229
- *
230
- * @type {number}
231
- * @since 4.0.4
232
- * @apioption data.endRow
31
+ * @private
233
32
  */
234
- /**
235
- * 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
+ /* *
236
60
  *
237
- * @sample {highcharts} highcharts/data/start-end/
238
- * Don't get series names from the CSV
239
- * @sample {highstock} highcharts/data/start-end/
240
- * Don't get series names from the CSV
61
+ * Class
241
62
  *
242
- * @type {boolean}
243
- * @default true
244
- * @since 4.1.0
245
- * @product highcharts highstock gantt
246
- * @apioption data.firstRowAsNames
247
- */
63
+ * */
248
64
  /**
249
- * The Google Spreadsheet API key required for access generated at [API Services
250
- * / Credentials](https://console.cloud.google.com/apis/credentials). See a
251
- * comprehensive tutorial for setting up the key at the
252
- * [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
253
- * book website.
65
+ * The Data class
254
66
  *
255
- * @sample {highcharts} highcharts/data/google-spreadsheet/
256
- * Load a Google Spreadsheet
67
+ * @requires module:modules/data
257
68
  *
258
- * @type {string}
259
- * @since 9.2.2
260
- * @apioption data.googleAPIKey
261
- */
262
- /**
263
- * The key or `spreadsheetId` value for a Google Spreadsheet to load. See
264
- * [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
265
- * for how to find the `spreadsheetId`.
69
+ * @class
70
+ * @name Highcharts.Data
266
71
  *
267
- * In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
268
- * must also be given.
72
+ * @param {Highcharts.DataOptions} dataOptions
269
73
  *
270
- * @sample {highcharts} highcharts/data/google-spreadsheet/
271
- * Load a Google Spreadsheet
74
+ * @param {Highcharts.Options} [chartOptions]
272
75
  *
273
- * @type {string}
274
- * @since 4.0
275
- * @apioption data.googleSpreadsheetKey
276
- */
277
- /**
278
- * The Google Spreadsheet `range` to use in combination with
279
- * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
280
- * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
281
- * for details.
282
- *
283
- * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
284
- * `endRow`.
285
- *
286
- * @example
287
- * googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
288
- * googleSpreadsheetRange: 'A:Z' // Load columns A to Z
289
- *
290
- * @sample {highcharts} highcharts/data/google-spreadsheet/
291
- * Load a Google Spreadsheet
292
- *
293
- * @type {string|undefined}
294
- * @since 9.2.2
295
- * @apioption data.googleSpreadsheetRange
296
- */
297
- /**
298
- * No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
299
- * the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
300
- * specific sheet.
301
- *
302
- * @deprecated
303
- * @type {string}
304
- * @since 4.0
305
- * @apioption data.googleSpreadsheetWorksheet
306
- */
307
- /**
308
- * Item or cell delimiter for parsing CSV. Defaults to the tab character
309
- * `\t` if a tab character is found in the CSV string, if not it defaults
310
- * to `,`.
311
- *
312
- * If this is set to false or undefined, the parser will attempt to deduce
313
- * the delimiter automatically.
314
- *
315
- * @sample {highcharts} highcharts/data/delimiters/
316
- * Delimiters
317
- *
318
- * @type {string}
319
- * @since 4.0
320
- * @apioption data.itemDelimiter
321
- */
322
- /**
323
- * Line delimiter for parsing CSV.
324
- *
325
- * @sample {highcharts} highcharts/data/delimiters/
326
- * Delimiters
327
- *
328
- * @type {string}
329
- * @default \n
330
- * @since 4.0
331
- * @apioption data.lineDelimiter
332
- */
333
- /**
334
- * A callback function to access the parsed columns, the two-dimentional
335
- * input data array directly, before they are interpreted into series
336
- * data and categories. Return `false` to stop completion, or call
337
- * `this.complete()` to continue async.
338
- *
339
- * @see [data.complete](#data.complete)
340
- *
341
- * @sample {highcharts} highcharts/data/parsed/
342
- * Modify data after parse
343
- *
344
- * @type {Highcharts.DataParsedCallbackFunction}
345
- * @since 4.0
346
- * @apioption data.parsed
347
- */
348
- /**
349
- * A callback function to parse string representations of dates into
350
- * JavaScript timestamps. Should return an integer timestamp on success.
351
- *
352
- * @see [dateFormat](#data.dateFormat)
353
- *
354
- * @type {Highcharts.DataParseDateCallbackFunction}
355
- * @since 4.0
356
- * @apioption data.parseDate
357
- */
358
- /**
359
- * The same as the columns input option, but defining rows intead of
360
- * columns.
361
- *
362
- * @see [data.columns](#data.columns)
363
- *
364
- * @sample {highcharts} highcharts/data/rows/
365
- * Data in rows
366
- *
367
- * @type {Array<Array<Highcharts.DataValueType>>}
368
- * @since 4.0
369
- * @apioption data.rows
370
- */
371
- /**
372
- * An array containing dictionaries for each series. A dictionary exists of
373
- * Point property names as the key and the CSV column index as the value.
374
- *
375
- * @sample {highcharts} highcharts/data/seriesmapping-label/
376
- * Label from data set
377
- *
378
- * @type {Array<Highcharts.Dictionary<number>>}
379
- * @since 4.0.4
380
- * @apioption data.seriesMapping
381
- */
382
- /**
383
- * In tabular input data, the first column (indexed by 0) to use.
384
- *
385
- * @sample {highcharts} highcharts/data/start-end/
386
- * Limited data
387
- *
388
- * @type {number}
389
- * @default 0
390
- * @since 4.0
391
- * @apioption data.startColumn
392
- */
393
- /**
394
- * In tabular input data, the first row (indexed by 0) to use.
395
- *
396
- * @sample {highcharts} highcharts/data/start-end/
397
- * Limited data
398
- *
399
- * @type {number}
400
- * @default 0
401
- * @since 4.0
402
- * @apioption data.startRow
403
- */
404
- /**
405
- * Switch rows and columns of the input data, so that `this.columns`
406
- * effectively becomes the rows of the data set, and the rows are interpreted
407
- * as series.
408
- *
409
- * @sample {highcharts} highcharts/data/switchrowsandcolumns/
410
- * Switch rows and columns
411
- *
412
- * @type {boolean}
413
- * @default false
414
- * @since 4.0
415
- * @apioption data.switchRowsAndColumns
416
- */
417
- /**
418
- * An HTML table or the id of such to be parsed as input data. Related
419
- * options are `startRow`, `endRow`, `startColumn` and `endColumn` to
420
- * delimit what part of the table is used.
421
- *
422
- * @sample {highcharts} highcharts/demo/column-parsed/
423
- * Parsed table
424
- *
425
- * @type {string|global.HTMLElement}
426
- * @since 4.0
427
- * @apioption data.table
428
- */
429
- /**
430
- * An URL to a remote CSV dataset. Will be fetched when the chart is created
431
- * using Ajax.
432
- *
433
- * @sample highcharts/data/livedata-columns
434
- * Categorized bar chart with CSV and live polling
435
- * @sample highcharts/data/livedata-csv
436
- * Time based line chart with CSV and live polling
437
- *
438
- * @type {string}
439
- * @apioption data.csvURL
440
- */
441
- /**
442
- * A URL to a remote JSON dataset, structured as a row array.
443
- * Will be fetched when the chart is created using Ajax.
444
- *
445
- * @sample highcharts/data/livedata-rows
446
- * Rows with live polling
447
- *
448
- * @type {string}
449
- * @apioption data.rowsURL
450
- */
451
- /**
452
- * A URL to a remote JSON dataset, structured as a column array.
453
- * Will be fetched when the chart is created using Ajax.
454
- *
455
- * @sample highcharts/data/livedata-columns
456
- * Columns with live polling
457
- *
458
- * @type {string}
459
- * @apioption data.columnsURL
460
- */
461
- /**
462
- * Sets the refresh rate for data polling when importing remote dataset by
463
- * setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
464
- * [data.columnsURL](data.columnsURL), or
465
- * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
466
- *
467
- * Note that polling must be enabled by setting
468
- * [data.enablePolling](data.enablePolling) to true.
469
- *
470
- * The value is the number of seconds between pollings.
471
- * It cannot be set to less than 1 second.
472
- *
473
- * @sample highcharts/demo/live-data
474
- * Live data with user set refresh rate
475
- *
476
- * @default 1
477
- * @type {number}
478
- * @apioption data.dataRefreshRate
479
- */
480
- /**
481
- * Enables automatic refetching of remote datasets every _n_ seconds (defined by
482
- * setting [data.dataRefreshRate](data.dataRefreshRate)).
483
- *
484
- * Only works when either [data.csvURL](data.csvURL),
485
- * [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
486
- * [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
487
- *
488
- * @sample highcharts/demo/live-data
489
- * Live data
490
- * @sample highcharts/data/livedata-columns
491
- * Categorized bar chart with CSV and live polling
492
- *
493
- * @type {boolean}
494
- * @default false
495
- * @apioption data.enablePolling
496
- */
497
- /* eslint-disable valid-jsdoc */
498
- /**
499
- * The Data class
500
- *
501
- * @requires module:modules/data
502
- *
503
- * @class
504
- * @name Highcharts.Data
505
- *
506
- * @param {Highcharts.DataOptions} dataOptions
507
- *
508
- * @param {Highcharts.Options} [chartOptions]
509
- *
510
- * @param {Highcharts.Chart} [chart]
76
+ * @param {Highcharts.Chart} [chart]
511
77
  */
512
78
  var Data = /** @class */ (function () {
513
79
  /* *
@@ -516,11 +82,8 @@ var Data = /** @class */ (function () {
516
82
  *
517
83
  * */
518
84
  function Data(dataOptions, chartOptions, chart) {
519
- this.chart = void 0;
520
- this.chartOptions = void 0;
521
- this.firstRowAsNames = void 0;
522
- this.rawColumns = void 0;
523
- this.options = void 0;
85
+ if (chartOptions === void 0) { chartOptions = {}; }
86
+ this.rowsToColumns = Data.rowsToColumns; // backwards compatibility
524
87
  /**
525
88
  * A collection of available date formats, extendable from the outside to
526
89
  * support custom date formats.
@@ -560,7 +123,8 @@ var Data = /** @class */ (function () {
560
123
  if (!match) {
561
124
  return NaN;
562
125
  }
563
- var year = +match[3], d = new Date();
126
+ var d = new Date();
127
+ var year = +match[3];
564
128
  if (year > (d.getFullYear() - 2000)) {
565
129
  year += 1900;
566
130
  }
@@ -580,42 +144,82 @@ var Data = /** @class */ (function () {
580
144
  }
581
145
  }
582
146
  };
147
+ this.chart = chart;
148
+ this.chartOptions = chartOptions;
149
+ this.options = dataOptions;
150
+ this.rawColumns = [];
583
151
  this.init(dataOptions, chartOptions, chart);
584
152
  }
585
153
  /* *
586
154
  *
587
- * Functions
155
+ * Static Properties
588
156
  *
589
157
  * */
590
158
  /**
591
- * Initialize the Data object with the given options
159
+ * Creates a data object to parse data for a chart.
592
160
  *
593
- * @private
594
- * @function Highcharts.Data#init
161
+ * @function Highcharts.data
595
162
  */
596
- Data.prototype.init = function (options, chartOptions, chart) {
597
- var decimalPoint = options.decimalPoint, hasData;
598
- if (chartOptions) {
599
- this.chartOptions = chartOptions;
600
- }
601
- if (chart) {
602
- this.chart = chart;
603
- }
604
- if (decimalPoint !== '.' && decimalPoint !== ',') {
605
- decimalPoint = void 0;
606
- }
607
- this.options = options;
608
- this.columns = (options.columns ||
609
- this.rowsToColumns(options.rows) ||
610
- []);
611
- this.firstRowAsNames = pick(options.firstRowAsNames, this.firstRowAsNames, true);
612
- this.decimalRegex = (decimalPoint &&
613
- new RegExp('^(-?[0-9]+)' + decimalPoint + '([0-9]+)$'));
614
- // Always stop old polling when we have new options
615
- if (this.liveDataTimeout !== void 0) {
616
- clearTimeout(this.liveDataTimeout);
617
- }
618
- // This is a two-dimensional array holding the raw, trimmed string
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
619
223
  // values with the same organisation as the columns array. It makes it
620
224
  // possible for example to revert from interpreted timestamps to
621
225
  // string-based categories.
@@ -623,7 +227,7 @@ var Data = /** @class */ (function () {
623
227
  // No need to parse or interpret anything
624
228
  if (this.columns.length) {
625
229
  this.dataFound();
626
- hasData = !this.hasURLOption(options);
230
+ hasData = !hasURLOption(dataOptions);
627
231
  }
628
232
  if (!hasData) {
629
233
  // Fetch live data
@@ -642,14 +246,10 @@ var Data = /** @class */ (function () {
642
246
  // Parse a Google Spreadsheet
643
247
  hasData = this.parseGoogleSpreadsheet();
644
248
  }
645
- if (!hasData && options.afterComplete) {
646
- options.afterComplete();
249
+ if (!hasData && dataOptions.afterComplete) {
250
+ dataOptions.afterComplete();
647
251
  }
648
252
  };
649
- Data.prototype.hasURLOption = function (options) {
650
- return Boolean(options &&
651
- (options.rowsURL || options.csvURL || options.columnsURL));
652
- };
653
253
  /**
654
254
  * Get the column distribution. For example, a line series takes a single
655
255
  * column for Y values. A range series takes two columns for low and high
@@ -664,7 +264,7 @@ var Data = /** @class */ (function () {
664
264
  return seriesTypes[type || 'line'].prototype.pointArrayMap;
665
265
  }, globalType = (chartOptions &&
666
266
  chartOptions.chart &&
667
- chartOptions.chart.type), individualCounts = [], seriesBuilders = [], seriesIndex = 0,
267
+ chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
668
268
  // If no series mapping is defined, check if the series array is
669
269
  // defined with types.
670
270
  seriesMapping = ((options && options.seriesMapping) ||
@@ -673,7 +273,8 @@ var Data = /** @class */ (function () {
673
273
  chartOptions.series.map(function () {
674
274
  return { x: 0 };
675
275
  })) ||
676
- []), i;
276
+ []);
277
+ var seriesIndex = 0, i;
677
278
  ((chartOptions && chartOptions.series) || []).forEach(function (series) {
678
279
  individualCounts.push(getValueCount(series.type || globalType));
679
280
  });
@@ -759,12 +360,8 @@ var Data = /** @class */ (function () {
759
360
  * @function Highcharts.Data#parseCSV
760
361
  */
761
362
  Data.prototype.parseCSV = function (inOptions) {
762
- var self = this, options = inOptions || this.options, csv = options.csv, columns, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
763
- options.startRow :
764
- 0), endRow = options.endRow || Number.MAX_VALUE, startColumn = (typeof options.startColumn !== 'undefined' &&
765
- options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0,
766
- // activeRowNo = 0,
767
- 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 = [],
768
365
  // We count potential delimiters in the prepass, and use the
769
366
  // result as the basis of half-intelligent guesses.
770
367
  potDelimiters = {
@@ -772,7 +369,11 @@ var Data = /** @class */ (function () {
772
369
  ';': 0,
773
370
  '\t': 0
774
371
  };
775
- 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;
776
377
  /*
777
378
  This implementation is quite verbose. It will be shortened once
778
379
  it's stable and passes all the test.
@@ -1007,9 +608,10 @@ var Data = /** @class */ (function () {
1007
608
  * @private
1008
609
  */
1009
610
  function deduceDateFormat(data, limit) {
1010
- 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,
1011
613
  // candidates = {},
1012
- stable = [], max = [], j;
614
+ j;
1013
615
  if (!limit || limit > data.length) {
1014
616
  limit = data.length;
1015
617
  }
@@ -1181,8 +783,9 @@ var Data = /** @class */ (function () {
1181
783
  * @function Highcharts.Data#parseTable
1182
784
  */
1183
785
  Data.prototype.parseTable = function () {
1184
- 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;
1185
- 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;
1186
789
  if (typeof table === 'string') {
1187
790
  table = doc.getElementById(table);
1188
791
  }
@@ -1223,8 +826,9 @@ var Data = /** @class */ (function () {
1223
826
  * The URLs that were tried can be found in the options
1224
827
  */
1225
828
  Data.prototype.fetchLiveData = function () {
1226
- var data = this, chart = this.chart, options = this.options, maxRetries = 3, currentRetries = 0, pollingEnabled = options.enablePolling, updateIntervalMs = (options.dataRefreshRate || 2) * 1000, originalOptions = merge(options);
1227
- 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)) {
1228
832
  return false;
1229
833
  }
1230
834
  // Do not allow polling more than once a second
@@ -1308,7 +912,7 @@ var Data = /** @class */ (function () {
1308
912
  }
1309
913
  }
1310
914
  performFetch(true);
1311
- return this.hasURLOption(options);
915
+ return hasURLOption(options);
1312
916
  };
1313
917
  /**
1314
918
  * Parse a Google spreadsheet.
@@ -1335,7 +939,7 @@ var Data = /** @class */ (function () {
1335
939
  if (defined(options.endRow)) {
1336
940
  end += options.endRow + 1;
1337
941
  }
1338
- return start + ":" + end;
942
+ return "".concat(start, ":").concat(end);
1339
943
  };
1340
944
  /**
1341
945
  * Fetch the actual spreadsheet using XMLHttpRequest.
@@ -1436,7 +1040,8 @@ var Data = /** @class */ (function () {
1436
1040
  * @function Highcharts.Data#parseTypes
1437
1041
  */
1438
1042
  Data.prototype.parseTypes = function () {
1439
- var columns = this.columns, col = columns.length;
1043
+ var columns = this.columns || [];
1044
+ var col = columns.length;
1440
1045
  while (col--) {
1441
1046
  this.parseColumn(columns[col], col);
1442
1047
  }
@@ -1615,28 +1220,6 @@ var Data = /** @class */ (function () {
1615
1220
  }
1616
1221
  return ret;
1617
1222
  };
1618
- /**
1619
- * Reorganize rows into columns.
1620
- *
1621
- * @function Highcharts.Data#rowsToColumns
1622
- */
1623
- Data.prototype.rowsToColumns = function (rows) {
1624
- var row, rowsLength, col, colsLength, columns;
1625
- if (rows) {
1626
- columns = [];
1627
- rowsLength = rows.length;
1628
- for (row = 0; row < rowsLength; row++) {
1629
- colsLength = rows[row].length;
1630
- for (col = 0; col < colsLength; col++) {
1631
- if (!columns[col]) {
1632
- columns[col] = [];
1633
- }
1634
- columns[col][row] = rows[row][col];
1635
- }
1636
- }
1637
- }
1638
- return columns;
1639
- };
1640
1223
  /**
1641
1224
  * Get the parsed data in a form that we can apply directly to the
1642
1225
  * `series.data` config. Array positions can be mapped using the
@@ -1666,31 +1249,6 @@ var Data = /** @class */ (function () {
1666
1249
  return this.options.parsed.call(this, this.columns);
1667
1250
  }
1668
1251
  };
1669
- /**
1670
- * @private
1671
- * @function Highcharts.Data#getFreeIndexes
1672
- */
1673
- Data.prototype.getFreeIndexes = function (numberOfColumns, seriesBuilders) {
1674
- var s, i, freeIndexes = [], freeIndexValues = [], referencedIndexes;
1675
- // Add all columns as free
1676
- for (i = 0; i < numberOfColumns; i = i + 1) {
1677
- freeIndexes.push(true);
1678
- }
1679
- // Loop all defined builders and remove their referenced columns
1680
- for (s = 0; s < seriesBuilders.length; s = s + 1) {
1681
- referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
1682
- for (i = 0; i < referencedIndexes.length; i = i + 1) {
1683
- freeIndexes[referencedIndexes[i]] = false;
1684
- }
1685
- }
1686
- // Collect the values for the free indexes
1687
- for (i = 0; i < freeIndexes.length; i = i + 1) {
1688
- if (freeIndexes[i]) {
1689
- freeIndexValues.push(i);
1690
- }
1691
- }
1692
- return freeIndexValues;
1693
- };
1694
1252
  /**
1695
1253
  * If a complete callback function is provided in the options, interpret the
1696
1254
  * columns into a Highcharts options object.
@@ -1698,7 +1256,8 @@ var Data = /** @class */ (function () {
1698
1256
  * @function Highcharts.Data#complete
1699
1257
  */
1700
1258
  Data.prototype.complete = function () {
1701
- 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;
1702
1261
  xColumns.length = columns.length;
1703
1262
  if (options.complete || options.afterComplete) {
1704
1263
  // Get the names and shift the top row
@@ -1712,7 +1271,7 @@ var Data = /** @class */ (function () {
1712
1271
  }
1713
1272
  // Use the next columns for series
1714
1273
  series = [];
1715
- freeIndexes = this.getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
1274
+ freeIndexes = getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
1716
1275
  // Populate defined series
1717
1276
  for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
1718
1277
  builder = this.valueCount.seriesBuilders[seriesIndex];
@@ -1849,22 +1408,11 @@ var Data = /** @class */ (function () {
1849
1408
  };
1850
1409
  return Data;
1851
1410
  }());
1852
- // Register the Data prototype and data function on Highcharts
1853
- // Highcharts.Data = Data as any;
1854
- /**
1855
- * Creates a data object to parse data for a chart.
1856
- *
1857
- * @function Highcharts.data
1858
- */
1859
- G.data = function (dataOptions, chartOptions, chart) {
1860
- return new G.Data(dataOptions, chartOptions, chart);
1861
- };
1862
1411
  // Extend Chart.init so that the Chart constructor accepts a new configuration
1863
1412
  // option group, data.
1864
1413
  addEvent(Chart, 'init', function (e) {
1865
- var chart = this, // eslint-disable-line no-invalid-this
1866
- userOptions = (e.args[0] || {}), callback = e.args[1];
1867
- var defaultDataOptions = getOptions().data;
1414
+ var chart = this, callback = e.args[1], defaultDataOptions = getOptions().data;
1415
+ var userOptions = (e.args[0] || {});
1868
1416
  if ((defaultDataOptions || userOptions && userOptions.data) &&
1869
1417
  !chart.hasDataDef) {
1870
1418
  chart.hasDataDef = true;
@@ -1875,7 +1423,7 @@ addEvent(Chart, 'init', function (e) {
1875
1423
  * @type {Highcharts.Data|undefined}
1876
1424
  */
1877
1425
  var dataOptions = merge(defaultDataOptions, userOptions.data);
1878
- chart.data = new G.Data(extend(dataOptions, {
1426
+ chart.data = new Data(extend(dataOptions, {
1879
1427
  afterComplete: function (dataOptions) {
1880
1428
  var i, series;
1881
1429
  // Merge series configs
@@ -1923,8 +1471,6 @@ var SeriesBuilder = /** @class */ (function () {
1923
1471
  /* eslint-disable no-invalid-this */
1924
1472
  this.readers = [];
1925
1473
  this.pointIsArray = true;
1926
- /* eslint-enable no-invalid-this */
1927
- this.name = void 0;
1928
1474
  }
1929
1475
  /**
1930
1476
  * Populates readers with column indexes. A reader can be added without
@@ -1934,7 +1480,8 @@ var SeriesBuilder = /** @class */ (function () {
1934
1480
  * @function SeriesBuilder#populateColumns
1935
1481
  */
1936
1482
  SeriesBuilder.prototype.populateColumns = function (freeIndexes) {
1937
- var builder = this, enoughColumns = true;
1483
+ var builder = this;
1484
+ var enoughColumns = true;
1938
1485
  // Loop each reader and give it an index if its missing.
1939
1486
  // The freeIndexes.shift() will return undefined if there
1940
1487
  // are no more columns.
@@ -1960,7 +1507,8 @@ var SeriesBuilder = /** @class */ (function () {
1960
1507
  * @function SeriesBuilder#read<T>
1961
1508
  */
1962
1509
  SeriesBuilder.prototype.read = function (columns, rowIndex) {
1963
- var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {}, columnIndexes;
1510
+ var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {};
1511
+ var columnIndexes;
1964
1512
  // Loop each reader and ask it to read its value.
1965
1513
  // Then, build an array or point based on the readers names.
1966
1514
  builder.readers.forEach(function (reader) {
@@ -2019,7 +1567,8 @@ var SeriesBuilder = /** @class */ (function () {
2019
1567
  * @function SeriesBuilder#getReferencedColumnIndexes
2020
1568
  */
2021
1569
  SeriesBuilder.prototype.getReferencedColumnIndexes = function () {
2022
- var i, referencedColumnIndexes = [], columnReader;
1570
+ var referencedColumnIndexes = [];
1571
+ var i, columnReader;
2023
1572
  for (i = 0; i < this.readers.length; i = i + 1) {
2024
1573
  columnReader = this.readers[i];
2025
1574
  if (typeof columnReader.columnIndex !== 'undefined') {
@@ -2045,5 +1594,492 @@ var SeriesBuilder = /** @class */ (function () {
2045
1594
  };
2046
1595
  return SeriesBuilder;
2047
1596
  }());
2048
- G.Data = Data;
2049
- 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