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
@@ -19,6 +19,7 @@ var __extends = (this && this.__extends) || (function () {
19
19
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
20
  };
21
21
  })();
22
+ import Chart from '../../../Core/Chart/Chart.js';
22
23
  import RequiredIndicatorMixin from '../../../Mixins/IndicatorRequired.js';
23
24
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
24
25
  var LineSeries = SeriesRegistry.seriesTypes.line;
@@ -132,90 +133,106 @@ var SMAIndicator = /** @class */ (function (_super) {
132
133
  return error(generateMessage(indicator.type, requiredIndicators.needed));
133
134
  }
134
135
  _super.prototype.init.call(indicator, chart, options);
135
- // Make sure we find series which is a base for an indicator
136
- chart.linkSeries();
137
- indicator.dataEventsToUnbind = [];
138
- /**
139
- * @private
140
- * @return {void}
141
- */
142
- function recalculateValues() {
143
- var oldData = indicator.points || [], oldDataLength = (indicator.xData || []).length, processedData = (indicator.getValues(indicator.linkedParent, indicator.options.params) || {
144
- values: [],
145
- xData: [],
146
- yData: []
147
- }), croppedDataValues = [], overwriteData = true, oldFirstPointIndex, oldLastPointIndex, croppedData, min, max, i;
148
- // We need to update points to reflect changes in all,
149
- // x and y's, values. However, do it only for non-grouped
150
- // data - grouping does it for us (#8572)
151
- if (oldDataLength &&
152
- !indicator.hasGroupedData &&
153
- indicator.visible &&
154
- indicator.points) {
155
- // When data is cropped update only avaliable points (#9493)
156
- if (indicator.cropped) {
157
- if (indicator.xAxis) {
158
- min = indicator.xAxis.min;
159
- max = indicator.xAxis.max;
160
- }
161
- croppedData = indicator.cropData(processedData.xData, processedData.yData, min, max);
162
- for (i = 0; i < croppedData.xData.length; i++) {
163
- // (#10774)
164
- croppedDataValues.push([
165
- croppedData.xData[i]
166
- ].concat(splat(croppedData.yData[i])));
167
- }
168
- oldFirstPointIndex = processedData.xData.indexOf(indicator.xData[0]);
169
- oldLastPointIndex = processedData.xData.indexOf(indicator.xData[indicator.xData.length - 1]);
170
- // Check if indicator points should be shifted (#8572)
171
- if (oldFirstPointIndex === -1 &&
172
- oldLastPointIndex === processedData.xData.length - 2) {
173
- if (croppedDataValues[0][0] === oldData[0].x) {
174
- croppedDataValues.shift();
175
- }
136
+ // Only after series are linked indicator can be processed.
137
+ var linkedSeriesUnbiner = addEvent(Chart, 'afterLinkSeries', function () {
138
+ var hasEvents = !!indicator.dataEventsToUnbind.length;
139
+ if (indicator.linkedParent) {
140
+ if (!hasEvents) {
141
+ indicator.dataEventsToUnbind.push(addEvent(indicator.bindTo.series ?
142
+ indicator.linkedParent :
143
+ indicator.linkedParent.xAxis, indicator.bindTo.eventName, function () {
144
+ indicator.recalculateValues();
145
+ }));
146
+ }
147
+ if (indicator.calculateOn === 'init') {
148
+ if (!indicator.processedYData) {
149
+ indicator.recalculateValues();
176
150
  }
177
- indicator.updateData(croppedDataValues);
178
- // Omit addPoint() and removePoint() cases
179
151
  }
180
- else if (processedData.xData.length !== oldDataLength - 1 &&
181
- processedData.xData.length !== oldDataLength + 1) {
182
- overwriteData = false;
183
- indicator.updateData(processedData.values);
152
+ else {
153
+ if (!hasEvents) {
154
+ var unbinder_1 = addEvent(indicator.chart, indicator.calculateOn, function () {
155
+ indicator.recalculateValues();
156
+ // Call this just once, on init
157
+ unbinder_1();
158
+ });
159
+ }
184
160
  }
185
161
  }
186
- if (overwriteData) {
187
- indicator.xData = processedData.xData;
188
- indicator.yData = processedData.yData;
189
- indicator.options.data = processedData.values;
162
+ else {
163
+ return error('Series ' +
164
+ indicator.options.linkedTo +
165
+ ' not found! Check `linkedTo`.', false, chart);
166
+ }
167
+ }, {
168
+ order: 0
169
+ });
170
+ // Make sure we find series which is a base for an indicator
171
+ // chart.linkSeries();
172
+ indicator.dataEventsToUnbind = [];
173
+ indicator.eventsToUnbind.push(linkedSeriesUnbiner);
174
+ };
175
+ /**
176
+ * @private
177
+ * @return {void}
178
+ */
179
+ SMAIndicator.prototype.recalculateValues = function () {
180
+ var indicator = this, oldData = indicator.points || [], oldDataLength = (indicator.xData || []).length, processedData = (indicator.getValues(indicator.linkedParent, indicator.options.params) || {
181
+ values: [],
182
+ xData: [],
183
+ yData: []
184
+ }), croppedDataValues = [], overwriteData = true, oldFirstPointIndex, oldLastPointIndex, croppedData, min, max, i;
185
+ // We need to update points to reflect changes in all,
186
+ // x and y's, values. However, do it only for non-grouped
187
+ // data - grouping does it for us (#8572)
188
+ if (oldDataLength &&
189
+ !indicator.hasGroupedData &&
190
+ indicator.visible &&
191
+ indicator.points) {
192
+ // When data is cropped update only avaliable points (#9493)
193
+ if (indicator.cropped) {
194
+ if (indicator.xAxis) {
195
+ min = indicator.xAxis.min;
196
+ max = indicator.xAxis.max;
197
+ }
198
+ croppedData = indicator.cropData(processedData.xData, processedData.yData, min, max);
199
+ for (i = 0; i < croppedData.xData.length; i++) {
200
+ // (#10774)
201
+ croppedDataValues.push([
202
+ croppedData.xData[i]
203
+ ].concat(splat(croppedData.yData[i])));
204
+ }
205
+ oldFirstPointIndex = processedData.xData.indexOf(indicator.xData[0]);
206
+ oldLastPointIndex = processedData.xData.indexOf(indicator.xData[indicator.xData.length - 1]);
207
+ // Check if indicator points should be shifted (#8572)
208
+ if (oldFirstPointIndex === -1 &&
209
+ oldLastPointIndex === processedData.xData.length - 2) {
210
+ if (croppedDataValues[0][0] === oldData[0].x) {
211
+ croppedDataValues.shift();
212
+ }
213
+ }
214
+ indicator.updateData(croppedDataValues);
215
+ // Omit addPoint() and removePoint() cases
190
216
  }
191
- // Removal of processedXData property is required because on
192
- // first translate processedXData array is empty
193
- if (indicator.bindTo.series === false) {
194
- delete indicator.processedXData;
195
- indicator.isDirty = true;
196
- indicator.redraw();
217
+ else if (processedData.xData.length !== oldDataLength - 1 &&
218
+ processedData.xData.length !== oldDataLength + 1) {
219
+ overwriteData = false;
220
+ indicator.updateData(processedData.values);
197
221
  }
198
- indicator.isDirtyData = false;
199
- }
200
- if (!indicator.linkedParent) {
201
- return error('Series ' +
202
- indicator.options.linkedTo +
203
- ' not found! Check `linkedTo`.', false, chart);
204
222
  }
205
- indicator.dataEventsToUnbind.push(addEvent(indicator.bindTo.series ?
206
- indicator.linkedParent :
207
- indicator.linkedParent.xAxis, indicator.bindTo.eventName, recalculateValues));
208
- if (indicator.calculateOn === 'init') {
209
- recalculateValues();
223
+ if (overwriteData) {
224
+ indicator.xData = processedData.xData;
225
+ indicator.yData = processedData.yData;
226
+ indicator.options.data = processedData.values;
210
227
  }
211
- else {
212
- var unbinder_1 = addEvent(indicator.chart, indicator.calculateOn, function () {
213
- recalculateValues();
214
- // Call this just once, on init
215
- unbinder_1();
216
- });
228
+ // Removal of processedXData property is required because on
229
+ // first translate processedXData array is empty
230
+ if (indicator.bindTo.series === false) {
231
+ delete indicator.processedXData;
232
+ indicator.isDirty = true;
233
+ indicator.redraw();
217
234
  }
218
- // return indicator;
235
+ indicator.isDirtyData = false;
219
236
  };
220
237
  /**
221
238
  * @private
@@ -23,7 +23,8 @@ import palette from '../../../Core/Color/Palette.js';
23
23
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
24
24
  var _a = SeriesRegistry.seriesTypes, ATRIndicator = _a.atr, SMAIndicator = _a.sma;
25
25
  import U from '../../../Core/Utilities.js';
26
- var correctFloat = U.correctFloat, isArray = U.isArray, extend = U.extend, merge = U.merge, objectEach = U.objectEach;
26
+ import StockChart from '../../../Core/Chart/StockChart.js';
27
+ var addEvent = U.addEvent, correctFloat = U.correctFloat, isArray = U.isArray, extend = U.extend, merge = U.merge, objectEach = U.objectEach;
27
28
  /* eslint-disable require-jsdoc */
28
29
  // Utils:
29
30
  function createPointObj(mainSeries, index, close) {
@@ -71,13 +72,24 @@ var SupertrendIndicator = /** @class */ (function (_super) {
71
72
  SupertrendIndicator.prototype.init = function () {
72
73
  var options, parentOptions;
73
74
  SMAIndicator.prototype.init.apply(this, arguments);
74
- options = this.options;
75
- parentOptions = this.linkedParent.options;
76
- // Indicator cropThreshold has to be equal linked series one
77
- // reduced by period due to points comparison in drawGraph method
78
- // (#9787)
79
- options.cropThreshold = (parentOptions.cropThreshold -
80
- (options.params.period - 1));
75
+ var indicator = this;
76
+ // Only after series are linked add some additional logic/properties.
77
+ var unbinder = addEvent(StockChart, 'afterLinkSeries', function () {
78
+ // Protection for a case where the indicator is being updated,
79
+ // for a brief moment the indicator is deleted.
80
+ if (indicator.options) {
81
+ var options_1 = indicator.options;
82
+ parentOptions = indicator.linkedParent.options;
83
+ // Indicator cropThreshold has to be equal linked series one
84
+ // reduced by period due to points comparison in drawGraph
85
+ // (#9787)
86
+ options_1.cropThreshold = (parentOptions.cropThreshold -
87
+ (options_1.params.period - 1));
88
+ }
89
+ unbinder();
90
+ }, {
91
+ order: 1
92
+ });
81
93
  };
82
94
  SupertrendIndicator.prototype.drawGraph = function () {
83
95
  var indicator = this, indicOptions = indicator.options,
@@ -23,6 +23,7 @@ var __extends = (this && this.__extends) || (function () {
23
23
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
24
24
  };
25
25
  })();
26
+ import VBPPoint from './VBPPoint.js';
26
27
  import A from '../../../Core/Animation/AnimationUtilities.js';
27
28
  var animObject = A.animObject;
28
29
  import H from '../../../Core/Globals.js';
@@ -30,6 +31,7 @@ var noop = H.noop;
30
31
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
31
32
  var SMAIndicator = SeriesRegistry.seriesTypes.sma;
32
33
  import U from '../../../Core/Utilities.js';
34
+ import StockChart from '../../../Core/Chart/StockChart.js';
33
35
  var addEvent = U.addEvent, arrayMax = U.arrayMax, arrayMin = U.arrayMin, correctFloat = U.correctFloat, error = U.error, extend = U.extend, isArray = U.isArray, merge = U.merge;
34
36
  /* eslint-disable require-jsdoc */
35
37
  // Utils
@@ -79,10 +81,20 @@ var VBPIndicator = /** @class */ (function (_super) {
79
81
  VBPIndicator.prototype.init = function (chart) {
80
82
  var indicator = this, params, baseSeries, volumeSeries;
81
83
  H.seriesTypes.sma.prototype.init.apply(indicator, arguments);
82
- params = indicator.options.params;
83
- baseSeries = indicator.linkedParent;
84
- volumeSeries = chart.get(params.volumeSeriesID);
85
- indicator.addCustomEvents(baseSeries, volumeSeries);
84
+ // Only after series are linked add some additional logic/properties.
85
+ var unbinder = addEvent(StockChart, 'afterLinkSeries', function () {
86
+ // Protection for a case where the indicator is being updated,
87
+ // for a brief moment the indicator is deleted.
88
+ if (indicator.options) {
89
+ params = indicator.options.params;
90
+ baseSeries = indicator.linkedParent;
91
+ volumeSeries = chart.get(params.volumeSeriesID);
92
+ indicator.addCustomEvents(baseSeries, volumeSeries);
93
+ }
94
+ unbinder();
95
+ }, {
96
+ order: 1
97
+ });
86
98
  return indicator;
87
99
  };
88
100
  // Adds events related with removing series
@@ -500,6 +512,7 @@ extend(VBPIndicator.prototype, {
500
512
  eventName: 'afterSetExtremes'
501
513
  },
502
514
  calculateOn: 'render',
515
+ pointClass: VBPPoint,
503
516
  markerAttribs: noop,
504
517
  drawGraph: noop,
505
518
  getColumnMetrics: columnPrototype.getColumnMetrics,
@@ -106,6 +106,36 @@ bindingsUtils.addFlagFromForm = function (type) {
106
106
  });
107
107
  };
108
108
  };
109
+ bindingsUtils.indicatorsWithAxes = [
110
+ 'ad',
111
+ 'atr',
112
+ 'cci',
113
+ 'cmf',
114
+ 'disparityindex',
115
+ 'cmo',
116
+ 'dmi',
117
+ 'macd',
118
+ 'mfi',
119
+ 'roc',
120
+ 'rsi',
121
+ 'ao',
122
+ 'aroon',
123
+ 'aroonoscillator',
124
+ 'trix',
125
+ 'apo',
126
+ 'dpo',
127
+ 'ppo',
128
+ 'natr',
129
+ 'obv',
130
+ 'williamsr',
131
+ 'stochastic',
132
+ 'slowstochastic',
133
+ 'linearRegression',
134
+ 'linearRegressionSlope',
135
+ 'linearRegressionIntercept',
136
+ 'linearRegressionAngle',
137
+ 'klinger'
138
+ ];
109
139
  bindingsUtils.manageIndicators = function (data) {
110
140
  var navigation = this, chart = navigation.chart, seriesConfig = {
111
141
  linkedTo: data.linkedTo,
@@ -118,36 +148,7 @@ bindingsUtils.manageIndicators = function (data) {
118
148
  'obv',
119
149
  'vbp',
120
150
  'vwap'
121
- ], indicatorsWithAxes = [
122
- 'ad',
123
- 'atr',
124
- 'cci',
125
- 'cmf',
126
- 'disparityindex',
127
- 'cmo',
128
- 'dmi',
129
- 'macd',
130
- 'mfi',
131
- 'roc',
132
- 'rsi',
133
- 'ao',
134
- 'aroon',
135
- 'aroonoscillator',
136
- 'trix',
137
- 'apo',
138
- 'dpo',
139
- 'ppo',
140
- 'natr',
141
- 'obv',
142
- 'williamsr',
143
- 'stochastic',
144
- 'slowstochastic',
145
- 'linearRegression',
146
- 'linearRegressionSlope',
147
- 'linearRegressionIntercept',
148
- 'linearRegressionAngle',
149
- 'klinger'
150
- ], yAxis, parentSeries, defaultOptions, series;
151
+ ], indicatorsWithAxes = bindingsUtils.indicatorsWithAxes, yAxis, parentSeries, defaultOptions, series;
151
152
  if (data.actionType === 'edit') {
152
153
  navigation.fieldsToOptions(data.fields, seriesConfig);
153
154
  series = chart.get(data.seriesId);
@@ -240,12 +241,12 @@ bindingsUtils.manageIndicators = function (data) {
240
241
  * @return {void}
241
242
  */
242
243
  bindingsUtils.updateHeight = function (e, annotation) {
243
- var coordsY = this.utils.getAssignedAxis(this.chart.pointer.getCoordinates(e).yAxis);
244
- if (coordsY) {
244
+ var options = annotation.options.typeOptions, yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
245
+ if (yAxis && options.points) {
245
246
  annotation.update({
246
247
  typeOptions: {
247
- height: coordsY.value -
248
- annotation.options.typeOptions.points[1].y
248
+ height: yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']) -
249
+ (options.points[1].y || 0)
249
250
  }
250
251
  });
251
252
  }
@@ -334,12 +335,12 @@ bindingsUtils.isPriceIndicatorEnabled = function (series) {
334
335
  */
335
336
  bindingsUtils.updateNthPoint = function (startIndex) {
336
337
  return function (e, annotation) {
337
- var options = annotation.options.typeOptions, coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
338
- if (coordsX && coordsY) {
338
+ var options = annotation.options.typeOptions, xAxis = isNumber(options.xAxis) && this.chart.xAxis[options.xAxis], yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
339
+ if (xAxis && yAxis) {
339
340
  options.points.forEach(function (point, index) {
340
341
  if (index >= startIndex) {
341
- point.x = coordsX.value;
342
- point.y = coordsY.value;
342
+ point.x = xAxis.toValue(e[xAxis.horiz ? 'chartX' : 'chartY']);
343
+ point.y = yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']);
343
344
  }
344
345
  });
345
346
  annotation.update({
@@ -1698,6 +1699,44 @@ var stockToolsBindings = {
1698
1699
  fireEvent(this, 'deselectButton', { button: button });
1699
1700
  }
1700
1701
  },
1702
+ /**
1703
+ * Changes main series to `'heikinashi'` type.
1704
+ *
1705
+ * @type {Highcharts.NavigationBindingsOptionsObject}
1706
+ * @product highstock
1707
+ * @default {"className": "highcharts-series-type-heikinashi", "init": function() {}}
1708
+ */
1709
+ seriesTypeHeikinAshi: {
1710
+ /** @ignore-option */
1711
+ className: 'highcharts-series-type-heikinashi',
1712
+ // eslint-disable-next-line valid-jsdoc
1713
+ /** @ignore-option */
1714
+ init: function (button) {
1715
+ this.chart.series[0].update({
1716
+ type: 'heikinashi'
1717
+ });
1718
+ fireEvent(this, 'deselectButton', { button: button });
1719
+ }
1720
+ },
1721
+ /**
1722
+ * Changes main series to `'hollowcandlestick'` type.
1723
+ *
1724
+ * @type {Highcharts.NavigationBindingsOptionsObject}
1725
+ * @product highstock
1726
+ * @default {"className": "highcharts-series-type-hollowcandlestick", "init": function() {}}
1727
+ */
1728
+ seriesTypeHollowCandlestick: {
1729
+ /** @ignore-option */
1730
+ className: 'highcharts-series-type-hollowcandlestick',
1731
+ // eslint-disable-next-line valid-jsdoc
1732
+ /** @ignore-option */
1733
+ init: function (button) {
1734
+ this.chart.series[0].update({
1735
+ type: 'hollowcandlestick'
1736
+ });
1737
+ fireEvent(this, 'deselectButton', { button: button });
1738
+ }
1739
+ },
1701
1740
  /**
1702
1741
  * Displays chart in fullscreen.
1703
1742
  *
@@ -53,6 +53,8 @@ setOptions({
53
53
  typeOHLC: 'OHLC',
54
54
  typeLine: 'Line',
55
55
  typeCandlestick: 'Candlestick',
56
+ typeHollowCandlestick: 'Hollow Candlestick',
57
+ typeHeikinAshi: 'Heikin Ashi',
56
58
  // Basic shapes:
57
59
  circle: 'Circle',
58
60
  label: 'Label',
@@ -140,6 +142,7 @@ setOptions({
140
142
  // Indicators' params (#15170):
141
143
  index: 'Index',
142
144
  period: 'Period',
145
+ periods: 'Periods',
143
146
  standardDeviation: 'Standard deviation',
144
147
  periodTenkan: 'Tenkan period',
145
148
  periodSenkouSpanB: 'Senkou Span B period',
@@ -718,12 +721,15 @@ setOptions({
718
721
  * 'typeOHLC',
719
722
  * 'typeLine',
720
723
  * 'typeCandlestick'
724
+ * 'typeHollowCandlestick'
721
725
  * ]
722
726
  */
723
727
  items: [
724
728
  'typeOHLC',
725
729
  'typeLine',
726
- 'typeCandlestick'
730
+ 'typeCandlestick',
731
+ 'typeHollowCandlestick',
732
+ 'typeHeikinAshi'
727
733
  ],
728
734
  typeOHLC: {
729
735
  /**
@@ -748,6 +754,22 @@ setOptions({
748
754
  * @type {string}
749
755
  */
750
756
  symbol: 'series-candlestick.svg'
757
+ },
758
+ typeHeikinAshi: {
759
+ /**
760
+ * A predefined background symbol for the button.
761
+ *
762
+ * @type {string}
763
+ */
764
+ symbol: 'series-heikin-ashi.svg'
765
+ },
766
+ typeHollowCandlestick: {
767
+ /**
768
+ * A predefined background symbol for the button.
769
+ *
770
+ * @type {string}
771
+ */
772
+ symbol: 'series-hollow-candlestick.svg'
751
773
  }
752
774
  },
753
775
  fullScreen: {
@@ -1090,6 +1112,7 @@ var Toolbar = /** @class */ (function () {
1090
1112
  container.appendChild(wrapper);
1091
1113
  // Mimic event behaviour of being outside chart.container
1092
1114
  [
1115
+ 'mousedown',
1093
1116
  'mousemove',
1094
1117
  'click',
1095
1118
  'touchstart'
@@ -1184,7 +1207,7 @@ var Toolbar = /** @class */ (function () {
1184
1207
  *
1185
1208
  */
1186
1209
  Toolbar.prototype.switchSymbol = function (button, redraw) {
1187
- var buttonWrapper = button.parentNode, buttonWrapperClass = buttonWrapper.classList.value,
1210
+ var buttonWrapper = button.parentNode, buttonWrapperClass = buttonWrapper.className,
1188
1211
  // main button in first level og GUI
1189
1212
  mainNavButton = buttonWrapper.parentNode.parentNode;
1190
1213
  // if the button is disabled, don't do anything
@@ -1277,7 +1300,7 @@ var Toolbar = /** @class */ (function () {
1277
1300
  Toolbar.prototype.getIconsURL = function () {
1278
1301
  return this.chart.options.navigation.iconsURL ||
1279
1302
  this.options.iconsURL ||
1280
- 'https://code.highcharts.com/9.1.1/gfx/stock-icons/';
1303
+ 'https://code.highcharts.com/9.2.2/gfx/stock-icons/';
1281
1304
  };
1282
1305
  return Toolbar;
1283
1306
  }());
@@ -1322,6 +1345,8 @@ Toolbar.prototype.classMapping = {
1322
1345
  typeLine: PREFIX + 'series-type-line',
1323
1346
  typeOHLC: PREFIX + 'series-type-ohlc',
1324
1347
  typeCandlestick: PREFIX + 'series-type-candlestick',
1348
+ typeHollowCandlestick: PREFIX + 'series-type-hollowcandlestick',
1349
+ typeHeikinAshi: PREFIX + 'series-type-heikinashi',
1325
1350
  fullScreen: PREFIX + 'full-screen',
1326
1351
  toggleAnnotations: PREFIX + 'toggle-annotations',
1327
1352
  saveChart: PREFIX + 'save-chart',
@@ -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
  * @module highcharts/highcharts-3d
4
4
  * @requires highcharts
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts Gantt JS v9.1.1 (2021-06-04)
2
+ * @license Highcharts Gantt JS v9.2.2 (2021-08-24)
3
3
  * @module highcharts/highcharts-gantt
4
4
  *
5
5
  * (c) 2017-2021 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng
@@ -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
  * @module highcharts/highcharts-more
4
4
  * @requires highcharts
5
5
  *
@@ -8,17 +8,21 @@
8
8
  * License: www.highcharts.com/license
9
9
  */
10
10
  'use strict';
11
+ import Highcharts from '../Core/Globals.js';
12
+ var G = Highcharts;
11
13
  import '../Extensions/Pane.js';
12
- import '../Core/Axis/RadialAxis.js';
14
+ import RadialAxis from '../Core/Axis/RadialAxis.js';
15
+ RadialAxis.compose(G.Axis, G.Tick);
13
16
  import '../Series/AreaRange/AreaRangeSeries.js';
14
17
  import '../Series/AreaSplineRange/AreaSplineRangeSeries.js';
18
+ import '../Series/BoxPlot/BoxPlotSeries.js';
19
+ import BubbleSeries from '../Series/Bubble/BubbleSeries.js';
20
+ BubbleSeries.compose(G.Chart, G.Legend, G.Series);
15
21
  import '../Series/ColumnRange/ColumnRangeSeries.js';
16
22
  import '../Series/ColumnPyramid/ColumnPyramidSeries.js';
17
- import '../Series/Gauge/GaugeSeries.js';
18
- import '../Series/BoxPlot/BoxPlotSeries.js';
19
23
  import '../Series/ErrorBar/ErrorBarSeries.js';
20
- import '../Series/Waterfall/WaterfallSeries.js';
21
- import '../Series/Polygon/PolygonSeries.js';
22
- import '../Series/Bubble/BubbleSeries.js';
24
+ import '../Series/Gauge/GaugeSeries.js';
23
25
  import '../Series/PackedBubble/PackedBubbleSeries.js';
26
+ import '../Series/Polygon/PolygonSeries.js';
27
+ import '../Series/Waterfall/WaterfallSeries.js';
24
28
  import '../Extensions/Polar.js';