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,385 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import Geometry from './GeometryUtilities.js';
12
+ var getAngleBetweenPoints = Geometry.getAngleBetweenPoints, getCenterOfPoints = Geometry.getCenterOfPoints, getDistanceBetweenPoints = Geometry.getDistanceBetweenPoints;
13
+ /* *
14
+ *
15
+ * Namespace
16
+ *
17
+ * */
18
+ var CircleUtilities;
19
+ (function (CircleUtilities) {
20
+ /* *
21
+ *
22
+ * Functions
23
+ *
24
+ * */
25
+ /**
26
+ * @private
27
+ *
28
+ * @param {number} x
29
+ * Number to round
30
+ *
31
+ * @param {number} decimals
32
+ * Number of decimals to round to
33
+ *
34
+ * @return {number}
35
+ * Rounded number
36
+ */
37
+ function round(x, decimals) {
38
+ var a = Math.pow(10, decimals);
39
+ return Math.round(x * a) / a;
40
+ }
41
+ CircleUtilities.round = round;
42
+ /**
43
+ * Calculates the area of a circle based on its radius.
44
+ *
45
+ * @private
46
+ *
47
+ * @param {number} r
48
+ * The radius of the circle.
49
+ *
50
+ * @return {number}
51
+ * Returns the area of the circle.
52
+ */
53
+ function getAreaOfCircle(r) {
54
+ if (r <= 0) {
55
+ throw new Error('radius of circle must be a positive number.');
56
+ }
57
+ return Math.PI * r * r;
58
+ }
59
+ CircleUtilities.getAreaOfCircle = getAreaOfCircle;
60
+ /**
61
+ * Calculates the area of a circular segment based on the radius of the
62
+ * circle and the height of the segment.
63
+ *
64
+ * @see http://mathworld.wolfram.com/CircularSegment.html
65
+ *
66
+ * @private
67
+ *
68
+ * @param {number} r
69
+ * The radius of the circle.
70
+ *
71
+ * @param {number} h
72
+ * The height of the circular segment.
73
+ *
74
+ * @return {number}
75
+ * Returns the area of the circular segment.
76
+ */
77
+ function getCircularSegmentArea(r, h) {
78
+ return r * r * Math.acos(1 - h / r) - (r - h) * Math.sqrt(h * (2 * r - h));
79
+ }
80
+ CircleUtilities.getCircularSegmentArea = getCircularSegmentArea;
81
+ /**
82
+ * Calculates the area of overlap between two circles based on their
83
+ * radiuses and the distance between them.
84
+ *
85
+ * @see http://mathworld.wolfram.com/Circle-CircleIntersection.html
86
+ *
87
+ * @private
88
+ *
89
+ * @param {number} r1
90
+ * Radius of the first circle.
91
+ *
92
+ * @param {number} r2
93
+ * Radius of the second circle.
94
+ *
95
+ * @param {number} d
96
+ * The distance between the two circles.
97
+ *
98
+ * @return {number}
99
+ * Returns the area of overlap between the two circles.
100
+ */
101
+ function getOverlapBetweenCircles(r1, r2, d) {
102
+ var overlap = 0;
103
+ // If the distance is larger than the sum of the radiuses then the
104
+ // circles does not overlap.
105
+ if (d < r1 + r2) {
106
+ if (d <= Math.abs(r2 - r1)) {
107
+ // If the circles are completely overlapping, then the overlap
108
+ // equals the area of the smallest circle.
109
+ overlap = getAreaOfCircle(r1 < r2 ? r1 : r2);
110
+ }
111
+ else {
112
+ // Height of first triangle segment.
113
+ var d1 = (r1 * r1 - r2 * r2 + d * d) / (2 * d),
114
+ // Height of second triangle segment.
115
+ d2 = d - d1;
116
+ overlap = (getCircularSegmentArea(r1, r1 - d1) +
117
+ getCircularSegmentArea(r2, r2 - d2));
118
+ }
119
+ // Round the result to two decimals.
120
+ overlap = round(overlap, 14);
121
+ }
122
+ return overlap;
123
+ }
124
+ CircleUtilities.getOverlapBetweenCircles = getOverlapBetweenCircles;
125
+ /**
126
+ * Calculates the intersection points of two circles.
127
+ *
128
+ * NOTE: does not handle floating errors well.
129
+ *
130
+ * @private
131
+ *
132
+ * @param {Highcharts.CircleObject} c1
133
+ * The first circle.
134
+ *
135
+ * @param {Highcharts.CircleObject} c2
136
+ * The second sircle.
137
+ *
138
+ * @return {Array<Highcharts.PositionObject>}
139
+ * Returns the resulting intersection points.
140
+ */
141
+ function getCircleCircleIntersection(c1, c2) {
142
+ var d = getDistanceBetweenPoints(c1, c2), r1 = c1.r, r2 = c2.r;
143
+ var points = [];
144
+ if (d < r1 + r2 && d > Math.abs(r1 - r2)) {
145
+ // If the circles are overlapping, but not completely overlapping,
146
+ // then it exists intersecting points.
147
+ var r1Square = r1 * r1, r2Square = r2 * r2,
148
+ // d^2 - r^2 + R^2 / 2d
149
+ x = (r1Square - r2Square + d * d) / (2 * d),
150
+ // y^2 = R^2 - x^2
151
+ y = Math.sqrt(r1Square - x * x), x1 = c1.x, x2 = c2.x, y1 = c1.y, y2 = c2.y, x0 = x1 + x * (x2 - x1) / d, y0 = y1 + x * (y2 - y1) / d, rx = -(y2 - y1) * (y / d), ry = -(x2 - x1) * (y / d);
152
+ points = [
153
+ { x: round(x0 + rx, 14), y: round(y0 - ry, 14) },
154
+ { x: round(x0 - rx, 14), y: round(y0 + ry, 14) }
155
+ ];
156
+ }
157
+ return points;
158
+ }
159
+ CircleUtilities.getCircleCircleIntersection = getCircleCircleIntersection;
160
+ /**
161
+ * Calculates all the intersection points for between a list of circles.
162
+ *
163
+ * @private
164
+ *
165
+ * @param {Array<Highcharts.CircleObject>} circles
166
+ * The circles to calculate the points from.
167
+ *
168
+ * @return {Array<Highcharts.GeometryObject>}
169
+ * Returns a list of intersection points.
170
+ */
171
+ function getCirclesIntersectionPoints(circles) {
172
+ return circles.reduce(function (points, c1, i, arr) {
173
+ var additional = arr
174
+ .slice(i + 1)
175
+ .reduce(function (points, c2, j, arr) {
176
+ var indexes = [i, j + i + 1];
177
+ return points.concat(getCircleCircleIntersection(c1, c2).map(function (p) {
178
+ p.indexes = indexes;
179
+ return p;
180
+ }));
181
+ }, []);
182
+ return points.concat(additional);
183
+ }, []);
184
+ }
185
+ CircleUtilities.getCirclesIntersectionPoints = getCirclesIntersectionPoints;
186
+ /**
187
+ * Tests wether the first circle is completely overlapping the second
188
+ * circle.
189
+ *
190
+ * @private
191
+ *
192
+ * @param {Highcharts.CircleObject} circle1
193
+ * The first circle.
194
+ *
195
+ * @param {Highcharts.CircleObject} circle2
196
+ * The The second circle.
197
+ *
198
+ * @return {boolean}
199
+ * Returns true if circle1 is completely overlapping circle2, false if not.
200
+ */
201
+ function isCircle1CompletelyOverlappingCircle2(circle1, circle2) {
202
+ return getDistanceBetweenPoints(circle1, circle2) + circle2.r < circle1.r + 1e-10;
203
+ }
204
+ CircleUtilities.isCircle1CompletelyOverlappingCircle2 = isCircle1CompletelyOverlappingCircle2;
205
+ /**
206
+ * Tests wether a point lies within a given circle.
207
+ * @private
208
+ * @param {Highcharts.PositionObject} point
209
+ * The point to test for.
210
+ *
211
+ * @param {Highcharts.CircleObject} circle
212
+ * The circle to test if the point is within.
213
+ *
214
+ * @return {boolean}
215
+ * Returns true if the point is inside, false if outside.
216
+ */
217
+ function isPointInsideCircle(point, circle) {
218
+ return getDistanceBetweenPoints(point, circle) <= circle.r + 1e-10;
219
+ }
220
+ CircleUtilities.isPointInsideCircle = isPointInsideCircle;
221
+ /**
222
+ * Tests wether a point lies within a set of circles.
223
+ *
224
+ * @private
225
+ *
226
+ * @param {Highcharts.PositionObject} point
227
+ * The point to test.
228
+ *
229
+ * @param {Array<Highcharts.CircleObject>} circles
230
+ * The list of circles to test against.
231
+ *
232
+ * @return {boolean}
233
+ * Returns true if the point is inside all the circles, false if not.
234
+ */
235
+ function isPointInsideAllCircles(point, circles) {
236
+ return !circles.some(function (circle) {
237
+ return !isPointInsideCircle(point, circle);
238
+ });
239
+ }
240
+ CircleUtilities.isPointInsideAllCircles = isPointInsideAllCircles;
241
+ /**
242
+ * Tests wether a point lies outside a set of circles.
243
+ *
244
+ * TODO: add unit tests.
245
+ *
246
+ * @private
247
+ *
248
+ * @param {Highcharts.PositionObject} point
249
+ * The point to test.
250
+ *
251
+ * @param {Array<Highcharts.CircleObject>} circles
252
+ * The list of circles to test against.
253
+ *
254
+ * @return {boolean}
255
+ * Returns true if the point is outside all the circles, false if not.
256
+ */
257
+ function isPointOutsideAllCircles(point, circles) {
258
+ return !circles.some(function (circle) {
259
+ return isPointInsideCircle(point, circle);
260
+ });
261
+ }
262
+ CircleUtilities.isPointOutsideAllCircles = isPointOutsideAllCircles;
263
+ /**
264
+ * Calculates the points for the polygon of the intersection area between
265
+ * a set of circles.
266
+ *
267
+ * @private
268
+ *
269
+ * @param {Array<Highcharts.CircleObject>} circles
270
+ * List of circles to calculate polygon of.
271
+ *
272
+ * @return {Array<Highcharts.GeometryObject>}
273
+ * Return list of points in the intersection polygon.
274
+ */
275
+ function getCirclesIntersectionPolygon(circles) {
276
+ return getCirclesIntersectionPoints(circles)
277
+ .filter(function (p) {
278
+ return isPointInsideAllCircles(p, circles);
279
+ });
280
+ }
281
+ CircleUtilities.getCirclesIntersectionPolygon = getCirclesIntersectionPolygon;
282
+ /**
283
+ * Calculate the path for the area of overlap between a set of circles.
284
+ *
285
+ * @todo handle cases with only 1 or 0 arcs.
286
+ *
287
+ * @private
288
+ *
289
+ * @param {Array<Highcharts.CircleObject>} circles
290
+ * List of circles to calculate area of.
291
+ *
292
+ * @return {Highcharts.GeometryIntersectionObject|undefined}
293
+ * Returns the path for the area of overlap. Returns an empty string if
294
+ * there are no intersection between all the circles.
295
+ */
296
+ function getAreaOfIntersectionBetweenCircles(circles) {
297
+ var intersectionPoints = getCirclesIntersectionPolygon(circles), result;
298
+ if (intersectionPoints.length > 1) {
299
+ // Calculate the center of the intersection points.
300
+ var center_1 = getCenterOfPoints(intersectionPoints);
301
+ intersectionPoints = intersectionPoints
302
+ // Calculate the angle between the center and the points.
303
+ .map(function (p) {
304
+ p.angle = getAngleBetweenPoints(center_1, p);
305
+ return p;
306
+ })
307
+ // Sort the points by the angle to the center.
308
+ .sort(function (a, b) {
309
+ return b.angle - a.angle;
310
+ });
311
+ var startPoint = intersectionPoints[intersectionPoints.length - 1];
312
+ var arcs = intersectionPoints
313
+ .reduce(function (data, p1) {
314
+ var startPoint = data.startPoint, midPoint = getCenterOfPoints([startPoint, p1]);
315
+ // Calculate the arc from the intersection points and their
316
+ // circles.
317
+ var arc = p1.indexes
318
+ // Filter out circles that are not included in both
319
+ // intersection points.
320
+ .filter(function (index) {
321
+ return startPoint.indexes.indexOf(index) > -1;
322
+ })
323
+ // Iterate the circles of the intersection points and
324
+ // calculate arcs.
325
+ .reduce(function (arc, index) {
326
+ var circle = circles[index], angle1 = getAngleBetweenPoints(circle, p1), angle2 = getAngleBetweenPoints(circle, startPoint), angleDiff = angle2 - angle1 +
327
+ (angle2 < angle1 ? 2 * Math.PI : 0), angle = angle2 - angleDiff / 2;
328
+ var width = getDistanceBetweenPoints(midPoint, {
329
+ x: circle.x + circle.r * Math.sin(angle),
330
+ y: circle.y + circle.r * Math.cos(angle)
331
+ });
332
+ var r = circle.r;
333
+ // Width can sometimes become to large due to
334
+ // floating point errors
335
+ if (width > r * 2) {
336
+ width = r * 2;
337
+ }
338
+ // Get the arc with the smallest width.
339
+ if (!arc || arc.width > width) {
340
+ arc = {
341
+ r: r,
342
+ largeArc: width > r ? 1 : 0,
343
+ width: width,
344
+ x: p1.x,
345
+ y: p1.y
346
+ };
347
+ }
348
+ // Return the chosen arc.
349
+ return arc;
350
+ }, null);
351
+ // If we find an arc then add it to the list and update p2.
352
+ if (arc) {
353
+ var r = arc.r;
354
+ data.arcs.push(['A', r, r, 0, arc.largeArc, 1, arc.x, arc.y]);
355
+ data.startPoint = p1;
356
+ }
357
+ return data;
358
+ }, {
359
+ startPoint: startPoint,
360
+ arcs: []
361
+ }).arcs;
362
+ if (arcs.length === 0) {
363
+ // empty
364
+ }
365
+ else if (arcs.length === 1) {
366
+ // empty
367
+ }
368
+ else {
369
+ arcs.unshift(['M', startPoint.x, startPoint.y]);
370
+ result = {
371
+ center: center_1,
372
+ d: arcs
373
+ };
374
+ }
375
+ }
376
+ return result;
377
+ }
378
+ CircleUtilities.getAreaOfIntersectionBetweenCircles = getAreaOfIntersectionBetweenCircles;
379
+ })(CircleUtilities || (CircleUtilities = {}));
380
+ /* *
381
+ *
382
+ * Default Export
383
+ *
384
+ * */
385
+ export default CircleUtilities;
@@ -0,0 +1,83 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ /* *
12
+ *
13
+ * Namespace
14
+ *
15
+ * */
16
+ var GeometryUtilities;
17
+ (function (GeometryUtilities) {
18
+ /* *
19
+ *
20
+ * Functions
21
+ *
22
+ * */
23
+ /**
24
+ * Calculates the center between a list of points.
25
+ *
26
+ * @private
27
+ *
28
+ * @param {Array<Highcharts.PositionObject>} points
29
+ * A list of points to calculate the center of.
30
+ *
31
+ * @return {Highcharts.PositionObject}
32
+ * Calculated center
33
+ */
34
+ function getCenterOfPoints(points) {
35
+ var sum = points.reduce(function (sum, point) {
36
+ sum.x += point.x;
37
+ sum.y += point.y;
38
+ return sum;
39
+ }, { x: 0, y: 0 });
40
+ return {
41
+ x: sum.x / points.length,
42
+ y: sum.y / points.length
43
+ };
44
+ }
45
+ GeometryUtilities.getCenterOfPoints = getCenterOfPoints;
46
+ /**
47
+ * Calculates the distance between two points based on their x and y
48
+ * coordinates.
49
+ *
50
+ * @private
51
+ *
52
+ * @param {Highcharts.PositionObject} p1
53
+ * The x and y coordinates of the first point.
54
+ *
55
+ * @param {Highcharts.PositionObject} p2
56
+ * The x and y coordinates of the second point.
57
+ *
58
+ * @return {number}
59
+ * Returns the distance between the points.
60
+ */
61
+ function getDistanceBetweenPoints(p1, p2) {
62
+ return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
63
+ }
64
+ GeometryUtilities.getDistanceBetweenPoints = getDistanceBetweenPoints;
65
+ /**
66
+ * Calculates the angle between two points.
67
+ * @todo add unit tests.
68
+ * @private
69
+ * @param {Highcharts.PositionObject} p1 The first point.
70
+ * @param {Highcharts.PositionObject} p2 The second point.
71
+ * @return {number} Returns the angle in radians.
72
+ */
73
+ function getAngleBetweenPoints(p1, p2) {
74
+ return Math.atan2(p2.x - p1.x, p2.y - p1.y);
75
+ }
76
+ GeometryUtilities.getAngleBetweenPoints = getAngleBetweenPoints;
77
+ })(GeometryUtilities || (GeometryUtilities = {}));
78
+ /* *
79
+ *
80
+ * Default Export
81
+ *
82
+ * */
83
+ export default GeometryUtilities;
@@ -40,7 +40,7 @@ var Globals;
40
40
  * Constants
