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
@@ -13,107 +13,16 @@ var format = F.format;
13
13
  import H from './Globals.js';
14
14
  var doc = H.doc;
15
15
  import palette from './Color/Palette.js';
16
+ import R from './Renderer/RendererUtilities.js';
17
+ var distribute = R.distribute;
16
18
  import RendererRegistry from './Renderer/RendererRegistry.js';
17
19
  import U from './Utilities.js';
18
- var clamp = U.clamp, css = U.css, defined = U.defined, discardElement = U.discardElement, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, isString = U.isString, merge = U.merge, pick = U.pick, splat = U.splat, syncTimeout = U.syncTimeout, timeUnits = U.timeUnits;
19
- /**
20
- * Callback function to format the text of the tooltip from scratch.
21
- *
22
- * In case of single or shared tooltips, a string should be be returned. In case
23
- * of splitted tooltips, it should return an array where the first item is the
24
- * header, and subsequent items are mapped to the points. Return `false` to
25
- * disable tooltip for a specific point on series.
26
- *
27
- * @callback Highcharts.TooltipFormatterCallbackFunction
28
- *
29
- * @param {Highcharts.TooltipFormatterContextObject} this
30
- * Context to format
31
- *
32
- * @param {Highcharts.Tooltip} tooltip
33
- * The tooltip instance
34
- *
35
- * @return {false|string|Array<(string|null|undefined)>|null|undefined}
36
- * Formatted text or false
37
- */
38
- /**
39
- * @interface Highcharts.TooltipFormatterContextObject
40
- */ /**
41
- * @name Highcharts.TooltipFormatterContextObject#color
42
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
43
- */ /**
44
- * @name Highcharts.TooltipFormatterContextObject#colorIndex
45
- * @type {number|undefined}
46
- */ /**
47
- * @name Highcharts.TooltipFormatterContextObject#key
48
- * @type {number}
49
- */ /**
50
- * @name Highcharts.TooltipFormatterContextObject#percentage
51
- * @type {number|undefined}
52
- */ /**
53
- * @name Highcharts.TooltipFormatterContextObject#point
54
- * @type {Highcharts.Point}
55
- */ /**
56
- * @name Highcharts.TooltipFormatterContextObject#points
57
- * @type {Array<Highcharts.TooltipFormatterContextObject>|undefined}
58
- */ /**
59
- * @name Highcharts.TooltipFormatterContextObject#series
60
- * @type {Highcharts.Series}
61
- */ /**
62
- * @name Highcharts.TooltipFormatterContextObject#total
63
- * @type {number|undefined}
64
- */ /**
65
- * @name Highcharts.TooltipFormatterContextObject#x
66
- * @type {number}
67
- */ /**
68
- * @name Highcharts.TooltipFormatterContextObject#y
69
- * @type {number}
70
- */
71
- /**
72
- * A callback function to place the tooltip in a specific position.
73
- *
74
- * @callback Highcharts.TooltipPositionerCallbackFunction
75
- *
76
- * @param {Highcharts.Tooltip} this
77
- * Tooltip context of the callback.
78
- *
79
- * @param {number} labelWidth
80
- * Width of the tooltip.
81
- *
82
- * @param {number} labelHeight
83
- * Height of the tooltip.
84
- *
85
- * @param {Highcharts.TooltipPositionerPointObject} point
86
- * Point information for positioning a tooltip.
20
+ var addEvent = U.addEvent, clamp = U.clamp, css = U.css, defined = U.defined, discardElement = U.discardElement, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, isString = U.isString, merge = U.merge, pick = U.pick, splat = U.splat, syncTimeout = U.syncTimeout;
21
+ /* *
87
22
  *
88
- * @return {Highcharts.PositionObject}
89
- * New position for the tooltip.
90
- */
91
- /**
92
- * Point information for positioning a tooltip.
23
+ * Class
93
24
  *
94
- * @interface Highcharts.TooltipPositionerPointObject
95
- * @extends Highcharts.Point
96
- */ /**
97
- * If `tooltip.split` option is enabled and positioner is called for each of the
98
- * boxes separately, this property indicates the call on the xAxis header, which
99
- * is not a point itself.
100
- * @name Highcharts.TooltipPositionerPointObject#isHeader
101
- * @type {boolean}
102
- */ /**
103
- * The reference point relative to the plot area. Add chart.plotLeft to get the
104
- * full coordinates.
105
- * @name Highcharts.TooltipPositionerPointObject#plotX
106
- * @type {number}
107
- */ /**
108
- * The reference point relative to the plot area. Add chart.plotTop to get the
109
- * full coordinates.
110
- * @name Highcharts.TooltipPositionerPointObject#plotY
111
- * @type {number}
112
- */
113
- /**
114
- * @typedef {"callout"|"circle"|"square"} Highcharts.TooltipShapeValue
115
- */
116
- ''; // separates doclets above from variables below
25
+ * */
117
26
  /* eslint-disable no-invalid-this, valid-jsdoc */
