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
@@ -27,12 +27,17 @@ import Color from '../../Core/Color/Color.js';
27
27
  var color = Color.parse;
28
28
  import H from '../../Core/Globals.js';
29
29
  var hasTouch = H.hasTouch, noop = H.noop;
30
- import LegendSymbolMixin from '../../Mixins/LegendSymbol.js';
31
- import palette from '../../Core/Color/Palette.js';
30
+ import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
31
+ import Palette from '../../Core/Color/Palette.js';
32
32
  import Series from '../../Core/Series/Series.js';
33
33
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
34
34
  import U from '../../Core/Utilities.js';
35
35
  var clamp = U.clamp, css = U.css, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, merge = U.merge, pick = U.pick, objectEach = U.objectEach;
36
+ /* *
37
+ *
38
+ * Class
39
+ *
40
+ * */
36
41
  /**
37
42
  * The column series type.
38
43
  *
@@ -80,7 +85,8 @@ var ColumnSeries = /** @class */ (function (_super) {
80
85
  * Whether to initialize the animation or run it
81
86
  */
82
87
  ColumnSeries.prototype.animate = function (init) {
83
- var series = this, yAxis = this.yAxis, options = series.options, inverted = this.chart.inverted, attr = {}, translateProp = inverted ? 'translateX' : 'translateY', translateStart, translatedThreshold;
88
+ var series = this, yAxis = this.yAxis, options = series.options, inverted = this.chart.inverted, attr = {}, translateProp = inverted ? 'translateX' : 'translateY';
89
+ var translateStart, translatedThreshold;
84
90
  if (init) {
85
91
  attr.scaleY = 0.001;
86
92
  translatedThreshold = clamp(yAxis.toPixels(options.threshold), yAxis.pos, yAxis.pos + yAxis.len);
@@ -146,7 +152,8 @@ var ColumnSeries = /** @class */ (function (_super) {
146
152
  // Keep backward compatibility: reversed xAxis had reversed
147
153
  // stacks
148
154
  reverseStacks = (xAxis.reversed && !reversedStacks) ||
149
- (!xAxis.reversed && reversedStacks), stackKey, stackGroups = {}, columnCount = 0;
155
+ (!xAxis.reversed && reversedStacks), stackGroups = {};
156
+ var stackKey, columnCount = 0;
150
157
  // Get the total number of column type series. This is called on
151
158
  // every series. Consider moving this logic to a chart.orderStacks()
152
159
  // function and call it on init, addSeries and removeSeries
@@ -155,7 +162,8 @@ var ColumnSeries = /** @class */ (function (_super) {
155
162
  }
156
163
  else {
157
164
  series.chart.series.forEach(function (otherSeries) {
158
- var otherYAxis = otherSeries.yAxis, otherOptions = otherSeries.options, columnIndex;
165
+ var otherYAxis = otherSeries.yAxis, otherOptions = otherSeries.options;
166
+ var columnIndex;
159
167
  if (otherSeries.type === series.type &&
160
168
  (otherSeries.visible ||
161
169
  !series.chart.options.chart.ignoreHiddenSeries) &&
@@ -205,7 +213,8 @@ var ColumnSeries = /** @class */ (function (_super) {
205
213
  * @function Highcharts.seriesTypes.column#crispCol
206
214
  */
207
215
  ColumnSeries.prototype.crispCol = function (x, y, w, h) {
208
- var chart = this.chart, borderWidth = this.borderWidth, xCrisp = -(borderWidth % 2 ? 0.5 : 0), yCrisp = borderWidth % 2 ? 0.5 : 1, right, bottom, fromTop;
216
+ var chart = this.chart, borderWidth = this.borderWidth, xCrisp = -(borderWidth % 2 ? 0.5 : 0);
217
+ var right, yCrisp = borderWidth % 2 ? 0.5 : 1;
209
218
  if (chart.inverted && chart.renderer.isVML) {
210
219
  yCrisp += 1;
211
220
  }
@@ -217,8 +226,7 @@ var ColumnSeries = /** @class */ (function (_super) {
217
226
  w = right - x;
218
227
  }
219
228
  // Vertical
220
- bottom = Math.round(y + h) + yCrisp;
221
- fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
229
+ var bottom = Math.round(y + h) + yCrisp, fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
222
230
  y = Math.round(y) + yCrisp;
223
231
  h = bottom - y;
224
232
  // Top edges are exceptions
@@ -311,10 +319,10 @@ var ColumnSeries = /** @class */ (function (_super) {
311
319
  var series = this, chart = series.chart, options = series.options, dense = series.dense =
312
320
  series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth = pick(options.borderWidth, dense ? 0 : 1 // #3635
313
321
  ), xAxis = series.xAxis, yAxis = series.yAxis, threshold = options.threshold, translatedThreshold = series.translatedThreshold =
314
- yAxis.getThreshold(threshold), minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width,
322
+ yAxis.getThreshold(threshold), minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width, seriesXOffset = series.pointXOffset = metrics.offset, dataMin = series.dataMin, dataMax = series.dataMax;
315
323
  // postprocessed for border width
316
- seriesBarW = series.barW =
317
- Math.max(seriesPointWidth, 1 + 2 * borderWidth), seriesXOffset = series.pointXOffset = metrics.offset, dataMin = series.dataMin, dataMax = series.dataMax;
324
+ var seriesBarW = series.barW =
325
+ Math.max(seriesPointWidth, 1 + 2 * borderWidth);
318
326
  if (chart.inverted) {
319
327
  translatedThreshold -= 0.5; // #3355
320
328
  }
@@ -328,10 +336,11 @@ var ColumnSeries = /** @class */ (function (_super) {
328
336
  Series.prototype.translate.apply(series);
329
337
  // Record the new values
330
338
  series.points.forEach(function (point) {
331
- var yBottom = pick(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom), pointWidth = seriesPointWidth, plotX = point.plotX || 0,
339
+ var yBottom = pick(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotX = point.plotX || 0,
332
340
  // Don't draw too far outside plot area (#1303, #2241,
333
341
  // #4264)
334
- plotY = clamp(point.plotY, -safeDistance, yAxis.len + safeDistance), barX = plotX + seriesXOffset, barW = seriesBarW, barY = Math.min(plotY, yBottom), up, barH = Math.max(plotY, yBottom) - barY;
342
+ plotY = clamp(point.plotY, -safeDistance, yAxis.len + safeDistance);
343
+ var up, barY = Math.min(plotY, yBottom), barH = Math.max(plotY, yBottom) - barY, pointWidth = seriesPointWidth, barX = plotX + seriesXOffset, barW = seriesBarW;
335
344
  // Handle options.minPointLength
336
345
  if (minPointLength && Math.abs(barH) < minPointLength) {
337
346
  barH = minPointLength;
@@ -414,13 +423,14 @@ var ColumnSeries = /** @class */ (function (_super) {
414
423
  * @function Highcharts.seriesTypes.column#pointAttribs
415
424
  */
416
425
  ColumnSeries.prototype.pointAttribs = function (point, state) {
417
- var options = this.options, stateOptions, ret, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth', fill = (point && point.color) || this.color,
426
+ var options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
427
+ var stateOptions, zone, brightness, fill = (point && point.color) || this.color,
418
428
  // set to fill when borderColor null:
419
429
  stroke = ((point && point[strokeOption]) ||
420
430
  options[strokeOption] ||
421
- fill), strokeWidth = (point && point[strokeWidthOption]) ||
431
+ fill), dashstyle = (point && point.options.dashStyle) || options.dashStyle, strokeWidth = (point && point[strokeWidthOption]) ||
422
432
  options[strokeWidthOption] ||
423
- this[strokeWidthOption] || 0, dashstyle = (point && point.options.dashStyle) || options.dashStyle, opacity = pick(point && point.opacity, options.opacity, 1), zone, brightness;
433
+ this[strokeWidthOption] || 0, opacity = pick(point && point.opacity, options.opacity, 1);
424
434
  // Handle zone colors
425
435
  if (point && this.zones.length) {
426
436
  zone = point.getZone();
@@ -454,7 +464,7 @@ var ColumnSeries = /** @class */ (function (_super) {
454
464
  dashstyle = stateOptions.dashStyle || dashstyle;
455
465
  opacity = pick(stateOptions.opacity, opacity);
456
466
  }
457
- ret = {
467
+ var ret = {
458
468
  fill: fill,
459
469
  stroke: stroke,
460
470
  'stroke-width': strokeWidth,
@@ -474,10 +484,12 @@ var ColumnSeries = /** @class */ (function (_super) {
474
484
  * @function Highcharts.seriesTypes.column#drawPoints
475
485
  */
476
486
  ColumnSeries.prototype.drawPoints = function () {
477
- var series = this, chart = this.chart, options = series.options, renderer = chart.renderer, animationLimit = options.animationLimit || 250, shapeArgs;
487
+ var series = this, chart = this.chart, options = series.options, renderer = chart.renderer, animationLimit = options.animationLimit || 250;
488
+ var shapeArgs;
478
489
  // draw the columns
479
490
  series.points.forEach(function (point) {
480
- var plotY = point.plotY, graphic = point.graphic, hasGraphic = !!graphic, verb = graphic && chart.pointCount < animationLimit ?
491
+ var plotY = point.plotY;
492
+ var graphic = point.graphic, hasGraphic = !!graphic, verb = graphic && chart.pointCount < animationLimit ?
481
493
  'animate' : 'attr';
482
494
  if (isNumber(plotY) && point.y !== null) {
483
495
  shapeArgs = point.shapeArgs;
@@ -545,7 +557,8 @@ var ColumnSeries = /** @class */ (function (_super) {
545
557
  pointer.isDirectTouch = true;
546
558
  point.onMouseOver(e);
547
559
  }
548
- }, dataLabels;
560
+ };
561
+ var dataLabels;
549
562
  // Add reference to the point
550
563
  series.points.forEach(function (point) {
551
564
  dataLabels = (isArray(point.dataLabels) ?
@@ -891,7 +904,7 @@ var ColumnSeries = /** @class */ (function (_super) {
891
904
  * @default #cccccc
892
905
  * @product highcharts highstock gantt
893
906
  */
894
- color: palette.neutralColor20,
907
+ color: Palette.neutralColor20,
895
908
  /**
896
909
  * A specific border color for the selected point.
897
910
  *
@@ -899,7 +912,7 @@ var ColumnSeries = /** @class */ (function (_super) {
899
912
  * @default #000000
900
913
  * @product highcharts highstock gantt
901
914
  */
902
- borderColor: palette.neutralColor100
915
+ borderColor: Palette.neutralColor100
903
916
  }
904
917
  },
905
918
  dataLabels: {
@@ -966,7 +979,7 @@ var ColumnSeries = /** @class */ (function (_super) {
966
979
  *
967
980
  * @private
968
981
  */
969
- borderColor: palette.backgroundColor
982
+ borderColor: Palette.backgroundColor
970
983
  });
971
984
  return ColumnSeries;
972
985
  }(Series));
@@ -987,7 +1000,7 @@ extend(ColumnSeries.prototype, {
987
1000
  * @param {Highcharts.Series|Highcharts.Point} item
988
1001
  * The series (this) or point
989
1002
  */
990
- drawLegendSymbol: LegendSymbolMixin.drawRectangle,
1003
+ drawLegendSymbol: LegendSymbol.drawRectangle,
991
1004
  getSymbol: noop,
992
1005
  // use separate negative stacks, unlike area stacks where a negative
993
1006
  // point is substracted from previous (#1910)
@@ -997,7 +1010,7 @@ extend(ColumnSeries.prototype, {
997
1010
  SeriesRegistry.registerSeriesType('column', ColumnSeries);
998
1011
  /* *
999
1012
  *
1000
- * Export
1013
+ * Default Export
1001
1014
  *
1002
1015
  * */
1003
1016
  export default ColumnSeries;
@@ -1154,4 +1167,4 @@ export default ColumnSeries;
1154
1167
  * @product highcharts highstock
1155
1168
  * @apioption series.column.states.select
1156
1169
  */
1157
- ''; // includes above doclets in transpilat
1170
+ ''; // keeps doclets above in JS file
@@ -112,7 +112,8 @@ columnProto.translate3dShapes = function () {
112
112
  borderCrisp)) {
113
113
  // Set args to 0 if column is outside the chart.
114
114
  for (var key in shapeArgs_1) { // eslint-disable-line guard-for-in
115
- shapeArgs_1[key] = 0;
115
+ // #13840
116
+ shapeArgs_1[key] = key === 'y' ? -9999 : 0;
116
117
  }
117
118
  // #7103 outside3dPlot flag is set on Points which are
118
119
  // currently outside of plot.
@@ -189,7 +190,9 @@ wrap(columnProto, 'animate', function (proceed) {
189
190
  point.shapeArgs.y = point.shapey; // #2968
190
191
  // null value do not have a graphic
191
192
  if (point.graphic) {
192
- point.graphic.animate(point.shapeArgs, series_1.options.animation);
193
+ point.graphic[point.outside3dPlot ?
194
+ 'attr' :
195
+ 'animate'](point.shapeArgs, series_1.options.animation);
193
196
  }
194
197
  }
195
198
  });
@@ -26,12 +26,19 @@ import H from '../../Core/Globals.js';
26
26
  var noop = H.noop;
27
27
  import OnSeriesMixin from '../../Mixins/OnSeries.js';
28
28
  import palette from '../../Core/Color/Palette.js';
29
+ import R from '../../Core/Renderer/RendererUtilities.js';
30
+ var distribute = R.distribute;
29
31
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
30
32
  var Series = SeriesRegistry.series, ColumnSeries = SeriesRegistry.seriesTypes.column;
31
33
  import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
32
34
  import U from '../../Core/Utilities.js';
33
35
  var addEvent = U.addEvent, defined = U.defined, extend = U.extend, merge = U.merge, objectEach = U.objectEach, wrap = U.wrap;
34
36
  import './FlagsSymbols.js';
37
+ /* *
38
+ *
39
+ * Classes
40
+ *
41
+ * */
35
42
  /**
36
43
  * The Flags series.
37
44
  *
@@ -179,7 +186,7 @@ var FlagsSeries = /** @class */ (function (_super) {
179
186
  box.plotX = box.anchorX;
180
187
  boxes.push(box);
181
188
  });
182
- H.distribute(boxes, inverted ? yAxis.len : this.xAxis.len, 100);
189
+ distribute(boxes, inverted ? yAxis.len : this.xAxis.len, 100);
183
190
  points.forEach(function (point) {
184
191
  var box = point.graphic && boxesMap[point.plotX];
185
192
  if (box) {
@@ -153,12 +153,12 @@ var GanttSeries = /** @class */ (function (_super) {
153
153
  headerFormat: '<span style="font-size: 10px">{series.name}</span><br/>',
154
154
  pointFormat: null,
155
155
  pointFormatter: function () {
156
- var point = this, series = point.series, tooltip = series.chart.tooltip, xAxis = series.xAxis, formats = series.tooltipOptions.dateTimeLabelFormats, startOfWeek = xAxis.options.startOfWeek, ttOptions = series.tooltipOptions, format = ttOptions.xDateFormat, start, end, milestone = point.options.milestone, retVal = '<b>' + (point.name || point.yCategory) + '</b>';
156
+ var point = this, series = point.series, xAxis = series.xAxis, formats = series.tooltipOptions.dateTimeLabelFormats, startOfWeek = xAxis.options.startOfWeek, ttOptions = series.tooltipOptions, format = ttOptions.xDateFormat, start, end, milestone = point.options.milestone, retVal = '<b>' + (point.name || point.yCategory) + '</b>';
157
157
  if (ttOptions.pointFormat) {
158
158
  return point.tooltipFormatter(ttOptions.pointFormat);
159
159
  }
160
- if (!format) {
161
- format = splat(tooltip.getDateFormat(xAxis.closestPointRange, point.start, startOfWeek, formats))[0];
160
+ if (!format && isNumber(point.start)) {
161
+ format = series.chart.time.getDateFormat(xAxis.closestPointRange, point.start, startOfWeek, formats || {});
162
162
  }
163
163
  start = series.chart.time.dateFormat(format, point.start);
164
164
  end = series.chart.time.dateFormat(format, point.end);
@@ -25,7 +25,7 @@ import Color from '../../Core/Color/Color.js';
25
25
  import ColorMapMixin from '../../Mixins/ColorMapSeries.js';
26
26
  var colorMapSeriesMixin = ColorMapMixin.colorMapSeriesMixin;
27
27
  import HeatmapPoint from './HeatmapPoint.js';
28
- import LegendSymbolMixin from '../../Mixins/LegendSymbol.js';
28
+ import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
29
29
  import palette from '../../Core/Color/Palette.js';
30
30
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
31
31
  var Series = SeriesRegistry.series, _a = SeriesRegistry.seriesTypes, ColumnSeries = _a.column, ScatterSeries = _a.scatter;
@@ -184,9 +184,11 @@ var HeatmapSeries = /** @class */ (function (_super) {
184
184
  HeatmapSeries.prototype.pointAttribs = function (point, state) {
185
185
  var series = this, attr = Series.prototype.pointAttribs.call(series, point, state), seriesOptions = series.options || {}, plotOptions = series.chart.options.plotOptions || {}, seriesPlotOptions = plotOptions.series || {}, heatmapPlotOptions = plotOptions.heatmap || {}, stateOptions, brightness,
186
186
  // Get old properties in order to keep backward compatibility
187
- borderColor = seriesOptions.borderColor ||
187
+ borderColor = (point && point.options.borderColor) ||
188
+ seriesOptions.borderColor ||
188
189
  heatmapPlotOptions.borderColor ||
189
- seriesPlotOptions.borderColor, borderWidth = seriesOptions.borderWidth ||
190
+ seriesPlotOptions.borderColor, borderWidth = (point && point.options.borderWidth) ||
191
+ seriesOptions.borderWidth ||
190
192
  heatmapPlotOptions.borderWidth ||
191
193
  seriesPlotOptions.borderWidth ||
192
194
  attr['stroke-width'];
@@ -364,7 +366,9 @@ var HeatmapSeries = /** @class */ (function (_super) {
364
366
  nullColor: palette.neutralColor3,
365
367
  dataLabels: {
366
368
  formatter: function () {
367
- return this.point.value;
369
+ var numberFormatter = this.series.chart.numberFormatter;
370
+ var value = this.point.value;
371
+ return isNumber(value) ? numberFormatter(value, -1) : '';
368
372
  },
369
373
  inside: true,
370
374
  verticalAlign: 'middle',
@@ -551,7 +555,7 @@ extend(HeatmapSeries.prototype, {
551
555
  /**
552
556
  * @private
553
557
  */
554
- drawLegendSymbol: LegendSymbolMixin.drawRectangle,
558
+ drawLegendSymbol: LegendSymbol.drawRectangle,
555
559
  getExtremesFromAll: true,
556
560
  getSymbol: Series.prototype.getSymbol,
557
561
  parallelArrays: colorMapSeriesMixin.parallelArrays,
@@ -0,0 +1,60 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ var __extends = (this && this.__extends) || (function () {
12
+ var extendStatics = function (d, b) {
13
+ extendStatics = Object.setPrototypeOf ||
14
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
16
+ return extendStatics(d, b);
17
+ };
18
+ return function (d, b) {
19
+ extendStatics(d, b);
20
+ function __() { this.constructor = d; }
21
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22
+ };
23
+ })();
24
+ /* *
25
+ *
26
+ * Imports
27
+ *
28
+ * */
29
+ import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
30
+ var CandlestickSeries = SeriesRegistry.seriesTypes.candlestick;
31
+ /* *
32
+ *
33
+ * Class
34
+ *
35
+ * */
36
+ var HeikinAshiPoint = /** @class */ (function (_super) {
37
+ __extends(HeikinAshiPoint, _super);
38
+ function HeikinAshiPoint() {
39
+ /* *
40
+ *
41
+ * Properties
42
+ *
43
+ * */
44
+ var _this = _super !== null && _super.apply(this, arguments) || this;
45
+ _this.series = void 0;
46
+ return _this;
47
+ /* *
48
+ *
49
+ * Functions
50
+ *
51
+ * */
52
+ }
53
+ return HeikinAshiPoint;
54
+ }(CandlestickSeries.prototype.pointClass));
55
+ /* *
56
+ *
57
+ * Default Export
58
+ *
59
+ * */
60
+ export default HeikinAshiPoint;
@@ -0,0 +1,277 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ var __extends = (this && this.__extends) || (function () {
12
+ var extendStatics = function (d, b) {
13
+ extendStatics = Object.setPrototypeOf ||
14
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
16
+ return extendStatics(d, b);
17
+ };
18
+ return function (d, b) {
19
+ extendStatics(d, b);
20
+ function __() { this.constructor = d; }
21
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22
+ };
23
+ })();
24
+ import HeikinAshiPoint from './HeikinAshiPoint.js';
25
+ import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
26
+ import U from '../../Core/Utilities.js';
27
+ import Axis from '../../Core/Axis/Axis.js';
28
+ var CandlestickSeries = SeriesRegistry.seriesTypes.candlestick;
29
+ var addEvent = U.addEvent, merge = U.merge;
30
+ /* *
31
+ *
32
+ * Class
33
+ *
34
+ * */
35
+ /**
36
+ * The Heikin Ashi series.
37
+ *
38
+ * @private
39
+ * @class
40
+ * @name Highcharts.seriesTypes.heikinashi
41
+ *
42
+ * @augments Highcharts.Series
43
+ */
44
+ var HeikinAshiSeries = /** @class */ (function (_super) {
45
+ __extends(HeikinAshiSeries, _super);
46
+ function HeikinAshiSeries() {
47
+ /* *
48
+ *
49
+ * Static Properties
50
+ *
51
+ * */
52
+ var _this = _super !== null && _super.apply(this, arguments) || this;
53
+ /* *
54
+ *
55
+ * Properties
56
+ *
57
+ * */
58
+ _this.data = void 0;
59
+ _this.heikiashiData = [];
60
+ _this.options = void 0;
61
+ _this.points = void 0;
62
+ _this.yData = void 0;
63
+ _this.processedYData = void 0;
64
+ return _this;
65
+ /* eslint-enable valid-jsdoc */
66
+ }
67
+ /* *
68
+ *
69
+ * Functions
70
+ *
71
+ * */
72
+ /* eslint-disable valid-jsdoc */
73
+ /**
74
+ * Calculate data set for the heikinashi series before creating the points.
75
+ * @private
76
+ *
77
+ * @function Highcharts.seriesTypes.heikinashi#getHeikinashiData
78
+ *
79
+ * @return {void}
80
+ *
81
+ */
82
+ HeikinAshiSeries.prototype.getHeikinashiData = function () {
83
+ var series = this, processedYData = series.allGroupedData || series.yData, heikiashiData = series.heikiashiData;
84
+ if (!heikiashiData.length && processedYData && processedYData.length) {
85
+ // Cast to `any` in order to avoid checks before calculation.
86
+ // Adding null doesn't change anything.
87
+ var firstPoint = processedYData[0];
88
+ // Modify the first point.
89
+ this.modifyFirstPointValue(firstPoint);
90
+ // Modify other points.
91
+ for (var i = 1; i < processedYData.length; i++) {
92
+ var dataPoint = processedYData[i], previousDataPoint = heikiashiData[i - 1];
93
+ this.modifyDataPoint(dataPoint, previousDataPoint);
94
+ }
95
+ }
96
+ series.heikiashiData = heikiashiData;
97
+ };
98
+ /**
99
+ * @private
100
+ * @function Highcarts.seriesTypes.heikinashi#init
101
+ * @return {void}
102
+ */
103
+ HeikinAshiSeries.prototype.init = function () {
104
+ _super.prototype.init.apply(this, arguments);
105
+ this.heikiashiData = [];
106
+ };
107
+ /**
108
+ * Calculate and modify the first data point value.
109
+ * @private
110
+ *
111
+ * @function Highcharts.seriesTypes.heikinashi#modifyFirstPointValue
112
+ *
113
+ * @param {Array<(number)>} dataPoint
114
+ * Current data point.
115
+ *
116
+ * @return {void}
117
+ *
118
+ */
119
+ HeikinAshiSeries.prototype.modifyFirstPointValue = function (dataPoint) {
120
+ var open = (dataPoint[0] + dataPoint[1] + dataPoint[2] + dataPoint[3]) / 4, close = (dataPoint[0] + dataPoint[3]) / 2;
121
+ this.heikiashiData.push([open, dataPoint[1], dataPoint[2], close]);
122
+ };
123
+ /**
124
+ * Calculate and modify the data point's value.
125
+ * @private
126
+ *
127
+ * @function Highcharts.seriesTypes.heikinashi#modifyDataPoint
128
+ *
129
+ * @param {Array<(number)>} dataPoint
130
+ * Current data point.
131
+ *
132
+ * @param {Array<(number)>} previousDataPoint
133
+ * Previous data point.
134
+ *
135
+ * @return {void}
136
+ *
137
+ */
138
+ HeikinAshiSeries.prototype.modifyDataPoint = function (dataPoint, previousDataPoint) {
139
+ var newOpen = (previousDataPoint[0] + previousDataPoint[3]) / 2, newClose = (dataPoint[0] + dataPoint[1] + dataPoint[2] + dataPoint[3]) / 4, newHigh = Math.max(dataPoint[1], newClose, newOpen), newLow = Math.min(dataPoint[2], newClose, newOpen);
140
+ // Add new points to the array in order to properly calculate extremes.
141
+ this.heikiashiData.push([newOpen, newHigh, newLow, newClose]);
142
+ };
143
+ /**
144
+ * An HeikinAshi series is a style of financial chart used to describe price
145
+ * movements over time. It displays open, high, low and close values per
146
+ * data point.
147
+ *
148
+ * @sample stock/demo/heikinashi/
149
+ * Heikin Ashi series
150
+ *
151
+ * @extends plotOptions.candlestick
152
+ * @product highstock
153
+ * @requires modules/heikinashi
154
+ * @optionparent plotOptions.heikinashi
155
+ */
156
+ HeikinAshiSeries.defaultOptions = merge(CandlestickSeries.defaultOptions, {
157
+ dataGrouping: {
158
+ groupAll: true
159
+ }
160
+ });
161
+ return HeikinAshiSeries;
162
+ }(CandlestickSeries));
163
+ // Assign haikinashi data into the points.
164
+ addEvent(HeikinAshiSeries, 'afterTranslate', function () {
165
+ var series = this, points = series.points, heikiashiData = series.heikiashiData;
166
+ var cropStart = series.cropStart || 0;
167
+ // Reset the proccesed data.
168
+ series.processedYData.length = 0;
169
+ // Modify points.
170
+ for (var i = 0; i < points.length; i++) {
171
+ var point = points[i], heikiashiDataPoint = heikiashiData[i + cropStart];
172
+ point.open = heikiashiDataPoint[0];
173
+ point.high = heikiashiDataPoint[1];
174
+ point.low = heikiashiDataPoint[2];
175
+ point.close = heikiashiDataPoint[3];
176
+ series.processedYData.push([point.open, point.high, point.low, point.close]);
177
+ }
178
+ });
179
+ // Force to recalculate the heikinashi data set after updating data.
180
+ addEvent(HeikinAshiSeries, 'updatedData', function () {
181
+ if (this.heikiashiData.length) {
182
+ this.heikiashiData.length = 0;
183
+ }
184
+ });
185
+ // After processing and grouping the data,
186
+ // calculate how the heikeinashi data set should look like.
187
+ addEvent(Axis, 'postProcessData', function () {
188
+ var series = this.series;
189
+ series.forEach(function (series) {
190
+ if (series.is('heikinashi')) {
191
+ var heikinashiSeries = series;
192
+ heikinashiSeries.heikiashiData.length = 0;
193
+ heikinashiSeries.getHeikinashiData();
194
+ }
195
+ });
196
+ });
197
+ /* *
198
+ *
199
+ * Prototype Properties
200
+ *
201
+ * */
202
+ HeikinAshiSeries.prototype.pointClass = HeikinAshiPoint;
203
+ SeriesRegistry.registerSeriesType('heikinashi', HeikinAshiSeries);
204
+ /* *
205
+ *
206
+ * Default Export
207
+ *
208
+ * */
209
+ export default HeikinAshiSeries;
210
+ /* *
211
+ *
212
+ * API Options
213
+ *
214
+ * */
215
+ /**
216
+ * A `heikinashi` series. If the [type](#series.heikinashi.type)
217
+ * option is not specified, it is inherited from [chart.type](
218
+ * #chart.type).
219
+ *
220
+ * @type {*}
221
+ * @extends series,plotOptions.heikinashi
222
+ * @excluding dataParser, dataURL, marker
223
+ * @product highstock
224
+ * @requires modules/heikinashi
225
+ * @apioption series.heikinashi
226
+ */
227
+ /**
228
+ * An array of data points for the series. For the `heikinashi` series
229
+ * type, points can be given in the following ways:
230
+ *
231
+ * 1. An array of arrays with 5 or 4 values. In this case, the values correspond
232
+ * to `x,open,high,low,close`. If the first value is a string, it is applied
233
+ * as the name of the point, and the `x` value is inferred. The `x` value can
234
+ * also be omitted, in which case the inner arrays should be of length 4.
235
+ * Then the `x` value is automatically calculated, either starting at 0 and
236
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
237
+ * series options.
238
+ * ```js
239
+ * data: [
240
+ * [0, 7, 2, 0, 4],
241
+ * [1, 1, 4, 2, 8],
242
+ * [2, 3, 3, 9, 3]
243
+ * ]
244
+ * ```
245
+ *
246
+ * 2. An array of objects with named values. The following snippet shows only a
247
+ * few settings, see the complete options set below. If the total number of
248
+ * data points exceeds the series'
249
+ * [turboThreshold](#series.heikinashi.turboThreshold), this option is not
250
+ * available.
251
+ * ```js
252
+ * data: [{
253
+ * x: 1,
254
+ * open: 9,
255
+ * high: 2,
256
+ * low: 4,
257
+ * close: 6,
258
+ * name: "Point2",
259
+ * color: "#00FF00"
260
+ * }, {
261
+ * x: 1,
262
+ * open: 1,
263
+ * high: 4,
264
+ * low: 7,
265
+ * close: 7,
266
+ * name: "Point1",
267
+ * color: "#FF00FF"
268
+ * }]
269
+ * ```
270
+ *
271
+ * @type {Array<Array<(number|string),number,number,number>|Array<(number|string),number,number,number,number>|*>}
272
+ * @extends series.candlestick.data
273
+ * @excluding y
274
+ * @product highstock
275
+ * @apioption series.heikinashi.data
276
+ */
277
+ ''; // adds doclets above to transpilat