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
@@ -43,11 +43,21 @@ var hasValidDOMParser = (function () {
43
43
  * Either an HTML string or an ASTNode list to populate the tree.
44
44
  */
45
45
  var AST = /** @class */ (function () {
46
+ /* *
47
+ *
48
+ * Constructor
49
+ *
50
+ * */
46
51
  // Construct an AST from HTML markup, or wrap an array of existing AST nodes
47
52
  function AST(source) {
48
53
  this.nodes = typeof source === 'string' ?
49
54
  this.parseMarkup(source) : source;
50
55
  }
56
+ /* *
57
+ *
58
+ * Static Functions
59
+ *
60
+ * */
51
61
  /**
52
62
  * Filter an object of SVG or HTML attributes against the allow list.
53
63
  *
@@ -84,11 +94,13 @@ var AST = /** @class */ (function () {
84
94
  * `innerHTML` in all cases where the content is not fully trusted.
85
95
  *
86
96
  * @static
87
- *
88
97
  * @function Highcharts.AST#setElementHTML
89
98
  *
90
- * @param {SVGDOMElement|HTMLDOMElement} el The node to set content of
91
- * @param {string} html The markup string
99
+ * @param {SVGDOMElement|HTMLDOMElement} el
100
+ * Node to set content of.
101
+ *
102
+ * @param {string} html
103
+ * Markup string
92
104
  */
93
105
  AST.setElementHTML = function (el, html) {
94
106
  el.innerHTML = ''; // Clear previous
@@ -97,6 +109,11 @@ var AST = /** @class */ (function () {
97
109
  ast.addToDOM(el);
98
110
  }
99
111
  };
112
+ /* *
113
+ *
114
+ * Functions
115
+ *
116
+ * */
100
117
  /**
101
118
  * Add the tree defined as a hierarchical JS structure to the DOM
102
119
  *
@@ -181,6 +198,7 @@ var AST = /** @class */ (function () {
181
198
  */
182
199
  AST.prototype.parseMarkup = function (markup) {
183
200
  var nodes = [];
201
+ markup = markup.trim();
184
202
  var doc;
185
203
  var body;
186
204
  if (hasValidDOMParser) {
@@ -198,12 +216,7 @@ var AST = /** @class */ (function () {
198
216
  tagName: tagName
199
217
  };
200
218
  if (tagName === '#text') {
201
- var textContent = node.textContent || '';
202
- // Whitespace text node, don't append it to the AST
203
- if (/^[\s]*$/.test(textContent)) {
204
- return;
205
- }
206
- astNode.textContent = textContent;
219
+ astNode.textContent = node.textContent || '';
207
220
  }
208
221
  var parsedAttributes = node.attributes;
209
222
  // Add attributes
@@ -232,80 +245,11 @@ var AST = /** @class */ (function () {
232
245
  }
233
246
  return nodes;
234
247
  };
235
- /**
236
- * The list of allowed SVG or HTML tags, used for sanitizing potentially
237
- * harmful content from the chart configuration before adding to the DOM.
248
+ /* *
238
249
  *
239
- * @example
240
- * // Allow a custom, trusted tag
241
- * Highcharts.AST.allowedTags.push('blink'); // ;)
250
+ * Static Properties
242
251
  *
243
- * @name Highcharts.AST.allowedTags
244
- * @static
245
- */
246
- AST.allowedTags = [
247
- 'a',
248
- 'b',
249
- 'br',
250
- 'button',
251
- 'caption',
252
- 'circle',
253
- 'clipPath',
254
- 'code',
255
- 'dd',
256
- 'defs',
257
- 'div',
258
- 'dl',
259
- 'dt',
260
- 'em',
261
- 'feComponentTransfer',
262
- 'feFuncA',
263
- 'feFuncB',
264
- 'feFuncG',
265
- 'feFuncR',
266
- 'feGaussianBlur',
267
- 'feOffset',
268
- 'feMerge',
269
- 'feMergeNode',
270
- 'filter',
271
- 'h1',
272
- 'h2',
273
- 'h3',
274
- 'h4',
275
- 'h5',
276
- 'h6',
277
- 'hr',
278
- 'i',
279
- 'img',
280
- 'li',
281
- 'linearGradient',
282
- 'marker',
283
- 'ol',
284
- 'p',
285
- 'path',
286
- 'pattern',
287
- 'pre',
288
- 'rect',
289
- 'small',
290
- 'span',
291
- 'stop',
292
- 'strong',
293
- 'style',
294
- 'sub',
295
- 'sup',
296
- 'svg',
297
- 'table',
298
- 'text',
299
- 'thead',
300
- 'tbody',
301
- 'tspan',
302
- 'td',
303
- 'th',
304
- 'tr',
305
- 'u',
306
- 'ul',
307
- '#text'
308
- ];
252
+ * */
309
253
  /**
310
254
  * The list of allowed SVG or HTML attributes, used for sanitizing
311
255
  * potentially harmful content from the chart configuration before adding to
@@ -409,6 +353,80 @@ var AST = /** @class */ (function () {
409
353
  './',
410
354
  '#'
411
355
  ];
356
+ /**
357
+ * The list of allowed SVG or HTML tags, used for sanitizing potentially
358
+ * harmful content from the chart configuration before adding to the DOM.
359
+ *
360
+ * @example
361
+ * // Allow a custom, trusted tag
362
+ * Highcharts.AST.allowedTags.push('blink'); // ;)
363
+ *
364
+ * @name Highcharts.AST.allowedTags
365
+ * @static
366
+ */
367
+ AST.allowedTags = [
368
+ 'a',
369
+ 'b',
370
+ 'br',
371
+ 'button',
372
+ 'caption',
373
+ 'circle',
374
+ 'clipPath',
375
+ 'code',
376
+ 'dd',
377
+ 'defs',
378
+ 'div',
379
+ 'dl',
380
+ 'dt',
381
+ 'em',
382
+ 'feComponentTransfer',
383
+ 'feFuncA',
384
+ 'feFuncB',
385
+ 'feFuncG',
386
+ 'feFuncR',
387
+ 'feGaussianBlur',
388
+ 'feOffset',
389
+ 'feMerge',
390
+ 'feMergeNode',
391
+ 'filter',
392
+ 'h1',
393
+ 'h2',
394
+ 'h3',
395
+ 'h4',
396
+ 'h5',
397
+ 'h6',
398
+ 'hr',
399
+ 'i',
400
+ 'img',
401
+ 'li',
402
+ 'linearGradient',
403
+ 'marker',
404
+ 'ol',
405
+ 'p',
406
+ 'path',
407
+ 'pattern',
408
+ 'pre',
409
+ 'rect',
410
+ 'small',
411
+ 'span',
412
+ 'stop',
413
+ 'strong',
414
+ 'style',
415
+ 'sub',
416
+ 'sup',
417
+ 'svg',
418
+ 'table',
419
+ 'text',
420
+ 'thead',
421
+ 'tbody',
422
+ 'tspan',
423
+ 'td',
424
+ 'th',
425
+ 'tr',
426
+ 'u',
427
+ 'ul',
428
+ '#text'
429
+ ];
412
430
  return AST;
413
431
  }());
414
432
  /* *
@@ -439,4 +457,4 @@ export default AST;
439
457
  * @name Highcharts.ASTNode#textContent
440
458
  * @type {string|undefined}
441
459
  */
442
- ''; // detach doclets above
460
+ (''); // keeps doclets above in file
@@ -28,7 +28,7 @@ import U from '../../Utilities.js';
28
28
  var css = U.css, defined = U.defined, extend = U.extend, pick = U.pick, pInt = U.pInt;
29
29
  /* *
30
30
  *
31
- * Composition
31
+ * Class
32
32
  *
33
33
  * */
34
34
  /* eslint-disable valid-jsdoc */
@@ -47,12 +47,16 @@ var HTMLElement = /** @class */ (function (_super) {
47
47
  * @private
48
48
  */
49
49
  HTMLElement.compose = function (SVGElementClass) {
50
- var svgElementProto = SVGElementClass.prototype, htmlElementProto = HTMLElement.prototype;
51
- svgElementProto.getSpanCorrection = htmlElementProto.getSpanCorrection;
52
- svgElementProto.htmlCss = htmlElementProto.htmlCss;
53
- svgElementProto.htmlGetBBox = htmlElementProto.htmlGetBBox;
54
- svgElementProto.htmlUpdateTransform = htmlElementProto.htmlUpdateTransform;
55
- svgElementProto.setSpanRotation = htmlElementProto.setSpanRotation;
50
+ if (HTMLElement.composedClasses.indexOf(SVGElementClass) === -1) {
51
+ HTMLElement.composedClasses.push(SVGElementClass);
52
+ var htmlElementProto = HTMLElement.prototype, svgElementProto = SVGElementClass.prototype;
53
+ svgElementProto.getSpanCorrection = htmlElementProto.getSpanCorrection;
54
+ svgElementProto.htmlCss = htmlElementProto.htmlCss;
55
+ svgElementProto.htmlGetBBox = htmlElementProto.htmlGetBBox;
56
+ svgElementProto.htmlUpdateTransform = htmlElementProto.htmlUpdateTransform;
57
+ svgElementProto.setSpanRotation = htmlElementProto.setSpanRotation;
58
+ }
59
+ return SVGElementClass;
56
60
  };
57
61
  /* *
58
62
  *
@@ -234,6 +238,12 @@ var HTMLElement = /** @class */ (function (_super) {
234
238
  css(this.element, rotationStyle);
235
239
  }
236
240
  };
241
+ /* *
242
+ *
243
+ * Static Properties
244
+ *
245
+ * */
246
+ HTMLElement.composedClasses = [];
237
247
  return HTMLElement;
238
248
  }(SVGElement));
239
249
  /* *
@@ -28,7 +28,7 @@ import U from '../../Utilities.js';
28
28
  var attr = U.attr, createElement = U.createElement, extend = U.extend, pick = U.pick;
29
29
  /* *
30
30
  *
31
- * Composition
31
+ * Class
32
32
  *
33
33
  * */
34
34
  /* eslint-disable valid-jsdoc */
@@ -40,14 +40,23 @@ var HTMLRenderer = /** @class */ (function (_super) {
40
40
  }
41
41
  /* *
42
42
  *
43
- * Functions
43
+ * Static Functions
44
44
  *
45
45
  * */
46
46
  /** @private */
47
47
  HTMLRenderer.compose = function (SVGRendererClass) {
48
- var svgRendererProto = SVGRendererClass.prototype, htmlRendererProto = HTMLRenderer.prototype;
49
- svgRendererProto.html = htmlRendererProto.html;
48
+ if (HTMLRenderer.composedClasses.indexOf(SVGRendererClass) === -1) {
49
+ HTMLRenderer.composedClasses.push(SVGRendererClass);
50
+ var htmlRendererProto = HTMLRenderer.prototype, svgRendererProto = SVGRendererClass.prototype;
51
+ svgRendererProto.html = htmlRendererProto.html;
52
+ }
53
+ return SVGRendererClass;
50
54
  };
55
+ /* *
56
+ *
57
+ * Functions
58
+ *
59
+ * */
51
60
  /**
52
61
  * Create HTML text node. This is used by the VML renderer as well as the
53
62
  * SVG renderer through the useHTML option.
@@ -145,7 +154,8 @@ var HTMLRenderer = /** @class */ (function (_super) {
145
154
  // This is specific for HTML within SVG
146
155
  if (isSVG) {
147
156
  wrapper.add = function (svgGroupWrapper) {
148
- var htmlGroup, container = renderer.box.parentNode, parentGroup, parents = [];
157
+ var container = renderer.box.parentNode, parents = [];
158
+ var htmlGroup, parentGroup;
149
159
  this.parentGroup = svgGroupWrapper;
150
160
  // Create a mock group to hold the HTML elements
151
161
  if (svgGroupWrapper) {
@@ -162,7 +172,7 @@ var HTMLRenderer = /** @class */ (function (_super) {
162
172
  // Ensure dynamically updating position when any parent
163
173
  // is translated
164
174
  parents.reverse().forEach(function (parentGroup) {
165
- var htmlGroupStyle, cls = attr(parentGroup.element, 'class');
175
+ var cls = attr(parentGroup.element, 'class');
166
176
  /**
167
177
  * Common translate setter for X and Y on the HTML
168
178
  * group. Reverted the fix for #6957 du to
@@ -195,11 +205,12 @@ var HTMLRenderer = /** @class */ (function (_super) {
195
205
  display: parentGroup.display,
196
206
  opacity: parentGroup.opacity,
197
207
  cursor: parentGroupStyles.cursor,
198
- pointerEvents: parentGroupStyles.pointerEvents // #5595
208
+ pointerEvents: parentGroupStyles.pointerEvents,
209
+ visibility: parentGroup.visibility
199
210
  // the top group is appended to container
200
211
  }, htmlGroup || container);
201
212
  // Shortcut
202
- htmlGroupStyle = htmlGroup.style;
213
+ var htmlGroupStyle = htmlGroup.style;
203
214
  // Set listeners to update the HTML div's position
204
215
  // whenever the SVG group position is changed.
205
216
  extend(parentGroup, {
@@ -215,7 +226,7 @@ var HTMLRenderer = /** @class */ (function (_super) {
215
226
  if (parents[0].div) { // #6418
216
227
  wrapper.on.apply({
217
228
  element: parents[0].div,
218
- onEvents: wrapper.onEvents
229
+ onEvents: parentGroup.onEvents
219
230
  }, arguments);
220
231
  }
221
232
  return parentGroup;
@@ -243,6 +254,12 @@ var HTMLRenderer = /** @class */ (function (_super) {
243
254
  }
244
255
  return wrapper;
245
256
  };
257
+ /* *
258
+ *
259
+ * Static Properties
260
+ *
261
+ * */
262
+ HTMLRenderer.composedClasses = [];
246
263
  return HTMLRenderer;
247
264
  }(SVGRenderer));
248
265
  /* *
@@ -18,14 +18,19 @@ var RendererRegistry;
18
18
  (function (RendererRegistry) {
19
19
  /* *
20
20
  *
21
- * Static Properties
21
+ * Constants
22
22
  *
23
23
  * */
24
- var defaultRenderer;
25
24
  RendererRegistry.rendererTypes = {};
26
25
  /* *
27
26
  *
28
- * Static Functions
27
+ * Variables
28
+ *
29
+ * */
30
+ var defaultRenderer;
31
+ /* *
32
+ *
33
+ * Functions
29
34
  *
30
35
  * */
31
36
  /**
@@ -66,7 +71,7 @@ var RendererRegistry;
66
71
  })(RendererRegistry || (RendererRegistry = {}));
67
72
  /* *
68
73
  *
69
- * Export
74
+ * Default Export
70
75
  *
71
76
  * */
72
77
  export default RendererRegistry;
@@ -0,0 +1,159 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ /* *
12
+ *
13
+ * Imports
14
+ *
15
+ * */
16
+ import U from '../Utilities.js';
17
+ var clamp = U.clamp, pick = U.pick, stableSort = U.stableSort;
18
+ /* *
19
+ *
20
+ * Namespace
21
+ *
22
+ * */
23
+ var RendererUtilities;
24
+ (function (RendererUtilities) {
25
+ /* *
26
+ *
27
+ * Declarations
28
+ *
29
+ * */
30
+ /* *
31
+ *
32
+ * Functions
33
+ *
34
+ * */
35
+ /* eslint-disable valid-jsdoc */
36
+ /**
37
+ * General distribution algorithm for distributing labels of differing size
38
+ * along a confined length in two dimensions. The algorithm takes an array
39
+ * of objects containing a size, a target and a rank. It will place the
40
+ * labels as close as possible to their targets, skipping the lowest ranked
41
+ * labels if necessary.
42
+ * @private
43
+ */
44
+ function distribute(boxes, len, maxDistance) {
45
+ var origBoxes = boxes, // Original array will be altered with added .pos
46
+ reducedLen = origBoxes.reducedLen || len, sortByRank = function (a, b) {
47
+ return (b.rank || 0) - (a.rank || 0);
48
+ }, sortByTarget = function (a, b) {
49
+ return a.target - b.target;
50
+ };
51
+ var i, overlapping = true, restBoxes = [], // The outranked overshoot
52
+ box, target, total = 0;
53
+ // If the total size exceeds the len, remove those boxes with the lowest
54
+ // rank
55
+ i = boxes.length;
56
+ while (i--) {
57
+ total += boxes[i].size;
58
+ }
59
+ // Sort by rank, then slice away overshoot
60
+ if (total > reducedLen) {
61
+ stableSort(boxes, sortByRank);
62
+ i = 0;
63
+ total = 0;
64
+ while (total <= reducedLen) {
65
+ total += boxes[i].size;
66
+ i++;
67
+ }
68
+ restBoxes = boxes.splice(i - 1, boxes.length);
69
+ }
70
+ // Order by target
71
+ stableSort(boxes, sortByTarget);
72
+ // So far we have been mutating the original array. Now
73
+ // create a copy with target arrays
74
+ boxes = boxes.map(function (box) { return ({
75
+ size: box.size,
76
+ targets: [box.target],
77
+ align: pick(box.align, 0.5)
78
+ }); });
79
+ while (overlapping) {
80
+ // Initial positions: target centered in box
81
+ i = boxes.length;
82
+ while (i--) {
83
+ box = boxes[i];
84
+ // Composite box, average of targets
85
+ target = (Math.min.apply(0, box.targets) +
86
+ Math.max.apply(0, box.targets)) / 2;
87
+ box.pos = clamp(target - box.size * box.align, 0, len - box.size);
88
+ }
89
+ // Detect overlap and join boxes
90
+ i = boxes.length;
91
+ overlapping = false;
92
+ while (i--) {
93
+ // Overlap
94
+ if (i > 0 &&
95
+ boxes[i - 1].pos + boxes[i - 1].size >
96
+ boxes[i].pos) {
97
+ // Add this size to the previous box
98
+ boxes[i - 1].size += boxes[i].size;
99
+ boxes[i - 1].targets = boxes[i - 1]
100
+ .targets
101
+ .concat(boxes[i].targets);
102
+ boxes[i - 1].align = 0.5;
103
+ // Overlapping right, push left
104
+ if (boxes[i - 1].pos + boxes[i - 1].size > len) {
105
+ boxes[i - 1].pos = len - boxes[i - 1].size;
106
+ }
107
+ boxes.splice(i, 1); // Remove this item
108
+ overlapping = true;
109
+ }
110
+ }
111
+ }
112
+ // Add the rest (hidden boxes)
113
+ origBoxes.push.apply(origBoxes, restBoxes);
114
+ // Now the composite boxes are placed, we need to put the original boxes
115
+ // within them
116
+ i = 0;
117
+ boxes.some(function (box) {
118
+ var posInCompositeBox = 0;
119
+ // Exceeded maxDistance => abort
120
+ return (box.targets || []).some(function () {
121
+ origBoxes[i].pos = box.pos + posInCompositeBox;
122
+ // If the distance between the position and the target exceeds
123
+ // maxDistance, abort the loop and decrease the length in
124
+ // increments of 10% to recursively reduce the number of
125
+ // visible boxes by rank. Once all boxes are within the
126
+ // maxDistance, we're good.
127
+ if (typeof maxDistance !== 'undefined' &&
128
+ Math.abs(origBoxes[i].pos - origBoxes[i].target) > maxDistance) {
129
+ // Reset the positions that are already set
130
+ origBoxes
131
+ .slice(0, i + 1)
132
+ .forEach(function (box) { return delete box.pos; });
133
+ // Try with a smaller length
134
+ origBoxes.reducedLen =
135
+ (origBoxes.reducedLen || len) - (len * 0.1);
136
+ // Recurse
137
+ if (origBoxes.reducedLen > len * 0.1) {
138
+ distribute(origBoxes, len, maxDistance);
139
+ }
140
+ // Exceeded maxDistance => abort
141
+ return true;
142
+ }
143
+ posInCompositeBox += origBoxes[i].size;
144
+ i++;
145
+ return false;
146
+ });
147
+ });
148
+ // Add the rest (hidden) boxes and sort by target
149
+ stableSort(origBoxes, sortByTarget);
150
+ return origBoxes;
151
+ }
152
+ RendererUtilities.distribute = distribute;
153
+ })(RendererUtilities || (RendererUtilities = {}));
154
+ /* *
155
+ *
156
+ * Default Export
157
+ *
158
+ * */
159
+ export default RendererUtilities;
@@ -7,13 +7,14 @@
7
7
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
8
  *
9
9
  * */
10
+ 'use strict';
10
11
  import A from '../../Animation/AnimationUtilities.js';
11
- import AST from '../HTML/AST.js';
12
12
  var animate = A.animate, animObject = A.animObject, stop = A.stop;
13
+ import AST from '../HTML/AST.js';
13
14
  import Color from '../../Color/Color.js';
14
15
  import H from '../../Globals.js';
15
- var deg2rad = H.deg2rad, doc = H.doc, hasTouch = H.hasTouch, noop = H.noop, svg = H.svg, SVG_NS = H.SVG_NS, win = H.win;
16
- import palette from '../../Color/Palette.js';
16
+ var deg2rad = H.deg2rad, doc = H.doc, noop = H.noop, svg = H.svg, SVG_NS = H.SVG_NS, win = H.win;
17
+ import Palette from '../../Color/Palette.js';
17
18
  import U from '../../Utilities.js';
18
19
  var addEvent = U.addEvent, attr = U.attr, createElement = U.createElement, css = U.css, defined = U.defined, erase = U.erase, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isFunction = U.isFunction, isNumber = U.isNumber, isString = U.isString, merge = U.merge, objectEach = U.objectEach, pick = U.pick, pInt = U.pInt, syncTimeout = U.syncTimeout, uniqueKey = U.uniqueKey;
19
20
  /* *
@@ -1152,7 +1153,7 @@ var SVGElement = /** @class */ (function () {
1152
1153
  }
1153
1154
  // Cache it. When loading a chart in a hidden iframe in Firefox and
1154
1155
  // IE/Edge, the bounding box height is 0, so don't cache it (#5620).
1155
- if (cacheKey && bBox.height > 0) {
1156
+ if (cacheKey && (textStr === '' || bBox.height > 0)) {
1156
1157
  // Rotate (#4681)
1157
1158
  while (cacheKeys.length > 250) {
1158
1159
  delete cache[cacheKeys.shift()];
@@ -1550,7 +1551,7 @@ var SVGElement = /** @class */ (function () {
1550
1551
  */
1551
1552
  SVGElement.prototype.shadow = function (shadowOptions, group, cutOff) {
1552
1553
  var shadows = [], element = this.element, oldShadowOptions = this.oldShadowOptions, defaultShadowOptions = {
1553
- color: palette.neutralColor100,
1554
+ color: Palette.neutralColor100,
1554
1555
  offsetX: this.parentInverted ? -1 : 1,
1555
1556
  offsetY: this.parentInverted ? -1 : 1,
1556
1557
  opacity: 0.15,
@@ -1593,7 +1594,7 @@ var SVGElement = /** @class */ (function () {
1593
1594
  strokeWidth = (options.width * 2) + 1 - (2 * i);
1594
1595
  attr(shadow, {
1595
1596
  stroke: (shadowOptions.color ||
1596
- palette.neutralColor100),
1597
+ Palette.neutralColor100),
1597
1598
  'stroke-opacity': shadowElementOpacity * i,
1598
1599
  'stroke-width': strokeWidth,
1599
1600
  transform: transform,
@@ -2013,6 +2014,11 @@ SVGElement.prototype.matrixSetter =
2013
2014
  this[key] = value;
2014
2015
  this.doTransform = true;
2015
2016
  };
2017
+ /* *
2018
+ *
2019
+ * Default Export
2020
+ *
2021
+ * */
2016
2022
  export default SVGElement;
2017
2023
  /* *
2018
2024
  *
@@ -2176,4 +2182,4 @@ export default SVGElement;
2176
2182
  *
2177
2183
  * @typedef {"bottom"|"middle"|"top"} Highcharts.VerticalAlignValue
2178
2184
  */
2179
- ''; // detach doclets above
2185
+ ''; // keeps doclets above in JS file
@@ -39,7 +39,7 @@ var SVGLabel = /** @class */ (function (_super) {
39
39
  __extends(SVGLabel, _super);
40
40
  /* *
41
41
  *
42
- * Constructors
42
+ * Constructor
43
43
  *
44
44
  * */
45
45
  function SVGLabel(renderer, str, x, y, shape, anchorX, anchorY, useHTML, baseline, className) {
@@ -60,7 +60,9 @@ var SVGLabel = /** @class */ (function (_super) {
60
60
  if (className) {
61
61
  _this.addClass('highcharts-' + className);
62
62
  }
63
- _this.text = renderer.text('', 0, 0, useHTML).attr({ zIndex: 1 });
63
+ // Create the text element. An undefined text content prevents redundant
64
+ // box calculation (#16121)
65
+ _this.text = renderer.text(void 0, 0, 0, useHTML).attr({ zIndex: 1 });
64
66
  // Validate the shape argument
65
67
  var hasBGImage;
66
68
  if (typeof shape === 'string') {
@@ -195,33 +197,6 @@ var SVGLabel = /** @class */ (function (_super) {
195
197
  SVGLabel.prototype.heightSetter = function (value) {
196
198
  this.heightSetting = value;
197
199
  };
198
- // Event handling. In case of useHTML, we need to make sure that events
199
- // are captured on the span as well, and that mouseenter/mouseleave
200
- // between the SVG group and the HTML span are not treated as real
201
- // enter/leave events. #13310.
202
- SVGLabel.prototype.on = function (eventType, handler) {
203
- var label = this;
204
- var text = label.text;
205
- var span = text && text.element.tagName === 'SPAN' ? text : void 0;
206
- var selectiveHandler;
207
- if (span) {
208
- selectiveHandler = function (e) {
209
- if ((eventType === 'mouseenter' ||
210
- eventType === 'mouseleave') &&
211
- e.relatedTarget instanceof Element &&
212
- (
213
- // #14110
214
- label.element.compareDocumentPosition(e.relatedTarget) & Node.DOCUMENT_POSITION_CONTAINED_BY ||
215
- span.element.compareDocumentPosition(e.relatedTarget) & Node.DOCUMENT_POSITION_CONTAINED_BY)) {
216
- return;
217
- }
218
- handler.call(label.element, e);
219
- };
220
- span.on(eventType, selectiveHandler);
221
- }
222
- SVGElement.prototype.on.call(label, eventType, selectiveHandler || handler);
223
- return label;
224
- };
225
200
  /*
226
201
  * After the text element is added, get the desired size of the border
227
202
  * box and add it before the text in the DOM.
@@ -416,4 +391,9 @@ var SVGLabel = /** @class */ (function (_super) {
416
391
  ];
417
392
  return SVGLabel;
418
393
  }(SVGElement));
394
+ /* *
395
+ *
396
+ * Default Export
397
+ *
398
+ * */
419
399
  export default SVGLabel;