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
@@ -196,9 +196,14 @@ var Annotation = /** @class */ (function () {
196
196
  var mergedOptions = {};
197
197
  ['labels', 'shapes'].forEach(function (name) {
198
198
  if (baseOptions[name]) {
199
- mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
200
- return merge(baseOptions[name][i], basicOptions);
201
- });
199
+ if (newOptions[name]) {
200
+ mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
201
+ return merge(baseOptions[name][i], basicOptions);
202
+ });
203
+ }
204
+ else {
205
+ mergedOptions[name] = baseOptions[name];
206
+ }
202
207
  }
203
208
  });
204
209
  return mergedOptions;
@@ -225,13 +230,12 @@ var Annotation = /** @class */ (function () {
225
230
  var xAxes = this.chart.xAxis, yAxes = this.chart.yAxis, linkedAxes = (this.options.labels || [])
226
231
  .concat(this.options.shapes || [])
227
232
  .reduce(function (axes, labelOrShape) {
233
+ var point = labelOrShape &&
234
+ (labelOrShape.point ||
235
+ (labelOrShape.points && labelOrShape.points[0]));
228
236
  return [
229
- xAxes[labelOrShape &&
230
- labelOrShape.point &&
231
- labelOrShape.point.xAxis] || axes[0],
232
- yAxes[labelOrShape &&
233
- labelOrShape.point &&
234
- labelOrShape.point.yAxis] || axes[1]
237
+ xAxes[point && point.xAxis] || axes[0],
238
+ yAxes[point && point.yAxis] || axes[1]
235
239
  ];
236
240
  }, []);
237
241
  this.clipXAxis = linkedAxes[0];
@@ -345,10 +349,15 @@ var Annotation = /** @class */ (function () {
345
349
  * annotation's visibility is toggled.
346
350
  */
347
351
  Annotation.prototype.setVisibility = function (visible) {
348
- var options = this.options, visibility = pick(visible, !options.visible);
352
+ var options = this.options, navigation = this.chart.navigationBindings, visibility = pick(visible, !options.visible);
349
353
  this.graphic.attr('visibility', visibility ? 'visible' : 'hidden');
350
354
  if (!visibility) {
351
355
  this.setControlPointsVisibility(false);
356
+ if (navigation.activeAnnotation === this &&
357
+ navigation.popup &&
358
+ navigation.popup.formType === 'annotation-toolbar') {
359
+ fireEvent(navigation, 'closePopup');
360
+ }
352
361
  }
353
362
  options.visible = visibility;
354
363
  };
@@ -858,46 +867,18 @@ merge(Annotation.prototype,
858
867
  *
859
868
  * @sample highcharts/annotations/mock-point/
860
869
  * Attach annotation to a mock point
870
+ * @sample highcharts/annotations/mock-points/
871
+ * Attach annotation to a mock point with different ways
861
872
  *
862
873
  * @declare Highcharts.AnnotationMockPointOptionsObject
863
- * @type {string|*}
874
+ * @type {
875
+ * string|
876
+ * Highcharts.AnnotationMockPointOptionsObject|
877
+ * Highcharts.AnnotationMockPointFunction
878
+ * }
864
879
  * @requires modules/annotations
865
880
  * @apioption annotations.labels.point
866
881
  */
867
- /**
868
- * The x position of the point. Units can be either in axis
869
- * or chart pixel coordinates.
870
- *
871
- * @type {number}
872
- * @apioption annotations.labels.point.x
873
- */
874
- /**
875
- * The y position of the point. Units can be either in axis
876
- * or chart pixel coordinates.
877
- *
878
- * @type {number}
879
- * @apioption annotations.labels.point.y
880
- */
881
- /**
882
- * This number defines which xAxis the point is connected to.
883
- * It refers to either the axis id or the index of the axis in
884
- * the xAxis array. If the option is not configured or the axis
885
- * is not found the point's x coordinate refers to the chart
886
- * pixels.
887
- *
888
- * @type {number|string|null}
889
- * @apioption annotations.labels.point.xAxis
890
- */
891
- /**
892
- * This number defines which yAxis the point is connected to.
893
- * It refers to either the axis id or the index of the axis in
894
- * the yAxis array. If the option is not configured or the axis
895
- * is not found the point's y coordinate refers to the chart
896
- * pixels.
897
- *
898
- * @type {number|string|null}
899
- * @apioption annotations.labels.point.yAxis
900
- */
901
882
  /**
902
883
  * An array of shapes for the annotation. For options that apply
903
884
  * to multiple shapes, then can be added to the
@@ -913,20 +894,30 @@ merge(Annotation.prototype,
913
894
  * series - it is referenced by the point's id - or a new point
914
895
  * with defined x, y properties and optionally axes.
915
896
  *
897
+ * @sample highcharts/annotations/mock-points/
898
+ * Attach annotation to a mock point with different ways
899
+ *
916
900
  * @declare Highcharts.AnnotationMockPointOptionsObject
917
- * @type {string|Highcharts.AnnotationMockPointOptionsObject}
901
+ * @type {
902
+ * string|
903
+ * Highcharts.AnnotationMockPointOptionsObject|
904
+ * Highcharts.AnnotationMockPointFunction
905
+ * }
918
906
  * @extends annotations.labels.point
907
+ * @requires modules/annotations
919
908
  * @apioption annotations.shapes.point
920
909
  */
921
910
  /**
922
- * An array of points for the shape. This option is available
911
+ * An array of points for the shape
912
+ * or a callback function that returns that shape point.
913
+ *
914
+ * This option is available
923
915
  * for shapes which can use multiple points such as path. A
924
916
  * point can be either a point object or a point's id.
925
917
  *
926
918
  * @see [annotations.shapes.point](annotations.shapes.point.html)
927
919
  *
928
- * @declare Highcharts.AnnotationMockPointOptionsObject
929
- * @type {Array<string|*>}
920
+ * @type {Array<Highcharts.AnnotationShapePointOptions>}
930
921
  * @extends annotations.labels.point
931
922
  * @apioption annotations.shapes.points
932
923
  */
@@ -1336,3 +1327,65 @@ wrap(Pointer.prototype, 'onContainerMouseDown', function (proceed) {
1336
1327
  });
1337
1328
  H.Annotation = Annotation;
1338
1329
  export default Annotation;
1330
+ /* eslint-enable no-invalid-this, valid-jsdoc */
1331
+ /**
1332
+ * Object of shape point.
1333
+ *
1334
+ * @interface Highcharts.AnnotationMockPointOptionsObject
1335
+ *
1336
+ */
1337
+ /**
1338
+ * The x position of the point. Units can be either in axis
1339
+ * or chart pixel coordinates.
1340
+ *
1341
+ * @type {number}
1342
+ * @name Highcharts.AnnotationMockPointOptionsObject.x
1343
+ */
1344
+ /**
1345
+ * The y position of the point. Units can be either in axis
1346
+ * or chart pixel coordinates.
1347
+ *
1348
+ * @type {number}
1349
+ * @name Highcharts.AnnotationMockPointOptionsObject.y
1350
+ */
1351
+ /**
1352
+ * This number defines which xAxis the point is connected to.
1353
+ * It refers to either the axis id or the index of the axis in
1354
+ * the xAxis array. If the option is not configured or the axis
1355
+ * is not found the point's x coordinate refers to the chart
1356
+ * pixels.
1357
+ *
1358
+ * @type {number|string|null}
1359
+ * @name Highcharts.AnnotationMockPointOptionsObject.xAxis
1360
+ */
1361
+ /**
1362
+ * This number defines which yAxis the point is connected to.
1363
+ * It refers to either the axis id or the index of the axis in
1364
+ * the yAxis array. If the option is not configured or the axis
1365
+ * is not found the point's y coordinate refers to the chart
1366
+ * pixels.
1367
+ *
1368
+ * @type {number|string|null}
1369
+ * @name Highcharts.AnnotationMockPointOptionsObject.yAxis
1370
+ */
1371
+ /**
1372
+ * Callback function that returns the annotation shape point.
1373
+ *
1374
+ * @callback Highcharts.AnnotationMockPointFunction
1375
+ *
1376
+ * @param {Highcharts.Annotation} annotation
1377
+ * An annotation instance.
1378
+ *
1379
+ * @return {Highcharts.AnnotationMockPointOptionsObject}
1380
+ * Annotations shape point.
1381
+ */
1382
+ /**
1383
+ * Shape point as string, object or function.
1384
+ *
1385
+ * @typedef {
1386
+ * string|
1387
+ * Highcharts.AnnotationMockPointOptionsObject|
1388
+ * Highcharts.AnnotationMockPointFunction
1389
+ * }Highcharts.AnnotationShapePointOptions
1390
+ */
1391
+ ''; // required by JSDoc parsing
@@ -108,11 +108,19 @@ var eventEmitterMixin = {
108
108
  prevChartY = e.chartY;
109
109
  }, H.isTouchDevice ? { passive: false } : void 0);
110
110
  emitter.removeMouseUp = addEvent(H.doc, H.isTouchDevice ? 'touchend' : 'mouseup', function (e) {
111
+ // Sometimes the target is the annotation and sometimes its the
112
+ // controllable
113
+ var annotation = pick(emitter.target && emitter.target.annotation, emitter.target);
114
+ if (annotation) {
115
+ // Keep annotation selected after dragging control point
116
+ annotation.cancelClick = emitter.hasDragged;
117
+ }
111
118
  emitter.cancelClick = emitter.hasDragged;
112
119
  emitter.hasDragged = false;
113
120
  emitter.chart.hasDraggedAnnotation = false;
114
121
  // ControlPoints vs Annotation:
115
- fireEvent(pick(emitter.target, emitter), 'afterUpdate');
122
+ fireEvent(pick(annotation, // #15952
123
+ emitter), 'afterUpdate');
116
124
  emitter.onMouseUp(e);
117
125
  }, H.isTouchDevice ? { passive: false } : void 0);
118
126
  },
@@ -105,10 +105,9 @@ var bindingsUtils = {
105
105
  * Annotation to be updated
106
106
  */
107
107
  updateRectSize: function (event, annotation) {
108
- var chart = annotation.chart, options = annotation.options.typeOptions, coords = chart.pointer.getCoordinates(event), coordsX = chart.navigationBindings.utils.getAssignedAxis(coords.xAxis), coordsY = chart.navigationBindings.utils.getAssignedAxis(coords.yAxis), width, height;
109
- if (coordsX && coordsY) {
110
- width = coordsX.value - options.point.x;
111
- height = options.point.y - coordsY.value;
108
+ var chart = annotation.chart, options = annotation.options.typeOptions, xAxis = isNumber(options.xAxis) && chart.xAxis[options.xAxis], yAxis = isNumber(options.yAxis) && chart.yAxis[options.yAxis];
109
+ if (xAxis && yAxis) {
110
+ var x = xAxis.toValue(event[xAxis.horiz ? 'chartX' : 'chartY']), y = yAxis.toValue(event[yAxis.horiz ? 'chartX' : 'chartY']), width = x - options.point.x, height = options.point.y - y;
112
111
  annotation.update({
113
112
  typeOptions: {
114
113
  background: {
@@ -291,15 +290,24 @@ var NavigationBindings = /** @class */ (function () {
291
290
  */
292
291
  NavigationBindings.prototype.bindingsChartClick = function (chart, clickEvent) {
293
292
  chart = this.chart;
294
- var navigation = this, selectedButton = navigation.selectedButton, svgContainer = chart.renderer.boxWrapper;
295
- // Click outside popups, should close them and deselect the annotation
296
- if (navigation.activeAnnotation &&
297
- !clickEvent.activeAnnotation &&
298
- // Element could be removed in the child action, e.g. button
299
- clickEvent.target.parentNode &&
300
- // TO DO: Polyfill for IE11?
301
- !closestPolyfill(clickEvent.target, '.' + PREFIX + 'popup')) {
302
- fireEvent(navigation, 'closePopup');
293
+ var navigation = this, activeAnnotation = navigation.activeAnnotation, selectedButton = navigation.selectedButton, svgContainer = chart.renderer.boxWrapper;
294
+ if (activeAnnotation) {
295
+ // Click outside popups, should close them and deselect the
296
+ // annotation
297
+ if (!activeAnnotation.cancelClick && // #15729
298
+ !clickEvent.activeAnnotation &&
299
+ // Element could be removed in the child action, e.g. button
300
+ clickEvent.target.parentNode &&
301
+ // TO DO: Polyfill for IE11?
302
+ !closestPolyfill(clickEvent.target, '.' + PREFIX + 'popup')) {
303
+ fireEvent(navigation, 'closePopup');
304
+ }
305
+ else if (activeAnnotation.cancelClick) {
306
+ // Reset cancelClick after the other event handlers have run
307
+ setTimeout(function () {
308
+ activeAnnotation.cancelClick = false;
309
+ }, 0);
310
+ }
303
311
  }
304
312
  if (!selectedButton || !selectedButton.start) {
305
313
  return;
@@ -1020,7 +1028,7 @@ setOptions({
1020
1028
  * from a different server.
1021
1029
  *
1022
1030
  * @type {string}
1023
- * @default https://code.highcharts.com/9.1.1/gfx/stock-icons/
1031
+ * @default https://code.highcharts.com/9.2.2/gfx/stock-icons/
1024
1032
  * @since 7.1.3
1025
1033
  * @apioption navigation.iconsURL
1026
1034
  */
@@ -1104,30 +1112,27 @@ addEvent(Chart, 'render', function () {
1104
1112
  // className taken from StockToolsBindings.
1105
1113
  var buttonNode = chart.navigationBindings.container[0].querySelectorAll('.' + key);
1106
1114
  if (buttonNode) {
1107
- if (value.noDataState === 'normal') {
1108
- buttonNode.forEach(function (button) {
1115
+ for (var i = 0; i < buttonNode.length; i++) {
1116
+ var button = buttonNode[i];
1117
+ if (value.noDataState === 'normal') {
1109
1118
  // If button has noDataState: 'normal',
1110
1119
  // and has disabledClassName,
1111
1120
  // remove this className.
1112
1121
  if (button.className.indexOf(disabledClassName) !== -1) {
1113
1122
  button.classList.remove(disabledClassName);
1114
1123
  }
1115
- });
1116
- }
1117
- else if (!buttonsEnabled_1) {
1118
- buttonNode.forEach(function (button) {
1124
+ }
1125
+ else if (!buttonsEnabled_1) {
1119
1126
  if (button.className.indexOf(disabledClassName) === -1) {
1120
1127
  button.className += ' ' + disabledClassName;
1121
1128
  }
1122
- });
1123
- }
1124
- else {
1125
- buttonNode.forEach(function (button) {
1129
+ }
1130
+ else {
1126
1131
  // Enable all buttons by deleting the className.
1127
1132
  if (button.className.indexOf(disabledClassName) !== -1) {
1128
1133
  button.classList.remove(disabledClassName);
1129
1134
  }
1130
- });
1135
+ }
1131
1136
  }
1132
1137
  }
1133
1138
  }
@@ -126,12 +126,14 @@ H.Popup.prototype = {
126
126
  }, void 0, parentDiv).appendChild(doc.createTextNode(lang[optionName] || optionName));
127
127
  }
128
128
  // add input
129
- createElement(INPUT, {
130
- name: inputName,
131
- value: value[0],
132
- type: value[1],
133
- className: PREFIX + 'popup-field'
134
- }, void 0, parentDiv).setAttribute(PREFIX + 'data-name', option);
129
+ if (value !== '') {
130
+ createElement(INPUT, {
131
+ name: inputName,
132
+ value: value[0],
133
+ type: value[1],
134
+ className: PREFIX + 'popup-field'
135
+ }, void 0, parentDiv).setAttribute(PREFIX + 'data-name', option);
136
+ }
135
137
  },
136
138
  /**
137
139
  * Create button.
@@ -202,6 +204,7 @@ H.Popup.prototype = {
202
204
  showPopup: function () {
203
205
  var popupDiv = this.container, toolbarClass = PREFIX + 'annotation-toolbar', popupCloseBtn = popupDiv
204
206
  .querySelectorAll('.' + PREFIX + 'popup-close')[0];
207
+ this.formType = void 0;
205
208
  // reset content
206
209
  popupDiv.innerHTML = '';
207
210
  // reset toolbar styles if exists
@@ -213,6 +216,7 @@ H.Popup.prototype = {
213
216
  // add close button
214
217
  popupDiv.appendChild(popupCloseBtn);
215
218
  popupDiv.style.display = 'block';
219
+ popupDiv.style.height = '';
216
220
  },
217
221
  /**
218
222
  * Hide popup.
@@ -253,6 +257,9 @@ H.Popup.prototype = {
253
257
  if (type === 'flag') {
254
258
  this.annotations.addForm.call(this, chart, options, callback, true);
255
259
  }
260
+ this.formType = type;
261
+ // Explicit height is needed to make inner elements scrollable
262
+ this.container.style.height = this.container.offsetHeight + 'px';
256
263
  },
257
264
  /**
258
265
  * Return lang definitions for popup.
@@ -617,6 +624,8 @@ H.Popup.prototype = {
617
624
  parentFullName = parentNode + '.' + fieldName;
618
625
  if (value !== void 0) { // skip if field is unnecessary, #15362
619
626
  if (isObject(value)) {
627
+ addInput.call(// (15733) 'Periods' has an arrayed value. Label must be created here.
628
+ _self, parentFullName, type, parentDiv, '');
620
629
  addParamInputs.call(_self, chart, parentFullName, value, type, parentDiv);
621
630
  }
622
631
  else if (
@@ -756,7 +765,7 @@ addEvent(NavigationBindings, 'showPopup', function (config) {
756
765
  this.popup = new H.Popup(this.chart.container, (this.chart.options.navigation.iconsURL ||
757
766
  (this.chart.options.stockTools &&
758
767
  this.chart.options.stockTools.gui.iconsURL) ||
759
- 'https://code.highcharts.com/9.1.1/gfx/stock-icons/'), this.chart);
768
+ 'https://code.highcharts.com/9.2.2/gfx/stock-icons/'), this.chart);
760
769
  }
761
770
  this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit);
762
771
  });
@@ -224,10 +224,14 @@ wrap(Series.prototype, 'processData', function (proceed) {
224
224
  /**
225
225
  * Used twice in this function, first on this.options.data, the second
226
226
  * time it runs the check again after processedXData is built.
227
+ * If the data is going to be grouped, the series shouldn't be boosted.
227
228
  * @private
228
- * @todo Check what happens with data grouping
229
229
  */
230
230
  function getSeriesBoosting(data) {
231
+ // Check if will be grouped.
232
+ if (series.forceCrop) {
233
+ return false;
234
+ }
231
235
  return series.chart.isChartSeriesBoosting() || ((data ? data.length : 0) >=
232
236
  (series.options.boostThreshold || Number.MAX_VALUE));
233
237
  }
@@ -909,6 +909,11 @@ function GLRenderer(postRenderCallback) {
909
909
  cbuffer.build(s.colorData, 'aColor', 4);
910
910
  cbuffer.bind();
911
911
  }
912
+ else {
913
+ // #15869, a buffer with fewer points might already be bound by
914
+ // a different series/chart causing out of range errors
915
+ gl.disableVertexAttribArray(gl.getAttribLocation(shader.program(), 'aColor'));
916
+ }
912
917
  // Set series specific uniforms
913
918
  shader.setColor(scolor);
914
919
  setXAxis(s.series.xAxis);
@@ -933,9 +938,7 @@ function GLRenderer(postRenderCallback) {
933
938
  // If the line width is < 0, skip rendering of the lines. See #7833.
934
939
  if (lineWidth > 0 || s.drawMode !== 'line_strip') {
935
940
  for (sindex = 0; sindex < s.segments.length; sindex++) {
936
- // if (s.segments[sindex].from < s.segments[sindex].to) {
937
941
  vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, s.drawMode);
938
- // }
939
942
  }
940
943
  }
941
944
  if (s.hasMarkers && showMarkers) {
@@ -947,9 +950,7 @@ function GLRenderer(postRenderCallback) {
947
950
  }
948
951
  shader.setDrawAsCircle(true);
949
952
  for (sindex = 0; sindex < s.segments.length; sindex++) {
950
- // if (s.segments[sindex].from < s.segments[sindex].to) {
951
953
  vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, 'POINTS');
952
- // }
953
954
  }
954
955
  }
955
956
  });
@@ -114,6 +114,9 @@ function GLVertexBuffer(gl, shader, dataComponents
114
114
  if (!to || to > length) {
115
115
  to = length;
116
116
  }
117
+ if (from >= to) {
118
+ return false;
119
+ }
117
120
  drawMode = drawMode || 'points';
118
121
  gl.drawArrays(gl[drawMode.toUpperCase()], from / components, (to - from) / components);
119
122
  return true;
@@ -166,7 +166,7 @@ var initCanvasBoost = function () {
166
166
  series.pointArrayMap.join(',') === 'low,high'), isStacked = !!options.stacking, cropStart = series.cropStart || 0, loadingOptions = chart.options.loading, requireSorting = series.requireSorting, wasNull, connectNulls = options.connectNulls, useRaw = !xData, minVal, maxVal, minI, maxI, index, sdata = (isStacked ?
167
167
  series.data :
168
168
  (xData || rawData)), fillColor = (series.fillOpacity ?
169
- new Color(series.color).setOpacity(pick(options.fillOpacity, 0.75)).get() :
169
+ Color.parse(series.color).setOpacity(pick(options.fillOpacity, 0.75)).get() :
170
170
  series.color),
171
171
  //
172
172
  stroke = function () {
@@ -12,7 +12,7 @@
12
12
  'use strict';
13
13
  import Axis from '../Core/Axis/Axis.js';
14
14
  import Palette from '../Core/Color/Palette.js';
15
- import PlotLineOrBand from '../Core/Axis/PlotLineOrBand.js';
15
+ import PlotLineOrBand from '../Core/Axis/PlotLineOrBand/PlotLineOrBand.js';
16
16
  import U from '../Core/Utilities.js';
17
17
  var addEvent = U.addEvent, merge = U.merge, wrap = U.wrap;
18
18
  /**