41
41
  *
42
42
  * */
43
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.1.1', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
43
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.2.2', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
44
44
  Globals.doc.createElementNS &&
45
45
  !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
46
46
  parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
@@ -100,6 +100,13 @@ var Globals;
100
100
  * @private
101
101
  */
102
102
  Globals.symbolSizes = {};
103
+ /* *
104
+ *
105
+ * Properties
106
+ *
107
+ * */
108
+ // eslint-disable-next-line prefer-const
109
+ Globals.chartCount = 0;
103
110
  })(Globals || (Globals = {}));
104
111
  /* *
105
112
  *
@@ -107,3 +114,18 @@ var Globals;
107
114
  *
108
115
  * */
109
116
  export default Globals;
117
+ /* *
118
+ *
119
+ * API Declarations
120
+ *
121
+ * */
122
+ /**
123
+ * Theme options that should get applied to the chart. In module mode it
124
+ * might not be possible to change this property because of read-only
125
+ * restrictions, instead use {@link Highcharts.setOptions}.
126
+ *
127
+ * @deprecated
128
+ * @name Highcharts.theme
129
+ * @type {Highcharts.Options}
130
+ */
131
+ (''); // keeps doclets above in JS file
@@ -8,41 +8,10 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import H from '../Core/Globals.js';
11
+ import G from '../Core/Globals.js';
12
+ var doc = G.doc;
12
13
  import U from '../Core/Utilities.js';
