highcharts 9.2.1 → 9.3.2

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 (896) hide show
  1. package/README.md +13 -6
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +48 -8
  4. package/css/annotations/popup.scss +70 -22
  5. package/css/highcharts.css +46 -1
  6. package/css/highcharts.scss +40 -0
  7. package/css/stocktools/gui.css +1 -1
  8. package/css/themes/dark-unica.css +46 -1
  9. package/css/themes/grid-light.css +46 -1
  10. package/css/themes/sand-signika.css +46 -1
  11. package/es-modules/Accessibility/A11yI18n.js +269 -224
  12. package/es-modules/Accessibility/Accessibility.js +244 -129
  13. package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
  14. package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
  15. package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
  16. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
  17. package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
  18. package/es-modules/Accessibility/Components/MenuComponent.js +239 -154
  19. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
  20. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
  21. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
  24. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
  25. package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
  26. package/es-modules/Accessibility/FocusBorder.js +192 -152
  27. package/es-modules/Accessibility/HighContrastMode.js +79 -66
  28. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  29. package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
  30. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  31. package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
  32. package/es-modules/Accessibility/Options/LangOptions.js +4 -5
  33. package/es-modules/Accessibility/Options/Options.js +32 -17
  34. package/es-modules/Accessibility/ProxyElement.js +218 -0
  35. package/es-modules/Accessibility/ProxyProvider.js +302 -0
  36. package/es-modules/Accessibility/Utils/Announcer.js +17 -10
  37. package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
  38. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  39. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  40. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -42
  41. package/es-modules/Core/Animation/Fx.js +5 -14
  42. package/es-modules/Core/Axis/Axis.js +77 -96
  43. package/es-modules/Core/Axis/Axis3D.js +10 -4
  44. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  45. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  46. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
  47. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
  48. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  49. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  50. package/es-modules/Core/Axis/GridAxis.js +26 -16
  51. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  52. package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
  53. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  54. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  55. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  56. package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
  57. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  58. package/es-modules/Core/Axis/Tick.js +2 -4
  59. package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
  60. package/es-modules/Core/Axis/TreeGridTick.js +5 -3
  61. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  62. package/es-modules/Core/Axis/ZAxis.js +1 -1
  63. package/es-modules/Core/Chart/Chart.js +44 -47
  64. package/es-modules/Core/Chart/Chart3D.js +23 -10
  65. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  66. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  67. package/es-modules/Core/Chart/GanttChart.js +4 -4
  68. package/es-modules/Core/Chart/MapChart.js +13 -25
  69. package/es-modules/Core/Chart/StockChart.js +13 -316
  70. package/es-modules/Core/Color/Palettes.js +22 -0
  71. package/es-modules/Core/DefaultOptions.js +22 -19
  72. package/es-modules/Core/Foundation.js +39 -31
  73. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  74. package/es-modules/Core/Globals.js +1 -1
  75. package/es-modules/Core/HttpUtilities.js +8 -7
  76. package/es-modules/Core/Legend/Legend.js +19 -16
  77. package/es-modules/Core/Navigator.js +41 -30
  78. package/es-modules/Core/Pointer.js +52 -45
  79. package/es-modules/Core/Renderer/HTML/AST.js +29 -14
  80. package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
  81. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  82. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  83. package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
  84. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  85. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
  86. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  87. package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
  88. package/es-modules/Core/Responsive.js +2 -3
  89. package/es-modules/Core/Scrollbar.js +14 -12
  90. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  91. package/es-modules/Core/Series/DataLabel.js +19 -15
  92. package/es-modules/Core/Series/Point.js +22 -19
  93. package/es-modules/Core/Series/Series.js +200 -235
  94. package/es-modules/Core/Series/SeriesDefaults.js +8 -8
  95. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  96. package/es-modules/Core/Time.js +14 -11
  97. package/es-modules/Core/Tooltip.js +63 -53
  98. package/es-modules/Core/Utilities.js +20 -24
  99. package/es-modules/Data/DataConverter.js +483 -0
  100. package/es-modules/Data/DataPromise.js +252 -0
  101. package/es-modules/Data/DataSeriesConverter.js +207 -0
  102. package/es-modules/Data/DataTable.js +1205 -0
  103. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  104. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  105. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  106. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  107. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  108. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  109. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  110. package/es-modules/Data/Parsers/CSVParser.js +400 -0
  111. package/es-modules/Data/Parsers/DataParser.js +101 -0
  112. package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
  113. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  114. package/es-modules/Data/Stores/CSVStore.js +317 -0
  115. package/es-modules/Data/Stores/DataStore.js +276 -0
  116. package/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
  117. package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
  118. package/es-modules/Extensions/Annotations/Annotations.js +69 -18
  119. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
  120. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  121. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  122. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  123. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  124. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  125. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  126. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
  127. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  128. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  129. package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
  130. package/es-modules/Extensions/Annotations/Popup.js +494 -148
  131. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  132. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
  133. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  134. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  135. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  136. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  137. package/es-modules/Extensions/Annotations/Types/Measure.js +29 -19
  138. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
  139. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
  140. package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
  141. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  142. package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
  143. package/es-modules/Extensions/Boost/BoostOverrides.js +6 -10
  144. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  145. package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
  146. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  147. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  148. package/es-modules/Extensions/BoostCanvas.js +1 -2
  149. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  150. package/es-modules/Extensions/Data.js +77 -115
  151. package/es-modules/Extensions/DataGrouping.js +54 -32
  152. package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
  153. package/es-modules/Extensions/DownloadURL.js +2 -2
  154. package/es-modules/Extensions/DragPanes.js +1 -2
  155. package/es-modules/Extensions/DraggablePoints.js +7 -8
  156. package/es-modules/Extensions/Drilldown.js +11 -7
  157. package/es-modules/Extensions/ExportData.js +6 -5
  158. package/es-modules/Extensions/Exporting/Exporting.js +35 -48
  159. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  160. package/es-modules/Extensions/FullScreen.js +4 -3
  161. package/es-modules/Extensions/GeoJSON.js +42 -66
  162. package/es-modules/Extensions/MarkerClusters.js +118 -98
  163. package/es-modules/Extensions/Math3D.js +4 -4
  164. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  165. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +33 -33
  166. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  167. package/es-modules/Extensions/Oldie/Oldie.js +14 -79
  168. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  169. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  170. package/es-modules/Extensions/Pane.js +11 -12
  171. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  172. package/es-modules/Extensions/PatternFill.js +17 -11
  173. package/es-modules/Extensions/Polar.js +7 -4
  174. package/es-modules/Extensions/PriceIndication.js +2 -1
  175. package/es-modules/Extensions/RangeSelector.js +22 -59
  176. package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
  177. package/es-modules/Extensions/SeriesLabel.js +1 -1
  178. package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
  179. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  180. package/es-modules/Extensions/Sonification/Instrument.js +493 -426
  181. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  182. package/es-modules/Extensions/Sonification/Options.js +10 -0
  183. package/es-modules/Extensions/Sonification/PointSonify.js +207 -152
  184. package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
  185. package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
  186. package/es-modules/Extensions/Sonification/Sonification.js +27 -53
  187. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
  188. package/es-modules/Extensions/Sonification/Timeline.js +250 -567
  189. package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
  190. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  191. package/es-modules/Extensions/Stacking.js +5 -23
  192. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  193. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  194. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  195. package/es-modules/Extensions/Themes/Grid.js +4 -2
  196. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  197. package/es-modules/Gantt/Connection.js +2 -2
  198. package/es-modules/Gantt/Pathfinder.js +6 -5
  199. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  200. package/es-modules/Maps/MapNavigation.js +30 -68
  201. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  202. package/es-modules/Maps/MapPointer.js +8 -5
  203. package/es-modules/Maps/MapSymbols.js +23 -3
  204. package/es-modules/Maps/MapView.js +450 -0
  205. package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  206. package/es-modules/Maps/Projection.js +436 -0
  207. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  208. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  209. package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  210. package/es-modules/Maps/Projections/Miller.js +16 -0
  211. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  212. package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  213. package/es-modules/Maps/Projections/WebMercator.js +24 -0
  214. package/es-modules/Series/Area/AreaSeries.js +13 -13
  215. package/es-modules/Series/Area3DSeries.js +4 -2
  216. package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
  217. package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
  218. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  219. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  220. package/es-modules/Series/Bubble/BubbleLegendItem.js +5 -15
  221. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  222. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  223. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -19
  224. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  225. package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
  226. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  227. package/es-modules/Series/Column/ColumnSeries.js +19 -18
  228. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  229. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
  230. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  231. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  232. package/es-modules/Series/DataModifyComposition.js +539 -0
  233. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  234. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
  235. package/es-modules/Series/DerivedComposition.js +137 -0
  236. package/es-modules/Series/DrawPointComposition.js +111 -0
  237. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  238. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
  239. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  240. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  241. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  242. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  243. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  244. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  245. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  246. package/es-modules/Series/Gantt/GanttSeries.js +3 -3
  247. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  248. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  249. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  250. package/es-modules/Series/HLC/HLCSeries.js +378 -0
  251. package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
  252. package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
  253. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
  254. package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
  255. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  256. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
  257. package/es-modules/Series/Item/ItemSeries.js +4 -5
  258. package/es-modules/Series/Line/LineSeries.js +1 -2
  259. package/es-modules/Series/Map/MapPoint.js +27 -14
  260. package/es-modules/Series/Map/MapSeries.js +283 -322
  261. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  262. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  263. package/es-modules/Series/MapLine/MapLineSeries.js +2 -4
  264. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  265. package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
  266. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  267. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  268. package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
  269. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  270. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
  271. package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
  272. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  273. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  274. package/es-modules/Series/Organization/OrganizationSeries.js +6 -5
  275. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  276. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  277. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
  278. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  279. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  280. package/es-modules/Series/Pie/PiePoint.js +2 -2
  281. package/es-modules/Series/Pie/PieSeries.js +7 -8
  282. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  283. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  284. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  285. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  286. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  287. package/es-modules/Series/Sankey/SankeySeries.js +92 -22
  288. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  289. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  290. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  291. package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
  292. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  293. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
  294. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  295. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  296. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
  297. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  298. package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
  299. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  300. package/es-modules/Series/Venn/VennPoint.js +16 -7
  301. package/es-modules/Series/Venn/VennSeries.js +11 -17
  302. package/es-modules/Series/Venn/VennUtils.js +551 -439
  303. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
  304. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  305. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  306. package/es-modules/Series/Wordcloud/WordcloudSeries.js +26 -22
  307. package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
  308. package/es-modules/Series/XRange/XRangePoint.js +7 -12
  309. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  310. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -6
  311. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  312. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  313. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +4 -6
  314. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  315. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  316. package/es-modules/Stock/Indicators/BB/BBIndicator.js +39 -11
  317. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  318. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  319. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  320. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +28 -16
  321. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
  322. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  323. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  324. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
  325. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
  326. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
  327. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  328. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  329. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  330. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +2 -3
  331. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
  332. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  333. package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
  334. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  335. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  336. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  337. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  338. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
  339. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  340. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
  341. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  342. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  343. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  344. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +26 -10
  345. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  346. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  347. package/es-modules/Stock/StockToolsBindings.js +156 -47
  348. package/es-modules/Stock/StockToolsGui.js +442 -37
  349. package/es-modules/masters/highcharts-3d.src.js +1 -1
  350. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  351. package/es-modules/masters/highcharts-more.src.js +1 -1
  352. package/es-modules/masters/highcharts.src.js +1 -1
  353. package/es-modules/masters/highmaps.src.js +1 -1
  354. package/es-modules/masters/highstock.src.js +1 -1
  355. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  356. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  357. package/es-modules/masters/indicators/ao.src.js +1 -1
  358. package/es-modules/masters/indicators/apo.src.js +1 -1
  359. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  360. package/es-modules/masters/indicators/aroon.src.js +1 -1
  361. package/es-modules/masters/indicators/atr.src.js +1 -1
  362. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  363. package/es-modules/masters/indicators/cci.src.js +1 -1
  364. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  365. package/es-modules/masters/indicators/cmf.src.js +1 -1
  366. package/es-modules/masters/indicators/cmo.src.js +1 -1
  367. package/es-modules/masters/indicators/dema.src.js +1 -1
  368. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  369. package/es-modules/masters/indicators/dmi.src.js +1 -1
  370. package/es-modules/masters/indicators/dpo.src.js +1 -1
  371. package/es-modules/masters/indicators/ema.src.js +4 -10
  372. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  373. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  374. package/es-modules/masters/indicators/indicators.src.js +2 -1
  375. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  376. package/es-modules/masters/indicators/klinger.src.js +1 -1
  377. package/es-modules/masters/indicators/macd.src.js +1 -1
  378. package/es-modules/masters/indicators/mfi.src.js +1 -1
  379. package/es-modules/masters/indicators/momentum.src.js +1 -1
  380. package/es-modules/masters/indicators/natr.src.js +1 -1
  381. package/es-modules/masters/indicators/obv.src.js +1 -1
  382. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  383. package/es-modules/masters/indicators/ppo.src.js +1 -1
  384. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  385. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  386. package/es-modules/masters/indicators/psar.src.js +1 -1
  387. package/es-modules/masters/indicators/regressions.src.js +1 -1
  388. package/es-modules/masters/indicators/roc.src.js +1 -1
  389. package/es-modules/masters/indicators/rsi.src.js +1 -1
  390. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  391. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  392. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  393. package/es-modules/masters/indicators/tema.src.js +1 -1
  394. package/es-modules/masters/indicators/trendline.src.js +1 -1
  395. package/es-modules/masters/indicators/trix.src.js +1 -1
  396. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  397. package/es-modules/masters/indicators/vwap.src.js +1 -1
  398. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  399. package/es-modules/masters/indicators/wma.src.js +1 -1
  400. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  401. package/es-modules/masters/modules/accessibility.src.js +16 -2
  402. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  403. package/es-modules/masters/modules/annotations.src.js +1 -1
  404. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  405. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  406. package/es-modules/masters/modules/boost.src.js +1 -1
  407. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  408. package/es-modules/masters/modules/bullet.src.js +1 -1
  409. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  410. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  411. package/es-modules/masters/modules/cylinder.src.js +1 -1
  412. package/es-modules/masters/modules/data.src.js +6 -3
  413. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  414. package/es-modules/masters/modules/debugger.src.js +1 -1
  415. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  416. package/es-modules/masters/modules/dotplot.src.js +1 -1
  417. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  418. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  419. package/es-modules/masters/modules/drilldown.src.js +1 -1
  420. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  421. package/es-modules/masters/modules/export-data.src.js +1 -1
  422. package/es-modules/masters/modules/exporting.src.js +1 -1
  423. package/es-modules/masters/modules/full-screen.src.js +1 -1
  424. package/es-modules/masters/modules/funnel.src.js +1 -1
  425. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  426. package/es-modules/masters/modules/gantt.src.js +1 -1
  427. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  428. package/es-modules/masters/modules/heatmap.src.js +1 -2
  429. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  430. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  431. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  432. package/es-modules/masters/modules/item-series.src.js +1 -1
  433. package/es-modules/masters/modules/lollipop.src.js +1 -1
  434. package/es-modules/masters/modules/map.src.js +1 -3
  435. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  436. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  437. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  438. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  439. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  440. package/es-modules/masters/modules/oldie.src.js +1 -1
  441. package/es-modules/masters/modules/organization.src.js +1 -1
  442. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  443. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  444. package/es-modules/masters/modules/pareto.src.js +1 -1
  445. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  446. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  447. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  448. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  449. package/es-modules/masters/modules/sankey.src.js +1 -1
  450. package/es-modules/masters/modules/series-label.src.js +1 -1
  451. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  452. package/es-modules/masters/modules/sonification.src.js +33 -2
  453. package/es-modules/masters/modules/static-scale.src.js +1 -1
  454. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  455. package/es-modules/masters/modules/stock.src.js +4 -1
  456. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  457. package/es-modules/masters/modules/sunburst.src.js +1 -1
  458. package/es-modules/masters/modules/tilemap.src.js +1 -1
  459. package/es-modules/masters/modules/timeline.src.js +1 -1
  460. package/es-modules/masters/modules/treegrid.src.js +1 -1
  461. package/es-modules/masters/modules/treemap.src.js +1 -1
  462. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  463. package/es-modules/masters/modules/variwide.src.js +1 -1
  464. package/es-modules/masters/modules/vector.src.js +1 -1
  465. package/es-modules/masters/modules/venn.src.js +1 -1
  466. package/es-modules/masters/modules/windbarb.src.js +1 -1
  467. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  468. package/es-modules/masters/modules/xrange.src.js +1 -1
  469. package/es-modules/masters/themes/avocado.src.js +1 -1
  470. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  471. package/es-modules/masters/themes/brand-light.src.js +14 -0
  472. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  473. package/es-modules/masters/themes/dark-green.src.js +1 -1
  474. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  475. package/es-modules/masters/themes/gray.src.js +1 -1
  476. package/es-modules/masters/themes/grid-light.src.js +1 -1
  477. package/es-modules/masters/themes/grid.src.js +1 -1
  478. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  479. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  480. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  481. package/es-modules/masters/themes/skies.src.js +1 -1
  482. package/es-modules/masters/themes/sunset.src.js +1 -1
  483. package/highcharts-3d.js +1 -1
  484. package/highcharts-3d.js.map +1 -1
  485. package/highcharts-3d.src.js +65 -35
  486. package/highcharts-gantt.js +800 -803
  487. package/highcharts-gantt.js.map +1 -1
  488. package/highcharts-gantt.src.js +1359 -1429
  489. package/highcharts-more.js +194 -193
  490. package/highcharts-more.js.map +1 -1
  491. package/highcharts-more.src.js +280 -222
  492. package/highcharts.d.ts +10228 -768
  493. package/highcharts.js +585 -588
  494. package/highcharts.js.map +1 -1
  495. package/highcharts.src.d.ts +10228 -768
  496. package/highcharts.src.js +995 -1066
  497. package/highmaps.js +727 -707
  498. package/highmaps.js.map +1 -1
  499. package/highmaps.src.js +3243 -2135
  500. package/highstock.js +788 -783
  501. package/highstock.js.map +1 -1
  502. package/highstock.src.js +2492 -1981
  503. package/indicators/acceleration-bands.d.ts +17 -1
  504. package/indicators/acceleration-bands.js +11 -9
  505. package/indicators/acceleration-bands.js.map +1 -1
  506. package/indicators/acceleration-bands.src.d.ts +17 -1
  507. package/indicators/acceleration-bands.src.js +238 -112
  508. package/indicators/accumulation-distribution.js +1 -1
  509. package/indicators/accumulation-distribution.src.js +1 -1
  510. package/indicators/ao.js +6 -6
  511. package/indicators/ao.js.map +1 -1
  512. package/indicators/ao.src.js +4 -4
  513. package/indicators/apo.js +5 -6
  514. package/indicators/apo.js.map +1 -1
  515. package/indicators/apo.src.js +16 -84
  516. package/indicators/aroon-oscillator.d.ts +17 -1
  517. package/indicators/aroon-oscillator.js +10 -9
  518. package/indicators/aroon-oscillator.js.map +1 -1
  519. package/indicators/aroon-oscillator.src.d.ts +17 -1
  520. package/indicators/aroon-oscillator.src.js +230 -177
  521. package/indicators/aroon.d.ts +17 -1
  522. package/indicators/aroon.js +11 -9
  523. package/indicators/aroon.js.map +1 -1
  524. package/indicators/aroon.src.d.ts +17 -1
  525. package/indicators/aroon.src.js +227 -112
  526. package/indicators/atr.js +1 -1
  527. package/indicators/atr.src.js +1 -1
  528. package/indicators/bollinger-bands.d.ts +17 -1
  529. package/indicators/bollinger-bands.js +12 -9
  530. package/indicators/bollinger-bands.js.map +1 -1
  531. package/indicators/bollinger-bands.src.d.ts +17 -1
  532. package/indicators/bollinger-bands.src.js +262 -117
  533. package/indicators/cci.js +1 -1
  534. package/indicators/cci.src.js +1 -1
  535. package/indicators/chaikin.js +8 -9
  536. package/indicators/chaikin.js.map +1 -1
  537. package/indicators/chaikin.src.js +8 -76
  538. package/indicators/cmf.js +1 -1
  539. package/indicators/cmf.js.map +1 -1
  540. package/indicators/cmf.src.js +36 -16
  541. package/indicators/cmo.js +1 -1
  542. package/indicators/cmo.src.js +1 -1
  543. package/indicators/dema.js +5 -6
  544. package/indicators/dema.js.map +1 -1
  545. package/indicators/dema.src.js +3 -75
  546. package/indicators/disparity-index.js +6 -7
  547. package/indicators/disparity-index.js.map +1 -1
  548. package/indicators/disparity-index.src.js +20 -74
  549. package/indicators/dmi.js +12 -11
  550. package/indicators/dmi.js.map +1 -1
  551. package/indicators/dmi.src.js +252 -121
  552. package/indicators/dpo.js +1 -1
  553. package/indicators/dpo.src.js +1 -1
  554. package/indicators/ema.js +1 -13
  555. package/indicators/ema.js.map +1 -1
  556. package/indicators/ema.src.js +7 -188
  557. package/indicators/ichimoku-kinko-hyo.js +1 -1
  558. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  559. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  560. package/indicators/indicators-all.d.ts +17 -1
  561. package/indicators/indicators-all.js +198 -203
  562. package/indicators/indicators-all.js.map +1 -1
  563. package/indicators/indicators-all.src.d.ts +17 -1
  564. package/indicators/indicators-all.src.js +892 -777
  565. package/indicators/indicators.js +12 -12
  566. package/indicators/indicators.js.map +1 -1
  567. package/indicators/indicators.src.js +213 -144
  568. package/indicators/keltner-channels.d.ts +17 -1
  569. package/indicators/keltner-channels.js +11 -10
  570. package/indicators/keltner-channels.js.map +1 -1
  571. package/indicators/keltner-channels.src.d.ts +17 -1
  572. package/indicators/keltner-channels.src.js +246 -118
  573. package/indicators/klinger.js +14 -13
  574. package/indicators/klinger.js.map +1 -1
  575. package/indicators/klinger.src.js +239 -187
  576. package/indicators/macd.js +2 -2
  577. package/indicators/macd.js.map +1 -1
  578. package/indicators/macd.src.js +3 -4
  579. package/indicators/mfi.js +1 -1
  580. package/indicators/mfi.src.js +1 -1
  581. package/indicators/momentum.js +1 -1
  582. package/indicators/momentum.src.js +1 -1
  583. package/indicators/natr.js +3 -3
  584. package/indicators/natr.js.map +1 -1
  585. package/indicators/natr.src.js +2 -4
  586. package/indicators/obv.js +1 -1
  587. package/indicators/obv.src.js +1 -1
  588. package/indicators/pivot-points.js +1 -1
  589. package/indicators/pivot-points.js.map +1 -1
  590. package/indicators/pivot-points.src.js +3 -2
  591. package/indicators/ppo.js +5 -6
  592. package/indicators/ppo.js.map +1 -1
  593. package/indicators/ppo.src.js +3 -75
  594. package/indicators/price-channel.d.ts +17 -1
  595. package/indicators/price-channel.js +11 -9
  596. package/indicators/price-channel.js.map +1 -1
  597. package/indicators/price-channel.src.d.ts +17 -1
  598. package/indicators/price-channel.src.js +288 -168
  599. package/indicators/price-envelopes.js +1 -1
  600. package/indicators/price-envelopes.src.js +1 -1
  601. package/indicators/psar.js +1 -1
  602. package/indicators/psar.src.js +1 -1
  603. package/indicators/regressions.js +1 -1
  604. package/indicators/regressions.js.map +1 -1
  605. package/indicators/regressions.src.js +39 -21
  606. package/indicators/roc.js +1 -1
  607. package/indicators/roc.src.js +1 -1
  608. package/indicators/rsi.js +1 -1
  609. package/indicators/rsi.js.map +1 -1
  610. package/indicators/rsi.src.js +3 -2
  611. package/indicators/slow-stochastic.js +5 -6
  612. package/indicators/slow-stochastic.js.map +1 -1
  613. package/indicators/slow-stochastic.src.js +2 -72
  614. package/indicators/stochastic.d.ts +17 -1
  615. package/indicators/stochastic.js +12 -10
  616. package/indicators/stochastic.js.map +1 -1
  617. package/indicators/stochastic.src.d.ts +17 -1
  618. package/indicators/stochastic.src.js +282 -165
  619. package/indicators/supertrend.js +10 -10
  620. package/indicators/supertrend.js.map +1 -1
  621. package/indicators/supertrend.src.js +6 -7
  622. package/indicators/tema.js +6 -7
  623. package/indicators/tema.js.map +1 -1
  624. package/indicators/tema.src.js +28 -75
  625. package/indicators/trendline.js +1 -1
  626. package/indicators/trendline.src.js +1 -1
  627. package/indicators/trix.js +4 -5
  628. package/indicators/trix.js.map +1 -1
  629. package/indicators/trix.src.js +8 -76
  630. package/indicators/volume-by-price.js +16 -16
  631. package/indicators/volume-by-price.js.map +1 -1
  632. package/indicators/volume-by-price.src.js +27 -10
  633. package/indicators/vwap.js +1 -1
  634. package/indicators/vwap.js.map +1 -1
  635. package/indicators/vwap.src.js +20 -8
  636. package/indicators/williams-r.js +5 -6
  637. package/indicators/williams-r.js.map +1 -1
  638. package/indicators/williams-r.src.js +41 -51
  639. package/indicators/wma.js +1 -1
  640. package/indicators/wma.src.js +1 -1
  641. package/indicators/zigzag.js +1 -1
  642. package/indicators/zigzag.src.js +1 -1
  643. package/modules/accessibility.d.ts +0 -30
  644. package/modules/accessibility.js +240 -216
  645. package/modules/accessibility.js.map +1 -1
  646. package/modules/accessibility.src.d.ts +0 -30
  647. package/modules/accessibility.src.js +7807 -6400
  648. package/modules/annotations-advanced.d.ts +30 -0
  649. package/modules/annotations-advanced.js +192 -165
  650. package/modules/annotations-advanced.js.map +1 -1
  651. package/modules/annotations-advanced.src.d.ts +30 -0
  652. package/modules/annotations-advanced.src.js +1716 -416
  653. package/modules/annotations.js +125 -110
  654. package/modules/annotations.js.map +1 -1
  655. package/modules/annotations.src.js +1059 -304
  656. package/modules/arrow-symbols.js +1 -1
  657. package/modules/arrow-symbols.src.js +1 -1
  658. package/modules/boost-canvas.js +15 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +3 -3
  661. package/modules/boost.js +79 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +42 -51
  664. package/modules/broken-axis.js +1 -1
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +18 -12
  667. package/modules/bullet.js +1 -1
  668. package/modules/bullet.src.js +1 -1
  669. package/modules/coloraxis.js +24 -24
  670. package/modules/coloraxis.js.map +1 -1
  671. package/modules/coloraxis.src.js +77 -103
  672. package/modules/current-date-indicator.js +4 -4
  673. package/modules/current-date-indicator.js.map +1 -1
  674. package/modules/current-date-indicator.src.js +4 -4
  675. package/modules/cylinder.js +1 -1
  676. package/modules/cylinder.js.map +1 -1
  677. package/modules/cylinder.src.js +37 -5
  678. package/modules/data.d.ts +6 -6
  679. package/modules/data.js +32 -32
  680. package/modules/data.js.map +1 -1
  681. package/modules/data.src.d.ts +6 -6
  682. package/modules/data.src.js +94 -140
  683. package/modules/datagrouping.js +20 -20
  684. package/modules/datagrouping.js.map +1 -1
  685. package/modules/datagrouping.src.js +56 -33
  686. package/modules/debugger.js +3 -3
  687. package/modules/debugger.js.map +1 -1
  688. package/modules/debugger.src.js +3 -3
  689. package/modules/dependency-wheel.js +11 -11
  690. package/modules/dependency-wheel.js.map +1 -1
  691. package/modules/dependency-wheel.src.js +5 -8
  692. package/modules/dotplot.js +1 -1
  693. package/modules/dotplot.src.js +1 -1
  694. package/modules/drag-panes.js +8 -8
  695. package/modules/drag-panes.js.map +1 -1
  696. package/modules/drag-panes.src.js +3 -3
  697. package/modules/draggable-points.js +1 -1
  698. package/modules/draggable-points.js.map +1 -1
  699. package/modules/draggable-points.src.js +8 -9
  700. package/modules/drilldown.js +24 -24
  701. package/modules/drilldown.js.map +1 -1
  702. package/modules/drilldown.src.js +13 -8
  703. package/modules/dumbbell.js +17 -17
  704. package/modules/dumbbell.js.map +1 -1
  705. package/modules/dumbbell.src.js +4 -8
  706. package/modules/export-data.js +19 -19
  707. package/modules/export-data.js.map +1 -1
  708. package/modules/export-data.src.js +9 -8
  709. package/modules/exporting.js +39 -38
  710. package/modules/exporting.js.map +1 -1
  711. package/modules/exporting.src.js +134 -116
  712. package/modules/full-screen.js +1 -1
  713. package/modules/full-screen.js.map +1 -1
  714. package/modules/full-screen.src.js +5 -4
  715. package/modules/funnel.js +12 -12
  716. package/modules/funnel.js.map +1 -1
  717. package/modules/funnel.src.js +9 -6
  718. package/modules/funnel3d.js +1 -1
  719. package/modules/funnel3d.js.map +1 -1
  720. package/modules/funnel3d.src.js +17 -10
  721. package/modules/gantt.js +217 -218
  722. package/modules/gantt.js.map +1 -1
  723. package/modules/gantt.src.js +364 -363
  724. package/modules/grid-axis.js +1 -1
  725. package/modules/grid-axis.js.map +1 -1
  726. package/modules/grid-axis.src.js +27 -19
  727. package/modules/heatmap.js +39 -39
  728. package/modules/heatmap.js.map +1 -1
  729. package/modules/heatmap.src.js +132 -141
  730. package/modules/heikinashi.js +1 -1
  731. package/modules/heikinashi.js.map +1 -1
  732. package/modules/heikinashi.src.js +12 -10
  733. package/modules/histogram-bellcurve.js +13 -13
  734. package/modules/histogram-bellcurve.js.map +1 -1
  735. package/modules/histogram-bellcurve.src.js +97 -91
  736. package/modules/hollowcandlestick.js +9 -9
  737. package/modules/hollowcandlestick.js.map +1 -1
  738. package/modules/hollowcandlestick.src.js +31 -35
  739. package/modules/item-series.js +6 -6
  740. package/modules/item-series.js.map +1 -1
  741. package/modules/item-series.src.js +6 -6
  742. package/modules/lollipop.js +1 -1
  743. package/modules/lollipop.src.js +1 -1
  744. package/modules/map.d.ts +138 -14
  745. package/modules/map.js +144 -122
  746. package/modules/map.js.map +1 -1
  747. package/modules/map.src.d.ts +138 -14
  748. package/modules/map.src.js +2253 -1074
  749. package/modules/marker-clusters.js +36 -36
  750. package/modules/marker-clusters.js.map +1 -1
  751. package/modules/marker-clusters.src.js +176 -143
  752. package/modules/networkgraph.d.ts +12 -1
  753. package/modules/networkgraph.js +49 -49
  754. package/modules/networkgraph.js.map +1 -1
  755. package/modules/networkgraph.src.d.ts +12 -1
  756. package/modules/networkgraph.src.js +103 -78
  757. package/modules/no-data-to-display.js +5 -5
  758. package/modules/no-data-to-display.js.map +1 -1
  759. package/modules/no-data-to-display.src.js +3 -3
  760. package/modules/offline-exporting.js +18 -17
  761. package/modules/offline-exporting.js.map +1 -1
  762. package/modules/offline-exporting.src.js +39 -44
  763. package/modules/oldie-polyfills.js +1 -1
  764. package/modules/oldie-polyfills.src.js +1 -1
  765. package/modules/oldie.js +26 -26
  766. package/modules/oldie.js.map +1 -1
  767. package/modules/oldie.src.js +21 -81
  768. package/modules/organization.js +13 -13
  769. package/modules/organization.js.map +1 -1
  770. package/modules/organization.src.js +8 -6
  771. package/modules/overlapping-datalabels.js +1 -1
  772. package/modules/overlapping-datalabels.src.js +1 -1
  773. package/modules/parallel-coordinates.js +1 -1
  774. package/modules/parallel-coordinates.js.map +1 -1
  775. package/modules/parallel-coordinates.src.js +6 -4
  776. package/modules/pareto.js +7 -7
  777. package/modules/pareto.js.map +1 -1
  778. package/modules/pareto.src.js +89 -78
  779. package/modules/pathfinder.js +1 -1
  780. package/modules/pathfinder.js.map +1 -1
  781. package/modules/pathfinder.src.js +21 -20
  782. package/modules/pattern-fill.js +1 -1
  783. package/modules/pattern-fill.js.map +1 -1
  784. package/modules/pattern-fill.src.js +18 -12
  785. package/modules/price-indicator.js +1 -1
  786. package/modules/price-indicator.js.map +1 -1
  787. package/modules/price-indicator.src.js +3 -2
  788. package/modules/pyramid3d.js +1 -1
  789. package/modules/pyramid3d.js.map +1 -1
  790. package/modules/pyramid3d.src.js +3 -2
  791. package/modules/sankey.d.ts +12 -1
  792. package/modules/sankey.js +29 -29
  793. package/modules/sankey.js.map +1 -1
  794. package/modules/sankey.src.d.ts +12 -1
  795. package/modules/sankey.src.js +307 -181
  796. package/modules/series-label.js +1 -1
  797. package/modules/series-label.js.map +1 -1
  798. package/modules/series-label.src.js +2 -2
  799. package/modules/solid-gauge.js +1 -1
  800. package/modules/solid-gauge.js.map +1 -1
  801. package/modules/solid-gauge.src.js +17 -2
  802. package/modules/sonification.js +59 -55
  803. package/modules/sonification.js.map +1 -1
  804. package/modules/sonification.src.js +3093 -2594
  805. package/modules/static-scale.js +1 -1
  806. package/modules/static-scale.src.js +1 -1
  807. package/modules/stock-tools.js +178 -163
  808. package/modules/stock-tools.js.map +1 -1
  809. package/modules/stock-tools.src.js +1136 -229
  810. package/modules/stock.d.ts +39 -6
  811. package/modules/stock.js +204 -196
  812. package/modules/stock.js.map +1 -1
  813. package/modules/stock.src.d.ts +39 -6
  814. package/modules/stock.src.js +1822 -1240
  815. package/modules/streamgraph.js +1 -1
  816. package/modules/streamgraph.src.js +1 -1
  817. package/modules/sunburst.js +60 -60
  818. package/modules/sunburst.js.map +1 -1
  819. package/modules/sunburst.src.js +281 -248
  820. package/modules/tilemap.js +17 -17
  821. package/modules/tilemap.js.map +1 -1
  822. package/modules/tilemap.src.js +3 -13
  823. package/modules/timeline.js +18 -18
  824. package/modules/timeline.js.map +1 -1
  825. package/modules/timeline.src.js +5 -5
  826. package/modules/treegrid.js +56 -57
  827. package/modules/treegrid.js.map +1 -1
  828. package/modules/treegrid.src.js +201 -169
  829. package/modules/treemap.js +41 -41
  830. package/modules/treemap.js.map +1 -1
  831. package/modules/treemap.src.js +266 -232
  832. package/modules/variable-pie.js +1 -1
  833. package/modules/variable-pie.src.js +1 -1
  834. package/modules/variwide.js +1 -1
  835. package/modules/variwide.js.map +1 -1
  836. package/modules/variwide.src.js +7 -3
  837. package/modules/vector.js +1 -1
  838. package/modules/vector.src.js +1 -1
  839. package/modules/venn.js +31 -31
  840. package/modules/venn.js.map +1 -1
  841. package/modules/venn.src.js +740 -731
  842. package/modules/windbarb.js +15 -15
  843. package/modules/windbarb.js.map +1 -1
  844. package/modules/windbarb.src.js +90 -62
  845. package/modules/wordcloud.js +23 -24
  846. package/modules/wordcloud.js.map +1 -1
  847. package/modules/wordcloud.src.js +898 -954
  848. package/modules/xrange.js +2 -2
  849. package/modules/xrange.js.map +1 -1
  850. package/modules/xrange.src.js +12 -33
  851. package/package.json +1 -1
  852. package/themes/avocado.js +1 -1
  853. package/themes/avocado.src.js +1 -1
  854. package/themes/brand-dark.js +15 -0
  855. package/themes/brand-dark.js.map +1 -0
  856. package/themes/brand-dark.src.js +328 -0
  857. package/themes/brand-light.js +15 -0
  858. package/themes/brand-light.js.map +1 -0
  859. package/themes/brand-light.src.js +294 -0
  860. package/themes/dark-blue.js +1 -1
  861. package/themes/dark-blue.src.js +1 -1
  862. package/themes/dark-green.js +1 -1
  863. package/themes/dark-green.src.js +1 -1
  864. package/themes/dark-unica.js +1 -1
  865. package/themes/dark-unica.js.map +1 -1
  866. package/themes/dark-unica.src.js +5 -3
  867. package/themes/gray.js +1 -1
  868. package/themes/gray.src.js +1 -1
  869. package/themes/grid-light.js +1 -1
  870. package/themes/grid-light.js.map +1 -1
  871. package/themes/grid-light.src.js +5 -3
  872. package/themes/grid.js +1 -1
  873. package/themes/grid.js.map +1 -1
  874. package/themes/grid.src.js +5 -3
  875. package/themes/high-contrast-dark.js +1 -1
  876. package/themes/high-contrast-dark.src.js +1 -1
  877. package/themes/high-contrast-light.js +1 -1
  878. package/themes/high-contrast-light.src.js +1 -1
  879. package/themes/sand-signika.js +1 -1
  880. package/themes/sand-signika.src.js +1 -1
  881. package/themes/skies.js +1 -1
  882. package/themes/skies.src.js +1 -1
  883. package/themes/sunset.js +1 -1
  884. package/themes/sunset.src.js +1 -1
  885. package/es-modules/Core/Axis/MapAxis.js +0 -157
  886. package/es-modules/Core/Color/Palette.js +0 -82
  887. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  888. package/es-modules/Mixins/ColorSeries.js +0 -77
  889. package/es-modules/Mixins/DerivedSeries.js +0 -118
  890. package/es-modules/Mixins/DrawPoint.js +0 -81
  891. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  892. package/es-modules/Mixins/MultipleLines.js +0 -181
  893. package/es-modules/Mixins/Navigation.js +0 -54
  894. package/es-modules/Mixins/NelderMead.js +0 -132
  895. package/es-modules/Mixins/Polygon.js +0 -259
  896. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -0,0 +1,1205 @@
