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
@@ -8,170 +8,200 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import Axis from './Axis.js';
12
11
  import U from '../Utilities.js';
13
12
  var addEvent = U.addEvent, getMagnitude = U.getMagnitude, normalizeTickInterval = U.normalizeTickInterval, timeUnits = U.timeUnits;
13
+ /* *
14
+ *
15
+ * Composition
16
+ *
17
+ * */
14
18
  /* eslint-disable valid-jsdoc */
15
- var DateTimeAxisAdditions = /** @class */ (function () {
19
+ var DateTimeAxis;
20
+ (function (DateTimeAxis) {
16
21
  /* *
17
22
  *
18
- * Constructors
23
+ * Declarations
19
24
  *
20
25
  * */
21
- function DateTimeAxisAdditions(axis) {
22
- this.axis = axis;
23
- }
26
+ /* *
27
+ *
28
+ * Constants
29
+ *
30
+ * */
31
+ var composedClasses = [];
24
32
  /* *
25
33
  *
26
34
  * Functions
27
35
  *
28
36
  * */
29
37
  /**
30
- * Get a normalized tick interval for dates. Returns a configuration object
31
- * with unit range (interval), count and name. Used to prepare data for
32
- * `getTimeTicks`. Previously this logic was part of getTimeTicks, but as
33
- * `getTimeTicks` now runs of segments in stock charts, the normalizing
34
- * logic was extracted in order to prevent it for running over again for
35
- * each segment having the same interval. #662, #697.
38
+ * Extends axis class with date and time support.
36
39
  * @private
37
40
  */
41
+ function compose(AxisClass) {
42
+ if (composedClasses.indexOf(AxisClass) === -1) {
43
+ composedClasses.push(AxisClass);
44
+ AxisClass.keepProps.push('dateTime');
45
+ var axisProto = AxisClass.prototype;
46
+ axisProto.getTimeTicks = getTimeTicks;
47
+ addEvent(AxisClass, 'init', onInit);
48
+ }
49
+ return AxisClass;
50
+ }
51
+ DateTimeAxis.compose = compose;
38
52
  /**
39
- * Get a normalized tick interval for dates. Returns a configuration object
40
- * with unit range (interval), count and name. Used to prepare data for
41
- * `getTimeTicks`. Previously this logic was part of getTimeTicks, but as
42
- * `getTimeTicks` now runs of segments in stock charts, the normalizing
43
- * logic was extracted in order to prevent it for running over again for
44
- * each segment having the same interval. #662, #697.
53
+ * Set the tick positions to a time unit that makes sense, for example
54
+ * on the first of each month or on every Monday. Return an array with
55
+ * the time positions. Used in datetime axes as well as for grouping
56
+ * data on a datetime axis.
57
+ *
45
58
  * @private
59
+ * @function Highcharts.Axis#getTimeTicks
60
+ *
61
+ * @param {Highcharts.TimeNormalizeObject} normalizedInterval
62
+ * The interval in axis values (ms) and thecount.
63
+ *
64
+ * @param {number} min
65
+ * The minimum in axis values.
66
+ *
67
+ * @param {number} max
68
+ * The maximum in axis values.
69
+ *
70
+ * @param {number} startOfWeek
71
+ *
72
+ * @return {Highcharts.AxisTickPositionsArray}
46
73
  */
47
- DateTimeAxisAdditions.prototype.normalizeTimeTickInterval = function (tickInterval, unitsOption) {
48
- var units = unitsOption || [[
49
- 'millisecond',
50
- [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
51
- ], [
52
- 'second',
53
- [1, 2, 5, 10, 15, 30]
54
- ], [
55
- 'minute',
56
- [1, 2, 5, 10, 15, 30]
57
- ], [
58
- 'hour',
59
- [1, 2, 3, 4, 6, 8, 12]
60
- ], [
61
- 'day',
62
- [1, 2]
63
- ], [
64
- 'week',
65
- [1, 2]
66
- ], [
67
- 'month',
68
- [1, 2, 3, 4, 6]
69
- ], [
70
- 'year',
71
- null
72
- ]], unit = units[units.length - 1], // default unit is years
73
- interval = timeUnits[unit[0]], multiples = unit[1], count, i;
74
- // loop through the units to find the one that best fits the
75
- // tickInterval
76
- for (i = 0; i < units.length; i++) {
77
- unit = units[i];
78
- interval = timeUnits[unit[0]];
79
- multiples = unit[1];
80
- if (units[i + 1]) {
81
- // lessThan is in the middle between the highest multiple and
82
- // the next unit.
83
- var lessThan = (interval *
84
- multiples[multiples.length - 1] +
85
- timeUnits[units[i + 1][0]]) / 2;
86
- // break and keep the current unit
87
- if (tickInterval <= lessThan) {
88
- break;
89
- }
90
- }
74
+ function getTimeTicks() {
75
+ return this.chart.time.getTimeTicks.apply(this.chart.time, arguments);
76
+ }
77
+ /**
78
+ * @private
79
+ */
80
+ function onInit(e) {
81
+ var axis = this;
82
+ var options = e.userOptions;
83
+ if (options.type !== 'datetime') {
84
+ axis.dateTime = void 0;
85
+ return;
91
86
  }
92
- // prevent 2.5 years intervals, though 25, 250 etc. are allowed
93
- if (interval === timeUnits.year && tickInterval < 5 * interval) {
94
- multiples = [1, 2, 5];
87
+ if (!axis.dateTime) {
88
+ axis.dateTime = new Additions(axis);
95
89
  }
96
- // get the count
97
- count = normalizeTickInterval(tickInterval / interval, multiples, unit[0] === 'year' ? // #1913, #2360
98
- Math.max(getMagnitude(tickInterval / interval), 1) :
99
- 1);
100
- return {
101
- unitRange: interval,
102
- count: count,
103
- unitName: unit[0]
104
- };
105
- };
106
- return DateTimeAxisAdditions;
107
- }());
108
- /**
109
- * Date and time support for axes.
110
- *
111
- * @private
112
- * @class
113
- */
114
- var DateTimeAxis = /** @class */ (function () {
115
- function DateTimeAxis() {
116
90
  }
117
91
  /* *
118
92
  *
119
- * Static Functions
93
+ * Classes
120
94
  *
121
95
  * */
122
- /**
123
- * Extends axis class with date and time support.
124
- * @private
125
- */
126
- DateTimeAxis.compose = function (AxisClass) {
127
- AxisClass.keepProps.push('dateTime');
128
- var axisProto = AxisClass.prototype;
129
- /**
130
- * Set the tick positions to a time unit that makes sense, for example
131
- * on the first of each month or on every Monday. Return an array with
132
- * the time positions. Used in datetime axes as well as for grouping
133
- * data on a datetime axis.
96
+ var Additions = /** @class */ (function () {
97
+ /* *
134
98
  *
135
- * @private
136
- * @function Highcharts.Axis#getTimeTicks
99
+ * Constructors
137
100
  *
138
- * @param {Highcharts.TimeNormalizeObject} normalizedInterval
139
- * The interval in axis values (ms) and thecount.
101
+ * */
102
+ function Additions(axis) {
103
+ this.axis = axis;
104
+ }
105
+ /* *
140
106
  *
141
- * @param {number} min
142
- * The minimum in axis values.
107
+ * Functions
143
108
  *
144
- * @param {number} max
145
- * The maximum in axis values.
109
+ * */
110
+ /**
111
+ * Get a normalized tick interval for dates. Returns a configuration
112
+ * object with unit range (interval), count and name. Used to prepare
113
+ * data for `getTimeTicks`. Previously this logic was part of
114
+ * getTimeTicks, but as `getTimeTicks` now runs of segments in stock
115
+ * charts, the normalizing logic was extracted in order to prevent it
116
+ * for running over again for each segment having the same interval.
117
+ * #662, #697.
118
+ * @private
119
+ */
120
+ Additions.prototype.normalizeTimeTickInterval = function (tickInterval, unitsOption) {
121
+ var units = (unitsOption || [[
122
+ 'millisecond',
123
+ [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
124
+ ], [
125
+ 'second',
126
+ [1, 2, 5, 10, 15, 30]
127
+ ], [
128
+ 'minute',
129
+ [1, 2, 5, 10, 15, 30]
130
+ ], [
131
+ 'hour',
132
+ [1, 2, 3, 4, 6, 8, 12]
133
+ ], [
134
+ 'day',
135
+ [1, 2]
136
+ ], [
137
+ 'week',
138
+ [1, 2]
139
+ ], [
140
+ 'month',
141
+ [1, 2, 3, 4, 6]
142
+ ], [
143
+ 'year',
144
+ null
145
+ ]]);
146
+ var unit = units[units.length - 1], // default unit is years
147
+ interval = timeUnits[unit[0]], multiples = unit[1], i;
148
+ // loop through the units to find the one that best fits the
149
+ // tickInterval
150
+ for (i = 0; i < units.length; i++) {
151
+ unit = units[i];
152
+ interval = timeUnits[unit[0]];
153
+ multiples = unit[1];
154
+ if (units[i + 1]) {
155
+ // lessThan is in the middle between the highest multiple
156
+ // and the next unit.
157
+ var lessThan = (interval *
158
+ multiples[multiples.length - 1] +
159
+ timeUnits[units[i + 1][0]]) / 2;
160
+ // break and keep the current unit
161
+ if (tickInterval <= lessThan) {
162
+ break;
163
+ }
164
+ }
165
+ }
166
+ // prevent 2.5 years intervals, though 25, 250 etc. are allowed
167
+ if (interval === timeUnits.year && tickInterval < 5 * interval) {
168
+ multiples = [1, 2, 5];
169
+ }
170
+ // get the count
171
+ var count = normalizeTickInterval(tickInterval / interval, multiples, unit[0] === 'year' ? // #1913, #2360
172
+ Math.max(getMagnitude(tickInterval / interval), 1) :
173
+ 1);
174
+ return {
175
+ unitRange: interval,
176
+ count: count,
177
+ unitName: unit[0]
178
+ };
179
+ };
180
+ /**
181
+ * Get the best date format for a specific X value based on the closest
182
+ * point range on the axis.
146
183
  *
147
- * @param {number} startOfWeek
184
+ * @private
185
+ *
186
+ * @param {number} x
148
187
  *
149
- * @return {Highcharts.AxisTickPositionsArray}
188
+ * @param {Highcharts.Dictionary<string>} dateTimeLabelFormats
189
+ *
190
+ * @return {string}
150
191
  */
151
- axisProto.getTimeTicks = function () {
152
- return this.chart.time.getTimeTicks.apply(this.chart.time, arguments);
192
+ Additions.prototype.getXDateFormat = function (x, dateTimeLabelFormats) {
193
+ var axis = this.axis;
194
+ return axis.closestPointRange ?
195
+ axis.chart.time.getDateFormat(axis.closestPointRange, x, axis.options.startOfWeek, dateTimeLabelFormats) || dateTimeLabelFormats.year : // #2546, 2581
196
+ dateTimeLabelFormats.day;
153
197
  };
154
- /* eslint-disable no-invalid-this */
155
- addEvent(AxisClass, 'init', function (e) {
156
- var axis = this;
157
- var options = e.userOptions;
158
- if (options.type !== 'datetime') {
159
- axis.dateTime = void 0;
160
- return;
161
- }
162
- if (!axis.dateTime) {
163
- axis.dateTime = new DateTimeAxisAdditions(axis);
164
- }
165
- });
166
- /* eslint-enable no-invalid-this */
167
- };
168
- /* *
169
- *
170
- * Static Properties
171
- *
172
- * */
173
- DateTimeAxis.AdditionsClass = DateTimeAxisAdditions;
174
- return DateTimeAxis;
175
- }());
176
- DateTimeAxis.compose(Axis);
198
+ return Additions;
199
+ }());
200
+ DateTimeAxis.Additions = Additions;
201
+ })(DateTimeAxis || (DateTimeAxis = {}));
202
+ /* *
203
+ *
204
+ * Default Export
205
+ *
206
+ * */
177
207
  export default DateTimeAxis;
@@ -364,11 +364,15 @@ var GridAxis;
364
364
  (axis.scrollbar ||
365
365
  (axis.linkedParent && axis.linkedParent.scrollbar))) {
366
366
  var tickmarkOffset = axis.tickmarkOffset, lastTick = axis.tickPositions[axis.tickPositions.length - 1], firstTick = axis.tickPositions[0];
367
+ var label = void 0;
368
+ while ((label = axis.hiddenLabels.pop()) && label.element) {
369
+ label.show(); // #15453
370
+ }
367
371
  // Hide/show firts tick label.
368
- var label = axis.ticks[firstTick].label;
372
+ label = axis.ticks[firstTick].label;
369
373
  if (label) {
370
374
  if (min - firstTick > tickmarkOffset) {
371
- label.hide();
375
+ axis.hiddenLabels.push(label.hide());
372
376
  }
373
377
  else {
374
378
  label.show();
@@ -378,7 +382,7 @@ var GridAxis;
378
382
  label = axis.ticks[lastTick].label;
379
383
  if (label) {
380
384
  if (lastTick - max > tickmarkOffset) {
381
- label.hide();
385
+ axis.hiddenLabels.push(label.hide());
382
386
  }
383
387
  else {
384
388
  label.show();
@@ -670,6 +674,7 @@ var GridAxis;
670
674
  if (!axis.grid) {
671
675
  axis.grid = new Additions(axis);
672
676
  }
677
+ axis.hiddenLabels = [];
673
678
  }
674
679
  /**
675
680
  * Center tick labels in cells.
@@ -8,153 +8,195 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import Axis from './Axis.js';
12
11
  import U from '../Utilities.js';
13
12
  var addEvent = U.addEvent, getMagnitude = U.getMagnitude, normalizeTickInterval = U.normalizeTickInterval, pick = U.pick;
14
- /* eslint-disable valid-jsdoc */
15
- /**
16
- * Provides logarithmic support for axes.
13
+ /* *
14
+ *
15
+ * Class
17
16
  *
17
+ * */
18
+ /**
18
19
  * @private
19
- * @class
20
20
  */
21
- var LogarithmicAxisAdditions = /** @class */ (function () {
21
+ var LogarithmicAxis;
22
+ (function (LogarithmicAxis) {
22
23
  /* *
23
24
  *
24
- * Constructors
25
+ * Declarations
25
26
  *
26
27
  * */
27
- function LogarithmicAxisAdditions(axis) {
28
- this.axis = axis;
29
- }
28
+ /* *
29
+ *
30
+ * Constants
31
+ *
32
+ * */
33
+ var composedClasses = [];
30
34
  /* *
31
35
  *
32
36
  * Functions
33
37
  *
34
38
  * */
39
+ /* eslint-disable valid-jsdoc */
35
40
  /**
36
- * Set the tick positions of a logarithmic axis.
41
+ * Provides logarithmic support for axes.
42
+ * @private
37
43
  */
38
- LogarithmicAxisAdditions.prototype.getLogTickPositions = function (interval, min, max, minor) {
39
- var log = this;
40
- var axis = log.axis;
41
- var axisLength = axis.len;
42
- var options = axis.options;
43
- // Since we use this method for both major and minor ticks,
44
- // use a local variable and return the result
45
- var positions = [];
46
- // Reset
47
- if (!minor) {
48
- log.minorAutoInterval = void 0;
44
+ function compose(AxisClass) {
45
+ if (composedClasses.indexOf(AxisClass) === -1) {
46
+ composedClasses.push(AxisClass);
47
+ AxisClass.keepProps.push('logarithmic');
48
+ addEvent(AxisClass, 'init', onInit);
49
+ addEvent(AxisClass, 'afterInit', onAfterInit);
49
50
  }
50
- // First case: All ticks fall on whole logarithms: 1, 10, 100 etc.
51
- if (interval >= 0.5) {
52
- interval = Math.round(interval);
53
- positions = axis.getLinearTickPositions(interval, min, max);
54
- // Second case: We need intermediary ticks. For example
55
- // 1, 2, 4, 6, 8, 10, 20, 40 etc.
56
- }
57
- else if (interval >= 0.08) {
58
- var roundedMin = Math.floor(min), intermediate = void 0, i = void 0, j = void 0, len = void 0, pos = void 0, lastPos = void 0, break2 = void 0;
59
- if (interval > 0.3) {
60
- intermediate = [1, 2, 4];
61
- // 0.2 equals five minor ticks per 1, 10, 100 etc
62
- }
63
- else if (interval > 0.15) {
64
- intermediate = [1, 2, 4, 6, 8];
65
- }
66
- else { // 0.1 equals ten minor ticks per 1, 10, 100 etc
67
- intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9];
68
- }
69
- for (i = roundedMin; i < max + 1 && !break2; i++) {
70
- len = intermediate.length;
71
- for (j = 0; j < len && !break2; j++) {
72
- pos = log.log2lin(log.lin2log(i) * intermediate[j]);
73
- // #1670, lastPos is #3113
74
- if (pos > min &&
75
- (!minor || lastPos <= max) &&
76
- typeof lastPos !== 'undefined') {
77
- positions.push(lastPos);
78
- }
79
- if (lastPos > max) {
80
- break2 = true;
81
- }
82
- lastPos = pos;
83
- }
84
- }
85
- // Third case: We are so deep in between whole logarithmic values that
86
- // we might as well handle the tick positions like a linear axis. For
87
- // example 1.01, 1.02, 1.03, 1.04.
51
+ return AxisClass;
52
+ }
53
+ LogarithmicAxis.compose = compose;
54
+ /**
55
+ * @private
56
+ */
57
+ function onInit(e) {
58
+ var axis = this;
59
+ var options = e.userOptions;
60
+ var logarithmic = axis.logarithmic;
61
+ if (options.type !== 'logarithmic') {
62
+ axis.logarithmic = void 0;
88
63
  }
89
64
  else {
90
- var realMin = log.lin2log(min), realMax = log.lin2log(max), tickIntervalOption = minor ?
91
- axis.getMinorTickInterval() :
92
- options.tickInterval, filteredTickIntervalOption = tickIntervalOption === 'auto' ?
93
- null :
94
- tickIntervalOption, tickPixelIntervalOption = options.tickPixelInterval / (minor ? 5 : 1), totalPixelLength = minor ?
95
- axisLength / axis.tickPositions.length :
96
- axisLength;
97
- interval = pick(filteredTickIntervalOption, log.minorAutoInterval, (realMax - realMin) *
98
- tickPixelIntervalOption / (totalPixelLength || 1));
99
- interval = normalizeTickInterval(interval, void 0, getMagnitude(interval));
100
- positions = axis.getLinearTickPositions(interval, realMin, realMax).map(log.log2lin);
101
- if (!minor) {
102
- log.minorAutoInterval = interval / 5;
65
+ if (!logarithmic) {
66
+ logarithmic = axis.logarithmic = new Additions(axis);
103
67
  }
104
68
  }
105
- // Set the axis-level tickInterval variable
106
- if (!minor) {
107
- axis.tickInterval = interval;
69
+ }
70
+ /**
71
+ * @private
72
+ */
73
+ function onAfterInit() {
74
+ var axis = this;
75
+ var log = axis.logarithmic;
76
+ // extend logarithmic axis
77
+ if (log) {
78
+ axis.lin2val = function (num) {
79
+ return log.lin2log(num);
80
+ };
81
+ axis.val2lin = function (num) {
82
+ return log.log2lin(num);
83
+ };
108
84
  }
109
- return positions;
110
- };
111
- LogarithmicAxisAdditions.prototype.lin2log = function (num) {
112
- return Math.pow(10, num);
113
- };
114
- LogarithmicAxisAdditions.prototype.log2lin = function (num) {
115
- return Math.log(num) / Math.LN10;
116
- };
117
- return LogarithmicAxisAdditions;
118
- }());
119
- var LogarithmicAxis = /** @class */ (function () {
120
- function LogarithmicAxis() {
121
85
  }
86
+ /* *
87
+ *
88
+ * Class
89
+ *
90
+ * */
122
91
  /**
123
92
  * Provides logarithmic support for axes.
124
- *
125
93
  * @private
94
+ * @class
126
95
  */
127
- LogarithmicAxis.compose = function (AxisClass) {
128
- AxisClass.keepProps.push('logarithmic');
129
- /* eslint-disable no-invalid-this */
130
- addEvent(AxisClass, 'init', function (e) {
131
- var axis = this;
132
- var options = e.userOptions;
133
- var logarithmic = axis.logarithmic;
134
- if (options.type !== 'logarithmic') {
135
- axis.logarithmic = void 0;
96
+ var Additions = /** @class */ (function () {
97
+ /* *
98
+ *
99
+ * Constructors
100
+ *
101
+ * */
102
+ function Additions(axis) {
103
+ this.axis = axis;
104
+ }
105
+ /* *
106
+ *
107
+ * Functions
108
+ *
109
+ * */
110
+ /**
111
+ * Set the tick positions of a logarithmic axis.
112
+ */
113
+ Additions.prototype.getLogTickPositions = function (interval, min, max, minor) {
114
+ var log = this;
115
+ var axis = log.axis;
116
+ var axisLength = axis.len;
117
+ var options = axis.options;
118
+ // Since we use this method for both major and minor ticks,
119
+ // use a local variable and return the result
120
+ var positions = [];
121
+ // Reset
122
+ if (!minor) {
123
+ log.minorAutoInterval = void 0;
124
+ }
125
+ // First case: All ticks fall on whole logarithms: 1, 10, 100 etc.
126
+ if (interval >= 0.5) {
127
+ interval = Math.round(interval);
128
+ positions = axis.getLinearTickPositions(interval, min, max);
129
+ // Second case: We need intermediary ticks. For example
130
+ // 1, 2, 4, 6, 8, 10, 20, 40 etc.
131
+ }
132
+ else if (interval >= 0.08) {
133
+ var roundedMin = Math.floor(min);
134
+ var intermediate = void 0, i = void 0, j = void 0, len = void 0, pos = void 0, lastPos = void 0, break2 = void 0;
135
+ if (interval > 0.3) {
136
+ intermediate = [1, 2, 4];
137
+ // 0.2 equals five minor ticks per 1, 10, 100 etc
138
+ }
139
+ else if (interval > 0.15) {
140
+ intermediate = [1, 2, 4, 6, 8];
141
+ }
142
+ else { // 0.1 equals ten minor ticks per 1, 10, 100 etc
143
+ intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9];
144
+ }
145
+ for (i = roundedMin; i < max + 1 && !break2; i++) {
146
+ len = intermediate.length;
147
+ for (j = 0; j < len && !break2; j++) {
148
+ pos = log.log2lin(log.lin2log(i) * intermediate[j]);
149
+ // #1670, lastPos is #3113
150
+ if (pos > min &&
151
+ (!minor || lastPos <= max) &&
152
+ typeof lastPos !== 'undefined') {
153
+ positions.push(lastPos);
154
+ }
155
+ if (lastPos > max) {
156
+ break2 = true;
157
+ }
158
+ lastPos = pos;
159
+ }
160
+ }
161
+ // Third case: We are so deep in between whole logarithmic values,
162
+ // that we might as well handle the tick positions like a linear
163
+ // axis. For example 1.01, 1.02, 1.03, 1.04.
136
164
  }
137
165
  else {
138
- if (!logarithmic) {
139
- logarithmic = axis.logarithmic = new LogarithmicAxisAdditions(axis);
166
+ var realMin = log.lin2log(min), realMax = log.lin2log(max), tickIntervalOption = minor ?
167
+ axis.getMinorTickInterval() :
168
+ options.tickInterval, filteredTickIntervalOption = tickIntervalOption === 'auto' ?
169
+ null :
170
+ tickIntervalOption, tickPixelIntervalOption = options.tickPixelInterval / (minor ? 5 : 1), totalPixelLength = minor ?
171
+ axisLength / axis.tickPositions.length :
172
+ axisLength;
173
+ interval = pick(filteredTickIntervalOption, log.minorAutoInterval, (realMax - realMin) *
174
+ tickPixelIntervalOption / (totalPixelLength || 1));
175
+ interval = normalizeTickInterval(interval, void 0, getMagnitude(interval));
176
+ positions = axis.getLinearTickPositions(interval, realMin, realMax).map(log.log2lin);
177
+ if (!minor) {
178
+ log.minorAutoInterval = interval / 5;
140
179
  }
141
180
  }
142
- });
143
- addEvent(AxisClass, 'afterInit', function () {
144
- var axis = this;
145
- var log = axis.logarithmic;
146
- // extend logarithmic axis
147
- if (log) {
148
- axis.lin2val = function (num) {
149
- return log.lin2log(num);
150
- };
151
- axis.val2lin = function (num) {
152
- return log.log2lin(num);
153
- };
181
+ // Set the axis-level tickInterval variable
182
+ if (!minor) {
183
+ axis.tickInterval = interval;
154
184
  }
155
- });
156
- };
157
- return LogarithmicAxis;
158
- }());
159
- LogarithmicAxis.compose(Axis); // @todo move to factory functions
185
+ return positions;
186
+ };
187
+ Additions.prototype.lin2log = function (num) {
188
+ return Math.pow(10, num);
189
+ };
190
+ Additions.prototype.log2lin = function (num) {
191
+ return Math.log(num) / Math.LN10;
192
+ };
193
+ return Additions;
194
+ }());
195
+ LogarithmicAxis.Additions = Additions;
196
+ })(LogarithmicAxis || (LogarithmicAxis = {}));
197
+ /* *
198
+ *
199
+ * Default Export
200
+ *
201
+ * */
160
202
  export default LogarithmicAxis;