13
- var merge = U.merge, objectEach = U.objectEach;
14
- /**
15
- * @interface Highcharts.AjaxSettingsObject
16
- */ /**
17
- * The payload to send.
18
- *
19
- * @name Highcharts.AjaxSettingsObject#data
20
- * @type {string|Highcharts.Dictionary<any>}
21
- */ /**
22
- * The data type expected.
23
- * @name Highcharts.AjaxSettingsObject#dataType
24
- * @type {"json"|"xml"|"text"|"octet"}
25
- */ /**
26
- * Function to call on error.
27
- * @name Highcharts.AjaxSettingsObject#error
28
- * @type {Function}
29
- */ /**
30
- * The headers; keyed on header name.
31
- * @name Highcharts.AjaxSettingsObject#headers
32
- * @type {Highcharts.Dictionary<string>}
33
- */ /**
34
- * Function to call on success.
35
- * @name Highcharts.AjaxSettingsObject#success
36
- * @type {Function}
37
- */ /**
38
- * The HTTP method to use. For example GET or POST.
39
- * @name Highcharts.AjaxSettingsObject#type
40
- * @type {string}
41
- */ /**
42
- * The URL to call.
43
- * @name Highcharts.AjaxSettingsObject#url
44
- * @type {string}
45
- */
14
+ var createElement = U.createElement, discardElement = U.discardElement, merge = U.merge, objectEach = U.objectEach;
46
15
  /**
47
16
  * Perform an Ajax call.
48
17
  *
@@ -54,7 +23,7 @@ var merge = U.merge, objectEach = U.objectEach;
54
23
  * @return {false|undefined}
55
24
  * Returns false, if error occured.
56
25
  */
