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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v9.2.1 (2021-08-19)
2
+ * @license Highcharts JS v9.3.2 (2021-11-29)
3
3
  *
4
4
  * Data module
5
5
  *
@@ -74,9 +74,10 @@
74
74
  r = new XMLHttpRequest();
75
75
  /**
76
76
  * @private
77
- * @param {XMLHttpRequest} xhr - Internal request object.
78
- * @param {string|Error} err - Occured error.
79
- * @return {void}
77
+ * @param {XMLHttpRequest} xhr
78
+ * Internal request object.
79
+ * @param {string|Error} err
80
+ * Occured error.
80
81
  */
81
82
  function handleError(xhr, err) {
82
83
  if (options.error) {
@@ -134,7 +135,7 @@
134
135
  * function instead.
135
136
  */
136
137
  function getJSON(url, success) {
137
- exports.ajax({
138
+ HttpUtilities.ajax({
138
139
  url: url,
139
140
  success: success,
140
141
  dataType: 'json',
@@ -154,7 +155,7 @@
154
155
  * @param {string} url
155
156
  * Post URL
156
157
  *
157
- * @param {object} data
158
+ * @param {Object} data
158
159
  * Post data
159
160
  *
160
161
  * @param {Highcharts.Dictionary<string>} [formAttributes]
@@ -190,7 +191,7 @@
190
191
  * Default Export
191
192
  *
192
193
  * */
193
- var exports = {
194
+ var HttpUtilities = {
194
195
  ajax: ajax,
195
196
  getJSON: getJSON,
196
197
  post: post
@@ -229,7 +230,7 @@
229
230
  */
230
231
  (''); // keeps doclets above in JS file
231
232
 
232
- return exports;
233
+ return HttpUtilities;
233
234
  });
234
235
  _registerModule(_modules, 'Extensions/Data.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Chart, G, HU, Point, SeriesRegistry, U) {
235
236
  /* *
@@ -479,8 +480,26 @@
479
480
  * @apioption data.firstRowAsNames
480
481
  */
481
482
  /**
482
- * The key for a Google Spreadsheet to load. See [general information
483
- * on GS](https://developers.google.com/gdata/samples/spreadsheet_sample).
483
+ * The Google Spreadsheet API key required for access generated at [API Services
484
+ * / Credentials](https://console.cloud.google.com/apis/credentials). See a
485
+ * comprehensive tutorial for setting up the key at the
486
+ * [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
487
+ * book website.
488
+ *
489
+ * @sample {highcharts} highcharts/data/google-spreadsheet/
490
+ * Load a Google Spreadsheet
491
+ *
492
+ * @type {string}
493
+ * @since 9.2.2
494
+ * @apioption data.googleAPIKey
495
+ */
496
+ /**
497
+ * The key or `spreadsheetId` value for a Google Spreadsheet to load. See
498
+ * [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
499
+ * for how to find the `spreadsheetId`.
500
+ *
501
+ * In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
502
+ * must also be given.
484
503
  *
485
504
  * @sample {highcharts} highcharts/data/google-spreadsheet/
486
505
  * Load a Google Spreadsheet
@@ -490,13 +509,31 @@
490
509
  * @apioption data.googleSpreadsheetKey
491
510
  */
492
511
  /**
493
- * The Google Spreadsheet worksheet to use in combination with
494
- * [googleSpreadsheetKey](#data.googleSpreadsheetKey). The available id's from
495
- * your sheet can be read from `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
512
+ * The Google Spreadsheet `range` to use in combination with
513
+ * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
514
+ * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
515
+ * for details.
516
+ *
517
+ * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
518
+ * `endRow`.
519
+ *
520
+ * @example
521
+ * googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
522
+ * googleSpreadsheetRange: 'A:Z' // Load columns A to Z
496
523
  *
497
524
  * @sample {highcharts} highcharts/data/google-spreadsheet/
498
525
  * Load a Google Spreadsheet
499
526
  *
527
+ * @type {string|undefined}
528
+ * @since 9.2.2
529
+ * @apioption data.googleSpreadsheetRange
530
+ */
531
+ /**
532
+ * No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
533
+ * the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
534
+ * specific sheet.
535
+ *
536
+ * @deprecated
500
537
  * @type {string}
501
538
  * @since 4.0
502
539
  * @apioption data.googleSpreadsheetWorksheet
@@ -790,9 +827,6 @@
790
827
  *
791
828
  * @private
792
829
  * @function Highcharts.Data#init
793
- * @param {Highcharts.DataOptions} options
794
- * @param {Highcharts.Options} [chartOptions]
795
- * @param {Highcharts.Chart} [chart]
796
830
  */
797
831
  Data.prototype.init = function (options, chartOptions, chart) {
798
832
  var decimalPoint = options.decimalPoint,
@@ -967,10 +1001,6 @@
967
1001
  * Parse a CSV input string
968
1002
  *
969
1003
  * @function Highcharts.Data#parseCSV
970
- *
971
- * @param {Highcharts.DataOptions} [inOptions]
972
- *
973
- * @return {Array<Array<Highcharts.DataValueType>>}
974
1004
  */
975
1005
  Data.prototype.parseCSV = function (inOptions) {
976
1006
  var self = this, options = inOptions || this.options, csv = options.csv, columns, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
@@ -1406,8 +1436,6 @@
1406
1436
  * Parse a HTML table
1407
1437
  *
1408
1438
  * @function Highcharts.Data#parseTable
1409
- *
1410
- * @return {Array<Array<Highcharts.DataValueType>>}
1411
1439
  */
1412
1440
  Data.prototype.parseTable = function () {
1413
1441
  var options = this.options,
@@ -1564,29 +1592,40 @@
1564
1592
  var data = this,
1565
1593
  options = this.options,
1566
1594
  googleSpreadsheetKey = options.googleSpreadsheetKey,
1567
- chart = this.chart,
1568
- // use sheet 1 as the default rather than od6
1569
- // as the latter sometimes cause issues (it looks like it can
1570
- // be renamed in some cases, ref. a fogbugz case).
1571
- worksheet = options.googleSpreadsheetWorksheet || 1,
1572
- startRow = options.startRow || 0,
1573
- endRow = options.endRow || Number.MAX_VALUE,
1574
- startColumn = options.startColumn || 0,
1575
- endColumn = options.endColumn || Number.MAX_VALUE,
1576
- refreshRate = (options.dataRefreshRate || 2) * 1000;
1577
- if (refreshRate < 4000) {
1578
- refreshRate = 4000;
1579
- }
1595
+ chart = this.chart,
1596
+ refreshRate = Math.max((options.dataRefreshRate || 2) * 1000, 4000);
1597
+ /**
1598
+ * Form the `values` field after range settings, unless the
1599
+ * googleSpreadsheetRange option is set.
1600
+ */
1601
+ var getRange = function () {
1602
+ if (options.googleSpreadsheetRange) {
1603
+ return options.googleSpreadsheetRange;
1604
+ }
1605
+ var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
1606
+ var start = (alphabet.charAt(options.startColumn || 0) || 'A') +
1607
+ ((options.startRow || 0) + 1);
1608
+ var end = alphabet.charAt(pick(options.endColumn, -1)) || 'ZZ';
1609
+ if (defined(options.endRow)) {
1610
+ end += options.endRow + 1;
1611
+ }
1612
+ return start + ":" + end;
1613
+ };
1580
1614
  /**
1581
1615
  * Fetch the actual spreadsheet using XMLHttpRequest.
1582
1616
  * @private
1583
1617
  */
1584
1618
  function fetchSheet(fn) {
1585
1619
  var url = [
1586
- 'https://spreadsheets.google.com/feeds/cells',
1620
+ 'https://sheets.googleapis.com/v4/spreadsheets',
1587
1621
  googleSpreadsheetKey,
1588
- worksheet,
1589
- 'public/values?alt=json'
1622
+ 'values',
1623
+ getRange(),
1624
+ '?alt=json&' +
1625
+ 'majorDimension=COLUMNS&' +
1626
+ 'valueRenderOption=UNFORMATTED_VALUE&' +
1627
+ 'dateTimeRenderOption=FORMATTED_STRING&' +
1628
+ 'key=' + options.googleAPIKey
1590
1629
  ].join('/');
1591
1630
  ajax({
1592
1631
  url: url,
@@ -1596,7 +1635,7 @@
1596
1635
  if (options.enablePolling) {
1597
1636
  setTimeout(function () {
1598
1637
  fetchSheet(fn);
1599
- }, (options.dataRefreshRate || 2) * 1000);
1638
+ }, refreshRate);
1600
1639
  }
1601
1640
  },
1602
1641
  error: function (xhr, text) {
@@ -1608,70 +1647,17 @@
1608
1647
  delete options.googleSpreadsheetKey;
1609
1648
  fetchSheet(function (json) {
1610
1649
  // Prepare the data from the spreadsheat
1611
- var columns = [],
1612
- cells = json.feed.entry,
1613
- cell,
1614
- cellCount = (cells || []).length,
1615
- colCount = 0,
1616
- rowCount = 0,
1617
- val,
1618
- gr,
1619
- gc,
1620
- cellInner,
1621
- i;
1622
- if (!cells || cells.length === 0) {
1650
+ var columns = json.values;
1651
+ if (!columns || columns.length === 0) {
1623
1652
  return false;
1624
1653
  }
1625
- // First, find the total number of columns and rows that
1626
- // are actually filled with data
1627
- for (i = 0; i < cellCount; i++) {
1628
- cell = cells[i];
1629
- colCount = Math.max(colCount, cell.gs$cell.col);
1630
- rowCount = Math.max(rowCount, cell.gs$cell.row);
1631
- }
1632
- // Set up arrays containing the column data
1633
- for (i = 0; i < colCount; i++) {
1634
- if (i >= startColumn && i <= endColumn) {
1635
- // Create new columns with the length of either
1636
- // end-start or rowCount
1637
- columns[i - startColumn] = [];
1638
- }
1639
- }
1640
- // Loop over the cells and assign the value to the right
1641
- // place in the column arrays
1642
- for (i = 0; i < cellCount; i++) {
1643
- cell = cells[i];
1644
- gr = cell.gs$cell.row - 1; // rows start at 1
1645
- gc = cell.gs$cell.col - 1; // columns start at 1
1646
- // If both row and col falls inside start and end set the
1647
- // transposed cell value in the newly created columns
1648
- if (gc >= startColumn && gc <= endColumn &&
1649
- gr >= startRow && gr <= endRow) {
1650
- cellInner = cell.gs$cell || cell.content;
1651
- val = null;
1652
- if (cellInner.numericValue) {
1653
- if (cellInner.$t.indexOf('/') >= 0 ||
1654
- cellInner.$t.indexOf('-') >= 0) {
1655
- // This is a date - for future reference.
1656
- val = cellInner.$t;
1657
- }
1658
- else if (cellInner.$t.indexOf('%') > 0) {
1659
- // Percentage
1660
- val = parseFloat(cellInner.numericValue) * 100;
1661
- }
1662
- else {
1663
- val = parseFloat(cellInner.numericValue);
1664
- }
1665
- }
1666
- else if (cellInner.$t && cellInner.$t.length) {
1667
- val = cellInner.$t;
1668
- }
1669
- columns[gc - startColumn][gr - startRow] = val;
1670
- }
1671
- }
1654
+ // Find the maximum row count in order to extend shorter columns
1655
+ var rowCount = columns.reduce(function (rowCount,
1656
+ column) { return Math.max(rowCount,
1657
+ column.length); }, 0);
1672
1658
  // Insert null for empty spreadsheet cells (#5298)
1673
1659
  columns.forEach(function (column) {
1674
- for (i = 0; i < column.length; i++) {
1660
+ for (var i = 0; i < rowCount; i++) {
1675
1661
  if (typeof column[i] === 'undefined') {
1676
1662
  column[i] = null;
1677
1663
  }
@@ -1861,10 +1847,6 @@
1861
1847
  * `options.parseDate`.
1862
1848
  *
1863
1849
  * @function Highcharts.Data#parseDate
1864
- *
1865
- * @param {string} val
1866
- *
1867
- * @return {number}
1868
1850
  */
1869
1851
  Data.prototype.parseDate = function (val) {
1870
1852
  var parseDate = this.options.parseDate;
@@ -1932,10 +1914,6 @@
1932
1914
  * Reorganize rows into columns.
1933
1915
  *
1934
1916
  * @function Highcharts.Data#rowsToColumns
1935
- *
1936
- * @param {Array<Array<Highcharts.DataValueType>>} rows
1937
- *
1938
- * @return {Array<Array<Highcharts.DataValueType>>|undefined}
1939
1917
  */
1940
1918
  Data.prototype.rowsToColumns = function (rows) {
1941
1919
  var row,
@@ -1981,8 +1959,6 @@
1981
1959
  * A hook for working directly on the parsed columns
1982
1960
  *
1983
1961
  * @function Highcharts.Data#parsed
1984
- *
1985
- * @return {boolean|undefined}
1986
1962
  */
1987
1963
  Data.prototype.parsed = function () {
1988
1964
  if (this.options.parsed) {
@@ -2046,7 +2022,10 @@
2046
2022
  // Get the names and shift the top row
2047
2023
  if (this.firstRowAsNames) {
2048
2024
  for (i = 0; i < columns.length; i++) {
2049
- columns[i].name = columns[i].shift();
2025
+ var curCol = columns[i];
2026
+ if (!defined(curCol.name)) {
2027
+ curCol.name = pick(curCol.shift(), '').toString();
2028
+ }
2050
2029
  }
2051
2030
  }
2052
2031
  // Use the next columns for series
@@ -2189,14 +2168,6 @@
2189
2168
  * Creates a data object to parse data for a chart.
2190
2169
  *
2191
2170
  * @function Highcharts.data
2192
- *
2193
- * @param {Highcharts.DataOptions} dataOptions
2194
- *
2195
- * @param {Highcharts.Options} [chartOptions]
2196
- *
2197
- * @param {Highcharts.Chart} [chart]
2198
- *
2199
- * @return {Highcharts.Data}
2200
2171
  */
2201
2172
  G.data = function (dataOptions, chartOptions, chart) {
2202
2173
  return new G.Data(dataOptions, chartOptions, chart);
@@ -2273,10 +2244,6 @@
2273
2244
  * from the free columns (this is handled by the ColumnCursor instance).
2274
2245
  *
2275
2246
  * @function SeriesBuilder#populateColumns
2276
- *
2277
- * @param {Array<number>} freeIndexes
2278
- *
2279
- * @returns {boolean}
2280
2247
  */
2281
2248
  SeriesBuilder.prototype.populateColumns = function (freeIndexes) {
2282
2249
  var builder = this,
@@ -2304,12 +2271,6 @@
2304
2271
  * on the names of the readers.
2305
2272
  *
2306
2273
  * @function SeriesBuilder#read<T>
2307
- *
2308
- * @param {Array<Array<T>>} columns
2309
- *
2310
- * @param {number} rowIndex
2311
- *
2312
- * @returns {Array<T>|Highcharts.Dictionary<T>}
2313
2274
  */
2314
2275
  SeriesBuilder.prototype.read = function (columns, rowIndex) {
2315
2276
  var builder = this,
@@ -2355,10 +2316,6 @@
2355
2316
  * an index when columns are populated.
2356
2317
  *
2357
2318
  * @function SeriesBuilder#addColumnReader
2358
- *
2359
- * @param {number} columnIndex
2360
- *
2361
- * @param {string} configName
2362
2319
  */
2363
2320
  SeriesBuilder.prototype.addColumnReader = function (columnIndex, configName) {
2364
2321
  this.readers.push({
@@ -2376,8 +2333,6 @@
2376
2333
  * reading data.
2377
2334
  *
2378
2335
  * @function SeriesBuilder#getReferencedColumnIndexes
2379
- *
2380
- * @returns {Array<number>}
2381
2336
  */
2382
2337
  SeriesBuilder.prototype.getReferencedColumnIndexes = function () {
2383
2338
  var i,
@@ -2395,10 +2350,6 @@
2395
2350
  * Returns true if the builder has a reader for the given configName.
2396
2351
  *
2397
2352
  * @function SeriesBuider#hasReader
2398
- *
2399
- * @param {string} configName
2400
- *
2401
- * @returns {boolean|undefined}
2402
2353
  */
2403
2354
  SeriesBuilder.prototype.hasReader = function (configName) {
2404
2355
  var i,
@@ -2417,13 +2368,16 @@
2417
2368
 
2418
2369
  return G.Data;
2419
2370
  });
2420
- _registerModule(_modules, 'masters/modules/data.src.js', [_modules['Core/Globals.js'], _modules['Core/HttpUtilities.js']], function (Highcharts, HttpUtilities) {
2371
+ _registerModule(_modules, 'masters/modules/data.src.js', [_modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Extensions/Data.js']], function (Highcharts, HttpUtilities, Data) {
2421
2372
 
2422
2373
  var G = Highcharts;
2423
- G.HttpUtilities = HttpUtilities;
2374
+ // Functions
2424
2375
  G.ajax = HttpUtilities.ajax;
2425
2376
  G.getJSON = HttpUtilities.getJSON;
2426
2377
  G.post = HttpUtilities.post;
2378
+ // Classes
2379
+ G.Data = Data;
2380
+ G.HttpUtilities = HttpUtilities;
2427
2381
 
2428
2382
  });
2429
2383
  }));
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highstock JS v9.2.1 (2021-08-19)
2
+ Highstock JS v9.3.2 (2021-11-29)
3
3
 
4
4
  Data grouping module
5
5
 
@@ -7,23 +7,23 @@
7
7
 
8
8
  License: www.highcharts.com/license
9
9
  */
10
- 'use strict';(function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(z){d(z);d.Highcharts=z;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function z(d,z,f,A){d.hasOwnProperty(z)||(d[z]=A.apply(null,f))}d=d?d._modules:{};z(d,"Extensions/DataGrouping.js",[d["Core/Axis/Axis.js"],d["Core/Axis/DateTimeAxis.js"],d["Core/FormatUtilities.js"],
11
- d["Core/Globals.js"],d["Core/Series/Point.js"],d["Core/Series/Series.js"],d["Core/Tooltip.js"],d["Core/DefaultOptions.js"],d["Core/Utilities.js"]],function(d,z,f,A,L,E,M,N,e){var C=f.format,r=E.prototype;f=e.addEvent;var O=e.arrayMax,P=e.arrayMin,Q=e.correctFloat,D=e.defined,G=e.error,R=e.extend,q=e.isNumber,F=e.merge,B=e.pick;"";var n=A.approximations={sum:function(a){var c=a.length;if(!c&&a.hasNulls)var b=null;else if(c)for(b=0;c--;)b+=a[c];return b},average:function(a){var c=a.length;a=n.sum(a);
12
- q(a)&&c&&(a=Q(a/c));return a},averages:function(){var a=[];[].forEach.call(arguments,function(c){a.push(n.average(c))});return"undefined"===typeof a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?O(a):a.hasNulls?null:void 0},low:function(a){return a.length?P(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,c,b,h){a=n.open(a);c=n.high(c);b=n.low(b);h=n.close(h);if(q(a)||q(c)||
13
- q(b)||q(h))return[a,c,b,h]},range:function(a,c){a=n.low(a);c=n.high(c);if(q(a)||q(c))return[a,c];if(null===a&&null===c)return null}};e=function(a,c,b,h){var g=this,d=g.data,u=g.options&&g.options.data,k=[],H=[],I=[],t=a.length,l=!!c,m=[],v=g.pointArrayMap,e=v&&v.length,w=["x"].concat(v||["y"]),z=this.options.dataGrouping&&this.options.dataGrouping.groupAll,f=0,r=0,x;h="function"===typeof h?h:n[h]?n[h]:n[g.getDGApproximation&&g.getDGApproximation()||"average"];e?v.forEach(function(){m.push([])}):m.push([]);
14
- var A=e||1;for(x=0;x<=t&&!(a[x]>=b[0]);x++);for(x;x<=t;x++){for(;"undefined"!==typeof b[f+1]&&a[x]>=b[f+1]||x===t;){var p=b[f];g.dataGroupInfo={start:z?r:g.cropStart+r,length:m[0].length};var B=h.apply(g,m);g.pointClass&&!D(g.dataGroupInfo.options)&&(g.dataGroupInfo.options=F(g.pointClass.prototype.optionsToObject.call({series:g},g.options.data[g.cropStart+r])),w.forEach(function(a){delete g.dataGroupInfo.options[a]}));"undefined"!==typeof B&&(k.push(p),H.push(B),I.push(g.dataGroupInfo));r=x;for(p=
15
- 0;p<A;p++)m[p].length=0,m[p].hasNulls=!1;f+=1;if(x===t)break}if(x===t)break;if(v){p=g.options.dataGrouping&&g.options.dataGrouping.groupAll?x:g.cropStart+x;B=d&&d[p]||g.pointClass.prototype.applyOptions.apply({series:g},[u[p]]);var y=void 0;for(p=0;p<e;p++)y=B[v[p]],q(y)?m[p].push(y):null===y&&(m[p].hasNulls=!0)}else p=l?c[x]:null,q(p)?m[0].push(p):null===p&&(m[0].hasNulls=!0)}return{groupedXData:k,groupedYData:H,groupMap:I}};var J={approximations:n,groupData:e},S=r.generatePoints,y={groupPixelWidth:2,
16
- dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},K={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},
17
- columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},T=A.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]];r.getDGApproximation=function(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("column")?"sum":"average"};r.groupData=e;r.applyGrouping=function(){var a=
18
- this.chart,c=this.options.dataGrouping,b=!1!==this.allowDG&&c&&B(c.enabled,a.options.isStock),h=this.visible||!a.options.chart.ignoreHiddenSeries,g,d=this.currentDataGrouping,u=!1;b&&!this.requireSorting&&(this.requireSorting=u=!0);var k=!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty?void 0:!1;u&&(this.requireSorting=!1);if(!k&&b){this.destroyGroupedData();k=c.groupAll?this.xData:this.processedXData;var e=c.groupAll?this.yData:this.processedYData;u=a.plotSizeX;b=this.xAxis;
19
- var f=b.options.ordinal,t=this.groupPixelWidth;if(t&&k&&k.length){this.isDirty=g=!0;this.points=null;var l=b.getExtremes();var m=l.min;l=l.max;f=f&&b.ordinal&&b.ordinal.getGroupIntervalFactor(m,l,this)||1;u=b.getTimeTicks(z.Additions.prototype.normalizeTimeTickInterval(t*(l-m)/u*f,c.units||T),Math.min(m,k[0]),Math.max(l,k[k.length-1]),b.options.startOfWeek,k,this.closestPointRange);t=r.groupData.apply(this,[k,e,u,c.approximation]);k=t.groupedXData;e=t.groupedYData;f=0;c&&c.smoothed&&k.length&&(c.firstAnchor=
20
- "firstPoint",c.anchor="middle",c.lastAnchor="lastPoint",G(32,!1,a,{"dataGrouping.smoothed":"use dataGrouping.anchor"}));a=k;var v=this.options.dataGrouping;m=this.currentDataGrouping&&this.currentDataGrouping.gapSize;if(v&&this.xData&&m&&this.groupMap){var n=a.length-1;var w=v.anchor;var y=B(v.firstAnchor,w);v=B(v.lastAnchor,w);if(w&&"start"!==w){var A=m*{middle:.5,end:1}[w];for(w=a.length-1;w--&&0<w;)a[w]+=A}if(y&&"start"!==y&&this.xData[0]>=a[0]){w=this.groupMap[0].start;A=this.groupMap[0].length;
21
- var C=void 0;q(w)&&q(A)&&(C=w+(A-1));a[0]={middle:a[0]+.5*m,end:a[0]+m,firstPoint:this.xData[0],lastPoint:C&&this.xData[C]}[y]}v&&"start"!==v&&m&&a[n]>=l-m&&(l=this.groupMap[this.groupMap.length-1].start,a[n]={middle:a[n]+.5*m,end:a[n]+m,firstPoint:l&&this.xData[l],lastPoint:this.xData[this.xData.length-1]}[v])}for(l=1;l<u.length;l++)u.info.segmentStarts&&-1!==u.info.segmentStarts.indexOf(l)||(f=Math.max(u[l]-u[l-1],f));l=u.info;l.gapSize=f;this.closestPointRange=u.info.totalRange;this.groupMap=t.groupMap;
22
- if(h){h=k;if(D(h[0])&&q(b.min)&&q(b.dataMin)&&h[0]<b.min){if(!D(b.options.min)&&b.min<=b.dataMin||b.min===b.dataMin)b.min=Math.min(h[0],b.min);b.dataMin=Math.min(h[0],b.dataMin)}if(D(h[h.length-1])&&q(b.max)&&q(b.dataMax)&&h[h.length-1]>b.max){if(!D(b.options.max)&&q(b.dataMax)&&b.max>=b.dataMax||b.max===b.dataMax)b.max=Math.max(h[h.length-1],b.max);b.dataMax=Math.max(h[h.length-1],b.dataMax)}}c.groupAll&&(this.allGroupedData=e,c=this.cropData(k,e,b.min,b.max,1),k=c.xData,e=c.yData,this.cropStart=
23
- c.start);this.processedXData=k;this.processedYData=e}else this.groupMap=null;this.hasGroupedData=g;this.currentDataGrouping=l;this.preventGraphAnimation=(d&&d.totalRange)!==(l&&l.totalRange)}};r.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(a,c){a&&(this.groupedData[c]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)};r.generatePoints=function(){S.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};d.prototype.applyGrouping=
24
- function(){var a=this;a.series.forEach(function(c){c.groupPixelWidth=void 0;c.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();c.groupPixelWidth&&(c.hasProcessed=!0,c.applyGrouping())})};d.prototype.getGroupPixelWidth=function(){var a=this.series,c=a.length,b,h=0,d=!1,e;for(b=c;b--;)(e=a[b].options.dataGrouping)&&(h=Math.max(h,B(e.groupPixelWidth,y.groupPixelWidth)));for(b=c;b--;)if(e=a[b].options.dataGrouping)if(c=(a[b].processedXData||a[b].data).length,a[b].groupPixelWidth||c>this.chart.plotSizeX/
25
- h||c&&e.forced)d=!0;return d?h:0};d.prototype.setDataGrouping=function(a,c){var b;c=B(c,!0);a||(a={forced:!1,units:null});if(this instanceof d)for(b=this.series.length;b--;)this.series[b].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinal&&(this.ordinal.slope=void 0);c&&this.chart.redraw()};f(d,"postProcessData",d.prototype.applyGrouping);f(L,"update",function(){if(this.dataGroup)return G(24,!1,this.series.chart),!1});f(M,"headerFormatter",
26
- function(a){var c=this.chart,b=c.time,d=a.labelConfig,g=d.series,e=g.tooltipOptions,f=g.options.dataGrouping,k=e.xDateFormat,n=g.xAxis,r=e[a.isFooter?"footerFormat":"headerFormat"];if(n&&"datetime"===n.options.type&&f&&q(d.key)){var t=g.currentDataGrouping;f=f.dateTimeLabelFormats||y.dateTimeLabelFormats;if(t)if(e=f[t.unitName],1===t.count)k=e[0];else{k=e[1];var l=e[2]}else!k&&f&&n.dateTime&&(k=n.dateTime.getXDateFormat(d.x,e.dateTimeLabelFormats));k=b.dateFormat(k,d.key);l&&(k+=b.dateFormat(l,d.key+
27
- t.totalRange-1));g.chart.styledMode&&(r=this.styledModeFormat(r));a.text=C(r,{point:R(d.point,{key:k}),series:g},c);a.preventDefault()}});f(E,"destroy",r.destroyGroupedData);f(E,"afterSetOptions",function(a){a=a.options;var c=this.type,b=this.chart.options.plotOptions,d=N.defaultOptions.plotOptions[c].dataGrouping,e=this.useCommonDataGrouping&&y;if(K[c]||e){d||(d=F(y,K[c]));var f=this.chart.rangeSelector;a.dataGrouping=F(e,d,b.series&&b.series.dataGrouping,b[c].dataGrouping,this.userOptions.dataGrouping,
28
- !a.isInternal&&f&&q(f.selected)&&f.buttonOptions[f.selected].dataGrouping)}});f(d,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});A.dataGrouping=J;"";return J});z(d,"masters/modules/datagrouping.src.js",[d["Extensions/DataGrouping.js"]],function(d){return d})});
10
+ 'use strict';(function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(r){d(r);d.Highcharts=r;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function r(d,r,n,z){d.hasOwnProperty(r)||(d[r]=z.apply(null,n))}d=d?d._modules:{};r(d,"Extensions/DataGrouping.js",[d["Core/Axis/Axis.js"],d["Core/Axis/DateTimeAxis.js"],d["Core/FormatUtilities.js"],
11
+ d["Core/Globals.js"],d["Core/Series/Point.js"],d["Core/Series/Series.js"],d["Core/Tooltip.js"],d["Core/DefaultOptions.js"],d["Core/Utilities.js"]],function(d,r,n,z,L,E,M,N,l){var K=n.format,x=E.prototype;n=l.addEvent;var O=l.arrayMax,P=l.arrayMin,Q=l.correctFloat,D=l.defined,G=l.error,R=l.extend,p=l.isNumber,F=l.merge,A=l.pick;"";var g=z.approximations={sum:function(a){var b=a.length;if(!b&&a.hasNulls)var c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var b=a.length;a=g.sum(a);
12
+ p(a)&&b&&(a=Q(a/b));return a},averages:function(){var a=[];[].forEach.call(arguments,function(b){a.push(g.average(b))});return"undefined"===typeof a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?O(a):a.hasNulls?null:void 0},low:function(a){return a.length?P(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},hlc:function(a,b,c){a=g.high(a);b=g.low(b);c=g.close(c);if(p(a)||p(b)||p(c))return[a,
13
+ b,c]},ohlc:function(a,b,c,h){a=g.open(a);b=g.high(b);c=g.low(c);h=g.close(h);if(p(a)||p(b)||p(c)||p(h))return[a,b,c,h]},range:function(a,b){a=g.low(a);b=g.high(b);if(p(a)||p(b))return[a,b];if(null===a&&null===b)return null}};l=function(a,b,c,h){var e=this,d=e.data,l=e.options&&e.options.data,f=[],H=[],B=[],t=a.length,k=!!b,m=[],u=e.pointArrayMap,r=u&&u.length,v=["x"].concat(u||["y"]),n=this.options.dataGrouping&&this.options.dataGrouping.groupAll,C=0,x=0,w;h="function"===typeof h?h:g[h]?g[h]:g[e.getDGApproximation&&
14
+ e.getDGApproximation()||"average"];r?u.forEach(function(){m.push([])}):m.push([]);var z=r||1;for(w=0;w<=t&&!(a[w]>=c[0]);w++);for(w;w<=t;w++){for(;"undefined"!==typeof c[C+1]&&a[w]>=c[C+1]||w===t;){var q=c[C];e.dataGroupInfo={start:n?x:e.cropStart+x,length:m[0].length};var A=h.apply(e,m);e.pointClass&&!D(e.dataGroupInfo.options)&&(e.dataGroupInfo.options=F(e.pointClass.prototype.optionsToObject.call({series:e},e.options.data[e.cropStart+x])),v.forEach(function(a){delete e.dataGroupInfo.options[a]}));
15
+ "undefined"!==typeof A&&(f.push(q),H.push(A),B.push(e.dataGroupInfo));x=w;for(q=0;q<z;q++)m[q].length=0,m[q].hasNulls=!1;C+=1;if(w===t)break}if(w===t)break;if(u){q=e.options.dataGrouping&&e.options.dataGrouping.groupAll?w:e.cropStart+w;A=d&&d[q]||e.pointClass.prototype.applyOptions.apply({series:e},[l[q]]);var y=void 0;for(q=0;q<r;q++)y=A[u[q]],p(y)?m[q].push(y):null===y&&(m[q].hasNulls=!0)}else q=k?b[w]:null,p(q)?m[0].push(q):null===q&&(m[0].hasNulls=!0)}return{groupedXData:f,groupedYData:H,groupMap:B}};
16
+ var I={approximations:g,groupData:l},S=x.generatePoints,y={groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y",
17
+ "%Y","-%Y"]}},J={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},T=z.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]];x.getDGApproximation=function(){return this.is("arearange")?
18
+ "range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")?"sum":"average"};x.groupData=l;x.applyGrouping=function(a){var b=this.chart,c=this.options.dataGrouping,h=!1!==this.allowDG&&c&&A(c.enabled,b.options.isStock),e=this.visible||!b.options.chart.ignoreHiddenSeries,d,l=this.currentDataGrouping,f=!1;h&&!this.requireSorting&&(this.requireSorting=f=!0);a=!1===!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!a)||!h;f&&(this.requireSorting=!1);if(!a){this.destroyGroupedData();
19
+ h=c.groupAll?this.xData:this.processedXData;var g=c.groupAll?this.yData:this.processedYData;a=b.plotSizeX;f=this.xAxis;var B=f.options.ordinal,t=this.groupPixelWidth;if(t&&h&&h.length){this.isDirty=d=!0;this.points=null;var k=f.getExtremes();var m=k.min;k=k.max;B=B&&f.ordinal&&f.ordinal.getGroupIntervalFactor(m,k,this)||1;a=f.getTimeTicks(r.Additions.prototype.normalizeTimeTickInterval(t*(k-m)/a*B,c.units||T),Math.min(m,h[0]),Math.max(k,h[h.length-1]),f.options.startOfWeek,h,this.closestPointRange);
20
+ t=x.groupData.apply(this,[h,g,a,c.approximation]);h=t.groupedXData;g=t.groupedYData;B=0;c&&c.smoothed&&h.length&&(c.firstAnchor="firstPoint",c.anchor="middle",c.lastAnchor="lastPoint",G(32,!1,b,{"dataGrouping.smoothed":"use dataGrouping.anchor"}));b=h;var u=this.options.dataGrouping;m=this.currentDataGrouping&&this.currentDataGrouping.gapSize;if(u&&this.xData&&m&&this.groupMap){var n=b.length-1;var v=u.anchor;var y=A(u.firstAnchor,v);u=A(u.lastAnchor,v);if(v&&"start"!==v){var C=m*{middle:.5,end:1}[v];
21
+ for(v=b.length-1;v--&&0<v;)b[v]+=C}if(y&&"start"!==y&&this.xData[0]>=b[0]){v=this.groupMap[0].start;C=this.groupMap[0].length;var z=void 0;p(v)&&p(C)&&(z=v+(C-1));b[0]={middle:b[0]+.5*m,end:b[0]+m,firstPoint:this.xData[0],lastPoint:z&&this.xData[z]}[y]}u&&"start"!==u&&m&&b[n]>=k-m&&(k=this.groupMap[this.groupMap.length-1].start,b[n]={middle:b[n]+.5*m,end:b[n]+m,firstPoint:k&&this.xData[k],lastPoint:this.xData[this.xData.length-1]}[u])}for(k=1;k<a.length;k++)a.info.segmentStarts&&-1!==a.info.segmentStarts.indexOf(k)||
22
+ (B=Math.max(a[k]-a[k-1],B));k=a.info;k.gapSize=B;this.closestPointRange=a.info.totalRange;this.groupMap=t.groupMap;if(e){e=h;if(D(e[0])&&p(f.min)&&p(f.dataMin)&&e[0]<f.min){if(!D(f.options.min)&&f.min<=f.dataMin||f.min===f.dataMin)f.min=Math.min(e[0],f.min);f.dataMin=Math.min(e[0],f.dataMin)}if(D(e[e.length-1])&&p(f.max)&&p(f.dataMax)&&e[e.length-1]>f.max){if(!D(f.options.max)&&p(f.dataMax)&&f.max>=f.dataMax||f.max===f.dataMax)f.max=Math.max(e[e.length-1],f.max);f.dataMax=Math.max(e[e.length-1],f.dataMax)}}c.groupAll&&
23
+ (this.allGroupedData=g,c=this.cropData(h,g,f.min,f.max,1),h=c.xData,g=c.yData,this.cropStart=c.start);this.processedXData=h;this.processedYData=g}else this.groupMap=null;this.hasGroupedData=d;this.currentDataGrouping=k;this.preventGraphAnimation=(l&&l.totalRange)!==(k&&k.totalRange)}};x.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(a,b){a&&(this.groupedData[b]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)};x.generatePoints=function(){S.apply(this);
24
+ this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};d.prototype.applyGrouping=function(a){var b=this;b.series.forEach(function(c){c.groupPixelWidth=void 0;c.groupPixelWidth=b.getGroupPixelWidth&&b.getGroupPixelWidth();c.groupPixelWidth&&(c.hasProcessed=!0);c.applyGrouping(!!a.hasExtemesChanged)})};d.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,c,h=0,e=!1,d;for(c=b;c--;)(d=a[c].options.dataGrouping)&&(h=Math.max(h,A(d.groupPixelWidth,y.groupPixelWidth)));
25
+ for(c=b;c--;)if(d=a[c].options.dataGrouping)if(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/h||b&&d.forced)e=!0;return e?h:0};d.prototype.setDataGrouping=function(a,b){var c;b=A(b,!0);a||(a={forced:!1,units:null});if(this instanceof d)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinal&&(this.ordinal.slope=void 0);b&&this.chart.redraw()};n(d,"postProcessData",
26
+ d.prototype.applyGrouping);n(L,"update",function(){if(this.dataGroup)return G(24,!1,this.series.chart),!1});n(M,"headerFormatter",function(a){var b=this.chart,c=b.time,d=a.labelConfig,e=d.series,g=e.tooltipOptions,l=e.options.dataGrouping,f=g.xDateFormat,n=e.xAxis,r=g[a.isFooter?"footerFormat":"headerFormat"];if(n&&"datetime"===n.options.type&&l&&p(d.key)){var t=e.currentDataGrouping;l=l.dateTimeLabelFormats||y.dateTimeLabelFormats;if(t)if(g=l[t.unitName],1===t.count)f=g[0];else{f=g[1];var k=g[2]}else!f&&
27
+ l&&n.dateTime&&(f=n.dateTime.getXDateFormat(d.x,g.dateTimeLabelFormats));f=c.dateFormat(f,d.key);k&&(f+=c.dateFormat(k,d.key+t.totalRange-1));e.chart.styledMode&&(r=this.styledModeFormat(r));a.text=K(r,{point:R(d.point,{key:f}),series:e},b);a.preventDefault()}});n(E,"destroy",x.destroyGroupedData);n(E,"afterSetOptions",function(a){a=a.options;var b=this.type,c=this.chart.options.plotOptions,d=N.defaultOptions.plotOptions[b].dataGrouping,e=this.useCommonDataGrouping&&y;if(c&&(J[b]||e)){d||(d=F(y,J[b]));
28
+ var g=this.chart.rangeSelector;a.dataGrouping=F(e,d,c.series&&c.series.dataGrouping,c[b].dataGrouping,this.userOptions.dataGrouping,!a.isInternal&&g&&p(g.selected)&&g.buttonOptions[g.selected].dataGrouping)}});n(d,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});z.dataGrouping=I;"";return I});r(d,"masters/modules/datagrouping.src.js",[d["Extensions/DataGrouping.js"]],function(d){return d})});
29
29
  //# sourceMappingURL=datagrouping.js.map