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,665 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ var __extends = (this && this.__extends) || (function () {
12
+ var extendStatics = function (d, b) {
13
+ extendStatics = Object.setPrototypeOf ||
14
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
16
+ return extendStatics(d, b);
17
+ };
18
+ return function (d, b) {
19
+ extendStatics(d, b);
20
+ function __() { this.constructor = d; }
21
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22
+ };
23
+ })();
24
+ import Axis from '../Axis.js';
25
+ import Color from '../../Color/Color.js';
26
+ var color = Color.parse;
27
+ import ColorAxisComposition from './ColorAxisComposition.js';
28
+ import ColorAxisDefaults from './ColorAxisDefaults.js';
29
+ import H from '../../Globals.js';
30
+ var noop = H.noop;
31
+ import LegendSymbol from '../../Legend/LegendSymbol.js';
32
+ import SeriesRegistry from '../../Series/SeriesRegistry.js';
33
+ var Series = SeriesRegistry.series;
34
+ import U from '../../Utilities.js';
35
+ var extend = U.extend, isNumber = U.isNumber, merge = U.merge, pick = U.pick;
36
+ /* *
37
+ *
38
+ * Class
39
+ *
40
+ * */
41
+ /* eslint-disable no-invalid-this, valid-jsdoc */
42
+ /**
43
+ * The ColorAxis object for inclusion in gradient legends.
44
+ *
45
+ * @class
46
+ * @name Highcharts.ColorAxis
47
+ * @augments Highcharts.Axis
48
+ *
49
+ * @param {Highcharts.Chart} chart
50
+ * The related chart of the color axis.
51
+ *
52
+ * @param {Highcharts.ColorAxisOptions} userOptions
53
+ * The color axis options for initialization.
54
+ */
55
+ var ColorAxis = /** @class */ (function (_super) {
56
+ __extends(ColorAxis, _super);
57
+ /* *
58
+ *
59
+ * Constructors
60
+ *
61
+ * */
62
+ /**
63
+ * @private
64
+ */
65
+ function ColorAxis(chart, userOptions) {
66
+ var _this = _super.call(this, chart, userOptions) || this;
67
+ _this.beforePadding = false; // Prevents unnecessary padding with `hc-more`
68
+ _this.chart = void 0;
69
+ _this.coll = 'colorAxis';
70
+ _this.dataClasses = void 0;
71
+ _this.legendItem = void 0;
72
+ _this.legendItems = void 0;
73
+ _this.name = ''; // Prevents 'undefined' in legend in IE8
74
+ _this.options = void 0;
75
+ _this.stops = void 0;
76
+ _this.visible = true;
77
+ _this.init(chart, userOptions);
78
+ return _this;
79
+ }
80
+ /* *
81
+ *
82
+ * Static Functions
83
+ *
84
+ * */
85
+ ColorAxis.compose = function (ChartClass, FxClass, LegendClass, SeriesClass) {
86
+ ColorAxisComposition.compose(ColorAxis, ChartClass, FxClass, LegendClass, SeriesClass);
87
+ };
88
+ /* *
89
+ *
90
+ * Functions
91
+ *
92
+ * */
93
+ /**
94
+ * Initializes the color axis.
95
+ *
96
+ * @function Highcharts.ColorAxis#init
97
+ *
98
+ * @param {Highcharts.Chart} chart
99
+ * The related chart of the color axis.
100
+ *
101
+ * @param {Highcharts.ColorAxisOptions} userOptions
102
+ * The color axis options for initialization.
103
+ */
104
+ ColorAxis.prototype.init = function (chart, userOptions) {
105
+ var axis = this;
106
+ var legend = chart.options.legend || {}, horiz = userOptions.layout ?
107
+ userOptions.layout !== 'vertical' :
108
+ legend.layout !== 'vertical', visible = userOptions.visible;
109
+ var options = merge(ColorAxis.defaultColorAxisOptions, userOptions, {
110
+ showEmpty: false,
111
+ title: null,
112
+ visible: legend.enabled && visible !== false
113
+ });
114
+ axis.coll = 'colorAxis';
115
+ axis.side = userOptions.side || horiz ? 2 : 1;
116
+ axis.reversed = userOptions.reversed || !horiz;
117
+ axis.opposite = !horiz;
118
+ _super.prototype.init.call(this, chart, options);
119
+ // #16053: Restore the actual userOptions.visible so the color axis
120
+ // doesnt stay hidden forever when hiding and showing legend
121
+ axis.userOptions.visible = visible;
122
+ // Base init() pushes it to the xAxis array, now pop it again
123
+ // chart[this.isXAxis ? 'xAxis' : 'yAxis'].pop();
124
+ // Prepare data classes
125
+ if (userOptions.dataClasses) {
126
+ axis.initDataClasses(userOptions);
127
+ }
128
+ axis.initStops();
129
+ // Override original axis properties
130
+ axis.horiz = horiz;
131
+ axis.zoomEnabled = false;
132
+ };
133
+ /**
134
+ * @private
135
+ */
136
+ ColorAxis.prototype.initDataClasses = function (userOptions) {
137
+ var axis = this, chart = axis.chart, options = axis.options, len = userOptions.dataClasses.length;
138
+ var dataClasses, colorCounter = 0, colorCount = chart.options.chart.colorCount;
139
+ axis.dataClasses = dataClasses = [];
140
+ axis.legendItems = [];
141
+ (userOptions.dataClasses || []).forEach(function (dataClass, i) {
142
+ var colors;
143
+ dataClass = merge(dataClass);
144
+ dataClasses.push(dataClass);
145
+ if (!chart.styledMode && dataClass.color) {
146
+ return;
147
+ }
148
+ if (options.dataClassColor === 'category') {
149
+ if (!chart.styledMode) {
150
+ colors = chart.options.colors;
151
+ colorCount = colors.length;
152
+ dataClass.color = colors[colorCounter];
153
+ }
154
+ dataClass.colorIndex = colorCounter;
155
+ // increase and loop back to zero
156
+ colorCounter++;
157
+ if (colorCounter === colorCount) {
158
+ colorCounter = 0;
159
+ }
160
+ }
161
+ else {
162
+ dataClass.color = color(options.minColor).tweenTo(color(options.maxColor), len < 2 ? 0.5 : i / (len - 1) // #3219
163
+ );
164
+ }
165
+ });
166
+ };
167
+ /**
168
+ * Returns true if the series has points at all.
169
+ *
170
+ * @function Highcharts.ColorAxis#hasData
171
+ *
172
+ * @return {boolean}
173
+ * True, if the series has points, otherwise false.
174
+ */
175
+ ColorAxis.prototype.hasData = function () {
176
+ return !!(this.tickPositions || []).length;
177
+ };
178
+ /**
179
+ * Override so that ticks are not added in data class axes (#6914)
180
+ * @private
181
+ */
182
+ ColorAxis.prototype.setTickPositions = function () {
183
+ if (!this.dataClasses) {
184
+ return _super.prototype.setTickPositions.call(this);
185
+ }
186
+ };
187
+ /**
188
+ * @private
189
+ */
190
+ ColorAxis.prototype.initStops = function () {
191
+ var axis = this;
192
+ axis.stops = axis.options.stops || [
193
+ [0, axis.options.minColor],
194
+ [1, axis.options.maxColor]
195
+ ];
196
+ axis.stops.forEach(function (stop) {
197
+ stop.color = color(stop[1]);
198
+ });
199
+ };
200
+ /**
201
+ * Extend the setOptions method to process extreme colors and color stops.
202
+ * @private
203
+ */
204
+ ColorAxis.prototype.setOptions = function (userOptions) {
205
+ var axis = this;
206
+ _super.prototype.setOptions.call(this, userOptions);
207
+ axis.options.crosshair = axis.options.marker;
208
+ };
209
+ /**
210
+ * @private
211
+ */
212
+ ColorAxis.prototype.setAxisSize = function () {
213
+ var axis = this;
214
+ var symbol = axis.legendSymbol;
215
+ var chart = axis.chart;
216
+ var legendOptions = chart.options.legend || {};
217
+ var x, y, width, height;
218
+ if (symbol) {
219
+ this.left = x = symbol.attr('x');
220
+ this.top = y = symbol.attr('y');
221
+ this.width = width = symbol.attr('width');
222
+ this.height = height = symbol.attr('height');
223
+ this.right = chart.chartWidth - x - width;
224
+ this.bottom = chart.chartHeight - y - height;
225
+ this.len = this.horiz ? width : height;
226
+ this.pos = this.horiz ? x : y;
227
+ }
228
+ else {
229
+ // Fake length for disabled legend to avoid tick issues
230
+ // and such (#5205)
231
+ this.len = (this.horiz ?
232
+ legendOptions.symbolWidth :
233
+ legendOptions.symbolHeight) || ColorAxis.defaultLegendLength;
234
+ }
235
+ };
236
+ /**
237
+ * @private
238
+ */
239
+ ColorAxis.prototype.normalizedValue = function (value) {
240
+ var axis = this;
241
+ if (axis.logarithmic) {
242
+ value = axis.logarithmic.log2lin(value);
243
+ }
244
+ return 1 - ((axis.max - value) /
245
+ ((axis.max - axis.min) || 1));
246
+ };
247
+ /**
248
+ * Translate from a value to a color.
249
+ * @private
250
+ */
251
+ ColorAxis.prototype.toColor = function (value, point) {
252
+ var axis = this;
253
+ var dataClasses = axis.dataClasses;
254
+ var stops = axis.stops;
255
+ var pos, from, to, color, dataClass, i;
256
+ if (dataClasses) {
257
+ i = dataClasses.length;
258
+ while (i--) {
259
+ dataClass = dataClasses[i];
260
+ from = dataClass.from;
261
+ to = dataClass.to;
262
+ if ((typeof from === 'undefined' || value >= from) &&
263
+ (typeof to === 'undefined' || value <= to)) {
264
+ color = dataClass.color;
265
+ if (point) {
266
+ point.dataClass = i;
267
+ point.colorIndex = dataClass.colorIndex;
268
+ }
269
+ break;
270
+ }
271
+ }
272
+ }
273
+ else {
274
+ pos = axis.normalizedValue(value);
275
+ i = stops.length;
276
+ while (i--) {
277
+ if (pos > stops[i][0]) {
278
+ break;
279
+ }
280
+ }
281
+ from = stops[i] || stops[i + 1];
282
+ to = stops[i + 1] || from;
283
+ // The position within the gradient
284
+ pos = 1 - (to[0] - pos) / ((to[0] - from[0]) || 1);
285
+ color = from.color.tweenTo(to.color, pos);
286
+ }
287
+ return color;
288
+ };
289
+ /**
290
+ * Override the getOffset method to add the whole axis groups inside the
291
+ * legend.
292
+ * @private
293
+ */
294
+ ColorAxis.prototype.getOffset = function () {
295
+ var axis = this;
296
+ var group = axis.legendGroup;
297
+ var sideOffset = axis.chart.axisOffset[axis.side];
298
+ if (group) {
299
+ // Hook for the getOffset method to add groups to this parent
300
+ // group
301
+ axis.axisParent = group;
302
+ // Call the base
303
+ _super.prototype.getOffset.call(this);
304
+ // First time only
305
+ if (!axis.added) {
306
+ axis.added = true;
307
+ axis.labelLeft = 0;
308
+ axis.labelRight = axis.width;
309
+ }
310
+ // Reset it to avoid color axis reserving space
311
+ axis.chart.axisOffset[axis.side] = sideOffset;
312
+ }
313
+ };
314
+ /**
315
+ * Create the color gradient.
316
+ * @private
317
+ */
318
+ ColorAxis.prototype.setLegendColor = function () {
319
+ var axis = this;
320
+ var horiz = axis.horiz;
321
+ var reversed = axis.reversed;
322
+ var one = reversed ? 1 : 0;
323
+ var zero = reversed ? 0 : 1;
324
+ var grad = horiz ? [one, 0, zero, 0] : [0, zero, 0, one]; // #3190
325
+ axis.legendColor = {
326
+ linearGradient: {
327
+ x1: grad[0],
328
+ y1: grad[1],
329
+ x2: grad[2],
330
+ y2: grad[3]
331
+ },
332
+ stops: axis.stops
333
+ };
334
+ };
335
+ /**
336
+ * The color axis appears inside the legend and has its own legend symbol.
337
+ * @private
338
+ */
339
+ ColorAxis.prototype.drawLegendSymbol = function (legend, item) {
340
+ var axis = this;
341
+ var padding = legend.padding;
342
+ var legendOptions = legend.options;
343
+ var horiz = axis.horiz;
344
+ var width = pick(legendOptions.symbolWidth, horiz ? ColorAxis.defaultLegendLength : 12);
345
+ var height = pick(legendOptions.symbolHeight, horiz ? 12 : ColorAxis.defaultLegendLength);
346
+ var labelPadding = pick(legendOptions.labelPadding, horiz ? 16 : 30);
347
+ var itemDistance = pick(legendOptions.itemDistance, 10);
348
+ this.setLegendColor();
349
+ // Create the gradient
350
+ item.legendSymbol = this.chart.renderer.rect(0, legend.baseline - 11, width, height).attr({
351
+ zIndex: 1
352
+ }).add(item.legendGroup);
353
+ // Set how much space this legend item takes up
354
+ axis.legendItemWidth = width + padding + (horiz ? itemDistance : labelPadding);
355
+ axis.legendItemHeight = height + padding + (horiz ? labelPadding : 0);
356
+ };
357
+ /**
358
+ * Fool the legend.
359
+ * @private
360
+ */
361
+ ColorAxis.prototype.setState = function (state) {
362
+ this.series.forEach(function (series) {
363
+ series.setState(state);
364
+ });
365
+ };
366
+ /**
367
+ * @private
368
+ */
369
+ ColorAxis.prototype.setVisible = function () {
370
+ };
371
+ /**
372
+ * @private
373
+ */
374
+ ColorAxis.prototype.getSeriesExtremes = function () {
375
+ var axis = this;
376
+ var series = axis.series;
377
+ var colorValArray, colorKey, colorValIndex, pointArrayMap, calculatedExtremes, cSeries, i = series.length, yData, j;
378
+ this.dataMin = Infinity;
379
+ this.dataMax = -Infinity;
380
+ while (i--) { // x, y, value, other
381
+ cSeries = series[i];
382
+ colorKey = cSeries.colorKey = pick(cSeries.options.colorKey, cSeries.colorKey, cSeries.pointValKey, cSeries.zoneAxis, 'y');
383
+ pointArrayMap = cSeries.pointArrayMap;
384
+ calculatedExtremes = cSeries[colorKey + 'Min'] &&
385
+ cSeries[colorKey + 'Max'];
386
+ if (cSeries[colorKey + 'Data']) {
387
+ colorValArray = cSeries[colorKey + 'Data'];
388
+ }
389
+ else {
390
+ if (!pointArrayMap) {
391
+ colorValArray = cSeries.yData;
392
+ }
393
+ else {
394
+ colorValArray = [];
395
+ colorValIndex = pointArrayMap.indexOf(colorKey);
396
+ yData = cSeries.yData;
397
+ if (colorValIndex >= 0 && yData) {
398
+ for (j = 0; j < yData.length; j++) {
399
+ colorValArray.push(pick(yData[j][colorValIndex], yData[j]));
400
+ }
401
+ }
402
+ }
403
+ }
404
+ // If color key extremes are already calculated, use them.
405
+ if (calculatedExtremes) {
406
+ cSeries.minColorValue = cSeries[colorKey + 'Min'];
407
+ cSeries.maxColorValue = cSeries[colorKey + 'Max'];
408
+ }
409
+ else {
410
+ var cExtremes = Series.prototype.getExtremes.call(cSeries, colorValArray);
411
+ cSeries.minColorValue = cExtremes.dataMin;
412
+ cSeries.maxColorValue = cExtremes.dataMax;
413
+ }
414
+ if (typeof cSeries.minColorValue !== 'undefined') {
415
+ this.dataMin =
416
+ Math.min(this.dataMin, cSeries.minColorValue);
417
+ this.dataMax =
418
+ Math.max(this.dataMax, cSeries.maxColorValue);
419
+ }
420
+ if (!calculatedExtremes) {
421
+ Series.prototype.applyExtremes.call(cSeries);
422
+ }
423
+ }
424
+ };
425
+ /**
426
+ * Internal function to draw a crosshair.
427
+ *
428
+ * @function Highcharts.ColorAxis#drawCrosshair
429
+ *
430
+ * @param {Highcharts.PointerEventObject} [e]
431
+ * The event arguments from the modified pointer event, extended with
432
+ * `chartX` and `chartY`
433
+ *
434
+ * @param {Highcharts.Point} [point]
435
+ * The Point object if the crosshair snaps to points.
436
+ *
437
+ * @fires Highcharts.ColorAxis#event:afterDrawCrosshair
438
+ * @fires Highcharts.ColorAxis#event:drawCrosshair
439
+ */
440
+ ColorAxis.prototype.drawCrosshair = function (e, point) {
441
+ var axis = this;
442
+ var plotX = point && point.plotX;
443
+ var plotY = point && point.plotY;
444
+ var axisPos = axis.pos;
445
+ var axisLen = axis.len;
446
+ var crossPos;
447
+ if (point) {
448
+ crossPos = axis.toPixels(point.getNestedProperty(point.series.colorKey));
449
+ if (crossPos < axisPos) {
450
+ crossPos = axisPos - 2;
451
+ }
452
+ else if (crossPos > axisPos + axisLen) {
453
+ crossPos = axisPos + axisLen + 2;
454
+ }
455
+ point.plotX = crossPos;
456
+ point.plotY = axis.len - crossPos;
457
+ _super.prototype.drawCrosshair.call(this, e, point);
458
+ point.plotX = plotX;
459
+ point.plotY = plotY;
460
+ if (axis.cross &&
461
+ !axis.cross.addedToColorAxis &&
462
+ axis.legendGroup) {
463
+ axis.cross
464
+ .addClass('highcharts-coloraxis-marker')
465
+ .add(axis.legendGroup);
466
+ axis.cross.addedToColorAxis = true;
467
+ if (!axis.chart.styledMode &&
468
+ typeof axis.crosshair === 'object') {
469
+ axis.cross.attr({
470
+ fill: axis.crosshair.color
471
+ });
472
+ }
473
+ }
474
+ }
475
+ };
476
+ /**
477
+ * @private
478
+ */
479
+ ColorAxis.prototype.getPlotLinePath = function (options) {
480
+ var axis = this, left = axis.left, pos = options.translatedValue, top = axis.top;
481
+ // crosshairs only
482
+ return isNumber(pos) ? // pos can be 0 (#3969)
483
+ (axis.horiz ? [
484
+ ['M', pos - 4, top - 6],
485
+ ['L', pos + 4, top - 6],
486
+ ['L', pos, top],
487
+ ['Z']
488
+ ] : [
489
+ ['M', left, pos],
490
+ ['L', left - 6, pos + 6],
491
+ ['L', left - 6, pos - 6],
492
+ ['Z']
493
+ ]) :
494
+ _super.prototype.getPlotLinePath.call(this, options);
495
+ };
496
+ /**
497
+ * Updates a color axis instance with a new set of options. The options are
498
+ * merged with the existing options, so only new or altered options need to
499
+ * be specified.
500
+ *
501
+ * @function Highcharts.ColorAxis#update
502
+ *
503
+ * @param {Highcharts.ColorAxisOptions} newOptions
504
+ * The new options that will be merged in with existing options on the color
505
+ * axis.
506
+ *
507
+ * @param {boolean} [redraw]
508
+ * Whether to redraw the chart after the color axis is altered. If doing
509
+ * more operations on the chart, it is a good idea to set redraw to `false`
510
+ * and call {@link Highcharts.Chart#redraw} after.
511
+ */
512
+ ColorAxis.prototype.update = function (newOptions, redraw) {
513
+ var axis = this, chart = axis.chart, legend = chart.legend;
514
+ this.series.forEach(function (series) {
515
+ // Needed for Axis.update when choropleth colors change
516
+ series.isDirtyData = true;
517
+ });
518
+ // When updating data classes, destroy old items and make sure new
519
+ // ones are created (#3207)
520
+ if (newOptions.dataClasses && legend.allItems || axis.dataClasses) {
521
+ axis.destroyItems();
522
+ }
523
+ _super.prototype.update.call(this, newOptions, redraw);
524
+ if (axis.legendItem) {
525
+ axis.setLegendColor();
526
+ legend.colorizeItem(this, true);
527
+ }
528
+ };
529
+ /**
530
+ * Destroy color axis legend items.
531
+ * @private
532
+ */
533
+ ColorAxis.prototype.destroyItems = function () {
534
+ var axis = this;
535
+ var chart = axis.chart;
536
+ if (axis.legendItem) {
537
+ chart.legend.destroyItem(axis);
538
+ }
539
+ else if (axis.legendItems) {
540
+ axis.legendItems.forEach(function (item) {
541
+ chart.legend.destroyItem(item);
542
+ });
543
+ }
544
+ chart.isDirtyLegend = true;
545
+ };
546
+ // Removing the whole axis (#14283)
547
+ ColorAxis.prototype.destroy = function () {
548
+ this.chart.isDirtyLegend = true;
549
+ this.destroyItems();
550
+ _super.prototype.destroy.apply(this, [].slice.call(arguments));
551
+ };
552
+ /**
553
+ * Removes the color axis and the related legend item.
554
+ *
555
+ * @function Highcharts.ColorAxis#remove
556
+ *
557
+ * @param {boolean} [redraw=true]
558
+ * Whether to redraw the chart following the remove.
559
+ */
560
+ ColorAxis.prototype.remove = function (redraw) {
561
+ this.destroyItems();
562
+ _super.prototype.remove.call(this, redraw);
563
+ };
564
+ /**
565
+ * Get the legend item symbols for data classes.
566
+ * @private
567
+ */
568
+ ColorAxis.prototype.getDataClassLegendSymbols = function () {
569
+ var axis = this;
570
+ var chart = axis.chart;
571
+ var legendItems = axis.legendItems;
572
+ var legendOptions = chart.options.legend;
573
+ var valueDecimals = legendOptions.valueDecimals;
574
+ var valueSuffix = legendOptions.valueSuffix || '';
575
+ var name;
576
+ if (!legendItems.length) {
577
+ axis.dataClasses.forEach(function (dataClass, i) {
578
+ var from = dataClass.from, to = dataClass.to, numberFormatter = chart.numberFormatter;
579
+ var vis = true;
580
+ // Assemble the default name. This can be overridden
581
+ // by legend.options.labelFormatter
582
+ name = '';
583
+ if (typeof from === 'undefined') {
584
+ name = '< ';
585
+ }
586
+ else if (typeof to === 'undefined') {
587
+ name = '> ';
588
+ }
589
+ if (typeof from !== 'undefined') {
590
+ name += numberFormatter(from, valueDecimals) + valueSuffix;
591
+ }
592
+ if (typeof from !== 'undefined' && typeof to !== 'undefined') {
593
+ name += ' - ';
594
+ }
595
+ if (typeof to !== 'undefined') {
596
+ name += numberFormatter(to, valueDecimals) + valueSuffix;
597
+ }
598
+ // Add a mock object to the legend items
599
+ legendItems.push(extend({
600
+ chart: chart,
601
+ name: name,
602
+ options: {},
603
+ drawLegendSymbol: LegendSymbol.drawRectangle,
604
+ visible: true,
605
+ setState: noop,
606
+ isDataClass: true,
607
+ setVisible: function () {
608
+ vis = axis.visible = !vis;
609
+ axis.series.forEach(function (series) {
610
+ series.points.forEach(function (point) {
611
+ if (point.dataClass === i) {
612
+ point.setVisible(vis);
613
+ }
614
+ });
615
+ });
616
+ chart.legend.colorizeItem(this, vis);
617
+ }
618
+ }, dataClass));
619
+ });
620
+ }
621
+ return legendItems;
622
+ };
623
+ /* *
624
+ *
625
+ * Static Properties
626
+ *
627
+ * */
628
+ ColorAxis.defaultColorAxisOptions = ColorAxisDefaults;
629
+ ColorAxis.defaultLegendLength = 200;
630
+ /**
631
+ * @private
632
+ */
633
+ ColorAxis.keepProps = [
634
+ 'legendGroup',
635
+ 'legendItemHeight',
636
+ 'legendItemWidth',
637
+ 'legendItem',
638
+ 'legendSymbol'
639
+ ];
640
+ return ColorAxis;
641
+ }(Axis));
642
+ /* *
643
+ *
644
+ * Registry
645
+ *
646
+ * */
647
+ // Properties to preserve after destroy, for Axis.update (#5881, #6025).
648
+ Array.prototype.push.apply(Axis.keepProps, ColorAxis.keepProps);
649
+ /* *
650
+ *
651
+ * Default Export
652
+ *
653
+ * */
654
+ export default ColorAxis;
655
+ /* *
656
+ *
657
+ * API Declarations
658
+ *
659
+ * */
660
+ /**
661
+ * Color axis types
662
+ *
663
+ * @typedef {"linear"|"logarithmic"} Highcharts.ColorAxisTypeValue
664
+ */
665
+ ''; // detach doclet above