57
- H.ajax = function (attr) {
26
+ function ajax(attr) {
58
27
  var options = merge(true, {
59
28
  url: false,
60
29
  type: 'get',
@@ -119,7 +88,7 @@ H.ajax = function (attr) {
119
88
  // empty
120
89
  }
121
90
  r.send(options.data || true);
122
- };
91
+ }
123
92
  /**
124
93
  * Get a JSON resource over XHR, also supporting CORS without preflight.
125
94
  *
@@ -129,10 +98,9 @@ H.ajax = function (attr) {
129
98
  * @param {Function} success
130
99
  * The success callback. For error handling, use the `Highcharts.ajax`
131
100
  * function instead.
132
- * @return {void}
133
101
  */
134
- H.getJSON = function (url, success) {
135
- H.ajax({
102
+ function getJSON(url, success) {
103
+ exports.ajax({
136
104
  url: url,
137
105
  success: success,
138
106
  dataType: 'json',
@@ -142,9 +110,85 @@ H.getJSON = function (url, success) {
142
110
  'Content-Type': 'text/plain'
143
111
  }
144
112
  });
145
- };
113
+ }
114
+ /**
115
+ * The post utility
116
+ *
117
+ * @private
118
+ * @function Highcharts.post
119
+ *
120
+ * @param {string} url
121
+ * Post URL
122
+ *
123
+ * @param {object} data
124
+ * Post data
125
+ *
126
+ * @param {Highcharts.Dictionary<string>} [formAttributes]
127
+ * Additional attributes for the post request
128
+ */
129
+ function post(url, data, formAttributes) {
130
+ // create the form
131
+ var form = createElement('form', merge({
132
+ method: 'post',
133
+ action: url,
134
+ enctype: 'multipart/form-data'
135
+ }, formAttributes), {
136
+ display: 'none'
137
+ }, doc.body);
138
+ // add the data
139
+ objectEach(data, function (val, name) {
140
+ createElement('input', {
141
+ type: 'hidden',
142
+ name: name,
143
+ value: val
144
+ }, null, form);
145
+ });
146
+ // submit
147
+ form.submit();
148
+ // clean up
149
+ discardElement(form);
150
+ }
151
+ /* *
152
+ *
153
+ * Default Export
154
+ *
155
+ * */
146
156
  var exports = {
147
- ajax: H.ajax,
148
- getJSON: H.getJSON
157
+ ajax: ajax,
158
+ getJSON: getJSON,
159
+ post: post
149
160
  };
150
161
  export default exports;
162
+ /**
163
+ * @interface Highcharts.AjaxSettingsObject
164
+ */ /**
165
+ * The payload to send.
166
+ *
167
+ * @name Highcharts.AjaxSettingsObject#data
168
+ * @type {string|Highcharts.Dictionary<any>}
169
+ */ /**
170
+ * The data type expected.
171
+ * @name Highcharts.AjaxSettingsObject#dataType
172
+ * @type {"json"|"xml"|"text"|"octet"}
173
+ */ /**
174
+ * Function to call on error.
175
+ * @name Highcharts.AjaxSettingsObject#error
176
+ * @type {Function}
177
+ */ /**
178
+ * The headers; keyed on header name.
179
+ * @name Highcharts.AjaxSettingsObject#headers
180
+ * @type {Highcharts.Dictionary<string>}
181
+ */ /**
182
+ * Function to call on success.
183
+ * @name Highcharts.AjaxSettingsObject#success
184
+ * @type {Function}
185
+ */ /**
186
+ * The HTTP method to use. For example GET or POST.
187
+ * @name Highcharts.AjaxSettingsObject#type
188
+ * @type {string}
189
+ */ /**
190
+ * The URL to call.
191
+ * @name Highcharts.AjaxSettingsObject#url
192
+ * @type {string}
193
+ */
194
+ (''); // keeps doclets above in JS file