118
27
  /**
119
28
  * Tooltip of a chart.
@@ -200,12 +109,6 @@ var Tooltip = /** @class */ (function () {
200
109
  }]
201
110
  }]
202
111
  });
203
- chart.renderer.definition({
204
- tagName: 'style',
205
- textContent: '.highcharts-tooltip-' + chart.index + '{' +
206
- 'filter:url(#drop-shadow-' + chart.index + ')' +
207
- '}'
208
- });
209
112
  };
210
113
  /**
211
114
  * Build the body (lines) of the tooltip by iterating over the items and
@@ -258,7 +161,8 @@ var Tooltip = /** @class */ (function () {
258
161
  * @return {Array<string>}
259
162
  */
260
163
  Tooltip.prototype.defaultFormatter = function (tooltip) {
261
- var items = this.points || splat(this), s;
164
+ var items = this.points || splat(this);
165
+ var s;
262
166
  // Build the header
263
167
  s = [tooltip.tooltipFooterHeaderFormatter(items[0])];
264
168
  // build the values
@@ -302,7 +206,8 @@ var Tooltip = /** @class */ (function () {
302
206
  * @return {Array<number>}
303
207
  */
304
208
  Tooltip.prototype.getAnchor = function (points, mouseEvent) {
305
- var ret, chart = this.chart, pointer = chart.pointer, inverted = chart.inverted, plotTop = chart.plotTop, plotLeft = chart.plotLeft, plotX = 0, plotY = 0, yAxis, xAxis;
209
+ var chart = this.chart, pointer = chart.pointer, inverted = chart.inverted, plotTop = chart.plotTop, plotLeft = chart.plotLeft;
210
+ var ret, yAxis, xAxis, plotX = 0, plotY = 0;
306
211
  points = splat(points);
307
212
  // When tooltip follows mouse, relate the position to the mouse
308
213
  if (this.followPointer && mouseEvent) {
@@ -359,67 +264,6 @@ var Tooltip = /** @class */ (function () {
359
264
  }
360
265
  return ret.map(Math.round);
361
266
  };
362
- /**
363
- * Get the optimal date format for a point, based on a range.
364
- *
365
- * @private
366
- * @function Highcharts.Tooltip#getDateFormat
367
- *
368
- * @param {number} range
369
- * The time range
370
- *
371
- * @param {number} date
372
- * The date of the point in question
373
- *
374
- * @param {number} startOfWeek
375
- * An integer representing the first day of the week, where 0 is
376
- * Sunday.
377
- *
378
- * @param {Highcharts.Dictionary<string>} dateTimeLabelFormats
379
- * A map of time units to formats.
380
- *
381
- * @return {string}
382
- * The optimal date format for a point.
383
- */
384
- Tooltip.prototype.getDateFormat = function (range, date, startOfWeek, dateTimeLabelFormats) {
385
- var time = this.chart.time, dateStr = time.dateFormat('%m-%d %H:%M:%S.%L', date), format, n, blank = '01-01 00:00:00.000', strpos = {
386
- millisecond: 15,
387
- second: 12,
388
- minute: 9,
389
- hour: 6,
390
- day: 3
391
- }, lastN = 'millisecond'; // for sub-millisecond data, #4223
392
- for (n in timeUnits) { // eslint-disable-line guard-for-in
393
- // If the range is exactly one week and we're looking at a
394
- // Sunday/Monday, go for the week format
395
- if (range === timeUnits.week &&
396
- +time.dateFormat('%w', date) === startOfWeek &&
397
- dateStr.substr(6) === blank.substr(6)) {
398
- n = 'week';
399
- break;
400
- }
401
- // The first format that is too great for the range
402
- if (timeUnits[n] > range) {
403
- n = lastN;
404
- break;
405
- }
406
- // If the point is placed every day at 23:59, we need to show
407
- // the minutes as well. #2637.
408
- if (strpos[n] &&
409
- dateStr.substr(strpos[n]) !== blank.substr(strpos[n])) {
410
- break;
411
- }
412
- // Weeks are outside the hierarchy, only apply them on
413
- // Mondays/Sundays like in the first condition
414
- if (n !== 'week') {
415
- lastN = n;
416
- }
417
- }
418
- if (n) {
419
- format = time.resolveDTLFormat(dateTimeLabelFormats[n]).main;
420
- }
421
- return format;
422
- };
423
267
  /**
424
268
  * Creates the Tooltip label element if it does not exist, then returns it.
425
269
  *
@@ -427,19 +271,23 @@ var Tooltip = /** @class */ (function () {
427
271
  * @return {Highcharts.SVGElement}
428
272
  */
429
273
  Tooltip.prototype.getLabel = function () {
430
- var tooltip = this, renderer = this.chart.renderer, styledMode = this.chart.styledMode, options = this.options, className = ('tooltip' + (defined(options.className) ?
274
+ var tooltip = this, styledMode = this.chart.styledMode, options = this.options, className = ('tooltip' + (defined(options.className) ?
431
275
  ' ' + options.className :
432
- '')), pointerEvents = ((options.style && options.style.pointerEvents) ||
433
- (!this.followPointer && options.stickOnContact ? 'auto' : 'none')), container, onMouseEnter = function () {
276
+ '')), pointerEvents = (options.style.pointerEvents ||
277
+ (!this.followPointer && options.stickOnContact ? 'auto' : 'none')), onMouseEnter = function () {
434
278
  tooltip.inContact = true;
435
- }, onMouseLeave = function () {
279
+ }, onMouseLeave = function (e) {
436
280
  var series = tooltip.chart.hoverSeries;
437
- tooltip.inContact = false;
438
- if (series &&
281
+ // #14143, #13310: tooltip.options.useHTML
282
+ tooltip.inContact = tooltip.shouldStickOnContact() &&
283
+ tooltip.chart.pointer.inClass(e.relatedTarget, 'highcharts-tooltip');
284
+ if (!tooltip.inContact &&
285
+ series &&
439
286
  series.onMouseOut) {
440
287
  series.onMouseOut();
441
288
  }
442
289
  };
290
+ var container, renderer = this.chart.renderer;
443
291
  if (!this.label) {
444
292
  if (this.outside) {
445
293
  var chartStyle = this.chart.options.chart.style, Renderer = RendererRegistry.getRendererType();
@@ -457,8 +305,10 @@ var Tooltip = /** @class */ (function () {
457
305
  position: 'absolute',
458
306
  top: '1px',
459
307
  pointerEvents: pointerEvents,
460
- zIndex: Math.max((this.options.style && this.options.style.zIndex || 0), (chartStyle && chartStyle.zIndex || 0) + 3)
308
+ zIndex: Math.max(this.options.style.zIndex || 0, (chartStyle && chartStyle.zIndex || 0) + 3)
461
309
  });
310
+ addEvent(container, 'mouseenter', onMouseEnter);
311
+ addEvent(container, 'mouseleave', onMouseLeave);
462
312
  H.doc.body.appendChild(container);
463
313
  /**
464
314
  * Reference to the tooltip's renderer, when
@@ -476,7 +326,7 @@ var Tooltip = /** @class */ (function () {
476
326
  }
477
327
  else {
478
328
  this.label = renderer
479
- .label('', 0, 0, options.shape || 'callout', null, null, options.useHTML, null, className)
329
+ .label('', 0, 0, options.shape, void 0, void 0, options.useHTML, void 0, className)
480
330
  .attr({
481
331
  padding: options.padding,
482
332
  r: options.borderRadius
@@ -493,10 +343,12 @@ var Tooltip = /** @class */ (function () {
493
343
  .shadow(options.shadow);
494
344
  }
495
345
  }
496
- if (styledMode) {
346
+ if (styledMode && options.shadow) {
497
347
  // Apply the drop-shadow filter
498
348
  this.applyFilter();
499
- this.label.addClass('highcharts-tooltip-' + this.chart.index);
349
+ this.label.attr({
350
+ filter: 'url(#drop-shadow-' + this.chart.index + ')'
351
+ });
500
352
  }
501
353
  // Split tooltip use updateTooltipContainer to position the tooltip
502
354
  // container.
@@ -539,7 +391,7 @@ var Tooltip = /** @class */ (function () {
539
391
  var chart = this.chart, distance = this.distance, ret = {},
540
392
  // Don't use h if chart isn't inverted (#7242) ???
541
393
  h = (chart.inverted && point.h) || 0, // #4117 ???
542
- swapped, outside = this.outside, outerWidth = outside ?
394
+ outside = this.outside, outerWidth = outside ?
543
395
  // substract distance to prevent scrollbars
544
396
  doc.documentElement.clientWidth - 2 * distance :
545
397
  chart.chartWidth, outerHeight = outside ?
@@ -574,9 +426,10 @@ var Tooltip = /** @class */ (function () {
574
426
  isX ? chart.plotLeft + chart.plotWidth :
575
427
  chart.plotTop + chart.plotHeight
576
428
  ]);
577
- }, first = buildDimensionArray('y'), second = buildDimensionArray('x'),
429
+ };
430
+ var first = buildDimensionArray('y'), second = buildDimensionArray('x'), swapped;
578
431
  // The far side is right or bottom
579
- preferFarSide = !this.followPointer && pick(point.ttBelow, !chart.inverted === !!point.negative), // #4984
432
+ var preferFarSide = !this.followPointer && pick(point.ttBelow, !chart.inverted === !!point.negative), // #4984
580
433
  /*
581
434
  * Handle the preferred dimension. When the preferred dimension is
582
435
  * tooltip on top or bottom of the point, it will look for space
@@ -667,30 +520,6 @@ var Tooltip = /** @class */ (function () {
667
520
  run();
668
521
  return ret;
669
522
  };
670
- /**
671
- * Get the best X date format based on the closest point range on the axis.
672
- *
673
- * @private
674
- * @function Highcharts.Tooltip#getXDateFormat
675
- *
676
- * @param {Highcharts.Point} point
677
- *
678
- * @param {Highcharts.TooltipOptions} options
679
- *
680
- * @param {Highcharts.Axis} xAxis
681
- *
682
- * @return {string}
683
- */
684
- Tooltip.prototype.getXDateFormat = function (point, options, xAxis) {
685
- var xDateFormat, dateTimeLabelFormats = options.dateTimeLabelFormats, closestPointRange = xAxis && xAxis.closestPointRange;
686
- if (closestPointRange) {
687
- xDateFormat = this.getDateFormat(closestPointRange, point.x, xAxis.options.startOfWeek, dateTimeLabelFormats);
688
- }
689
- else {
690
- xDateFormat = dateTimeLabelFormats.day;
691
- }
692
- return xDateFormat || dateTimeLabelFormats.year; // #2546, 2581
693
- };
694
523
  /**
695
524
  * Hides the tooltip with a fade out animation.
696
525
  *
@@ -705,7 +534,7 @@ var Tooltip = /** @class */ (function () {
705
534
  var tooltip = this;
706
535
  // disallow duplicate timers (#1728, #1766)
707
536
  U.clearTimeout(this.hideTimer);
708
- delay = pick(delay, this.options.hideDelay, 500);
537
+ delay = pick(delay, this.options.hideDelay);
709
538
  if (!this.isHidden) {
710
539
  this.hideTimer = syncTimeout(function () {
711
540
  // If there is a delay, do fadeOut with the default duration. If
@@ -804,13 +633,14 @@ var Tooltip = /** @class */ (function () {
804
633
  */
805
634
  this.outside = pick(options.outside, Boolean(chart.scrollablePixelsX || chart.scrollablePixelsY));
806
635
  };
636
+ Tooltip.prototype.shouldStickOnContact = function () {
637
+ return !!(!this.followPointer && this.options.stickOnContact);
638
+ };
807
639
  /**
808
640
  * Returns true, if the pointer is in contact with the tooltip tracker.
809
641
  */
810
642
  Tooltip.prototype.isStickyOnContact = function () {
811
- return !!(!this.followPointer &&
812
- this.options.stickOnContact &&
813
- this.inContact);
643
+ return !!(this.shouldStickOnContact() && this.inContact);
814
644
  };
815
645
  /**
816
646
  * Moves the tooltip with a soft animation to a new position.
@@ -873,16 +703,15 @@ var Tooltip = /** @class */ (function () {
873
703
  * used for the tooltip update.
874
704
  */
875
705
  Tooltip.prototype.refresh = function (pointOrPoints, mouseEvent) {
876
- var tooltip = this, chart = this.chart, options = tooltip.options, x, y, points = splat(pointOrPoints), point = points[0], anchor, textConfig = {}, text, pointConfig = [], formatter = options.formatter || tooltip.defaultFormatter, shared = tooltip.shared, styledMode = chart.styledMode;
706
+ var tooltip = this, chart = this.chart, options = tooltip.options, points = splat(pointOrPoints), point = points[0], pointConfig = [], formatter = options.formatter || tooltip.defaultFormatter, shared = tooltip.shared, styledMode = chart.styledMode;
707
+ var textConfig = {};
877
708
  if (!options.enabled) {
878
709
  return;
879
710
  }
880
711
  U.clearTimeout(this.hideTimer);
881
712
  // get the reference point coordinates (pie charts use tooltipPos)
882
713
  tooltip.followPointer = !tooltip.split && point.series.tooltipOptions.followPointer;
883
- anchor = tooltip.getAnchor(pointOrPoints, mouseEvent);
884
- x = anchor[0];
885
- y = anchor[1];
714
+ var anchor = tooltip.getAnchor(pointOrPoints, mouseEvent), x = anchor[0], y = anchor[1];
886
715
  // shared tooltip, array is sent over
887
716
  if (shared &&
888
717
  !(!isArray(pointOrPoints) &&
@@ -905,7 +734,7 @@ var Tooltip = /** @class */ (function () {
905
734
  textConfig = point.getLabelConfig();
906
735
  }
907
736
  this.len = pointConfig.length; // #6128
908
- text = formatter.call(textConfig, tooltip);
737
+ var text = formatter.call(textConfig, tooltip);
909
738
  // register the current series
910
739
  var currentSeries = point.series;
911
740
  this.distance = pick(currentSeries.tooltipOptions.distance, 16);
@@ -1045,12 +874,20 @@ var Tooltip = /** @class */ (function () {
1045
874
  * Calculates the position of the partial tooltip
1046
875
  *
1047
876
  * @private
1048
- * @param {number} anchorX The partial tooltip anchor x position
1049
- * @param {number} anchorY The partial tooltip anchor y position
1050
- * @param {boolean} isHeader Whether the partial tooltip is a header
1051
- * @param {number} boxWidth Width of the partial tooltip
1052
- * @return {Highcharts.PositionObject} Returns the partial tooltip x and
1053
- * y position
877
+ * @param {number} anchorX
878
+ * The partial tooltip anchor x position
879
+ *
880
+ * @param {number} anchorY
881
+ * The partial tooltip anchor y position
882
+ *
883
+ * @param {boolean|undefined} isHeader
884
+ * Whether the partial tooltip is a header
885
+ *
886
+ * @param {number} boxWidth
887
+ * Width of the partial tooltip
888
+ *
889
+ * @return {Highcharts.PositionObject}
890
+ * Returns the partial tooltip x and y position
1054
891
  */
1055
892
  function defaultPositioner(anchorX, anchorY, isHeader, boxWidth, alignedLeft) {
1056
893
  if (alignedLeft === void 0) { alignedLeft = true; }
@@ -1096,8 +933,7 @@ var Tooltip = /** @class */ (function () {
1096
933
  attribs['stroke-width'] = options.borderWidth;
1097
934
  }
1098
935
  tt = ren
1099
- .label('', 0, 0, (options[isHeader ? 'headerShape' : 'shape']) ||
1100
- 'callout', void 0, void 0, options.useHTML)
936
+ .label('', 0, 0, (options[isHeader ? 'headerShape' : 'shape']), void 0, void 0, options.useHTML)
1101
937
  .addClass((isHeader ? 'highcharts-tooltip-header ' : '') +
1102
938
  'highcharts-tooltip-box ' +
1103
939
  colorClass)
@@ -1203,7 +1039,7 @@ var Tooltip = /** @class */ (function () {
1203
1039
  // Clean previous run (for missing points)
1204
1040
  tooltip.cleanSplit();
1205
1041
  // Distribute and put in place
1206
- H.distribute(boxes, adjustedPlotHeight);
1042
+ distribute(boxes, adjustedPlotHeight);
1207
1043
  var boxExtremes = {
1208
1044
  left: chartLeft,
1209
1045
  right: chartLeft
@@ -1284,8 +1120,8 @@ var Tooltip = /** @class */ (function () {
1284
1120
  }
1285
1121
  var chart = tooltip.chart;
1286
1122
  var label = tooltip.label;
1287
- var point = chart.hoverPoint;
1288
- if (!label || !point) {
1123
+ var points = tooltip.shared ? chart.hoverPoints : chart.hoverPoint;
1124
+ if (!label || !points) {
1289
1125
  return;
1290
1126
  }
1291
1127
  var box = {
@@ -1295,7 +1131,7 @@ var Tooltip = /** @class */ (function () {
1295
1131
  height: 0
1296
1132
  };
1297
1133
  // Combine anchor and tooltip
1298
- var anchorPos = this.getAnchor(point);
1134
+ var anchorPos = this.getAnchor(points);
1299
1135
  var labelBBox = label.getBBox();
1300
1136
  anchorPos[0] += chart.plotLeft - label.translateX;
1301
1137
  anchorPos[1] += chart.plotTop - label.translateY;
@@ -1343,20 +1179,19 @@ var Tooltip = /** @class */ (function () {
1343
1179
  * @return {string}
1344
1180
  */
1345
1181
  Tooltip.prototype.tooltipFooterHeaderFormatter = function (labelConfig, isFooter) {
1346
- var footOrHead = isFooter ? 'footer' : 'header', series = labelConfig.series, tooltipOptions = series.tooltipOptions, xDateFormat = tooltipOptions.xDateFormat, xAxis = series.xAxis, isDateTime = (xAxis &&
1347
- xAxis.options.type === 'datetime' &&
1348
- isNumber(labelConfig.key)), formatString = tooltipOptions[footOrHead + 'Format'], e = {
1182
+ var series = labelConfig.series, tooltipOptions = series.tooltipOptions, xAxis = series.xAxis, dateTime = xAxis && xAxis.dateTime, e = {
1349
1183
  isFooter: isFooter,
1350
1184
  labelConfig: labelConfig
1351
1185
  };
1186
+ var xDateFormat = tooltipOptions.xDateFormat, formatString = tooltipOptions[isFooter ? 'footerFormat' : 'headerFormat'];
1352
1187
  fireEvent(this, 'headerFormatter', e, function (e) {
1353
1188
  // Guess the best date format based on the closest point distance
1354
1189
  // (#568, #3418)
1355
- if (isDateTime && !xDateFormat) {
1356
- xDateFormat = this.getXDateFormat(labelConfig, tooltipOptions, xAxis);
1190
+ if (dateTime && !xDateFormat && isNumber(labelConfig.key)) {
1191
+ xDateFormat = dateTime.getXDateFormat(labelConfig.key, tooltipOptions.dateTimeLabelFormats);
1357
1192
  }
1358
1193
  // Insert the footer date format if any
1359
- if (isDateTime && xDateFormat) {
1194
+ if (dateTime && xDateFormat) {
1360
1195
  ((labelConfig.point && labelConfig.point.tooltipDateKeys) ||
1361
1196
  ['key']).forEach(function (key) {
1362
1197
  formatString = formatString.replace('{point.' + key + '}', '{point.' + key + ':' + xDateFormat + '}');
@@ -1396,13 +1231,13 @@ var Tooltip = /** @class */ (function () {
1396
1231
  * @param {Highcharts.Point} point
1397
1232
  */
1398
1233
  Tooltip.prototype.updatePosition = function (point) {
1399
- var chart = this.chart, pointer = chart.pointer, label = this.getLabel(), pos, anchorX = point.plotX + chart.plotLeft, anchorY = point.plotY + chart.plotTop, pad;
1234
+ var chart = this.chart, options = this.options, pointer = chart.pointer, label = this.getLabel(),
1400
1235
  // Needed for outside: true (#11688)
1401
- var chartPosition = pointer.getChartPosition();
1402
- pos = (this.options.positioner || this.getPosition).call(this, label.width, label.height, point);
1236
+ chartPosition = pointer.getChartPosition(), pos = (options.positioner || this.getPosition).call(this, label.width, label.height, point);
1237
+ var anchorX = point.plotX + chart.plotLeft, anchorY = point.plotY + chart.plotTop, pad;
1403
1238
  // Set the renderer size dynamically to prevent document size to change
1404
1239
  if (this.outside) {
1405
- pad = (this.options.borderWidth || 0) + 2 * this.distance;
1240
+ pad = options.borderWidth + 2 * this.distance;
1406
1241
  this.renderer.setSize(label.width + pad, label.height + pad, false);
1407
1242
  // Anchor and tooltip container need scaling if chart container has
1408
1243
  // scale transform/css zoom. #11329.
@@ -1422,5 +1257,112 @@ var Tooltip = /** @class */ (function () {
1422
1257
  };
1423
1258
  return Tooltip;
1424
1259
  }());
1425
- H.Tooltip = Tooltip;
1426
- export default H.Tooltip;
1260
+ /* *
1261
+ *
1262
+ * Default export
1263
+ *
1264
+ * */
1265
+ export default Tooltip;
1266
+ /* *
1267
+ *
1268
+ * API Declarations
1269
+ *
1270
+ * */
1271
+ /**
1272
+ * Callback function to format the text of the tooltip from scratch.
1273
+ *
1274
+ * In case of single or shared tooltips, a string should be be returned. In case
1275
+ * of splitted tooltips, it should return an array where the first item is the
1276
+ * header, and subsequent items are mapped to the points. Return `false` to
1277
+ * disable tooltip for a specific point on series.
1278
+ *
1279
+ * @callback Highcharts.TooltipFormatterCallbackFunction
1280
+ *
1281
+ * @param {Highcharts.TooltipFormatterContextObject} this
1282
+ * Context to format
1283
+ *
1284
+ * @param {Highcharts.Tooltip} tooltip
1285
+ * The tooltip instance
1286
+ *
1287
+ * @return {false|string|Array<(string|null|undefined)>|null|undefined}
1288
+ * Formatted text or false
1289
+ */
1290
+ /**
1291
+ * @interface Highcharts.TooltipFormatterContextObject
1292
+ */ /**
1293
+ * @name Highcharts.TooltipFormatterContextObject#color
1294
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1295
+ */ /**
1296
+ * @name Highcharts.TooltipFormatterContextObject#colorIndex
1297
+ * @type {number|undefined}
1298
+ */ /**
1299
+ * @name Highcharts.TooltipFormatterContextObject#key
1300
+ * @type {number}
1301
+ */ /**
1302
+ * @name Highcharts.TooltipFormatterContextObject#percentage
1303
+ * @type {number|undefined}
1304
+ */ /**
1305
+ * @name Highcharts.TooltipFormatterContextObject#point
1306
+ * @type {Highcharts.Point}
1307
+ */ /**
1308
+ * @name Highcharts.TooltipFormatterContextObject#points
1309
+ * @type {Array<Highcharts.TooltipFormatterContextObject>|undefined}
1310
+ */ /**
1311
+ * @name Highcharts.TooltipFormatterContextObject#series
1312
+ * @type {Highcharts.Series}
1313
+ */ /**
1314
+ * @name Highcharts.TooltipFormatterContextObject#total
1315
+ * @type {number|undefined}
1316
+ */ /**
1317
+ * @name Highcharts.TooltipFormatterContextObject#x
1318
+ * @type {number}
1319
+ */ /**
1320
+ * @name Highcharts.TooltipFormatterContextObject#y
1321
+ * @type {number}
1322
+ */
1323
+ /**
1324
+ * A callback function to place the tooltip in a specific position.
1325
+ *
1326
+ * @callback Highcharts.TooltipPositionerCallbackFunction
1327
+ *
1328
+ * @param {Highcharts.Tooltip} this
1329
+ * Tooltip context of the callback.
1330
+ *
1331
+ * @param {number} labelWidth
1332
+ * Width of the tooltip.
1333
+ *
1334
+ * @param {number} labelHeight
1335
+ * Height of the tooltip.
1336
+ *
1337
+ * @param {Highcharts.TooltipPositionerPointObject} point
1338
+ * Point information for positioning a tooltip.
1339
+ *
1340
+ * @return {Highcharts.PositionObject}
1341
+ * New position for the tooltip.
1342
+ */
1343
+ /**
1344
+ * Point information for positioning a tooltip.
1345
+ *
1346
+ * @interface Highcharts.TooltipPositionerPointObject
1347
+ * @extends Highcharts.Point
1348
+ */ /**
1349
+ * If `tooltip.split` option is enabled and positioner is called for each of the
1350
+ * boxes separately, this property indicates the call on the xAxis header, which
1351
+ * is not a point itself.
1352
+ * @name Highcharts.TooltipPositionerPointObject#isHeader
1353
+ * @type {boolean}
1354
+ */ /**
1355
+ * The reference point relative to the plot area. Add chart.plotLeft to get the
1356
+ * full coordinates.
1357
+ * @name Highcharts.TooltipPositionerPointObject#plotX
1358
+ * @type {number}
1359
+ */ /**
1360
+ * The reference point relative to the plot area. Add chart.plotTop to get the
1361
+ * full coordinates.
1362
+ * @name Highcharts.TooltipPositionerPointObject#plotY
1363
+ * @type {number}
1364
+ */
1365
+ /**
1366
+ * @typedef {"callout"|"circle"|"square"} Highcharts.TooltipShapeValue
1367
+ */
1368
+ ''; // keeps doclets above in JS file