highcharts 9.1.1 → 9.2.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 (718) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +29 -28
  3. package/css/annotations/popup.scss +29 -27
  4. package/css/highcharts.css +15 -0
  5. package/css/highcharts.scss +12 -0
  6. package/css/stocktools/gui.css +1 -0
  7. package/css/stocktools/gui.scss +1 -0
  8. package/css/themes/dark-unica.css +15 -0
  9. package/css/themes/grid-light.css +15 -0
  10. package/css/themes/sand-signika.css +15 -0
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -2
  12. package/es-modules/Accessibility/Components/LegendComponent.js +19 -8
  13. package/es-modules/Accessibility/Components/MenuComponent.js +19 -13
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -8
  15. package/es-modules/Accessibility/FocusBorder.js +1 -3
  16. package/es-modules/Accessibility/Options/LangOptions.js +3 -3
  17. package/es-modules/Accessibility/Utils/Announcer.js +22 -5
  18. package/es-modules/Accessibility/Utils/ChartUtilities.js +6 -1
  19. package/es-modules/Core/Animation/AnimationUtilities.js +12 -4
  20. package/es-modules/Core/Animation/Fx.js +15 -12
  21. package/es-modules/Core/Axis/Axis.js +25 -13
  22. package/es-modules/Core/Axis/AxisDefaults.js +0 -1
  23. package/es-modules/Core/Axis/BrokenAxis.js +32 -15
  24. package/es-modules/Core/Axis/Color/ColorAxis.js +665 -0
  25. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +237 -0
  26. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
  27. package/es-modules/Core/Axis/DateTimeAxis.js +163 -133
  28. package/es-modules/Core/Axis/GridAxis.js +8 -3
  29. package/es-modules/Core/Axis/LogarithmicAxis.js +159 -117
  30. package/es-modules/Core/Axis/OrdinalAxis.js +666 -460
  31. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +874 -0
  32. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +292 -0
  33. package/es-modules/Core/Axis/RadialAxis.js +858 -745
  34. package/es-modules/Core/Axis/ScrollbarAxis.js +7 -0
  35. package/es-modules/Core/Axis/StackingAxis.js +159 -140
  36. package/es-modules/Core/Axis/Tick.js +17 -27
  37. package/es-modules/Core/Chart/Chart.js +24 -38
  38. package/es-modules/Core/Chart/ChartDefaults.js +1 -1
  39. package/es-modules/Core/Chart/StockChart.js +12 -0
  40. package/es-modules/Core/Color/Color.js +96 -104
  41. package/es-modules/Core/DefaultOptions.js +269 -248
  42. package/es-modules/Core/Foundation.js +9 -8
  43. package/es-modules/Core/Geometry/CircleUtilities.js +385 -0
  44. package/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
  45. package/es-modules/Core/Globals.js +23 -1
  46. package/es-modules/{Extensions/Ajax.js → Core/HttpUtilities.js} +86 -42
  47. package/es-modules/Core/{Legend.js → Legend/Legend.js} +142 -116
  48. package/es-modules/{Mixins → Core/Legend}/LegendSymbol.js +54 -38
  49. package/es-modules/Core/Navigator.js +3 -0
  50. package/es-modules/Core/Pointer.js +9 -0
  51. package/es-modules/Core/Renderer/HTML/AST.js +100 -82
  52. package/es-modules/Core/Renderer/HTML/HTMLElement.js +17 -7
  53. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +26 -9
  54. package/es-modules/Core/Renderer/RendererRegistry.js +9 -4
  55. package/es-modules/Core/Renderer/RendererUtilities.js +159 -0
  56. package/es-modules/Core/Renderer/SVG/SVGElement.js +13 -7
  57. package/es-modules/Core/Renderer/SVG/SVGLabel.js +9 -29
  58. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -2
  59. package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -16
  60. package/es-modules/Core/Responsive.js +166 -148
  61. package/es-modules/Core/Series/DataLabel.js +564 -0
  62. package/es-modules/Core/Series/Point.js +233 -209
  63. package/es-modules/Core/Series/Series.js +174 -2339
  64. package/es-modules/Core/Series/SeriesDefaults.js +2293 -0
  65. package/es-modules/Core/Series/SeriesRegistry.js +3 -9
  66. package/es-modules/Core/Time.js +78 -2
  67. package/es-modules/Core/Tooltip.js +178 -236
  68. package/es-modules/Core/Utilities.js +409 -394
  69. package/es-modules/Extensions/Annotations/Annotations.js +102 -49
  70. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +9 -1
  71. package/es-modules/Extensions/Annotations/NavigationBindings.js +30 -25
  72. package/es-modules/Extensions/Annotations/Popup.js +16 -7
  73. package/es-modules/Extensions/Boost/BoostOverrides.js +5 -1
  74. package/es-modules/Extensions/Boost/WGLRenderer.js +5 -4
  75. package/es-modules/Extensions/Boost/WGLVBuffer.js +3 -0
  76. package/es-modules/Extensions/BoostCanvas.js +1 -1
  77. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  78. package/es-modules/Extensions/Data.js +82 -76
  79. package/es-modules/Extensions/DataGrouping.js +225 -184
  80. package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
  81. package/es-modules/Extensions/DraggablePoints.js +13 -5
  82. package/es-modules/Extensions/Drilldown.js +41 -14
  83. package/es-modules/Extensions/ExportData.js +7 -4
  84. package/es-modules/Extensions/Exporting/Exporting.js +1273 -0
  85. package/es-modules/Extensions/Exporting/ExportingDefaults.js +803 -0
  86. package/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
  87. package/es-modules/Extensions/FullScreen.js +7 -5
  88. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  89. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
  90. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
  91. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  92. package/es-modules/Extensions/Pane.js +0 -1
  93. package/es-modules/Extensions/PatternFill.js +23 -10
  94. package/es-modules/Extensions/Polar.js +2 -1
  95. package/es-modules/Extensions/RangeSelector.js +1 -1
  96. package/es-modules/Extensions/Themes/Avocado.js +49 -20
  97. package/es-modules/Extensions/Themes/DarkBlue.js +226 -203
  98. package/es-modules/Extensions/Themes/DarkGreen.js +231 -203
  99. package/es-modules/Extensions/Themes/DarkUnica.js +201 -172
  100. package/es-modules/Extensions/Themes/Gray.js +228 -205
  101. package/es-modules/Extensions/Themes/Grid.js +109 -81
  102. package/es-modules/Extensions/Themes/GridLight.js +83 -55
  103. package/es-modules/Extensions/Themes/HighContrastDark.js +192 -164
  104. package/es-modules/Extensions/Themes/HighContrastLight.js +49 -21
  105. package/es-modules/Extensions/Themes/SandSignika.js +115 -86
  106. package/es-modules/Extensions/Themes/Skies.js +102 -74
  107. package/es-modules/Extensions/Themes/Sunset.js +47 -19
  108. package/es-modules/Mixins/ColorSeries.js +0 -1
  109. package/es-modules/Mixins/MultipleLines.js +6 -0
  110. package/es-modules/Mixins/TreeSeries.js +1 -1
  111. package/es-modules/Series/Area/AreaSeries.js +2 -2
  112. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +2 -2
  113. package/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
  114. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +267 -0
  115. package/es-modules/Series/Bubble/BubbleLegendItem.js +472 -0
  116. package/es-modules/Series/Bubble/BubbleSeries.js +6 -2
  117. package/es-modules/Series/Column/ColumnDataLabel.js +109 -0
  118. package/es-modules/Series/Column/ColumnSeries.js +39 -26
  119. package/es-modules/Series/Column3D/Column3DComposition.js +5 -2
  120. package/es-modules/Series/Flags/FlagsSeries.js +8 -1
  121. package/es-modules/Series/Gantt/GanttSeries.js +3 -3
  122. package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -5
  123. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
  124. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +277 -0
  125. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +83 -0
  126. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +370 -0
  127. package/es-modules/Series/Line/LineSeries.js +12 -8
  128. package/es-modules/Series/Map/MapSeries.js +5 -3
  129. package/es-modules/Series/MapBubble/MapBubbleSeries.js +6 -5
  130. package/es-modules/Series/OHLC/OHLCPoint.js +11 -0
  131. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  132. package/es-modules/Series/Pie/PieDataLabel.js +448 -0
  133. package/es-modules/Series/Pie/PiePoint.js +35 -34
  134. package/es-modules/Series/Pie/PieSeries.js +19 -16
  135. package/es-modules/Series/Polygon/PolygonSeries.js +3 -3
  136. package/es-modules/Series/Sankey/SankeySeries.js +9 -7
  137. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
  138. package/es-modules/Series/Sunburst/SunburstSeries.js +1 -14
  139. package/es-modules/Series/Timeline/TimelinePoint.js +6 -0
  140. package/es-modules/Series/Timeline/TimelineSeries.js +14 -17
  141. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  142. package/es-modules/Series/Venn/VennSeries.js +4 -4
  143. package/es-modules/Series/Venn/VennUtils.js +10 -16
  144. package/es-modules/Series/Waterfall/WaterfallSeries.js +40 -35
  145. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -0
  146. package/es-modules/Series/XRange/XRangeSeries.js +4 -2
  147. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +92 -75
  148. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +20 -8
  149. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +17 -4
  150. package/es-modules/Stock/StockToolsBindings.js +77 -38
  151. package/es-modules/Stock/StockToolsGui.js +28 -3
  152. package/es-modules/masters/highcharts-3d.src.js +1 -1
  153. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  154. package/es-modules/masters/highcharts-more.src.js +11 -7
  155. package/es-modules/masters/highcharts.src.js +25 -9
  156. package/es-modules/masters/highmaps.src.js +1 -1
  157. package/es-modules/masters/highstock.src.js +1 -1
  158. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  159. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  160. package/es-modules/masters/indicators/ao.src.js +1 -1
  161. package/es-modules/masters/indicators/apo.src.js +1 -1
  162. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  163. package/es-modules/masters/indicators/aroon.src.js +1 -1
  164. package/es-modules/masters/indicators/atr.src.js +1 -1
  165. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  166. package/es-modules/masters/indicators/cci.src.js +1 -1
  167. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  168. package/es-modules/masters/indicators/cmf.src.js +1 -1
  169. package/es-modules/masters/indicators/cmo.src.js +1 -1
  170. package/es-modules/masters/indicators/dema.src.js +1 -1
  171. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  172. package/es-modules/masters/indicators/dmi.src.js +1 -1
  173. package/es-modules/masters/indicators/dpo.src.js +1 -1
  174. package/es-modules/masters/indicators/ema.src.js +1 -1
  175. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  176. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  177. package/es-modules/masters/indicators/indicators.src.js +1 -1
  178. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  179. package/es-modules/masters/indicators/klinger.src.js +1 -1
  180. package/es-modules/masters/indicators/macd.src.js +1 -1
  181. package/es-modules/masters/indicators/mfi.src.js +1 -1
  182. package/es-modules/masters/indicators/momentum.src.js +1 -1
  183. package/es-modules/masters/indicators/natr.src.js +1 -1
  184. package/es-modules/masters/indicators/obv.src.js +1 -1
  185. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  186. package/es-modules/masters/indicators/ppo.src.js +1 -1
  187. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  188. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  189. package/es-modules/masters/indicators/psar.src.js +1 -1
  190. package/es-modules/masters/indicators/regressions.src.js +1 -1
  191. package/es-modules/masters/indicators/roc.src.js +1 -1
  192. package/es-modules/masters/indicators/rsi.src.js +1 -1
  193. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  194. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  195. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  196. package/es-modules/masters/indicators/tema.src.js +1 -1
  197. package/es-modules/masters/indicators/trendline.src.js +1 -1
  198. package/es-modules/masters/indicators/trix.src.js +1 -1
  199. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  200. package/es-modules/masters/indicators/vwap.src.js +1 -1
  201. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  202. package/es-modules/masters/indicators/wma.src.js +1 -1
  203. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  204. package/es-modules/masters/modules/accessibility.src.js +1 -1
  205. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  206. package/es-modules/masters/modules/annotations.src.js +1 -1
  207. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  208. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  209. package/es-modules/masters/modules/boost.src.js +1 -1
  210. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  211. package/es-modules/masters/modules/bullet.src.js +1 -1
  212. package/es-modules/masters/modules/coloraxis.src.js +6 -2
  213. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  214. package/es-modules/masters/modules/cylinder.src.js +1 -1
  215. package/es-modules/masters/modules/data.src.js +8 -1
  216. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  217. package/es-modules/masters/modules/debugger.src.js +1 -1
  218. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  219. package/es-modules/masters/modules/dotplot.src.js +1 -1
  220. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  221. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  222. package/es-modules/masters/modules/drilldown.src.js +1 -1
  223. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  224. package/es-modules/masters/modules/export-data.src.js +1 -1
  225. package/es-modules/masters/modules/exporting.src.js +10 -2
  226. package/es-modules/masters/modules/full-screen.src.js +1 -1
  227. package/es-modules/masters/modules/funnel.src.js +1 -1
  228. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  229. package/es-modules/masters/modules/gantt.src.js +9 -4
  230. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  231. package/es-modules/masters/modules/heatmap.src.js +6 -2
  232. package/es-modules/masters/modules/heikinashi.src.js +14 -0
  233. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  234. package/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
  235. package/es-modules/masters/modules/item-series.src.js +1 -1
  236. package/es-modules/masters/modules/lollipop.src.js +1 -1
  237. package/es-modules/masters/modules/map.src.js +10 -6
  238. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  239. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  240. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  241. package/es-modules/masters/modules/offline-exporting.src.js +8 -2
  242. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  243. package/es-modules/masters/modules/oldie.src.js +1 -1
  244. package/es-modules/masters/modules/organization.src.js +1 -1
  245. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  246. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  247. package/es-modules/masters/modules/pareto.src.js +1 -1
  248. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  249. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  250. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  251. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  252. package/es-modules/masters/modules/sankey.src.js +1 -1
  253. package/es-modules/masters/modules/series-label.src.js +1 -1
  254. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  255. package/es-modules/masters/modules/sonification.src.js +1 -1
  256. package/es-modules/masters/modules/static-scale.src.js +1 -1
  257. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  258. package/es-modules/masters/modules/stock.src.js +3 -2
  259. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  260. package/es-modules/masters/modules/sunburst.src.js +1 -1
  261. package/es-modules/masters/modules/tilemap.src.js +1 -1
  262. package/es-modules/masters/modules/timeline.src.js +1 -1
  263. package/es-modules/masters/modules/treegrid.src.js +1 -1
  264. package/es-modules/masters/modules/treemap.src.js +1 -1
  265. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  266. package/es-modules/masters/modules/variwide.src.js +1 -1
  267. package/es-modules/masters/modules/vector.src.js +1 -1
  268. package/es-modules/masters/modules/venn.src.js +1 -1
  269. package/es-modules/masters/modules/windbarb.src.js +1 -1
  270. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  271. package/es-modules/masters/modules/xrange.src.js +1 -1
  272. package/es-modules/masters/themes/avocado.src.js +5 -2
  273. package/es-modules/masters/themes/dark-blue.src.js +5 -2
  274. package/es-modules/masters/themes/dark-green.src.js +5 -2
  275. package/es-modules/masters/themes/dark-unica.src.js +5 -2
  276. package/es-modules/masters/themes/gray.src.js +5 -2
  277. package/es-modules/masters/themes/grid-light.src.js +5 -2
  278. package/es-modules/masters/themes/grid.src.js +5 -2
  279. package/es-modules/masters/themes/high-contrast-dark.src.js +5 -2
  280. package/es-modules/masters/themes/high-contrast-light.src.js +5 -2
  281. package/es-modules/masters/themes/sand-signika.src.js +5 -2
  282. package/es-modules/masters/themes/skies.src.js +5 -2
  283. package/es-modules/masters/themes/sunset.src.js +5 -2
  284. package/gfx/stock-icons/annotations-hidden.svg +1 -1
  285. package/gfx/stock-icons/annotations-visible.svg +2 -2
  286. package/gfx/stock-icons/arrow-bottom.svg +1 -1
  287. package/gfx/stock-icons/arrow-left.svg +1 -1
  288. package/gfx/stock-icons/arrow-line.svg +1 -1
  289. package/gfx/stock-icons/arrow-ray.svg +1 -1
  290. package/gfx/stock-icons/arrow-right.svg +1 -1
  291. package/gfx/stock-icons/arrow-segment.svg +1 -2
  292. package/gfx/stock-icons/circle.svg +1 -1
  293. package/gfx/stock-icons/close.svg +2 -2
  294. package/gfx/stock-icons/crooked-3.svg +1 -1
  295. package/gfx/stock-icons/crooked-5.svg +1 -1
  296. package/gfx/stock-icons/current-price-hide.svg +3 -3
  297. package/gfx/stock-icons/current-price-show.svg +2 -2
  298. package/gfx/stock-icons/destroy.svg +1 -1
  299. package/gfx/stock-icons/drawing.svg +18 -0
  300. package/gfx/stock-icons/edit.svg +1 -1
  301. package/gfx/stock-icons/elliott-3.svg +1 -1
  302. package/gfx/stock-icons/elliott-5.svg +1 -1
  303. package/gfx/stock-icons/ellipse.svg +11 -0
  304. package/gfx/stock-icons/fibonacci-timezone.svg +16 -0
  305. package/gfx/stock-icons/fibonacci.svg +1 -1
  306. package/gfx/stock-icons/flag-basic.svg +1 -1
  307. package/gfx/stock-icons/flag-diamond.svg +2 -2
  308. package/gfx/stock-icons/flag-elipse.svg +1 -1
  309. package/gfx/stock-icons/flag-trapeze.svg +2 -2
  310. package/gfx/stock-icons/fullscreen.svg +4 -4
  311. package/gfx/stock-icons/horizontal-line.svg +1 -1
  312. package/gfx/stock-icons/indicators.svg +3 -3
  313. package/gfx/stock-icons/label.svg +4 -4
  314. package/gfx/stock-icons/line.svg +1 -1
  315. package/gfx/stock-icons/linear.svg +11 -0
  316. package/gfx/stock-icons/logarithmic.svg +1 -0
  317. package/gfx/stock-icons/measure-x.svg +2 -2
  318. package/gfx/stock-icons/measure-xy.svg +1 -1
  319. package/gfx/stock-icons/measure-y.svg +1 -1
  320. package/gfx/stock-icons/panning.svg +17 -0
  321. package/gfx/stock-icons/parallel-channel.svg +1 -1
  322. package/gfx/stock-icons/pitchfork.svg +1 -1
  323. package/gfx/stock-icons/ray.svg +1 -1
  324. package/gfx/stock-icons/rectangle.svg +1 -1
  325. package/gfx/stock-icons/remove-annotations.svg +2 -2
  326. package/gfx/stock-icons/save-chart.svg +3 -3
  327. package/gfx/stock-icons/segment.svg +1 -1
  328. package/gfx/stock-icons/separator.svg +1 -1
  329. package/gfx/stock-icons/series-candlestick.svg +1 -1
  330. package/gfx/stock-icons/series-heikin-ashi.svg +1 -0
  331. package/gfx/stock-icons/series-hlc.svg +1 -0
  332. package/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
  333. package/gfx/stock-icons/series-line.svg +1 -1
  334. package/gfx/stock-icons/series-ohlc.svg +4 -4
  335. package/gfx/stock-icons/time-cycles.svg +35 -0
  336. package/gfx/stock-icons/vertical-arrow.svg +1 -1
  337. package/gfx/stock-icons/vertical-counter.svg +1 -1
  338. package/gfx/stock-icons/vertical-double-arrow.svg +1 -1
  339. package/gfx/stock-icons/vertical-label.svg +3 -3
  340. package/gfx/stock-icons/vertical-line.svg +1 -1
  341. package/gfx/stock-icons/zoom-x.svg +2 -2
  342. package/gfx/stock-icons/zoom-xy.svg +2 -2
  343. package/gfx/stock-icons/zoom-y.svg +2 -2
  344. package/highcharts-3d.js +24 -24
  345. package/highcharts-3d.js.map +1 -1
  346. package/highcharts-3d.src.js +6 -3
  347. package/highcharts-gantt.js +800 -792
  348. package/highcharts-gantt.js.map +1 -1
  349. package/highcharts-gantt.src.js +16535 -15918
  350. package/highcharts-more.d.ts +73 -1
  351. package/highcharts-more.js +193 -192
  352. package/highcharts-more.js.map +1 -1
  353. package/highcharts-more.src.d.ts +73 -1
  354. package/highcharts-more.src.js +8044 -7839
  355. package/highcharts.d.ts +3850 -177
  356. package/highcharts.js +589 -581
  357. package/highcharts.js.map +1 -1
  358. package/highcharts.src.d.ts +3850 -177
  359. package/highcharts.src.js +16635 -16060
  360. package/highmaps.js +708 -698
  361. package/highmaps.js.map +1 -1
  362. package/highmaps.src.js +17419 -16521
  363. package/highstock.js +782 -769
  364. package/highstock.js.map +1 -1
  365. package/highstock.src.js +28867 -27975
  366. package/indicators/acceleration-bands.js +9 -9
  367. package/indicators/acceleration-bands.js.map +1 -1
  368. package/indicators/acceleration-bands.src.js +7 -1
  369. package/indicators/accumulation-distribution.js +1 -1
  370. package/indicators/accumulation-distribution.src.js +1 -1
  371. package/indicators/ao.js +1 -1
  372. package/indicators/ao.src.js +1 -1
  373. package/indicators/apo.js +1 -1
  374. package/indicators/apo.src.js +1 -1
  375. package/indicators/aroon-oscillator.js +9 -9
  376. package/indicators/aroon-oscillator.js.map +1 -1
  377. package/indicators/aroon-oscillator.src.js +7 -1
  378. package/indicators/aroon.js +9 -9
  379. package/indicators/aroon.js.map +1 -1
  380. package/indicators/aroon.src.js +7 -1
  381. package/indicators/atr.js +1 -1
  382. package/indicators/atr.src.js +1 -1
  383. package/indicators/bollinger-bands.js +9 -9
  384. package/indicators/bollinger-bands.js.map +1 -1
  385. package/indicators/bollinger-bands.src.js +7 -1
  386. package/indicators/cci.js +1 -1
  387. package/indicators/cci.src.js +1 -1
  388. package/indicators/chaikin.js +1 -1
  389. package/indicators/chaikin.src.js +1 -1
  390. package/indicators/cmf.js +1 -1
  391. package/indicators/cmf.src.js +1 -1
  392. package/indicators/cmo.js +1 -1
  393. package/indicators/cmo.src.js +1 -1
  394. package/indicators/dema.js +1 -1
  395. package/indicators/dema.src.js +1 -1
  396. package/indicators/disparity-index.js +1 -1
  397. package/indicators/disparity-index.src.js +1 -1
  398. package/indicators/dmi.js +11 -11
  399. package/indicators/dmi.js.map +1 -1
  400. package/indicators/dmi.src.js +7 -1
  401. package/indicators/dpo.js +1 -1
  402. package/indicators/dpo.src.js +1 -1
  403. package/indicators/ema.js +1 -1
  404. package/indicators/ema.src.js +1 -1
  405. package/indicators/ichimoku-kinko-hyo.js +1 -1
  406. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  407. package/indicators/indicators-all.js +203 -200
  408. package/indicators/indicators-all.js.map +1 -1
  409. package/indicators/indicators-all.src.js +206 -104
  410. package/indicators/indicators.js +12 -11
  411. package/indicators/indicators.js.map +1 -1
  412. package/indicators/indicators.src.js +108 -90
  413. package/indicators/keltner-channels.js +9 -9
  414. package/indicators/keltner-channels.js.map +1 -1
  415. package/indicators/keltner-channels.src.js +7 -1
  416. package/indicators/klinger.js +13 -13
  417. package/indicators/klinger.js.map +1 -1
  418. package/indicators/klinger.src.js +7 -1
  419. package/indicators/macd.js +1 -1
  420. package/indicators/macd.src.js +1 -1
  421. package/indicators/mfi.js +1 -1
  422. package/indicators/mfi.src.js +1 -1
  423. package/indicators/momentum.js +1 -1
  424. package/indicators/momentum.src.js +1 -1
  425. package/indicators/natr.js +1 -1
  426. package/indicators/natr.src.js +1 -1
  427. package/indicators/obv.js +1 -1
  428. package/indicators/obv.src.js +1 -1
  429. package/indicators/pivot-points.js +1 -1
  430. package/indicators/pivot-points.src.js +1 -1
  431. package/indicators/ppo.js +1 -1
  432. package/indicators/ppo.src.js +1 -1
  433. package/indicators/price-channel.js +9 -9
  434. package/indicators/price-channel.js.map +1 -1
  435. package/indicators/price-channel.src.js +7 -1
  436. package/indicators/price-envelopes.js +1 -1
  437. package/indicators/price-envelopes.src.js +1 -1
  438. package/indicators/psar.js +1 -1
  439. package/indicators/psar.src.js +1 -1
  440. package/indicators/regressions.js +1 -1
  441. package/indicators/regressions.src.js +1 -1
  442. package/indicators/roc.js +1 -1
  443. package/indicators/roc.src.js +1 -1
  444. package/indicators/rsi.js +1 -1
  445. package/indicators/rsi.src.js +1 -1
  446. package/indicators/slow-stochastic.js +1 -1
  447. package/indicators/slow-stochastic.src.js +1 -1
  448. package/indicators/stochastic.js +10 -10
  449. package/indicators/stochastic.js.map +1 -1
  450. package/indicators/stochastic.src.js +7 -1
  451. package/indicators/supertrend.js +10 -10
  452. package/indicators/supertrend.js.map +1 -1
  453. package/indicators/supertrend.src.js +23 -10
  454. package/indicators/tema.js +1 -1
  455. package/indicators/tema.src.js +1 -1
  456. package/indicators/trendline.js +1 -1
  457. package/indicators/trendline.src.js +1 -1
  458. package/indicators/trix.js +1 -1
  459. package/indicators/trix.src.js +1 -1
  460. package/indicators/volume-by-price.js +17 -15
  461. package/indicators/volume-by-price.js.map +1 -1
  462. package/indicators/volume-by-price.src.js +71 -6
  463. package/indicators/vwap.js +1 -1
  464. package/indicators/vwap.src.js +1 -1
  465. package/indicators/williams-r.js +1 -1
  466. package/indicators/williams-r.src.js +1 -1
  467. package/indicators/wma.js +1 -1
  468. package/indicators/wma.src.js +1 -1
  469. package/indicators/zigzag.js +1 -1
  470. package/indicators/zigzag.src.js +1 -1
  471. package/modules/accessibility.js +203 -202
  472. package/modules/accessibility.js.map +1 -1
  473. package/modules/accessibility.src.js +89 -49
  474. package/modules/annotations-advanced.js +164 -163
  475. package/modules/annotations-advanced.js.map +1 -1
  476. package/modules/annotations-advanced.src.js +162 -87
  477. package/modules/annotations.js +111 -111
  478. package/modules/annotations.js.map +1 -1
  479. package/modules/annotations.src.js +162 -87
  480. package/modules/arrow-symbols.js +1 -1
  481. package/modules/arrow-symbols.src.js +1 -1
  482. package/modules/boost-canvas.js +2 -2
  483. package/modules/boost-canvas.js.map +1 -1
  484. package/modules/boost-canvas.src.js +2 -2
  485. package/modules/boost.js +52 -52
  486. package/modules/boost.js.map +1 -1
  487. package/modules/boost.src.js +15 -7
  488. package/modules/broken-axis.js +13 -13
  489. package/modules/broken-axis.js.map +1 -1
  490. package/modules/broken-axis.src.js +34 -15
  491. package/modules/bullet.js +1 -1
  492. package/modules/bullet.src.js +1 -1
  493. package/modules/coloraxis.js +24 -22
  494. package/modules/coloraxis.js.map +1 -1
  495. package/modules/coloraxis.src.js +954 -774
  496. package/modules/current-date-indicator.js +2 -2
  497. package/modules/current-date-indicator.js.map +1 -1
  498. package/modules/current-date-indicator.src.js +2 -2
  499. package/modules/cylinder.js +1 -1
  500. package/modules/cylinder.src.js +1 -1
  501. package/modules/data.js +33 -32
  502. package/modules/data.js.map +1 -1
  503. package/modules/data.src.js +182 -134
  504. package/modules/datagrouping.d.ts +5 -0
  505. package/modules/datagrouping.js +20 -20
  506. package/modules/datagrouping.js.map +1 -1
  507. package/modules/datagrouping.src.d.ts +5 -0
  508. package/modules/datagrouping.src.js +270 -228
  509. package/modules/debugger.js +3 -3
  510. package/modules/debugger.js.map +1 -1
  511. package/modules/debugger.src.js +3 -3
  512. package/modules/dependency-wheel.js +1 -1
  513. package/modules/dependency-wheel.src.js +1 -1
  514. package/modules/dotplot.js +1 -1
  515. package/modules/dotplot.src.js +1 -1
  516. package/modules/drag-panes.js +1 -1
  517. package/modules/drag-panes.src.js +1 -1
  518. package/modules/draggable-points.js +34 -34
  519. package/modules/draggable-points.js.map +1 -1
  520. package/modules/draggable-points.src.js +14 -5
  521. package/modules/drilldown.d.ts +27 -0
  522. package/modules/drilldown.js +18 -18
  523. package/modules/drilldown.js.map +1 -1
  524. package/modules/drilldown.src.d.ts +27 -0
  525. package/modules/drilldown.src.js +42 -16
  526. package/modules/dumbbell.js +1 -1
  527. package/modules/dumbbell.src.js +1 -1
  528. package/modules/export-data.js +20 -20
  529. package/modules/export-data.js.map +1 -1
  530. package/modules/export-data.src.js +8 -5
  531. package/modules/exporting.d.ts +29 -0
  532. package/modules/exporting.js +38 -35
  533. package/modules/exporting.js.map +1 -1
  534. package/modules/exporting.src.d.ts +29 -0
  535. package/modules/exporting.src.js +1937 -1614
  536. package/modules/full-screen.js +2 -2
  537. package/modules/full-screen.js.map +1 -1
  538. package/modules/full-screen.src.js +8 -6
  539. package/modules/funnel.js +1 -1
  540. package/modules/funnel.src.js +1 -1
  541. package/modules/funnel3d.js +1 -1
  542. package/modules/funnel3d.src.js +1 -1
  543. package/modules/gantt.js +218 -217
  544. package/modules/gantt.js.map +1 -1
  545. package/modules/gantt.src.js +74 -32
  546. package/modules/grid-axis.js +23 -22
  547. package/modules/grid-axis.js.map +1 -1
  548. package/modules/grid-axis.src.js +9 -4
  549. package/modules/heatmap.js +39 -37
  550. package/modules/heatmap.js.map +1 -1
  551. package/modules/heatmap.src.js +963 -779
  552. package/modules/heikinashi.js +17 -0
  553. package/modules/heikinashi.js.map +1 -0
  554. package/modules/heikinashi.src.js +394 -0
  555. package/modules/histogram-bellcurve.js +1 -1
  556. package/modules/histogram-bellcurve.src.js +1 -1
  557. package/modules/hollowcandlestick.js +18 -0
  558. package/modules/hollowcandlestick.js.map +1 -0
  559. package/modules/hollowcandlestick.src.js +504 -0
  560. package/modules/item-series.js +1 -1
  561. package/modules/item-series.src.js +1 -1
  562. package/modules/lollipop.js +1 -1
  563. package/modules/lollipop.src.js +1 -1
  564. package/modules/map.d.ts +9 -0
  565. package/modules/map.js +122 -119
  566. package/modules/map.js.map +1 -1
  567. package/modules/map.src.d.ts +9 -0
  568. package/modules/map.src.js +1655 -1332
  569. package/modules/marker-clusters.js +1 -1
  570. package/modules/marker-clusters.src.js +1 -1
  571. package/modules/networkgraph.js +1 -1
  572. package/modules/networkgraph.src.js +1 -1
  573. package/modules/no-data-to-display.js +3 -3
  574. package/modules/no-data-to-display.js.map +1 -1
  575. package/modules/no-data-to-display.src.js +2 -2
  576. package/modules/offline-exporting.js +18 -16
  577. package/modules/offline-exporting.js.map +1 -1
  578. package/modules/offline-exporting.src.js +623 -562
  579. package/modules/oldie-polyfills.js +1 -1
  580. package/modules/oldie-polyfills.src.js +1 -1
  581. package/modules/oldie.js +2 -2
  582. package/modules/oldie.src.js +2 -2
  583. package/modules/organization.js +1 -1
  584. package/modules/organization.src.js +1 -1
  585. package/modules/overlapping-datalabels.js +1 -1
  586. package/modules/overlapping-datalabels.src.js +1 -1
  587. package/modules/parallel-coordinates.js +1 -1
  588. package/modules/parallel-coordinates.src.js +1 -1
  589. package/modules/pareto.js +1 -1
  590. package/modules/pareto.src.js +1 -1
  591. package/modules/pathfinder.js +1 -1
  592. package/modules/pathfinder.src.js +1 -1
  593. package/modules/pattern-fill.js +14 -14
  594. package/modules/pattern-fill.js.map +1 -1
  595. package/modules/pattern-fill.src.js +24 -12
  596. package/modules/price-indicator.js +1 -1
  597. package/modules/price-indicator.src.js +1 -1
  598. package/modules/pyramid3d.js +1 -1
  599. package/modules/pyramid3d.src.js +1 -1
  600. package/modules/sankey.js +28 -28
  601. package/modules/sankey.js.map +1 -1
  602. package/modules/sankey.src.js +11 -11
  603. package/modules/series-label.js +1 -1
  604. package/modules/series-label.src.js +1 -1
  605. package/modules/solid-gauge.js +2 -2
  606. package/modules/solid-gauge.js.map +1 -1
  607. package/modules/solid-gauge.src.js +3 -3
  608. package/modules/sonification.js +1 -1
  609. package/modules/sonification.src.js +1 -1
  610. package/modules/static-scale.js +1 -1
  611. package/modules/static-scale.src.js +1 -1
  612. package/modules/stock-tools.js +159 -157
  613. package/modules/stock-tools.js.map +1 -1
  614. package/modules/stock-tools.src.js +253 -123
  615. package/modules/stock.d.ts +5 -0
  616. package/modules/stock.js +196 -191
  617. package/modules/stock.js.map +1 -1
  618. package/modules/stock.src.d.ts +5 -0
  619. package/modules/stock.src.js +7749 -7432
  620. package/modules/streamgraph.js +1 -1
  621. package/modules/streamgraph.src.js +1 -1
  622. package/modules/sunburst.js +5 -5
  623. package/modules/sunburst.js.map +1 -1
  624. package/modules/sunburst.src.js +6 -19
  625. package/modules/tilemap.js +1 -1
  626. package/modules/tilemap.src.js +1 -1
  627. package/modules/timeline.js +18 -17
  628. package/modules/timeline.js.map +1 -1
  629. package/modules/timeline.src.js +21 -24
  630. package/modules/treegrid.js +57 -57
  631. package/modules/treegrid.js.map +1 -1
  632. package/modules/treegrid.src.js +43 -19
  633. package/modules/treemap.js +5 -5
  634. package/modules/treemap.js.map +1 -1
  635. package/modules/treemap.src.js +5 -5
  636. package/modules/variable-pie.js +1 -1
  637. package/modules/variable-pie.src.js +1 -1
  638. package/modules/variwide.js +1 -1
  639. package/modules/variwide.src.js +1 -1
  640. package/modules/vector.js +1 -1
  641. package/modules/vector.src.js +1 -1
  642. package/modules/venn.js +31 -30
  643. package/modules/venn.js.map +1 -1
  644. package/modules/venn.src.js +508 -424
  645. package/modules/windbarb.js +1 -1
  646. package/modules/windbarb.src.js +1 -1
  647. package/modules/wordcloud.js +4 -4
  648. package/modules/wordcloud.js.map +1 -1
  649. package/modules/wordcloud.src.js +2 -1
  650. package/modules/xrange.js +17 -17
  651. package/modules/xrange.js.map +1 -1
  652. package/modules/xrange.src.js +7 -4
  653. package/package.json +1 -1
  654. package/themes/avocado.d.ts +6 -1
  655. package/themes/avocado.js +3 -3
  656. package/themes/avocado.js.map +1 -1
  657. package/themes/avocado.src.d.ts +6 -1
  658. package/themes/avocado.src.js +53 -22
  659. package/themes/dark-blue.d.ts +6 -1
  660. package/themes/dark-blue.js +3 -3
  661. package/themes/dark-blue.js.map +1 -1
  662. package/themes/dark-blue.src.d.ts +6 -1
  663. package/themes/dark-blue.src.js +231 -205
  664. package/themes/dark-green.d.ts +6 -1
  665. package/themes/dark-green.js +4 -4
  666. package/themes/dark-green.js.map +1 -1
  667. package/themes/dark-green.src.d.ts +6 -1
  668. package/themes/dark-green.src.js +236 -205
  669. package/themes/dark-unica.d.ts +6 -1
  670. package/themes/dark-unica.js +7 -7
  671. package/themes/dark-unica.js.map +1 -1
  672. package/themes/dark-unica.src.d.ts +6 -1
  673. package/themes/dark-unica.src.js +206 -174
  674. package/themes/gray.d.ts +6 -1
  675. package/themes/gray.js +3 -3
  676. package/themes/gray.js.map +1 -1
  677. package/themes/gray.src.d.ts +6 -1
  678. package/themes/gray.src.js +233 -207
  679. package/themes/grid-light.d.ts +6 -1
  680. package/themes/grid-light.js +4 -4
  681. package/themes/grid-light.js.map +1 -1
  682. package/themes/grid-light.src.d.ts +6 -1
  683. package/themes/grid-light.src.js +88 -57
  684. package/themes/grid.d.ts +6 -1
  685. package/themes/grid.js +3 -3
  686. package/themes/grid.js.map +1 -1
  687. package/themes/grid.src.d.ts +6 -1
  688. package/themes/grid.src.js +114 -83
  689. package/themes/high-contrast-dark.js +5 -4
  690. package/themes/high-contrast-dark.js.map +1 -1
  691. package/themes/high-contrast-dark.src.js +197 -166
  692. package/themes/high-contrast-light.js +3 -3
  693. package/themes/high-contrast-light.js.map +1 -1
  694. package/themes/high-contrast-light.src.js +54 -23
  695. package/themes/sand-signika.d.ts +6 -1
  696. package/themes/sand-signika.js +5 -5
  697. package/themes/sand-signika.js.map +1 -1
  698. package/themes/sand-signika.src.d.ts +6 -1
  699. package/themes/sand-signika.src.js +119 -88
  700. package/themes/skies.d.ts +6 -1
  701. package/themes/skies.js +5 -5
  702. package/themes/skies.js.map +1 -1
  703. package/themes/skies.src.d.ts +6 -1
  704. package/themes/skies.src.js +107 -76
  705. package/themes/sunset.d.ts +6 -1
  706. package/themes/sunset.js +3 -3
  707. package/themes/sunset.js.map +1 -1
  708. package/themes/sunset.src.d.ts +6 -1
  709. package/themes/sunset.src.js +52 -21
  710. package/es-modules/Core/Axis/ColorAxis.js +0 -1164
  711. package/es-modules/Core/Axis/HiddenAxis.js +0 -46
  712. package/es-modules/Core/Axis/PlotLineOrBand.js +0 -1051
  713. package/es-modules/Core/Series/DataLabels.js +0 -1173
  714. package/es-modules/Extensions/Exporting.js +0 -2024
  715. package/es-modules/Extensions/OfflineExporting.js +0 -621
  716. package/es-modules/Mixins/Geometry.js +0 -56
  717. package/es-modules/Mixins/GeometryCircles.js +0 -320
  718. package/es-modules/Series/Bubble/BubbleLegend.js +0 -893
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v9.1.1 (2021-06-04)
2
+ * @license Highcharts JS v9.2.2 (2021-08-24)
3
3
  *