1
+ /* *
2
+ *
3
+ * (c) 2020-2021 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Gøran Slettemark
12
+ *
13
+ * */
14
+ 'use strict';
15
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
16
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
17
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
18
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
19
+ r[k] = a[j];
20
+ return r;
21
+ };
22
+ import DataPromise from './DataPromise.js';
23
+ import U from '../Core/Utilities.js';
24
+ var addEvent = U.addEvent, fireEvent = U.fireEvent, uniqueKey = U.uniqueKey;
25
+ /* *
26
+ *
27
+ * Class
28
+ *
29
+ * */
30
+ /**
31
+ * Class to manage columns and rows in a table structure.
32
+ *
33
+ * @private
34
+ * @class
35
+ * @name Highcharts.DataTable
36
+ *
37
+ * @param {Highcharts.DataTableColumnCollection} [columns]
38
+ * Collection of columns.
39
+ *
40
+ * @param {string} [id]
41
+ * DataTable identifier.
42
+ */
43
+ var DataTable = /** @class */ (function () {
44
+ /* *
45
+ *
46
+ * Constructors
47
+ *
48
+ * */
49
+ /**
50
+ * Constructs an instance of the DataTable class.
51
+ *
52
+ * @param {Highcharts.DataTableColumnCollection} [columns]
53
+ * Collection of columns.
54
+ *
55
+ * @param {string} [id]
56
+ * DataTable identifier.
57
+ */
58
+ function DataTable(columns, id) {
59
+ if (columns === void 0) { columns = {}; }
60
+ /* *
61
+ *
62
+ * Properties
63
+ *
64
+ * */
65
+ /**
66
+ * Mapping aliases to column names.
67
+ * @private
68
+ */
69
+ this.aliasMap = {};
70
+ /**
71
+ * Whether the ID was automatic generated or given.
72
+ *
73
+ * @name Highcharts.DataTable#autoId
74
+ * @type {boolean}
75
+ */
76
+ this.autoId = !id;
77
+ this.columns = {};
78
+ /**
79
+ * ID of the table.
80
+ *
81
+ * @name Highcharts.DataTable#id
82
+ * @type {string}
83
+ */
84
+ this.id = (id || uniqueKey());
85
+ this.modified = this;
86
+ this.rowCount = 0;
87
+ this.versionTag = uniqueKey();
88
+ var columnNames = Object.keys(columns), thisColumns = this.columns;
89
+ var rowCount = 0;
90
+ for (var i = 0, iEnd = columnNames.length, column = void 0, columnName = void 0; i < iEnd; ++i) {
91
+ columnName = columnNames[i];
92
+ column = columns[columnName].slice();
93
+ thisColumns[columnName] = column;
94
+ rowCount = Math.max(rowCount, column.length);
95
+ }
96
+ for (var i = 0, iEnd = columnNames.length; i < iEnd; ++i) {
97
+ thisColumns[columnNames[i]].length = rowCount;
98
+ }
99
+ this.rowCount = rowCount;
100
+ }
101
+ /* *
102
+ *
103
+ * Static Functions
104
+ *
105
+ * */
106
+ /**
107
+ * Tests whether a row contains only null values.
108
+ *
109
+ * @function Highcharts.DataTable.isNull
110
+ *
111
+ * @param {Highcharts.DataTableRow|Highcharts.DataTableRowObject} row
112
+ * Row to test.
113
+ *
114
+ * @return {boolean}
115
+ * Returns `true`, if the row contains only null, otherwise `false`.
116
+ *
117
+ * @example
118
+ * if (DataTable.isNull(row)) {
119
+ * // handle null
120
+ * }
121
+ */
122
+ DataTable.isNull = function (row) {
123
+ if (row === DataTable.NULL) {
124
+ return true;
125
+ }
126
+ if (row instanceof Array) {
127
+ if (!row.length) {
128
+ return false;
129
+ }
130
+ for (var i = 0, iEnd = row.length; i < iEnd; ++i) {
131
+ if (row[i] !== null) {
132
+ return false;
133
+ }
134
+ }
135
+ }
136
+ else {
137
+ var columnNames = Object.keys(row);
138
+ if (!columnNames.length) {
139
+ return false;
140
+ }
141
+ for (var i = 0, iEnd = columnNames.length; i < iEnd; ++i) {
142
+ if (row[columnNames[i]] !== null) {
143
+ return false;
144
+ }
145
+ }
146
+ }
147
+ return true;
148
+ };
149
+ /* *
150
+ *
151
+ * Functions
152
+ *
153
+ * */
154
+ /**
155
+ * Returns a clone of this data table.
156
+ *
157
+ * @function Highcharts.DataTable#clone
158
+ *
159
+ * @param {boolean} [skipColumns]
160
+ * Whether to clone columns or not.
161
+ *
162
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
163
+ * Custom information for pending events.
164
+ *
165
+ * @return {Highcharts.DataTable}
166
+ * Clone of this data table.
167
+ *
168
+ * @emits #cloneTable
169
+ * @emits #afterCloneTable
170
+ */
171
+ DataTable.prototype.clone = function (skipColumns, eventDetail) {
172
+ var table = this, aliasMap = table.aliasMap, aliases = Object.keys(table.aliasMap);
173
+ table.emit({ type: 'cloneTable', detail: eventDetail });
174
+ var tableClone = new DataTable((skipColumns ? {} : table.columns), (table.autoId ? void 0 : table.id));
175
+ if (!skipColumns) {
176
+ tableClone.versionTag = table.versionTag;
177
+ if (aliases.length) {
178
+ var cloneAliasMap = tableClone.aliasMap;
179
+ for (var i = 0, iEnd = aliases.length, alias = void 0; i < iEnd; ++i) {
180
+ alias = aliases[i];
181
+ cloneAliasMap[alias] = aliasMap[alias];
182
+ }
183
+ }
184
+ }
185
+ table.emit({
186
+ type: 'afterCloneTable',
187
+ detail: eventDetail,
188
+ tableClone: tableClone
189
+ });
190
+ return tableClone;
191
+ };
192
+ /**
193
+ * Deletes a column alias and returns the original column name.
194
+ *
195
+ * @function Highcharts.DataTable#deleteColumnAlias
196
+ *
197
+ * @param {string} alias
198
+ * The alias to delete.
199
+ *
200
+ * @return {string|undefined}
201
+ * Returns the original column name, if found.
202
+ */
203
+ DataTable.prototype.deleteColumnAlias = function (alias) {
204
+ var _a;
205
+ var table = this, aliasMap = table.aliasMap, deletedAlias = aliasMap[alias], modifier = table.modifier;
206
+ if (deletedAlias) {
207
+ delete table.aliasMap[alias];
208
+ if (modifier) {
209
+ modifier.modifyColumns(table, (_a = {}, _a[deletedAlias] = new Array(table.rowCount), _a), 0);
210
+ }
211
+ }
212
+ return deletedAlias;
213
+ };
214
+ /**
215
+ * Deletes columns from the table.
216
+ *
217
+ * @function Highcharts.DataTable#deleteColumns
218
+ *
219
+ * @param {Array<string>} [columnNames]
220
+ * Names (no alias) of columns to delete. If no array is provided, all
221
+ * columns will be deleted.
222
+ *
223
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
224
+ * Custom information for pending events.
225
+ *
226
+ * @return {Highcharts.DataTableColumnCollection|undefined}
227
+ * Returns the deleted columns, if found.
228
+ *
229
+ * @emits #deleteColumns
230
+ * @emits #afterDeleteColumns
231
+ */
232
+ DataTable.prototype.deleteColumns = function (columnNames, eventDetail) {
233
+ var table = this, columns = table.columns, deletedColumns = {}, modifiedColumns = {}, modifier = table.modifier, rowCount = table.rowCount;
234
+ columnNames = (columnNames || Object.keys(columns));
235
+ if (columnNames.length) {
236
+ table.emit({
237
+ type: 'deleteColumns',
238
+ columnNames: columnNames,
239
+ detail: eventDetail
240
+ });
241
+ for (var i = 0, iEnd = columnNames.length, column = void 0, columnName = void 0; i < iEnd; ++i) {
242
+ columnName = columnNames[i];
243
+ column = columns[columnName];
244
+ if (column) {
245
+ deletedColumns[columnName] = column;
246
+ modifiedColumns[columnName] = new Array(rowCount);
247
+ }
248
+ delete columns[columnName];
249
+ }
250
+ if (!Object.keys(columns).length) {
251
+ table.rowCount = 0;
252
+ }
253
+ if (modifier) {
254
+ modifier.modifyColumns(table, modifiedColumns, 0, eventDetail);
255
+ }
256
+ table.emit({
257
+ type: 'afterDeleteColumns',
258
+ columns: deletedColumns,
259
+ columnNames: columnNames,
260
+ detail: eventDetail
261
+ });
262
+ return deletedColumns;
263
+ }
264
+ };
265
+ /**
266
+ * Deletes rows in this table.
267
+ *
268
+ * @function Highcharts.DataTable#deleteRows
269
+ *
270
+ * @param {number} [rowIndex]
271
+ * Index to start delete of rows. If not specified, all rows will be
272
+ * deleted.
273
+ *
274
+ * @param {number} [rowCount=1]
275
+ * Number of rows to delete.
276
+ *
277
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
278
+ * Custom information for pending events.
279
+ *
280
+ * @return {Array<Highcharts.DataTableRow>}
281
+ * Returns the deleted rows, if found.
282
+ *
283
+ * @emits #deleteRows
284
+ * @emits #afterDeleteRows
285
+ */
286
+ DataTable.prototype.deleteRows = function (rowIndex, rowCount, eventDetail) {
287
+ if (rowCount === void 0) { rowCount = 1; }
288
+ var table = this, deletedRows = [], modifiedRows = [], modifier = table.modifier;
289
+ table.emit({
290
+ type: 'deleteRows',
291
+ detail: eventDetail,
292
+ rowCount: rowCount,
293
+ rowIndex: (rowIndex || 0)
294
+ });
295
+ if (typeof rowIndex === 'undefined') {
296
+ rowIndex = 0;
297
+ rowCount = table.rowCount;
298
+ }
299
+ if (rowCount > 0 && rowIndex < table.rowCount) {
300
+ var columns = table.columns, columnNames = Object.keys(columns);
301
+ for (var i = 0, iEnd = columnNames.length, column = void 0, deletedCells = void 0; i < iEnd; ++i) {
302
+ column = columns[columnNames[i]];
303
+ deletedCells = column.splice(rowIndex, rowCount);
304
+ if (!i) {
305
+ table.rowCount = column.length;
306
+ }
307
+ for (var j = 0, jEnd = deletedCells.length; j < jEnd; ++j) {
308
+ deletedRows[j] = (deletedRows[j] || []);
309
+ deletedRows[j][i] = deletedCells[j];
310
+ }
311
+ modifiedRows.push(new Array(iEnd));
312
+ }
313
+ }
314
+ if (modifier) {
315
+ modifier.modifyRows(table, modifiedRows, (rowIndex || 0), eventDetail);
316
+ }
317
+ table.emit({
318
+ type: 'afterDeleteRows',
319
+ detail: eventDetail,
320
+ rowCount: rowCount,
321
+ rowIndex: (rowIndex || 0),
322
+ rows: deletedRows
323
+ });
324
+ return deletedRows;
325
+ };
326
+ /**
327
+ * Emits an event on this table to all registered callbacks of the given
328
+ * event.
329
+ * @private
330
+ *
331
+ * @param {DataTable.Event} e
332
+ * Event object with event information.
333
+ */
334
+ DataTable.prototype.emit = function (e) {
335
+ var frame = this;
336
+ switch (e.type) {
337
+ case 'afterDeleteColumns':
338
+ case 'afterDeleteRows':
339
+ case 'afterSetCell':
340
+ case 'afterSetColumns':
341
+ case 'afterSetRows':
342
+ frame.versionTag = uniqueKey();
343
+ break;
344
+ default:
345
+ }
346
+ fireEvent(frame, e.type, e);
347
+ };
348
+ /**
349
+ * Fetches a single cell value.
350
+ *
351
+ * @function Highcharts.DataTable#getCell
352
+ *
353
+ * @param {string} columnNameOrAlias
354
+ * Column name or alias of the cell to retrieve.
355
+ *
356
+ * @param {number} rowIndex
357
+ * Row index of the cell to retrieve.
358
+ *
359
+ * @return {Highcharts.DataTableCellType|undefined}
360
+ * Returns the cell value or `undefined`.
361
+ */
362
+ DataTable.prototype.getCell = function (columnNameOrAlias, rowIndex) {
363
+ var table = this;
364
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
365
+ columnNameOrAlias);
366
+ var column = table.columns[columnNameOrAlias];
367
+ if (column) {
368
+ return column[rowIndex];
369
+ }
370
+ };
371
+ /**
372
+ * Fetches a cell value for the given row as a boolean.
373
+ *
374
+ * @function Highcharts.DataTable#getCellAsBoolean
375
+ *
376
+ * @param {string} columnNameOrAlias
377
+ * Column name or alias to fetch.
378
+ *
379
+ * @param {number} rowIndex
380
+ * Row index to fetch.
381
+ *
382
+ * @return {boolean}
383
+ * Returns the cell value of the row as a boolean.
384
+ */
385
+ DataTable.prototype.getCellAsBoolean = function (columnNameOrAlias, rowIndex) {
386
+ var table = this;
387
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
388
+ columnNameOrAlias);
389
+ var column = table.columns[columnNameOrAlias];
390
+ return !!(column && column[rowIndex]);
391
+ };
392
+ /**
393
+ * Fetches a cell value for the given row as a number.
394
+ *
395
+ * @function Highcharts.DataTable#getCellAsNumber
396
+ *
397
+ * @param {string} columnNameOrAlias
398
+ * Column name or alias to fetch.
399
+ *
400
+ * @param {number} rowIndex
401
+ * Row index to fetch.
402
+ *
403
+ * @param {boolean} [useNaN]
404
+ * Whether to return NaN instead of `null` and `undefined`.
405
+ *
406
+ * @return {number|null}
407
+ * Returns the cell value of the row as a number.
408
+ */
409
+ DataTable.prototype.getCellAsNumber = function (columnNameOrAlias, rowIndex, useNaN) {
410
+ var table = this;
411
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
412
+ columnNameOrAlias);
413
+ var column = table.columns[columnNameOrAlias];
414
+ var cellValue = (column && column[rowIndex]);
415
+ switch (typeof cellValue) {
416
+ case 'boolean':
417
+ return (cellValue ? 1 : 0);
418
+ case 'number':
419
+ return (isNaN(cellValue) && !useNaN ? null : cellValue);
420
+ }
421
+ cellValue = parseFloat("" + cellValue);
422
+ return (isNaN(cellValue) && !useNaN ? null : cellValue);
423
+ };
424
+ /**
425
+ * Fetches a cell value for the given row as a string.
426
+ *
427
+ * @function Highcharts.DataTable#getCellAsString
428
+ *
429
+ * @param {string} columnNameOrAlias
430
+ * Column name or alias to fetch.
431
+ *
432
+ * @param {number} rowIndex
433
+ * Row index to fetch.
434
+ *
435
+ * @return {string}
436
+ * Returns the cell value of the row as a string.
437
+ */
438
+ DataTable.prototype.getCellAsString = function (columnNameOrAlias, rowIndex) {
439
+ var table = this;
440
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
441
+ columnNameOrAlias);
442
+ var column = table.columns[columnNameOrAlias];
443
+ return "" + (column && column[rowIndex]);
444
+ };
445
+ /**
446
+ * Fetches the given column by the canonical column name or by an alias.
447
+ * This function is a simplified wrap of {@link getColumns}.
448
+ *
449
+ * @function Highcharts.DataTable#getColumn
450
+ *
451
+ * @param {string} columnNameOrAlias
452
+ * Name or alias of the column to get, alias takes precedence.
453
+ *
454
+ * @param {boolean} [asReference]
455
+ * Whether to return the column as a readonly reference.
456
+ *
457
+ * @return {Highcharts.DataTableColumn|undefined}
458
+ * A copy of the column, or `undefined` if not found.
459
+ */
460
+ DataTable.prototype.getColumn = function (columnNameOrAlias, asReference) {
461
+ return this.getColumns([columnNameOrAlias], asReference)[columnNameOrAlias];
462
+ };
463
+ /**
464
+ * Fetches all column aliases.
465
+ *
466
+ * @function Highcharts.DataTable#getColumnAliases
467
+ *
468
+ * @return {Array<string>}
469
+ * Returns all column aliases.
470
+ */
471
+ DataTable.prototype.getColumnAliases = function () {
472
+ var table = this, columnAliases = Object.keys(table.aliasMap);
473
+ return columnAliases;
474
+ };
475
+ /**
476
+ * Fetches the given column by the canonical column name or by an alias, and
477
+ * validates the type of the first few cells. If the first defined cell is
478
+ * of type number, it assumes for performance reasons, that all cells are of
479
+ * type number or `null`. Otherwise it will convert all cells to number
480
+ * type, except `null`.
481
+ *
482
+ * @function Highcharts.DataTable#getColumnAsNumbers
483
+ *
484
+ * @param {string} columnNameOrAlias
485
+ * Name or alias of the column to get, alias takes precedence.
486
+ *
487
+ * @param {boolean} [useNaN]
488
+ * Whether to use NaN instead of `null` and `undefined`.
489
+ *
490
+ * @return {Array<(number|null)>}
491
+ * A copy of the column, or an empty array if not found.
492
+ */
493
+ DataTable.prototype.getColumnAsNumbers = function (columnNameOrAlias, useNaN) {
494
+ var table = this, columns = table.columns;
495
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
496
+ columnNameOrAlias);
497
+ var column = columns[columnNameOrAlias], columnAsNumber = [];
498
+ if (column) {
499
+ var columnLength = column.length;
500
+ if (useNaN) {
501
+ for (var i = 0; i < columnLength; ++i) {
502
+ columnAsNumber.push(table.getCellAsNumber(columnNameOrAlias, i, true));
503
+ }
504
+ }
505
+ else {
506
+ for (var i = 0, cellValue = void 0; i < columnLength; ++i) {
507
+ cellValue = column[i];
508
+ if (typeof cellValue === 'number') {
509
+ // assume unmixed data for performance reasons
510
+ return column.slice();
511
+ }
512
+ if (cellValue !== null &&
513
+ typeof cellValue !== 'undefined') {
514
+ break;
515
+ }
516
+ }
517
+ for (var i = 0; i < columnLength; ++i) {
518
+ columnAsNumber.push(table.getCellAsNumber(columnNameOrAlias, i));
519
+ }
520
+ }
521
+ }
522
+ return columnAsNumber;
523
+ };
524
+ /**
525
+ * Fetches all column names.
526
+ *
527
+ * @function Highcharts.DataTable#getColumnNames
528
+ *
529
+ * @return {Array<string>}
530
+ * Returns all column names.
531
+ */
532
+ DataTable.prototype.getColumnNames = function () {
533
+ var table = this, columnNames = Object.keys(table.columns);
534
+ return columnNames;
535
+ };
536
+ /**
537
+ * Retrieves all or the given columns.
538
+ *
539
+ * @function Highcharts.DataTable#getColumns
540
+ *
541
+ * @param {Array<string>} [columnNamesOrAliases]
542
+ * Column names or aliases to retrieve. Aliases taking precedence.
543
+ *
544
+ * @param {boolean} [asReference]
545
+ * Whether to return columns as a readonly reference.
546
+ *
547
+ * @return {Highcharts.DataTableColumnCollection}
548
+ * Collection of columns. If a requested column was not found, it is
549
+ * `undefined`.
550
+ */
551
+ DataTable.prototype.getColumns = function (columnNamesOrAliases, asReference) {
552
+ var table = this, tableAliasMap = table.aliasMap, tableColumns = table.columns, columns = {};
553
+ columnNamesOrAliases = (columnNamesOrAliases || Object.keys(tableColumns));
554
+ for (var i = 0, iEnd = columnNamesOrAliases.length, column = void 0, columnName = void 0; i < iEnd; ++i) {
555
+ columnName = columnNamesOrAliases[i];
556
+ column = tableColumns[(tableAliasMap[columnName] || columnName)];
557
+ if (column) {
558
+ columns[columnName] = (asReference ? column : column.slice());
559
+ }
560
+ }
561
+ return columns;
562
+ };
563
+ /**
564
+ * Retrieves the modifier for the table.
565
+ * @private
566
+ *
567
+ * @return {Highcharts.DataModifier|undefined}
568
+ * Returns the modifier or `undefined`.
569
+ */
570
+ DataTable.prototype.getModifier = function () {
571
+ return this.modifier;
572
+ };
573
+ /**
574
+ * Retrieves the row at a given index. This function is a simplified wrap of
575
+ * {@link getRows}.
576
+ *
577
+ * @function Highcharts.DataTable#getRow
578
+ *
579
+ * @param {number} rowIndex
580
+ * Row index.
581
+ *
582
+ * @param {Array<string>} [columnNamesOrAliases]
583
+ * Column names or aliases in order to retrieve.
584
+ *
585
+ * @return {Highcharts.DataTableRow}
586
+ * Returns the row values, or `undefined` if not found.
587
+ */
588
+ DataTable.prototype.getRow = function (rowIndex, columnNamesOrAliases) {
589
+ return this.getRows(rowIndex, 1, columnNamesOrAliases)[0];
590
+ };
591
+ /**
592
+ * Returns the number of rows in this table.
593
+ *
594
+ * @function Highcharts.DataTable#getRowCount
595
+ *
596
+ * @return {number}
597
+ * Number of rows in this table.
598
+ */
599
+ DataTable.prototype.getRowCount = function () {
600
+ // @todo Implement via property getter `.length` browsers supported
601
+ return this.rowCount;
602
+ };
603
+ /**
604
+ * Retrieves the index of the first row matching a specific cell value.
605
+ *
606
+ * @function Highcharts.DataTable#getRowIndexBy
607
+ *
608
+ * @param {string} columnNameOrAlias
609
+ * Column to search in.
610
+ *
611
+ * @param {Highcharts.DataTableCellType} cellValue
612
+ * Cell value to search for. `NaN` and `undefined` are not supported.
613
+ *
614
+ * @param {number} [rowIndexOffset]
615
+ * Index offset to start searching.
616
+ *
617
+ * @return {number|undefined}
618
+ * Index of the first row matching the cell value.
619
+ */
620
+ DataTable.prototype.getRowIndexBy = function (columnNameOrAlias, cellValue, rowIndexOffset) {
621
+ var table = this;
622
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
623
+ columnNameOrAlias);
624
+ var column = table.columns[columnNameOrAlias];
625
+ if (column) {
626
+ var rowIndex = column.indexOf(cellValue, rowIndexOffset);
627
+ if (rowIndex !== -1) {
628
+ return rowIndex;
629
+ }
630
+ }
631
+ };
632
+ /**
633
+ * Retrieves the row at a given index. This function is a simplified wrap of
634
+ * {@link getRowObjects}.
635
+ *
636
+ * @function Highcharts.DataTable#getRowObject
637
+ *
638
+ * @param {number} rowIndex
639
+ * Row index.
640
+ *
641
+ * @param {Array<string>} [columnNamesOrAliases]
642
+ * Column names or aliases and their order to retrieve.
643
+ *
644
+ * @return {Highcharts.DataTableRowObject}
645
+ * Returns the row values, or `undefined` if not found.
646
+ */
647
+ DataTable.prototype.getRowObject = function (rowIndex, columnNamesOrAliases) {
648
+ return this.getRowObjects(rowIndex, 1, columnNamesOrAliases)[0];
649
+ };
650
+ /**
651
+ * Fetches all or a number of rows.
652
+ *
653
+ * @function Highcharts.DataTable#getRowObjects
654
+ *
655
+ * @param {number} [rowIndex]
656
+ * Index of the first row to fetch. Defaults to first row at index `0`.
657
+ *
658
+ * @param {number} [rowCount]
659
+ * Number of rows to fetch. Defaults to maximal number of rows.
660
+ *
661
+ * @param {Array<string>} [columnNamesOrAliases]
662
+ * Column names or aliases and their order to retrieve.
663
+ *
664
+ * @return {Highcharts.DataTableRowObject}
665
+ * Returns retrieved rows.
666
+ */
667
+ DataTable.prototype.getRowObjects = function (rowIndex, rowCount, columnNamesOrAliases) {
668
+ if (rowIndex === void 0) { rowIndex = 0; }
669
+ if (rowCount === void 0) { rowCount = (this.rowCount - rowIndex); }
670
+ var table = this, aliasMap = table.aliasMap, columns = table.columns, rows = new Array(rowCount);
671
+ columnNamesOrAliases = (columnNamesOrAliases || Object.keys(columns));
672
+ var columnNamesLength = columnNamesOrAliases.length;
673
+ for (var i = rowIndex, i2 = 0, iEnd = Math.min(table.rowCount, (rowIndex + rowCount)), row = void 0; i < iEnd; ++i, ++i2) {
674
+ row = rows[i2] = {};
675
+ for (var j = 0, jEnd = columnNamesLength, columnName = void 0; j < jEnd; ++j) {
676
+ columnName = columnNamesOrAliases[j];
677
+ row[columnName] = columns[(aliasMap[columnName] || columnName)][i];
678
+ }
679
+ }
680
+ return rows;
681
+ };
682
+ /**
683
+ * Fetches all or a number of rows.
684
+ *
685
+ * @function Highcharts.DataTable#getRows
686
+ *
687
+ * @param {number} [rowIndex]
688
+ * Index of the first row to fetch. Defaults to first row at index `0`.
689
+ *
690
+ * @param {number} [rowCount]
691
+ * Number of rows to fetch. Defaults to maximal number of rows.
692
+ *
693
+ * @param {Array<string>} [columnNamesOrAliases]
694
+ * Column names or aliases and their order to retrieve.
695
+ *
696
+ * @return {Highcharts.DataTableRow}
697
+ * Returns retrieved rows.
698
+ */
699
+ DataTable.prototype.getRows = function (rowIndex, rowCount, columnNamesOrAliases) {
700
+ if (rowIndex === void 0) { rowIndex = 0; }
701
+ if (rowCount === void 0) { rowCount = (this.rowCount - rowIndex); }
702
+ var table = this, aliasMap = table.aliasMap, columns = table.columns, rows = new Array(rowCount);
703
+ columnNamesOrAliases = (columnNamesOrAliases || Object.keys(columns));
704
+ var columnNamesLength = columnNamesOrAliases.length;
705
+ for (var i = rowIndex, i2 = 0, iEnd = Math.min(table.rowCount, (rowIndex + rowCount)), columnName = void 0, row = void 0; i < iEnd; ++i, ++i2) {
706
+ row = rows[i2] = new Array(columnNamesLength);
707
+ for (var j = 0; j < columnNamesLength; ++j) {
708
+ columnName = columnNamesOrAliases[j];
709
+ row[j] = columns[(aliasMap[columnName] || columnName)][i];
710
+ }
711
+ }
712
+ return rows;
713
+ };
714
+ /**
715
+ * Returns the unique version tag of the current state of the table.
716
+ *
717
+ * @function Highcharts.DataTable#getVersionTag
718
+ *
719
+ * @return {string}
720
+ * Unique version tag.
721
+ */
722
+ DataTable.prototype.getVersionTag = function () {
723
+ return this.versionTag;
724
+ };
725
+ /**
726
+ * Checks for given column names or aliases.
727
+ *
728
+ * @function Highcharts.DataTable#hasColumns
729
+ *
730
+ * @param {Array<string>} columnNamesOrAliases
731
+ * Column names of aliases to check.
732
+ *
733
+ * @return {boolean}
734
+ * Returns `true` if all columns have been found, otherwise `false`.
735
+ */
736
+ DataTable.prototype.hasColumns = function (columnNamesOrAliases) {
737
+ var table = this, aliasMap = table.aliasMap, columns = table.columns;
738
+ for (var i = 0, iEnd = columnNamesOrAliases.length, columnName = void 0; i < iEnd; ++i) {
739
+ columnName = columnNamesOrAliases[i];
740
+ if (!columns[columnName] && !aliasMap[columnName]) {
741
+ return false;
742
+ }
743
+ }
744
+ return true;
745
+ };
746
+ /**
747
+ * Searches for a specific cell value.
748
+ *
749
+ * @function Highcharts.DataTable#hasRowWith
750
+ *
751
+ * @param {string} columnNameOrAlias
752
+ * Column to search in.
753
+ *
754
+ * @param {boolean|number|string|Highcharts.DataTable} cellValue
755
+ * Cell value to search for. `NaN` and `undefined` are not supported.
756
+ *
757
+ * @return {boolean}
758
+ * True, if a row has been found, otherwise false.
759
+ */
760
+ DataTable.prototype.hasRowWith = function (columnNameOrAlias, cellValue) {
761
+ var table = this;
762
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
763
+ columnNameOrAlias);
764
+ var column = table.columns[columnNameOrAlias];
765
+ if (column) {
766
+ return (column.indexOf(cellValue) !== -1);
767
+ }
768
+ return false;
769
+ };
770
+ /**
771
+ * Registers a callback for a specific event.
772
+ *
773
+ * @function Highcharts.DataTable#on
774
+ *
775
+ * @param {string} type
776
+ * Event type as a string.
777
+ *
778
+ * @param {Highcharts.EventCallbackFunction<Highcharts.DataTable>} callback
779
+ * Function to register for an event callback.
780
+ *
781
+ * @return {Function}
782
+ * Function to unregister callback from the event.
783
+ */
784
+ DataTable.prototype.on = function (type, callback) {
785
+ return addEvent(this, type, callback);
786
+ };
787
+ /**
788
+ * Renames a column of cell values.
789
+ *
790
+ * @function Highcharts.DataTable#renameColumn
791
+ *
792
+ * @param {string} columnName
793
+ * Name of the column to be renamed.
794
+ *
795
+ * @param {string} newColumnName
796
+ * New name of the column. An existing column with the same name will be
797
+ * replaced.
798
+ *
799
+ * @return {boolean}
800
+ * Returns `true` if successful, `false` if the column was not found.
801
+ */
802
+ DataTable.prototype.renameColumn = function (columnName, newColumnName) {
803
+ var table = this, columns = table.columns;
804
+ if (columns[columnName]) {
805
+ if (columnName !== newColumnName) {
806
+ var aliasMap = table.aliasMap;
807
+ if (aliasMap[newColumnName]) {
808
+ delete aliasMap[newColumnName];
809
+ }
810
+ columns[newColumnName] = columns[columnName];
811
+ delete columns[columnName];
812
+ }
813
+ return true;
814
+ }
815
+ return false;
816
+ };
817
+ /**
818
+ * Sets a cell value based on the row index and column name or alias. Will
819
+ * insert a new column, if not found.
820
+ *
821
+ * @function Highcharts.DataTable#setCell
822
+ *
823
+ * @param {string} columnNameOrAlias
824
+ * Column name or alias to set.
825
+ *
826
+ * @param {number|undefined} rowIndex
827
+ * Row index to set.
828
+ *
829
+ * @param {Highcharts.DataTableCellType} cellValue
830
+ * Cell value to set.
831
+ *
832
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
833
+ * Custom information for pending events.
834
+ *
835
+ * @emits #setCell
836
+ * @emits #afterSetCell
837
+ */
838
+ DataTable.prototype.setCell = function (columnNameOrAlias, rowIndex, cellValue, eventDetail) {
839
+ var table = this, columns = table.columns, modifier = table.modifier;
840
+ columnNameOrAlias = (table.aliasMap[columnNameOrAlias] ||
841
+ columnNameOrAlias);
842
+ var column = columns[columnNameOrAlias];
843
+ if (column && column[rowIndex] === cellValue) {
844
+ return;
845
+ }
846
+ table.emit({
847
+ type: 'setCell',
848
+ cellValue: cellValue,
849
+ columnName: columnNameOrAlias,
850
+ detail: eventDetail,
851
+ rowIndex: rowIndex
852
+ });
853
+ if (!column) {
854
+ column = columns[columnNameOrAlias] = new Array(table.rowCount);
855
+ }
856
+ if (rowIndex >= table.rowCount) {
857
+ table.rowCount = (rowIndex + 1);
858
+ }
859
+ column[rowIndex] = cellValue;
860
+ if (modifier) {
861
+ modifier.modifyCell(table, columnNameOrAlias, rowIndex, cellValue);
862
+ }
863
+ table.emit({
864
+ type: 'afterSetCell',
865
+ cellValue: cellValue,
866
+ columnName: columnNameOrAlias,
867
+ detail: eventDetail,
868
+ rowIndex: rowIndex
869
+ });
870
+ };
871
+ /**
872
+ * Sets cell values for a column. Will insert a new column, if not found.
873
+ *
874
+ * @function Highcharts.DataTable#setColumn
875
+ *
876
+ * @param {string} columnNameOrAlias
877
+ * Column name or alias to set.
878
+ *
879
+ * @param {Highcharts.DataTableColumn} [column]
880
+ * Values to set in the column.
881
+ *
882
+ * @param {number} [rowIndex=0]
883
+ * Index of the first row to change. (Default: 0)
884
+ *
885
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
886
+ * Custom information for pending events.
887
+ *
888
+ * @emits #setColumns
889
+ * @emits #afterSetColumns
890
+ */
891
+ DataTable.prototype.setColumn = function (columnNameOrAlias, column, rowIndex, eventDetail) {
892
+ var _a;
893
+ if (column === void 0) { column = []; }
894
+ if (rowIndex === void 0) { rowIndex = 0; }
895
+ this.setColumns((_a = {}, _a[columnNameOrAlias] = column, _a), rowIndex, eventDetail);
896
+ };
897
+ /**
898
+ * Defines an alias for a column.
899
+ *
900
+ * @function Highcharts.DataTable#setColumnAlias
901
+ *
902
+ * @param {string} columnAlias
903
+ * Column alias to create.
904
+ *
905
+ * @param {string} columnName
906
+ * Column name to create an alias for.
907
+ *
908
+ * @return {boolean}
909
+ * True if successfully changed, false if reserved.
910
+ */
911
+ DataTable.prototype.setColumnAlias = function (columnAlias, columnName) {
912
+ var aliasMap = this.aliasMap;
913
+ if (!aliasMap[columnAlias]) {
914
+ aliasMap[columnAlias] = columnName;
915
+ return true;
916
+ }
917
+ return false;
918
+ };
919
+ /**
920
+ * Sets cell values for multiple columns. Will insert new columns, if not
921
+ * found.
922
+ *
923
+ * @function Highcharts.DataTable#setColumns
924
+ *
925
+ * @param {Highcharts.DataTableColumnCollection} columns
926
+ * Columns as a collection, where the keys are the column names or aliases.
927
+ *
928
+ * @param {number} [rowIndex]
929
+ * Index of the first row to change. Keep undefined to reset.
930
+ *
931
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
932
+ * Custom information for pending events.
933
+ *
934
+ * @emits #setColumns
935
+ * @emits #afterSetColumns
936
+ */
937
+ DataTable.prototype.setColumns = function (columns, rowIndex, eventDetail) {
938
+ var table = this, tableColumns = table.columns, tableModifier = table.modifier, tableRowCount = table.rowCount, reset = (typeof rowIndex === 'undefined'), columnNames = Object.keys(columns);
939
+ table.emit({
940
+ type: 'setColumns',
941
+ columns: columns,
942
+ columnNames: columnNames,
943
+ detail: eventDetail,
944
+ rowIndex: rowIndex
945
+ });
946
+ for (var i = 0, iEnd = columnNames.length, column = void 0, columnName = void 0; i < iEnd; ++i) {
947
+ columnName = columnNames[i];
948
+ column = columns[columnName];
949
+ columnName = (table.aliasMap[columnName] ||
950
+ columnName);
951
+ if (reset) {
952
+ tableColumns[columnName] = column.slice();
953
+ table.rowCount = column.length;
954
+ }
955
+ else {
956
+ var tableColumn = (tableColumns[columnName] ?
957
+ tableColumns[columnName] :
958
+ tableColumns[columnName] = new Array(table.rowCount));
959
+ rowIndex = (rowIndex || 0);
960
+ if (rowIndex > tableRowCount) {
961
+ tableColumn.length = rowIndex;
962
+ tableColumn.push.apply(tableColumn, column);
963
+ }
964
+ else {
965
+ tableColumn.splice.apply(tableColumn, __spreadArrays([rowIndex,
966
+ (column.length - rowIndex)], column));
967
+ }
968
+ table.rowCount = Math.max(table.rowCount, tableColumn.length);
969
+ }
970
+ }
971
+ var tableColumnNames = Object.keys(tableColumns);
972
+ for (var i = 0, iEnd = tableColumnNames.length; i < iEnd; ++i) {
973
+ tableColumns[tableColumnNames[i]].length = table.rowCount;
974
+ }
975
+ if (tableModifier) {
976
+ tableModifier.modifyColumns(table, columns, (rowIndex || 0));
977
+ }
978
+ table.emit({
979
+ type: 'afterSetColumns',
980
+ columns: columns,
981
+ columnNames: columnNames,
982
+ detail: eventDetail,
983
+ rowIndex: rowIndex
984
+ });
985
+ };
986
+ /**
987
+ * Sets or unsets the modifier for the table.
988
+ * @private
989
+ *
990
+ * @param {Highcharts.DataModifier} [modifier]
991
+ * Modifier to set, or `undefined` to unset.
992
+ *
993
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
994
+ * Custom information for pending events.
995
+ *
996
+ * @return {Promise<Highcharts.DataTable>}
997
+ * Resolves to this table if successfull, or rejects on failure.
998
+ *
999
+ * @emits #setModifier
1000
+ * @emits #afterSetModifier
1001
+ */
1002
+ DataTable.prototype.setModifier = function (modifier, eventDetail) {
1003
+ var table = this;
1004
+ var promise;
1005
+ table.emit({
1006
+ type: 'setModifier',
1007
+ detail: eventDetail,
1008
+ modifier: modifier,
1009
+ modified: table.modified
1010
+ });
1011
+ table.modifier = modifier;
1012
+ if (modifier) {
1013
+ promise = modifier.modify(table);
1014
+ }
1015
+ else {
1016
+ promise = DataPromise
1017
+ .resolve(table)
1018
+ .then(function (table) {
1019
+ table.modified = table;
1020
+ return table;
1021
+ });
1022
+ }
1023
+ return promise
1024
+ .then(function (table) {
1025
+ table.emit({
1026
+ type: 'afterSetModifier',
1027
+ detail: eventDetail,
1028
+ modifier: modifier,
1029
+ modified: table.modified
1030
+ });
1031
+ return table;
1032
+ })['catch'](function (error) {
1033
+ table.emit({
1034
+ type: 'setModifierError',
1035
+ error: error,
1036
+ modifier: modifier,
1037
+ modified: table.modified
1038
+ });
1039
+ throw error;
1040
+ });
1041
+ };
1042
+ /**
1043
+ * Sets cell values of a row. Will insert a new row, if no index was
1044
+ * provided, or if the index is higher than the total number of table rows.
1045
+ *
1046
+ * Note: This function is just a simplified wrap of
1047
+ * {@link Highcharts.DataTable#setRows}.
1048
+ *
1049
+ * @function Highcharts.DataTable#setRow
1050
+ *
1051
+ * @param {Highcharts.DataTableRow|Highcharts.DataTableRowObject} row
1052
+ * Cell values to set.
1053
+ *
1054
+ * @param {number} [rowIndex]
1055
+ * Index of the row to set. Leave `undefind` to add as a new row.
1056
+ *
1057
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
1058
+ * Custom information for pending events.
1059
+ *
1060
+ * @emits #setRows
1061
+ * @emits #afterSetRows
1062
+ */
1063
+ DataTable.prototype.setRow = function (row, rowIndex, eventDetail) {
1064
+ this.setRows([row], rowIndex, eventDetail);
1065
+ };
1066
+ /**
1067
+ * Sets cell values for multiple rows. Will insert new rows, if no index was
1068
+ * was provided, or if the index is higher than the total number of table
1069
+ * rows.
1070
+ *
1071
+ * @function Highcharts.DataTable#setRows
1072
+ *
1073
+ * @param {Array<(Highcharts.DataTableRow|Highcharts.DataTableRowObject)>} rows
1074
+ * Row values to set.
1075
+ *
1076
+ * @param {number} [rowIndex]
1077
+ * Index of the first row to set. Leave `undefind` to add as new rows.
1078
+ *
1079
+ * @param {Highcharts.DataTableEventDetail} [eventDetail]
1080
+ * Custom information for pending events.
1081
+ *
1082
+ * @emits #setRows
1083
+ * @emits #afterSetRows
1084
+ */
1085
+ DataTable.prototype.setRows = function (rows, rowIndex, eventDetail) {
1086
+ if (rowIndex === void 0) { rowIndex = this.rowCount; }
1087
+ var table = this, aliasMap = table.aliasMap, columns = table.columns, columnNames = Object.keys(columns), modifier = table.modifier, rowCount = rows.length;
1088
+ table.emit({
1089
+ type: 'setRows',
1090
+ detail: eventDetail,
1091
+ rowCount: rowCount,
1092
+ rowIndex: rowIndex,
1093
+ rows: rows
1094
+ });
1095
+ for (var i = 0, i2 = rowIndex, row = void 0; i < rowCount; ++i, ++i2) {
1096
+ row = rows[i];
1097
+ if (row === DataTable.NULL) {
1098
+ for (var j = 0, jEnd = columnNames.length; j < jEnd; ++j) {
1099
+ columns[columnNames[j]][i2] = null;
1100
+ }
1101
+ }
1102
+ else if (row instanceof Array) {
1103
+ for (var j = 0, jEnd = columnNames.length; j < jEnd; ++j) {
1104
+ columns[columnNames[j]][i2] = row[j];
1105
+ }
1106
+ }
1107
+ else {
1108
+ var rowColumnNames = Object.keys(row);
1109
+ for (var j = 0, jEnd = rowColumnNames.length, rowColumnName = void 0; j < jEnd; ++j) {
1110
+ rowColumnName = rowColumnNames[j];
1111
+ rowColumnName = (aliasMap[rowColumnName] || rowColumnName);
1112
+ if (!columns[rowColumnName]) {
1113
+ columns[rowColumnName] = new Array(i2 + 1);
1114
+ }
1115
+ columns[rowColumnName][i2] = row[rowColumnName];
1116
+ }
1117
+ }
1118
+ }
1119
+ var indexRowCount = (rowIndex + rowCount);
1120
+ if (indexRowCount > table.rowCount) {
1121
+ table.rowCount = indexRowCount;
1122
+ for (var i = 0, iEnd = columnNames.length; i < iEnd; ++i) {
1123
+ columns[columnNames[i]].length = indexRowCount;
1124
+ }
1125
+ }
1126
+ if (modifier) {
1127
+ modifier.modifyRows(table, rows, rowIndex);
1128
+ }
1129
+ table.emit({
1130
+ type: 'afterSetRows',
1131
+ detail: eventDetail,
1132
+ rowCount: rowCount,
1133
+ rowIndex: rowIndex,
1134
+ rows: rows
1135
+ });
1136
+ };
1137
+ /* *
1138
+ *
1139
+ * Static Functions
1140
+ *
1141
+ * */
1142
+ /**
1143
+ * Null state for a row record.
1144
+ *
1145
+ * @name Highcharts.DataTable.NULL
1146
+ * @type {Highcharts.DataTableRowObject}
1147
+ *
1148
+ * @see {@link Highcharts.DataTable.isNull} for a null test.
1149
+ *
1150
+ * @example
1151
+ * table.setRows([DataTable.NULL, DataTable.NULL], 10);
1152
+ */
1153
+ DataTable.NULL = {};
1154
+ return DataTable;
1155
+ }());
1156
+ /* *
1157
+ *
1158
+ * Default Export
1159
+ *
1160
+ * */
1161
+ export default DataTable;
1162
+ /* *
1163
+ *
1164
+ * API Declarations
1165
+ *
1166
+ * */
1167
+ /**
1168
+ * Possible value types for a table cell.
1169
+ * @private
1170
+ * @typedef {boolean|null|number|string|Highcharts.DataTable|undefined} Highcharts.DataTableCellType
1171
+ */
1172
+ /**
1173
+ * Array of table cells in vertical expansion.
1174
+ * @private
1175
+ * @typedef {Array<Highcharts.DataTableCellType>} Highcharts.DataTableColumn
1176
+ */
1177
+ /**
1178
+ * Collection of columns, where the key is the column name (or alias) and
1179
+ * the value is an array of column values.
1180
+ * @private
1181
+ * @interface Highcharts.DataTableColumnCollection
1182
+ * @readonly
1183
+ */ /**
1184
+ * @name Highcharts.DataTableColumnCollection#[key:string]
1185
+ * @type {Highcharts.DataTableColumn}
1186
+ */
1187
+ /**
1188
+ * Custom information for an event.
1189
+ * @private
1190
+ * @typedef Highcharts.DataTableEventDetail
1191
+ * @type {Record<string,(boolean|number|string|null|undefined)>}
1192
+ */
1193
+ /**
1194
+ * Array of table cells in horizontal expansion. Index of the array is the index
1195
+ * of the column names.
1196
+ * @private
1197
+ * @typedef {Array<Highcharts.DataTableCellType>} Highcharts.DataTableRow
1198
+ */
1199
+ /**
1200
+ * Record of table cells in horizontal expansion. Keys of the record are the
1201
+ * column names (or aliases).
1202
+ * @private
1203
+ * @typedef {Record<string,Highcharts.DataTableCellType>} Highcharts.DataTableRowObject
1204
+ */
1205
+ (''); // keeps doclets above in transpiled file