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
@@ -0,0 +1,472 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Highsoft AS
4
+ *
5
+ * Author: Paweł Potaczek
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * */
12
+ 'use strict';
13
+ import Color from '../../Core/Color/Color.js';
14
+ var color = Color.parse;
15
+ import F from '../../Core/FormatUtilities.js';
16
+ import H from '../../Core/Globals.js';
17
+ var noop = H.noop;
18
+ import U from '../../Core/Utilities.js';
19
+ var arrayMax = U.arrayMax, arrayMin = U.arrayMin, isNumber = U.isNumber, merge = U.merge, pick = U.pick, stableSort = U.stableSort;
20
+ /**
21
+ * @interface Highcharts.BubbleLegendFormatterContextObject
22
+ */ /**
23
+ * The center y position of the range.
24
+ * @name Highcharts.BubbleLegendFormatterContextObject#center
25
+ * @type {number}
26
+ */ /**
27
+ * The radius of the bubble range.
28
+ * @name Highcharts.BubbleLegendFormatterContextObject#radius
29
+ * @type {number}
30
+ */ /**
31
+ * The bubble value.
32
+ * @name Highcharts.BubbleLegendFormatterContextObject#value
33
+ * @type {number}
34
+ */
35
+ ''; // detach doclets above
36
+ /* *
37
+ *
38
+ * Class
39
+ *
40
+ * */
41
+ /* eslint-disable no-invalid-this, valid-jsdoc */
42
+ /**
43
+ * BubbleLegend class.
44
+ *
45
+ * @private
46
+ * @class
47
+ * @name Highcharts.BubbleLegend
48
+ * @param {Highcharts.LegendBubbleLegendOptions} options
49
+ * Options of BubbleLegendItem.
50
+ *
51
+ * @param {Highcharts.Legend} legend
52
+ * Legend of item.
53
+ */
54
+ var BubbleLegendItem = /** @class */ (function () {
55
+ function BubbleLegendItem(options, legend) {
56
+ this.chart = void 0;
57
+ this.fontMetrics = void 0;
58
+ this.legend = void 0;
59
+ this.legendGroup = void 0;
60
+ this.legendItem = void 0;
61
+ this.legendItemHeight = void 0;
62
+ this.legendItemWidth = void 0;
63
+ this.legendSymbol = void 0;
64
+ this.maxLabel = void 0;
65
+ this.movementX = void 0;
66
+ this.ranges = void 0;
67
+ this.selected = void 0;
68
+ this.visible = void 0;
69
+ this.symbols = void 0;
70
+ this.options = void 0;
71
+ this.setState = noop;
72
+ this.init(options, legend);
73
+ }
74
+ /**
75
+ * Create basic bubbleLegend properties similar to item in legend.
76
+ *
77
+ * @private
78
+ * @function Highcharts.BubbleLegend#init
79
+ * @param {Highcharts.LegendBubbleLegendOptions} options
80
+ * Bubble legend options
81
+ * @param {Highcharts.Legend} legend
82
+ * Legend
83
+ * @return {void}
84
+ */
85
+ BubbleLegendItem.prototype.init = function (options, legend) {
86
+ this.options = options;
87
+ this.visible = true;
88
+ this.chart = legend.chart;
89
+ this.legend = legend;
90
+ };
91
+ /**
92
+ * Depending on the position option, add bubbleLegend to legend items.
93
+ *
94
+ * @private
95
+ * @function Highcharts.BubbleLegend#addToLegend
96
+ * @param {Array<(Highcharts.Point|Highcharts.Series)>}
97
+ * All legend items
98
+ * @return {void}
99
+ */
100
+ BubbleLegendItem.prototype.addToLegend = function (items) {
101
+ // Insert bubbleLegend into legend items
102
+ items.splice(this.options.legendIndex, 0, this);
103
+ };
104
+ /**
105
+ * Calculate ranges, sizes and call the next steps of bubbleLegend
106
+ * creation.
107
+ *
108
+ * @private
109
+ * @function Highcharts.BubbleLegend#drawLegendSymbol
110
+ * @param {Highcharts.Legend} legend
111
+ * Legend instance
112
+ * @return {void}
113
+ */
114
+ BubbleLegendItem.prototype.drawLegendSymbol = function (legend) {
115
+ var chart = this.chart, options = this.options, itemDistance = pick(legend.options.itemDistance, 20), ranges = options.ranges, connectorDistance = options.connectorDistance;
116
+ var connectorSpace;
117
+ // Predict label dimensions
118
+ this.fontMetrics = chart.renderer.fontMetrics(options.labels.style.fontSize);
119
+ // Do not create bubbleLegend now if ranges or ranges valeus are not
120
+ // specified or if are empty array.
121
+ if (!ranges || !ranges.length || !isNumber(ranges[0].value)) {
122
+ legend.options.bubbleLegend.autoRanges = true;
123
+ return;
124
+ }
125
+ // Sort ranges to right render order
126
+ stableSort(ranges, function (a, b) {
127
+ return b.value - a.value;
128
+ });
129
+ this.ranges = ranges;
130
+ this.setOptions();
131
+ this.render();
132
+ // Get max label size
133
+ var maxLabel = this.getMaxLabelSize(), radius = this.ranges[0].radius, size = radius * 2;
134
+ // Space for connectors and labels.
135
+ connectorSpace =
136
+ connectorDistance - radius + maxLabel.width;
137
+ connectorSpace = connectorSpace > 0 ? connectorSpace : 0;
138
+ this.maxLabel = maxLabel;
139
+ this.movementX = options.labels.align === 'left' ?
140
+ connectorSpace : 0;
141
+ this.legendItemWidth = size + connectorSpace + itemDistance;
142
+ this.legendItemHeight = size + this.fontMetrics.h / 2;
143
+ };
144
+ /**
145
+ * Set style options for each bubbleLegend range.
146
+ *
147
+ * @private
148
+ * @function Highcharts.BubbleLegend#setOptions
149
+ * @return {void}
150
+ */
151
+ BubbleLegendItem.prototype.setOptions = function () {
152
+ var ranges = this.ranges, options = this.options, series = this.chart.series[options.seriesIndex], baseline = this.legend.baseline, bubbleAttribs = {
153
+ zIndex: options.zIndex,
154
+ 'stroke-width': options.borderWidth
155
+ }, connectorAttribs = {
156
+ zIndex: options.zIndex,
157
+ 'stroke-width': options.connectorWidth
158
+ }, labelAttribs = {
159
+ align: (this.legend.options.rtl ||
160
+ options.labels.align === 'left') ? 'right' : 'left',
161
+ zIndex: options.zIndex
162
+ }, fillOpacity = series.options.marker.fillOpacity, styledMode = this.chart.styledMode;
163
+ // Allow to parts of styles be used individually for range
164
+ ranges.forEach(function (range, i) {
165
+ if (!styledMode) {
166
+ bubbleAttribs.stroke = pick(range.borderColor, options.borderColor, series.color);
167
+ bubbleAttribs.fill = pick(range.color, options.color, fillOpacity !== 1 ?
168
+ color(series.color).setOpacity(fillOpacity)
169
+ .get('rgba') :
170
+ series.color);
171
+ connectorAttribs.stroke = pick(range.connectorColor, options.connectorColor, series.color);
172
+ }
173
+ // Set options needed for rendering each range
174
+ ranges[i].radius = this.getRangeRadius(range.value);
175
+ ranges[i] = merge(ranges[i], {
176
+ center: (ranges[0].radius - ranges[i].radius +
177
+ baseline)
178
+ });
179
+ if (!styledMode) {
180
+ merge(true, ranges[i], {
181
+ bubbleAttribs: merge(bubbleAttribs),
182
+ connectorAttribs: merge(connectorAttribs),
183
+ labelAttribs: labelAttribs
184
+ });
185
+ }
186
+ }, this);
187
+ };
188
+ /**
189
+ * Calculate radius for each bubble range,
190
+ * used code from BubbleSeries.js 'getRadius' method.
191
+ *
192
+ * @private
193
+ * @function Highcharts.BubbleLegend#getRangeRadius
194
+ * @param {number} value
195
+ * Range value
196
+ * @return {number|null}
197
+ * Radius for one range
198
+ */
199
+ BubbleLegendItem.prototype.getRangeRadius = function (value) {
200
+ var options = this.options, seriesIndex = this.options.seriesIndex, bubbleSeries = this.chart.series[seriesIndex], zMax = options.ranges[0].value, zMin = options.ranges[options.ranges.length - 1].value, minSize = options.minSize, maxSize = options.maxSize;
201
+ return bubbleSeries.getRadius.call(this, zMin, zMax, minSize, maxSize, value);
202
+ };
203
+ /**
204
+ * Render the legendSymbol group.
205
+ *
206
+ * @private
207
+ * @function Highcharts.BubbleLegend#render
208
+ * @return {void}
209
+ */
210
+ BubbleLegendItem.prototype.render = function () {
211
+ var renderer = this.chart.renderer, zThreshold = this.options.zThreshold;
212
+ if (!this.symbols) {
213
+ this.symbols = {
214
+ connectors: [],
215
+ bubbleItems: [],
216
+ labels: []
217
+ };
218
+ }
219
+ // Nesting SVG groups to enable handleOverflow
220
+ this.legendSymbol = renderer.g('bubble-legend');
221
+ this.legendItem = renderer.g('bubble-legend-item');
222
+ // To enable default 'hideOverlappingLabels' method
223
+ this.legendSymbol.translateX = 0;
224
+ this.legendSymbol.translateY = 0;
225
+ this.ranges.forEach(function (range) {
226
+ if (range.value >= zThreshold) {
227
+ this.renderRange(range);
228
+ }
229
+ }, this);
230
+ // To use handleOverflow method
231
+ this.legendSymbol.add(this.legendItem);
232
+ this.legendItem.add(this.legendGroup);
233
+ this.hideOverlappingLabels();
234
+ };
235
+ /**
236
+ * Render one range, consisting of bubble symbol, connector and label.
237
+ *
238
+ * @private
239
+ * @function Highcharts.BubbleLegend#renderRange
240
+ * @param {Highcharts.LegendBubbleLegendRangesOptions} range
241
+ * Range options
242
+ * @return {void}
243
+ */
244
+ BubbleLegendItem.prototype.renderRange = function (range) {
245
+ var mainRange = this.ranges[0], legend = this.legend, options = this.options, labelsOptions = options.labels, chart = this.chart, bubbleSeries = chart.series[options.seriesIndex], renderer = chart.renderer, symbols = this.symbols, labels = symbols.labels, elementCenter = range.center, absoluteRadius = Math.abs(range.radius), connectorDistance = options.connectorDistance || 0, labelsAlign = labelsOptions.align, rtl = legend.options.rtl, borderWidth = options.borderWidth, connectorWidth = options.connectorWidth, posX = mainRange.radius || 0, posY = elementCenter - absoluteRadius -
246
+ borderWidth / 2 + connectorWidth / 2, fontMetrics = this.fontMetrics, labelMovement = fontMetrics.f / 2 -
247
+ (fontMetrics.h - fontMetrics.f) / 2, crispMovement = (posY % 1 ? 1 : 0.5) -
248
+ (connectorWidth % 2 ? 0 : 0.5), styledMode = renderer.styledMode;
249
+ var connectorLength = rtl || labelsAlign === 'left' ?
250
+ -connectorDistance : connectorDistance;
251
+ // Set options for centered labels
252
+ if (labelsAlign === 'center') {
253
+ connectorLength = 0; // do not use connector
254
+ options.connectorDistance = 0;
255
+ range.labelAttribs.align = 'center';
256
+ }
257
+ var labelY = posY + options.labels.y, labelX = posX + connectorLength + options.labels.x;
258
+ // Render bubble symbol
259
+ symbols.bubbleItems.push(renderer
260
+ .circle(posX, elementCenter + crispMovement, absoluteRadius)
261
+ .attr(styledMode ? {} : range.bubbleAttribs)
262
+ .addClass((styledMode ?
263
+ 'highcharts-color-' +
264
+ bubbleSeries.colorIndex + ' ' :
265
+ '') +
266
+ 'highcharts-bubble-legend-symbol ' +
267
+ (options.className || '')).add(this.legendSymbol));
268
+ // Render connector
269
+ symbols.connectors.push(renderer
270
+ .path(renderer.crispLine([
271
+ ['M', posX, posY],
272
+ ['L', posX + connectorLength, posY]
273
+ ], options.connectorWidth))
274
+ .attr((styledMode ? {} : range.connectorAttribs))
275
+ .addClass((styledMode ?
276
+ 'highcharts-color-' +
277
+ this.options.seriesIndex + ' ' : '') +
278
+ 'highcharts-bubble-legend-connectors ' +
279
+ (options.connectorClassName || '')).add(this.legendSymbol));
280
+ // Render label
281
+ var label = renderer
282
+ .text(this.formatLabel(range), labelX, labelY + labelMovement)
283
+ .attr((styledMode ? {} : range.labelAttribs))
284
+ .css(styledMode ? {} : labelsOptions.style)
285
+ .addClass('highcharts-bubble-legend-labels ' +
286
+ (options.labels.className || '')).add(this.legendSymbol);
287
+ labels.push(label);
288
+ // To enable default 'hideOverlappingLabels' method
289
+ label.placed = true;
290
+ label.alignAttr = {
291
+ x: labelX,
292
+ y: labelY + labelMovement
293
+ };
294
+ };
295
+ /**
296
+ * Get the label which takes up the most space.
297
+ *
298
+ * @private
299
+ * @function Highcharts.BubbleLegend#getMaxLabelSize
300
+ * @return {Highcharts.BBoxObject}
301
+ */
302
+ BubbleLegendItem.prototype.getMaxLabelSize = function () {
303
+ var labels = this.symbols.labels;
304
+ var maxLabel, labelSize;
305
+ labels.forEach(function (label) {
306
+ labelSize = label.getBBox(true);
307
+ if (maxLabel) {
308
+ maxLabel = labelSize.width > maxLabel.width ?
309
+ labelSize : maxLabel;
310
+ }
311
+ else {
312
+ maxLabel = labelSize;
313
+ }
314
+ });
315
+ return maxLabel || {};
316
+ };
317
+ /**
318
+ * Get formatted label for range.
319
+ *
320
+ * @private
321
+ * @function Highcharts.BubbleLegend#formatLabel
322
+ * @param {Highcharts.LegendBubbleLegendRangesOptions} range
323
+ * Range options
324
+ * @return {string}
325
+ * Range label text
326
+ */
327
+ BubbleLegendItem.prototype.formatLabel = function (range) {
328
+ var options = this.options, formatter = options.labels.formatter, format = options.labels.format;
329
+ var numberFormatter = this.chart.numberFormatter;
330
+ return format ? F.format(format, range) :
331
+ formatter ? formatter.call(range) :
332
+ numberFormatter(range.value, 1);
333
+ };
334
+ /**
335
+ * By using default chart 'hideOverlappingLabels' method, hide or show
336
+ * labels and connectors.
337
+ *
338
+ * @private
339
+ * @function Highcharts.BubbleLegend#hideOverlappingLabels
340
+ * @return {void}
341
+ */
342
+ BubbleLegendItem.prototype.hideOverlappingLabels = function () {
343
+ var chart = this.chart, allowOverlap = this.options.labels.allowOverlap, symbols = this.symbols;
344
+ if (!allowOverlap && symbols) {
345
+ chart.hideOverlappingLabels(symbols.labels);
346
+ // Hide or show connectors
347
+ symbols.labels.forEach(function (label, index) {
348
+ if (!label.newOpacity) {
349
+ symbols.connectors[index].hide();
350
+ }
351
+ else if (label.newOpacity !== label.oldOpacity) {
352
+ symbols.connectors[index].show();
353
+ }
354
+ });
355
+ }
356
+ };
357
+ /**
358
+ * Calculate ranges from created series.
359
+ *
360
+ * @private
361
+ * @function Highcharts.BubbleLegend#getRanges
362
+ * @return {Array<Highcharts.LegendBubbleLegendRangesOptions>}
363
+ * Array of range objects
364
+ */
365
+ BubbleLegendItem.prototype.getRanges = function () {
366
+ var bubbleLegend = this.legend.bubbleLegend, series = bubbleLegend.chart.series, rangesOptions = bubbleLegend.options.ranges;
367
+ var ranges, zData, minZ = Number.MAX_VALUE, maxZ = -Number.MAX_VALUE;
368
+ series.forEach(function (s) {
369
+ // Find the min and max Z, like in bubble series
370
+ if (s.isBubble && !s.ignoreSeries) {
371
+ zData = s.zData.filter(isNumber);
372
+ if (zData.length) {
373
+ minZ = pick(s.options.zMin, Math.min(minZ, Math.max(arrayMin(zData), s.options.displayNegative === false ?
374
+ s.options.zThreshold :
375
+ -Number.MAX_VALUE)));
376
+ maxZ = pick(s.options.zMax, Math.max(maxZ, arrayMax(zData)));
377
+ }
378
+ }
379
+ });
380
+ // Set values for ranges
381
+ if (minZ === maxZ) {
382
+ // Only one range if min and max values are the same.
383
+ ranges = [{ value: maxZ }];
384
+ }
385
+ else {
386
+ ranges = [
387
+ { value: minZ },
388
+ { value: (minZ + maxZ) / 2 },
389
+ { value: maxZ, autoRanges: true }
390
+ ];
391
+ }
392
+ // Prevent reverse order of ranges after redraw
393
+ if (rangesOptions.length && rangesOptions[0].radius) {
394
+ ranges.reverse();
395
+ }
396
+ // Merge ranges values with user options
397
+ ranges.forEach(function (range, i) {
398
+ if (rangesOptions && rangesOptions[i]) {
399
+ ranges[i] = merge(rangesOptions[i], range);
400
+ }
401
+ });
402
+ return ranges;
403
+ };
404
+ /**
405
+ * Calculate bubble legend sizes from rendered series.
406
+ *
407
+ * @private
408
+ * @function Highcharts.BubbleLegend#predictBubbleSizes
409
+ * @return {Array<number,number>}
410
+ * Calculated min and max bubble sizes
411
+ */
412
+ BubbleLegendItem.prototype.predictBubbleSizes = function () {
413
+ var chart = this.chart, fontMetrics = this.fontMetrics, legendOptions = chart.legend.options, floating = legendOptions.floating, horizontal = legendOptions.layout === 'horizontal', lastLineHeight = horizontal ? chart.legend.lastLineHeight : 0, plotSizeX = chart.plotSizeX, plotSizeY = chart.plotSizeY, bubbleSeries = chart.series[this.options.seriesIndex], minSize = Math.ceil(bubbleSeries.minPxSize), maxPxSize = Math.ceil(bubbleSeries.maxPxSize), plotSize = Math.min(plotSizeY, plotSizeX);
414
+ var calculatedSize, maxSize = bubbleSeries.options.maxSize;
415
+ // Calculate prediceted max size of bubble
416
+ if (floating || !(/%$/.test(maxSize))) {
417
+ calculatedSize = maxPxSize;
418
+ }
419
+ else {
420
+ maxSize = parseFloat(maxSize);
421
+ calculatedSize = ((plotSize + lastLineHeight -
422
+ fontMetrics.h / 2) * maxSize / 100) / (maxSize / 100 + 1);
423
+ // Get maxPxSize from bubble series if calculated bubble legend
424
+ // size will not affect to bubbles series.
425
+ if ((horizontal && plotSizeY - calculatedSize >=
426
+ plotSizeX) || (!horizontal && plotSizeX -
427
+ calculatedSize >= plotSizeY)) {
428
+ calculatedSize = maxPxSize;
429
+ }
430
+ }
431
+ return [minSize, Math.ceil(calculatedSize)];
432
+ };
433
+ /**
434
+ * Correct ranges with calculated sizes.
435
+ *
436
+ * @private
437
+ * @function Highcharts.BubbleLegend#updateRanges
438
+ * @param {number} min
439
+ * @param {number} max
440
+ * @return {void}
441
+ */
442
+ BubbleLegendItem.prototype.updateRanges = function (min, max) {
443
+ var bubbleLegendOptions = this.legend.options.bubbleLegend;
444
+ bubbleLegendOptions.minSize = min;
445
+ bubbleLegendOptions.maxSize = max;
446
+ bubbleLegendOptions.ranges = this.getRanges();
447
+ };
448
+ /**
449
+ * Because of the possibility of creating another legend line, predicted
450
+ * bubble legend sizes may differ by a few pixels, so it is necessary to
451
+ * correct them.
452
+ *
453
+ * @private
454
+ * @function Highcharts.BubbleLegend#correctSizes
455
+ * @return {void}
456
+ */
457
+ BubbleLegendItem.prototype.correctSizes = function () {
458
+ var legend = this.legend, chart = this.chart, bubbleSeries = chart.series[this.options.seriesIndex], bubbleSeriesSize = bubbleSeries.maxPxSize, bubbleLegendSize = this.options.maxSize;
459
+ if (Math.abs(Math.ceil(bubbleSeriesSize) - bubbleLegendSize) >
460
+ 1) {
461
+ this.updateRanges(this.options.minSize, bubbleSeries.maxPxSize);
462
+ legend.render();
463
+ }
464
+ };
465
+ return BubbleLegendItem;
466
+ }());
467
+ /* *
468
+ *
469
+ * Default Export
470
+ *
471
+ * */
472
+ export default BubbleLegendItem;
@@ -22,6 +22,7 @@ var __extends = (this && this.__extends) || (function () {
22
22
  };
23
23
  })();