4
4
  * Data module
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
  }
30
30
  }
31
- _registerModule(_modules, 'Extensions/Ajax.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
31
+ _registerModule(_modules, 'Core/HttpUtilities.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (G, U) {
32
32
  /* *
33
33
  *
34
34
  * (c) 2010-2021 Christer Vasseng, Torstein Honsi
@@ -38,40 +38,11 @@
38
38
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
39
39
  *
40
40
  * */
41
- var merge = U.merge,
41
+ var doc = G.doc;
42
+ var createElement = U.createElement,
43
+ discardElement = U.discardElement,
44
+ merge = U.merge,
42
45
  objectEach = U.objectEach;
43
- /**
44
- * @interface Highcharts.AjaxSettingsObject
45
- */ /**
46
- * The payload to send.
47
- *
48
- * @name Highcharts.AjaxSettingsObject#data
49
- * @type {string|Highcharts.Dictionary<any>}
50
- */ /**
51
- * The data type expected.
52
- * @name Highcharts.AjaxSettingsObject#dataType
53
- * @type {"json"|"xml"|"text"|"octet"}
54
- */ /**
55
- * Function to call on error.
56
- * @name Highcharts.AjaxSettingsObject#error
57
- * @type {Function}
58
- */ /**
59
- * The headers; keyed on header name.
60
- * @name Highcharts.AjaxSettingsObject#headers
61
- * @type {Highcharts.Dictionary<string>}
62
- */ /**
63
- * Function to call on success.
64
- * @name Highcharts.AjaxSettingsObject#success
65
- * @type {Function}
66
- */ /**
67
- * The HTTP method to use. For example GET or POST.
68
- * @name Highcharts.AjaxSettingsObject#type
69
- * @type {string}
70
- */ /**
71
- * The URL to call.
72
- * @name Highcharts.AjaxSettingsObject#url
73
- * @type {string}
74
- */
75
46
  /**
76
47
  * Perform an Ajax call.
77
48
  *
@@ -83,7 +54,7 @@
83
54
  * @return {false|undefined}
84
55
  * Returns false, if error occured.
85
56
  */
86
- H.ajax = function (attr) {
57
+ function ajax(attr) {
87
58
  var options = merge(true, {
88
59
  url: false,
89
60
  type: 'get',
@@ -151,7 +122,7 @@
151
122
  // empty
152
123
  }
153
124
  r.send(options.data || true);
154
- };
125
+ }
155
126
  /**
156
127
  * Get a JSON resource over XHR, also supporting CORS without preflight.
157
128
  *
@@ -161,10 +132,9 @@
161
132
  * @param {Function} success
162
133
  * The success callback. For error handling, use the `Highcharts.ajax`
163
134
  * function instead.
164
- * @return {void}
165
135
  */
166
- H.getJSON = function (url, success) {
167
- H.ajax({
136
+ function getJSON(url, success) {
137
+ exports.ajax({
168
138
  url: url,
169
139
  success: success,
170
140
  dataType: 'json',
@@ -174,15 +144,94 @@
174
144
  'Content-Type': 'text/plain'
175
145
  }
176
146
  });
177
- };
147
+ }
148
+ /**
149
+ * The post utility
150
+ *
151
+ * @private
152
+ * @function Highcharts.post
153
+ *
154
+ * @param {string} url
155
+ * Post URL
156
+ *
157
+ * @param {object} data
158
+ * Post data
159
+ *
160
+ * @param {Highcharts.Dictionary<string>} [formAttributes]
161
+ * Additional attributes for the post request
162
+ */
163
+ function post(url, data, formAttributes) {
164
+ // create the form
165
+ var form = createElement('form',
166
+ merge({
167
+ method: 'post',
168
+ action: url,
169
+ enctype: 'multipart/form-data'
170
+ },
171
+ formAttributes), {
172
+ display: 'none'
173
+ },
174
+ doc.body);
175
+ // add the data
176
+ objectEach(data, function (val, name) {
177
+ createElement('input', {
178
+ type: 'hidden',
179
+ name: name,
180
+ value: val
181
+ }, null, form);
182
+ });
183
+ // submit
184
+ form.submit();
185
+ // clean up
186
+ discardElement(form);
187
+ }
188
+ /* *
189
+ *
190
+ * Default Export
191
+ *
192
+ * */
178
193
  var exports = {
179
- ajax: H.ajax,
180
- getJSON: H.getJSON
194
+ ajax: ajax,
195
+ getJSON: getJSON,
196
+ post: post
181
197
  };
198
+ /**
199
+ * @interface Highcharts.AjaxSettingsObject
200
+ */ /**
201
+ * The payload to send.
202
+ *
203
+ * @name Highcharts.AjaxSettingsObject#data
204
+ * @type {string|Highcharts.Dictionary<any>}
205
+ */ /**
206
+ * The data type expected.
207
+ * @name Highcharts.AjaxSettingsObject#dataType
208
+ * @type {"json"|"xml"|"text"|"octet"}
209
+ */ /**
210
+ * Function to call on error.
211
+ * @name Highcharts.AjaxSettingsObject#error
212
+ * @type {Function}
213
+ */ /**
214
+ * The headers; keyed on header name.
215
+ * @name Highcharts.AjaxSettingsObject#headers
216
+ * @type {Highcharts.Dictionary<string>}
217
+ */ /**
218
+ * Function to call on success.
219
+ * @name Highcharts.AjaxSettingsObject#success
220
+ * @type {Function}
221
+ */ /**
222
+ * The HTTP method to use. For example GET or POST.
223
+ * @name Highcharts.AjaxSettingsObject#type
224
+ * @type {string}
225
+ */ /**
226
+ * The URL to call.
227
+ * @name Highcharts.AjaxSettingsObject#url
228
+ * @type {string}
229
+ */
230
+ (''); // keeps doclets above in JS file
182
231
 
183
232
  return exports;
184
233
  });
185
- _registerModule(_modules, 'Extensions/Data.js', [_modules['Extensions/Ajax.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Ajax, Chart, H, Point, SeriesRegistry, U) {
234
+ _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) {
186
235
  /* *
187
236
  *
188
237
  * Data module
@@ -194,8 +243,8 @@
194
243
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
195
244
  *
196
245
  * */
197
- var ajax = Ajax.ajax;
198
- var doc = H.doc;
246
+ var doc = G.doc;
247
+ var ajax = HU.ajax;
199
248
  var seriesTypes = SeriesRegistry.seriesTypes;
200
249
  var addEvent = U.addEvent,
201
250
  defined = U.defined,
@@ -430,8 +479,26 @@
430
479
  * @apioption data.firstRowAsNames
431
480
  */
432
481
  /**
433
- * The key for a Google Spreadsheet to load. See [general information
434
- * on GS](https://developers.google.com/gdata/samples/spreadsheet_sample).
482
+ * The Google Spreadsheet API key required for access generated at [API Services
483
+ * / Credentials](https://console.cloud.google.com/apis/credentials). See a
484
+ * comprehensive tutorial for setting up the key at the
485
+ * [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
486
+ * book website.
487
+ *
488
+ * @sample {highcharts} highcharts/data/google-spreadsheet/
489
+ * Load a Google Spreadsheet
490
+ *
491
+ * @type {string}
492
+ * @since 9.2.2
493
+ * @apioption data.googleAPIKey
494
+ */
495
+ /**
496
+ * The key or `spreadsheetId` value for a Google Spreadsheet to load. See
497
+ * [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
498
+ * for how to find the `spreadsheetId`.
499
+ *
500
+ * In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
501
+ * must also be given.
435
502
  *
436
503
  * @sample {highcharts} highcharts/data/google-spreadsheet/
437
504
  * Load a Google Spreadsheet
@@ -441,13 +508,31 @@
441
508
  * @apioption data.googleSpreadsheetKey
442
509
  */
443
510
  /**
444
- * The Google Spreadsheet worksheet to use in combination with
445
- * [googleSpreadsheetKey](#data.googleSpreadsheetKey). The available id's from
446
- * your sheet can be read from `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
511
+ * The Google Spreadsheet `range` to use in combination with
512
+ * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
513
+ * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
514
+ * for details.
515
+ *
516
+ * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
517
+ * `endRow`.
518
+ *
519
+ * @example
520
+ * googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
521
+ * googleSpreadsheetRange: 'A:Z' // Load columns A to Z
447
522
  *
448
523
  * @sample {highcharts} highcharts/data/google-spreadsheet/
449
524
  * Load a Google Spreadsheet
450
525
  *
526
+ * @type {string|undefined}
527
+ * @since 9.2.2
528
+ * @apioption data.googleSpreadsheetRange
529
+ */
530
+ /**
531
+ * No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
532
+ * the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
533
+ * specific sheet.
534
+ *
535
+ * @deprecated
451
536
  * @type {string}
452
537
  * @since 4.0
453
538
  * @apioption data.googleSpreadsheetWorksheet
@@ -1515,29 +1600,40 @@
1515
1600
  var data = this,
1516
1601
  options = this.options,
1517
1602
  googleSpreadsheetKey = options.googleSpreadsheetKey,
1518
- chart = this.chart,
1519
- // use sheet 1 as the default rather than od6
1520
- // as the latter sometimes cause issues (it looks like it can
1521
- // be renamed in some cases, ref. a fogbugz case).
1522
- worksheet = options.googleSpreadsheetWorksheet || 1,
1523
- startRow = options.startRow || 0,
1524
- endRow = options.endRow || Number.MAX_VALUE,
1525
- startColumn = options.startColumn || 0,
1526
- endColumn = options.endColumn || Number.MAX_VALUE,
1527
- refreshRate = (options.dataRefreshRate || 2) * 1000;
1528
- if (refreshRate < 4000) {
1529
- refreshRate = 4000;
1530
- }
1603
+ chart = this.chart,
1604
+ refreshRate = Math.max((options.dataRefreshRate || 2) * 1000, 4000);
1605
+ /**
1606
+ * Form the `values` field after range settings, unless the
1607
+ * googleSpreadsheetRange option is set.
1608
+ */
1609
+ var getRange = function () {
1610
+ if (options.googleSpreadsheetRange) {
1611
+ return options.googleSpreadsheetRange;
1612
+ }
1613
+ var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
1614
+ var start = (alphabet.charAt(options.startColumn || 0) || 'A') +
1615
+ ((options.startRow || 0) + 1);
1616
+ var end = alphabet.charAt(pick(options.endColumn, -1)) || 'ZZ';
1617
+ if (defined(options.endRow)) {
1618
+ end += options.endRow + 1;
1619
+ }
1620
+ return start + ":" + end;
1621
+ };
1531
1622
  /**
1532
1623
  * Fetch the actual spreadsheet using XMLHttpRequest.
1533
1624
  * @private
1534
1625
  */
1535
1626
  function fetchSheet(fn) {
1536
1627
  var url = [
1537
- 'https://spreadsheets.google.com/feeds/cells',
1628
+ 'https://sheets.googleapis.com/v4/spreadsheets',
1538
1629
  googleSpreadsheetKey,
1539
- worksheet,
1540
- 'public/values?alt=json'
1630
+ 'values',
1631
+ getRange(),
1632
+ '?alt=json&' +
1633
+ 'majorDimension=COLUMNS&' +
1634
+ 'valueRenderOption=UNFORMATTED_VALUE&' +
1635
+ 'dateTimeRenderOption=FORMATTED_STRING&' +
1636
+ 'key=' + options.googleAPIKey
1541
1637
  ].join('/');
1542
1638
  ajax({
1543
1639
  url: url,
@@ -1547,7 +1643,7 @@
1547
1643
  if (options.enablePolling) {
1548
1644
  setTimeout(function () {
1549
1645
  fetchSheet(fn);
1550
- }, (options.dataRefreshRate || 2) * 1000);
1646
+ }, refreshRate);
1551
1647
  }
1552
1648
  },
1553
1649
  error: function (xhr, text) {
@@ -1559,70 +1655,17 @@
1559
1655
  delete options.googleSpreadsheetKey;
1560
1656
  fetchSheet(function (json) {
1561
1657
  // Prepare the data from the spreadsheat
1562
- var columns = [],
1563
- cells = json.feed.entry,
1564
- cell,
1565
- cellCount = (cells || []).length,
1566
- colCount = 0,
1567
- rowCount = 0,
1568
- val,
1569
- gr,
1570
- gc,
1571
- cellInner,
1572
- i;
1573
- if (!cells || cells.length === 0) {
1658
+ var columns = json.values;
1659
+ if (!columns || columns.length === 0) {
1574
1660
  return false;
1575
1661
  }
1576
- // First, find the total number of columns and rows that
1577
- // are actually filled with data
1578
- for (i = 0; i < cellCount; i++) {
1579
- cell = cells[i];
1580
- colCount = Math.max(colCount, cell.gs$cell.col);
1581
- rowCount = Math.max(rowCount, cell.gs$cell.row);
1582
- }
1583
- // Set up arrays containing the column data
1584
- for (i = 0; i < colCount; i++) {
1585
- if (i >= startColumn && i <= endColumn) {
1586
- // Create new columns with the length of either
1587
- // end-start or rowCount
1588
- columns[i - startColumn] = [];
1589
- }
1590
- }
1591
- // Loop over the cells and assign the value to the right
1592
- // place in the column arrays
1593
- for (i = 0; i < cellCount; i++) {
1594
- cell = cells[i];
1595
- gr = cell.gs$cell.row - 1; // rows start at 1
1596
- gc = cell.gs$cell.col - 1; // columns start at 1
1597
- // If both row and col falls inside start and end set the
1598
- // transposed cell value in the newly created columns
1599
- if (gc >= startColumn && gc <= endColumn &&
1600
- gr >= startRow && gr <= endRow) {
1601
- cellInner = cell.gs$cell || cell.content;
1602
- val = null;
1603
- if (cellInner.numericValue) {
1604
- if (cellInner.$t.indexOf('/') >= 0 ||
1605
- cellInner.$t.indexOf('-') >= 0) {
1606
- // This is a date - for future reference.
1607
- val = cellInner.$t;
1608
- }
1609
- else if (cellInner.$t.indexOf('%') > 0) {
1610
- // Percentage
1611
- val = parseFloat(cellInner.numericValue) * 100;
1612
- }
1613
- else {
1614
- val = parseFloat(cellInner.numericValue);
1615
- }
1616
- }
1617
- else if (cellInner.$t && cellInner.$t.length) {
1618
- val = cellInner.$t;
1619
- }
1620
- columns[gc - startColumn][gr - startRow] = val;
1621
- }
1622
- }
1662
+ // Find the maximum row count in order to extend shorter columns
1663
+ var rowCount = columns.reduce(function (rowCount,
1664
+ column) { return Math.max(rowCount,
1665
+ column.length); }, 0);
1623
1666
  // Insert null for empty spreadsheet cells (#5298)
1624
1667
  columns.forEach(function (column) {
1625
- for (i = 0; i < column.length; i++) {
1668
+ for (var i = 0; i < rowCount; i++) {
1626
1669
  if (typeof column[i] === 'undefined') {
1627
1670
  column[i] = null;
1628
1671
  }
@@ -2149,8 +2192,8 @@
2149
2192
  *
2150
2193
  * @return {Highcharts.Data}
2151
2194
  */
2152
- H.data = function (dataOptions, chartOptions, chart) {
2153
- return new H.Data(dataOptions, chartOptions, chart);
2195
+ G.data = function (dataOptions, chartOptions, chart) {
2196
+ return new G.Data(dataOptions, chartOptions, chart);
2154
2197
  };
2155
2198
  // Extend Chart.init so that the Chart constructor accepts a new configuration
2156
2199
  // option group, data.
@@ -2166,7 +2209,7 @@
2166
2209
  * @name Highcharts.Chart#data
2167
2210
  * @type {Highcharts.Data|undefined}
2168
2211
  */
2169
- chart.data = new H.Data(extend(userOptions.data, {
2212
+ chart.data = new G.Data(extend(userOptions.data, {
2170
2213
  afterComplete: function (dataOptions) {
2171
2214
  var i,
2172
2215
  series;
@@ -2364,12 +2407,17 @@
2364
2407
  };
2365
2408
  return SeriesBuilder;
2366
2409
  }());
2367
- H.Data = Data;
2410
+ G.Data = Data;
2368
2411
 
2369
- return H.Data;
2412
+ return G.Data;
2370
2413
  });
2371
- _registerModule(_modules, 'masters/modules/data.src.js', [], function () {
2414
+ _registerModule(_modules, 'masters/modules/data.src.js', [_modules['Core/Globals.js'], _modules['Core/HttpUtilities.js']], function (Highcharts, HttpUtilities) {
2372
2415
 
2416
+ var G = Highcharts;
2417
+ G.HttpUtilities = HttpUtilities;
2418
+ G.ajax = HttpUtilities.ajax;
2419
+ G.getJSON = HttpUtilities.getJSON;
2420
+ G.post = HttpUtilities.post;
2373
2421
 
2374
2422
  });
2375
2423
  }));
@@ -14,6 +14,11 @@ import * as _Highcharts from "../highcharts";
14
14
  export function factory(highcharts: typeof Highcharts): void;
15
15
  declare module "../highcharts" {
16
16
  interface Axis {
17
+ /**
18
+ * (Highstock) Check the groupPixelWidth and apply the grouping if
19
+ * needed. Fired only after processing the data.
20
+ */
21
+ applyGrouping(): void;
17
22
  /**
18
23
  * (Highstock) Highcharts Stock only. Force data grouping on all the
19
24
  * axis' series.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highstock JS v9.1.1 (2021-06-03)
2
+ Highstock JS v9.2.2 (2021-08-24)
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(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(x){c(x);c.Highcharts=x;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function x(c,x,t,D){c.hasOwnProperty(x)||(c[x]=D.apply(null,t))}c=c?c._modules:{};x(c,"Extensions/DataGrouping.js",[c["Core/Axis/Axis.js"],c["Core/Axis/DateTimeAxis.js"],c["Core/FormatUtilities.js"],
11
- c["Core/Globals.js"],c["Core/Series/Point.js"],c["Core/Series/Series.js"],c["Core/Tooltip.js"],c["Core/DefaultOptions.js"],c["Core/Utilities.js"]],function(c,x,t,D,L,F,M,N,g){var K=t.format,y=F.prototype;t=g.addEvent;var O=g.arrayMax,P=g.arrayMin,Q=g.correctFloat,E=g.defined,H=g.error,R=g.extend,q=g.isNumber,G=g.merge,A=g.pick;"";var n=D.approximations={sum:function(a){var b=a.length;if(!b&&a.hasNulls)var d=null;else if(b)for(d=0;b--;)d+=a[b];return d},average:function(a){var b=a.length;a=n.sum(a);
12
- q(a)&&b&&(a=Q(a/b));return a},averages:function(){var a=[];[].forEach.call(arguments,function(b){a.push(n.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},ohlc:function(a,b,d,h){a=n.open(a);b=n.high(b);d=n.low(d);h=n.close(h);if(q(a)||q(b)||
13
- q(d)||q(h))return[a,b,d,h]},range:function(a,b){a=n.low(a);b=n.high(b);if(q(a)||q(b))return[a,b];if(null===a&&null===b)return null}};g=function(a,b,d,h){var f=this,c=f.data,e=f.options&&f.options.data,k=[],g=[],B=[],r=a.length,l=!!b,m=[],u=f.pointArrayMap,x=u&&u.length,v=["x"].concat(u||["y"]),t=this.options.dataGrouping&&this.options.dataGrouping.groupAll,y=0,C=0,w;h="function"===typeof h?h:n[h]?n[h]:n[f.getDGApproximation&&f.getDGApproximation()||"average"];x?u.forEach(function(){m.push([])}):m.push([]);
14
- var D=x||1;for(w=0;w<=r&&!(a[w]>=d[0]);w++);for(w;w<=r;w++){for(;"undefined"!==typeof d[y+1]&&a[w]>=d[y+1]||w===r;){var p=d[y];f.dataGroupInfo={start:t?C:f.cropStart+C,length:m[0].length};var A=h.apply(f,m);f.pointClass&&!E(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=G(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+C])),v.forEach(function(a){delete f.dataGroupInfo.options[a]}));"undefined"!==typeof A&&(k.push(p),g.push(A),B.push(f.dataGroupInfo));C=w;for(p=
15
- 0;p<D;p++)m[p].length=0,m[p].hasNulls=!1;y+=1;if(w===r)break}if(w===r)break;if(u){p=f.options.dataGrouping&&f.options.dataGrouping.groupAll?w:f.cropStart+w;A=c&&c[p]||f.pointClass.prototype.applyOptions.apply({series:f},[e[p]]);var z=void 0;for(p=0;p<x;p++)z=A[u[p]],q(z)?m[p].push(z):null===z&&(m[p].hasNulls=!0)}else p=l?b[w]:null,q(p)?m[0].push(p):null===p&&(m[0].hasNulls=!0)}return{groupedXData:k,groupedYData:g,groupMap:B}};var I={approximations:n,groupData:g},S=y.processData,T=y.generatePoints,
16
- z={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","%Y","-%Y"]}},J={line:{},spline:{},area:{},areaspline:{},
17
- arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},U=D.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]];y.getDGApproximation=function(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("column")?"sum":"average"};y.groupData=g;y.processData=
18
- function(){var a=this.chart,b=this.options.dataGrouping,d=!1!==this.allowDG&&b&&A(b.enabled,a.options.isStock),h=this.visible||!a.options.chart.ignoreHiddenSeries,f,c=this.currentDataGrouping,e=!1;this.forceCrop=d;this.groupPixelWidth=null;this.hasProcessed=!0;d&&!this.requireSorting&&(this.requireSorting=e=!0);d=!1===S.apply(this,arguments)||!d;e&&(this.requireSorting=!1);if(!d){this.destroyGroupedData();var k=b.groupAll?this.xData:this.processedXData,g=b.groupAll?this.yData:this.processedYData;
19
- d=a.plotSizeX;e=this.xAxis;var B=e.options.ordinal,r=this.groupPixelWidth=e.getGroupPixelWidth&&e.getGroupPixelWidth();if(r&&k&&k.length){this.isDirty=f=!0;this.points=null;var l=e.getExtremes();var m=l.min;l=l.max;B=B&&e.ordinal&&e.ordinal.getGroupIntervalFactor(m,l,this)||1;d=e.getTimeTicks(x.AdditionsClass.prototype.normalizeTimeTickInterval(r*(l-m)/d*B,b.units||U),Math.min(m,k[0]),Math.max(l,k[k.length-1]),e.options.startOfWeek,k,this.closestPointRange);r=y.groupData.apply(this,[k,g,d,b.approximation]);
20
- k=r.groupedXData;g=r.groupedYData;B=0;b&&b.smoothed&&k.length&&(b.firstAnchor="firstPoint",b.anchor="middle",b.lastAnchor="lastPoint",H(32,!1,a,{"dataGrouping.smoothed":"use dataGrouping.anchor"}));a=k;var u=this.options.dataGrouping;m=this.currentDataGrouping&&this.currentDataGrouping.gapSize;if(u&&this.xData&&m&&this.groupMap){var n=a.length-1;var v=u.anchor;var t=A(u.firstAnchor,v);u=A(u.lastAnchor,v);if(v&&"start"!==v){var z=m*{middle:.5,end:1}[v];for(v=a.length-1;v--&&0<v;)a[v]+=z}if(t&&"start"!==
21
- t&&this.xData[0]>=a[0]){v=this.groupMap[0].start;z=this.groupMap[0].length;var C=void 0;q(v)&&q(z)&&(C=v+(z-1));a[0]={middle:a[0]+.5*m,end:a[0]+m,firstPoint:this.xData[0],lastPoint:C&&this.xData[C]}[t]}u&&"start"!==u&&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]}[u])}for(l=1;l<d.length;l++)d.info.segmentStarts&&-1!==d.info.segmentStarts.indexOf(l)||(B=Math.max(d[l]-d[l-1],B));l=
22
- d.info;l.gapSize=B;this.closestPointRange=d.info.totalRange;this.groupMap=r.groupMap;if(h){h=k;if(E(h[0])&&q(e.min)&&q(e.dataMin)&&h[0]<e.min){if(!E(e.options.min)&&e.min<=e.dataMin||e.min===e.dataMin)e.min=Math.min(h[0],e.min);e.dataMin=Math.min(h[0],e.dataMin)}if(E(h[h.length-1])&&q(e.max)&&q(e.dataMax)&&h[h.length-1]>e.max){if(!E(e.options.max)&&q(e.dataMax)&&e.max>=e.dataMax||e.max===e.dataMax)e.max=Math.max(h[h.length-1],e.max);e.dataMax=Math.max(h[h.length-1],e.dataMax)}}b.groupAll&&(b=this.cropData(k,
23
- g,e.min,e.max,1),k=b.xData,g=b.yData,this.cropStart=b.start);this.processedXData=k;this.processedYData=g}else this.groupMap=null;this.hasGroupedData=f;this.currentDataGrouping=l;this.preventGraphAnimation=(c&&c.totalRange)!==(l&&l.totalRange)}};y.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(a,b){a&&(this.groupedData[b]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)};y.generatePoints=function(){T.apply(this);this.destroyGroupedData();this.groupedData=
24
- this.hasGroupedData?this.points:null};t(L,"update",function(){if(this.dataGroup)return H(24,!1,this.series.chart),!1});t(M,"headerFormatter",function(a){var b=this.chart,d=b.time,h=a.labelConfig,f=h.series,c=f.tooltipOptions,e=f.options.dataGrouping,k=c.xDateFormat,g=f.xAxis,n=c[(a.isFooter?"footer":"header")+"Format"];if(g&&"datetime"===g.options.type&&e&&q(h.key)){var r=f.currentDataGrouping;e=e.dateTimeLabelFormats||z.dateTimeLabelFormats;if(r)if(c=e[r.unitName],1===r.count)k=c[0];else{k=c[1];
25
- var l=c[2]}else!k&&e&&(k=this.getXDateFormat(h,c,g));k=d.dateFormat(k,h.key);l&&(k+=d.dateFormat(l,h.key+r.totalRange-1));f.chart.styledMode&&(n=this.styledModeFormat(n));a.text=K(n,{point:R(h.point,{key:k}),series:f},b);a.preventDefault()}});t(F,"destroy",y.destroyGroupedData);t(F,"afterSetOptions",function(a){a=a.options;var b=this.type,d=this.chart.options.plotOptions,c=N.defaultOptions.plotOptions[b].dataGrouping,f=this.useCommonDataGrouping&&z;if(J[b]||f){c||(c=G(z,J[b]));var g=this.chart.rangeSelector;
26
- a.dataGrouping=G(f,c,d.series&&d.series.dataGrouping,d[b].dataGrouping,this.userOptions.dataGrouping,!a.isInternal&&g&&q(g.selected)&&g.buttonOptions[g.selected].dataGrouping)}});t(c,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});c.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,d,c=0,f=!1,g;for(d=b;d--;)(g=a[d].options.dataGrouping)&&(c=Math.max(c,A(g.groupPixelWidth,z.groupPixelWidth)));for(d=b;d--;)(g=a[d].options.dataGrouping)&&a[d].hasProcessed&&
27
- (b=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||b>this.chart.plotSizeX/c||b&&g.forced)&&(f=!0);return f?c:0};c.prototype.setDataGrouping=function(a,b){var d;b=A(b,!0);a||(a={forced:!1,units:null});if(this instanceof c)for(d=this.series.length;d--;)this.series[d].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()};D.dataGrouping=I;"";return I});x(c,"masters/modules/datagrouping.src.js",
28
- [c["Extensions/DataGrouping.js"]],function(c){return c})});
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})});
29
29
  //# sourceMappingURL=datagrouping.js.map