24
24
  import Axis from '../../Core/Axis/Axis.js';
25
+ import BubbleLegendComposition from './BubbleLegendComposition.js';
25
26
  import BubblePoint from './BubblePoint.js';
26
27
  import Color from '../../Core/Color/Color.js';
27
28
  var color = Color.parse;
@@ -34,7 +35,7 @@ import U from '../../Core/Utilities.js';
34
35
  var arrayMax = U.arrayMax, arrayMin = U.arrayMin, clamp = U.clamp, extend = U.extend, isNumber = U.isNumber, merge = U.merge, pick = U.pick, pInt = U.pInt;
35
36
  import '../Column/ColumnSeries.js';
36
37
  import '../Scatter/ScatterSeries.js';
37
- import './BubbleLegend.js';
38
+ import './BubbleLegendItem.js';
38
39
  /* *
39
40
  *
40
41
  * Class
@@ -200,6 +201,7 @@ var BubbleSeries = /** @class */ (function (_super) {
200
201
  }
201
202
  }
202
203
  };
204
+ BubbleSeries.compose = BubbleLegendComposition.compose;
203
205
  /**
204
206
  * A bubble series is a three dimensional series type where each point
205
207
  * renders an X, Y and Z value. Each points is drawn as a bubble where the
@@ -218,7 +220,9 @@ var BubbleSeries = /** @class */ (function (_super) {
218
220
  BubbleSeries.defaultOptions = merge(ScatterSeries.defaultOptions, {
219
221
  dataLabels: {
220
222
  formatter: function () {
221
- return this.point.z;
223
+ var numberFormatter = this.series.chart.numberFormatter;
224
+ var z = this.point.z;
225
+ return isNumber(z) ? numberFormatter(z, -1) : '';
222
226
  },
223
227
  inside: true,
224
228
  verticalAlign: 'middle'
@@ -0,0 +1,109 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import DataLabel from '../../Core/Series/DataLabel.js';
12
+ import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
13
+ var Series = SeriesRegistry.series;
14
+ import U from '../../Core/Utilities.js';
15
+ var merge = U.merge, pick = U.pick;
16
+ /* *
17
+ *
18
+ * Composition
19
+ *
20
+ * */
21
+ var ColumnDataLabel;
22
+ (function (ColumnDataLabel) {
23
+ /* *
24
+ *
25
+ * Constants
26
+ *
27
+ * */
28
+ var composedClasses = [];
29
+ /* *
30
+ *
31
+ * Functions
32
+ *
33
+ * */
34
+ /* eslint-disable valid-jsdoc */
35
+ /**
36
+ * Override the basic data label alignment by adjusting for the position of
37
+ * the column.
38
+ * @private
39
+ */
40
+ function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
41
+ var inverted = this.chart.inverted, series = point.series,
42
+ // data label box for alignment
43
+ dlBox = point.dlBox || point.shapeArgs, below = pick(point.below, // range series
44
+ point.plotY >
45
+ pick(this.translatedThreshold, series.yAxis.len)),
46
+ // draw it inside the box?
47
+ inside = pick(options.inside, !!this.options.stacking), overshoot;
48
+ // Align to the column itself, or the top of it
49
+ if (dlBox) { // Area range uses this method but not alignTo
50
+ alignTo = merge(dlBox);
51
+ if (alignTo.y < 0) {
52
+ alignTo.height += alignTo.y;
53
+ alignTo.y = 0;
54
+ }
55
+ // If parts of the box overshoots outside the plot area, modify the
56
+ // box to center the label inside
57
+ overshoot = alignTo.y + alignTo.height - series.yAxis.len;
58
+ if (overshoot > 0 && overshoot < alignTo.height) {
59
+ alignTo.height -= overshoot;
60
+ }
61
+ if (inverted) {
62
+ alignTo = {
63
+ x: series.yAxis.len - alignTo.y - alignTo.height,
64
+ y: series.xAxis.len - alignTo.x - alignTo.width,
65
+ width: alignTo.height,
66
+ height: alignTo.width
67
+ };
68
+ }
69
+ // Compute the alignment box
70
+ if (!inside) {
71
+ if (inverted) {
72
+ alignTo.x += below ? 0 : alignTo.width;
73
+ alignTo.width = 0;
74
+ }
75
+ else {
76
+ alignTo.y += below ? alignTo.height : 0;
77
+ alignTo.height = 0;
78
+ }
79
+ }
80
+ }
81
+ // When alignment is undefined (typically columns and bars), display the
82
+ // individual point below or above the point depending on the threshold
83
+ options.align = pick(options.align, !inverted || inside ? 'center' : below ? 'right' : 'left');
84
+ options.verticalAlign = pick(options.verticalAlign, inverted || inside ? 'middle' : below ? 'top' : 'bottom');
85
+ // Call the parent method
86
+ Series.prototype.alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);
87
+ // If label was justified and we have contrast, set it:
88
+ if (options.inside && point.contrastColor) {
89
+ dataLabel.css({
90
+ color: point.contrastColor
91
+ });
92
+ }
93
+ }
94
+ /** @private */
95
+ function compose(ColumnSeriesClass) {
96
+ DataLabel.compose(Series);
97
+ if (composedClasses.indexOf(ColumnSeriesClass) === -1) {
98
+ composedClasses.push(ColumnSeriesClass);
99
+ ColumnSeriesClass.prototype.alignDataLabel = alignDataLabel;
100
+ }
101
+ }
102
+ ColumnDataLabel.compose = compose;
103
+ })(ColumnDataLabel || (ColumnDataLabel = {}));
104
+ /* *
105
+ *
106
+ * Default Export
107
+ *
108
+ * */
109
+ export default ColumnDataLabel;