highcharts 10.2.0 → 10.2.1

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 (763) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/Accessibility.js +6 -0
  7. package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
  9. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  10. package/es-modules/Core/Axis/Axis.js +3 -0
  11. package/es-modules/Core/Axis/Axis3D.js +1 -1
  12. package/es-modules/Core/Axis/AxisDefaults.js +1 -1
  13. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
  15. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  16. package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
  17. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  19. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  22. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  23. package/es-modules/Core/Axis/ZAxis.js +73 -70
  24. package/es-modules/Core/Chart/Chart.js +16 -2
  25. package/es-modules/Core/Chart/Chart3D.js +2 -2
  26. package/es-modules/Core/Chart/ChartDefaults.js +151 -2
  27. package/es-modules/Core/Chart/StockChart.js +5 -3
  28. package/es-modules/Core/DefaultOptions.js +2 -1
  29. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  30. package/es-modules/Core/Globals.js +2 -1
  31. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  32. package/es-modules/Core/Navigator.js +24 -7
  33. package/es-modules/Core/Pointer.js +7 -9
  34. package/es-modules/Core/Renderer/HTML/AST.js +4 -1
  35. package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
  36. package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
  37. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  40. package/es-modules/Core/Scrollbar.js +3 -1
  41. package/es-modules/Core/Series/DataLabel.js +8 -6
  42. package/es-modules/Core/Series/Point.js +2 -2
  43. package/es-modules/Core/Series/Series.js +36 -31
  44. package/es-modules/Core/Series/Series3D.js +1 -1
  45. package/es-modules/Core/Series/SeriesDefaults.js +8 -3
  46. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  47. package/es-modules/Core/Tooltip.js +14 -3
  48. package/es-modules/Core/Utilities.js +1 -3
  49. package/es-modules/Data/DataConverter.js +5 -0
  50. package/es-modules/Data/DataPromise.js +1 -1
  51. package/es-modules/Data/DataSeriesComposition.js +288 -0
  52. package/es-modules/Data/DataSeriesConverter.js +1 -1
  53. package/es-modules/Data/DataTable.js +2 -2
  54. package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
  55. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  56. package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
  57. package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
  58. package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
  59. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
  60. package/es-modules/Data/Modifiers/SortModifier.js +1 -1
  61. package/es-modules/Data/Parsers/DataParser.js +1 -1
  62. package/es-modules/Data/Stores/DataStore.js +1 -1
  63. package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
  64. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  65. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  66. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  67. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  68. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  69. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  70. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
  71. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  72. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  73. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  74. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  75. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  76. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
  78. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  79. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  80. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  81. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  82. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  83. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  84. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  85. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
  86. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
  87. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
  88. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
  89. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
  90. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
  91. package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
  92. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
  93. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
  94. package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
  95. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
  96. package/es-modules/Extensions/Boost/Boost.js +320 -15
  97. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  98. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  99. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  100. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  101. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  102. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  103. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  104. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  105. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  106. package/es-modules/Extensions/BoostCanvas.js +62 -46
  107. package/es-modules/Extensions/Breadcrumbs.js +4 -0
  108. package/es-modules/Extensions/DataGrouping.js +65 -27
  109. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  110. package/es-modules/Extensions/DraggablePoints.js +4 -3
  111. package/es-modules/Extensions/Drilldown.js +7 -8
  112. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
  113. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  114. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  115. package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
  116. package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
  117. package/es-modules/Extensions/MarkerClusters.js +2 -0
  118. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  119. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  120. package/es-modules/Extensions/ParallelCoordinates.js +11 -7
  121. package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
  122. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  123. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  124. package/es-modules/Maps/MapPointer.js +1 -1
  125. package/es-modules/Maps/MapView.js +2 -1
  126. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  127. package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
  128. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  129. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  130. package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
  131. package/es-modules/Series/Column/ColumnSeries.js +2 -0
  132. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  133. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
  134. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  135. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
  136. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
  137. package/es-modules/Series/DragNodesComposition.js +166 -0
  138. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
  139. package/es-modules/Series/Gantt/GanttSeries.js +1 -1
  140. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  141. package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
  142. package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
  143. package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
  144. package/es-modules/Series/Map/MapSeries.js +6 -1
  145. package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
  146. package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
  147. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  148. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  149. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  150. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  151. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  152. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  153. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  154. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  155. package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
  156. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  157. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
  158. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
  159. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
  160. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  161. package/es-modules/Series/Pie/PieSeries.js +3 -1
  162. package/es-modules/Series/PolarComposition.js +12 -12
  163. package/es-modules/Series/Sankey/SankeySeries.js +13 -1
  164. package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
  165. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
  166. package/es-modules/Series/SeriesOnPointComposition.js +5 -1
  167. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
  168. package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
  169. package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
  170. package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
  171. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  172. package/es-modules/Series/Vector/VectorSeries.js +2 -4
  173. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
  174. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  175. package/es-modules/Series/XRange/XRangePoint.js +54 -45
  176. package/es-modules/Series/XRange/XRangeSeries.js +121 -273
  177. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  178. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
  179. package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
  181. package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
  182. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
  183. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
  184. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
  185. package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
  186. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
  187. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
  188. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
  189. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
  190. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
  191. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
  192. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
  193. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
  194. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
  195. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
  196. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
  197. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
  198. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
  199. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
  200. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
  201. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
  202. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
  203. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
  204. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
  205. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
  206. package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
  207. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
  208. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
  209. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
  210. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
  211. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
  212. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
  213. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
  214. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  215. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
  216. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
  217. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
  218. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
  219. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
  220. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
  221. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
  222. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
  223. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
  224. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
  225. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
  226. package/es-modules/Stock/StockToolbar.js +568 -0
  227. package/es-modules/Stock/StockTools.js +256 -0
  228. package/es-modules/Stock/StockToolsBindings.js +114 -629
  229. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  230. package/es-modules/Stock/StockToolsGui.js +150 -1771
  231. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  232. package/es-modules/masters/highcharts-3d.src.js +5 -4
  233. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  234. package/es-modules/masters/highcharts-more.src.js +4 -3
  235. package/es-modules/masters/highcharts.src.js +5 -2
  236. package/es-modules/masters/highmaps.src.js +1 -1
  237. package/es-modules/masters/highstock.src.js +1 -1
  238. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  239. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  240. package/es-modules/masters/indicators/ao.src.js +1 -1
  241. package/es-modules/masters/indicators/apo.src.js +1 -1
  242. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  243. package/es-modules/masters/indicators/aroon.src.js +1 -1
  244. package/es-modules/masters/indicators/atr.src.js +1 -1
  245. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  246. package/es-modules/masters/indicators/cci.src.js +1 -1
  247. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  248. package/es-modules/masters/indicators/cmf.src.js +1 -1
  249. package/es-modules/masters/indicators/cmo.src.js +1 -1
  250. package/es-modules/masters/indicators/dema.src.js +1 -1
  251. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  252. package/es-modules/masters/indicators/dmi.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  255. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  256. package/es-modules/masters/indicators/indicators.src.js +1 -1
  257. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  258. package/es-modules/masters/indicators/klinger.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/obv.src.js +1 -1
  264. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  265. package/es-modules/masters/indicators/ppo.src.js +1 -1
  266. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  267. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  268. package/es-modules/masters/indicators/psar.src.js +1 -1
  269. package/es-modules/masters/indicators/regressions.src.js +5 -5
  270. package/es-modules/masters/indicators/roc.src.js +1 -1
  271. package/es-modules/masters/indicators/rsi.src.js +1 -1
  272. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  274. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  275. package/es-modules/masters/indicators/tema.src.js +1 -1
  276. package/es-modules/masters/indicators/trendline.src.js +1 -1
  277. package/es-modules/masters/indicators/trix.src.js +1 -1
  278. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  279. package/es-modules/masters/indicators/vwap.src.js +1 -1
  280. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  281. package/es-modules/masters/indicators/wma.src.js +1 -1
  282. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  283. package/es-modules/masters/modules/accessibility.src.js +1 -1
  284. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  285. package/es-modules/masters/modules/annotations.src.js +6 -4
  286. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  287. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  288. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  289. package/es-modules/masters/modules/boost.src.js +6 -2
  290. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  291. package/es-modules/masters/modules/bullet.src.js +1 -1
  292. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  293. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  294. package/es-modules/masters/modules/cylinder.src.js +1 -1
  295. package/es-modules/masters/modules/data.src.js +1 -1
  296. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  297. package/es-modules/masters/modules/debugger.src.js +5 -3
  298. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  299. package/es-modules/masters/modules/dotplot.src.js +1 -1
  300. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  301. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  302. package/es-modules/masters/modules/drilldown.src.js +1 -1
  303. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  304. package/es-modules/masters/modules/export-data.src.js +5 -2
  305. package/es-modules/masters/modules/exporting.src.js +1 -2
  306. package/es-modules/masters/modules/full-screen.src.js +6 -2
  307. package/es-modules/masters/modules/funnel.src.js +1 -1
  308. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  309. package/es-modules/masters/modules/gantt.src.js +3 -2
  310. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  311. package/es-modules/masters/modules/heatmap.src.js +1 -1
  312. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  313. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  314. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  315. package/es-modules/masters/modules/item-series.src.js +1 -1
  316. package/es-modules/masters/modules/lollipop.src.js +1 -1
  317. package/es-modules/masters/modules/map.src.js +2 -2
  318. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  319. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  320. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  321. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  322. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  323. package/es-modules/masters/modules/oldie.src.js +1 -1
  324. package/es-modules/masters/modules/organization.src.js +1 -1
  325. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  326. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  327. package/es-modules/masters/modules/pareto.src.js +1 -1
  328. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  329. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  330. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  331. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  332. package/es-modules/masters/modules/sankey.src.js +1 -1
  333. package/es-modules/masters/modules/series-label.src.js +1 -1
  334. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  335. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  336. package/es-modules/masters/modules/sonification.src.js +1 -1
  337. package/es-modules/masters/modules/static-scale.src.js +1 -1
  338. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  339. package/es-modules/masters/modules/stock.src.js +1 -1
  340. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  341. package/es-modules/masters/modules/sunburst.src.js +1 -1
  342. package/es-modules/masters/modules/tilemap.src.js +1 -1
  343. package/es-modules/masters/modules/timeline.src.js +1 -1
  344. package/es-modules/masters/modules/treegrid.src.js +2 -2
  345. package/es-modules/masters/modules/treemap.src.js +1 -1
  346. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  347. package/es-modules/masters/modules/variwide.src.js +1 -1
  348. package/es-modules/masters/modules/vector.src.js +1 -1
  349. package/es-modules/masters/modules/venn.src.js +1 -1
  350. package/es-modules/masters/modules/windbarb.src.js +1 -1
  351. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  352. package/es-modules/masters/modules/xrange.src.js +5 -2
  353. package/es-modules/masters/themes/avocado.src.js +1 -1
  354. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  355. package/es-modules/masters/themes/brand-light.src.js +1 -1
  356. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  357. package/es-modules/masters/themes/dark-green.src.js +1 -1
  358. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  359. package/es-modules/masters/themes/gray.src.js +1 -1
  360. package/es-modules/masters/themes/grid-light.src.js +1 -1
  361. package/es-modules/masters/themes/grid.src.js +1 -1
  362. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  363. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  364. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  365. package/es-modules/masters/themes/skies.src.js +1 -1
  366. package/es-modules/masters/themes/sunset.src.js +1 -1
  367. package/highcharts-3d.js +98 -99
  368. package/highcharts-3d.js.map +1 -1
  369. package/highcharts-3d.src.js +232 -211
  370. package/highcharts-gantt.js +808 -809
  371. package/highcharts-gantt.js.map +1 -1
  372. package/highcharts-gantt.src.js +2308 -2136
  373. package/highcharts-more.d.ts +5 -8
  374. package/highcharts-more.js +201 -194
  375. package/highcharts-more.js.map +1 -1
  376. package/highcharts-more.src.d.ts +5 -8
  377. package/highcharts-more.src.js +3671 -3275
  378. package/highcharts.d.ts +1400 -885
  379. package/highcharts.js +593 -595
  380. package/highcharts.js.map +1 -1
  381. package/highcharts.src.d.ts +1400 -885
  382. package/highcharts.src.js +847 -716
  383. package/highmaps.js +762 -763
  384. package/highmaps.js.map +1 -1
  385. package/highmaps.src.js +1288 -1129
  386. package/highstock.js +796 -798
  387. package/highstock.js.map +1 -1
  388. package/highstock.src.js +953 -762
  389. package/indicators/acceleration-bands.js +1 -1
  390. package/indicators/acceleration-bands.js.map +1 -1
  391. package/indicators/acceleration-bands.src.js +11 -3
  392. package/indicators/accumulation-distribution.js +1 -1
  393. package/indicators/accumulation-distribution.js.map +1 -1
  394. package/indicators/accumulation-distribution.src.js +6 -1
  395. package/indicators/ao.js +6 -6
  396. package/indicators/ao.js.map +1 -1
  397. package/indicators/ao.src.js +23 -14
  398. package/indicators/apo.js +1 -1
  399. package/indicators/apo.js.map +1 -1
  400. package/indicators/apo.src.js +6 -1
  401. package/indicators/aroon-oscillator.js +10 -10
  402. package/indicators/aroon-oscillator.js.map +1 -1
  403. package/indicators/aroon-oscillator.src.js +7 -3
  404. package/indicators/aroon.js +1 -1
  405. package/indicators/aroon.js.map +1 -1
  406. package/indicators/aroon.src.js +16 -3
  407. package/indicators/atr.js +1 -1
  408. package/indicators/atr.js.map +1 -1
  409. package/indicators/atr.src.js +17 -4
  410. package/indicators/bollinger-bands.js +1 -1
  411. package/indicators/bollinger-bands.js.map +1 -1
  412. package/indicators/bollinger-bands.src.js +6 -2
  413. package/indicators/cci.js +1 -1
  414. package/indicators/cci.js.map +1 -1
  415. package/indicators/cci.src.js +17 -4
  416. package/indicators/chaikin.js +8 -8
  417. package/indicators/chaikin.js.map +1 -1
  418. package/indicators/chaikin.src.js +13 -5
  419. package/indicators/cmf.js +1 -1
  420. package/indicators/cmf.js.map +1 -1
  421. package/indicators/cmf.src.js +21 -1
  422. package/indicators/cmo.js +1 -1
  423. package/indicators/cmo.js.map +1 -1
  424. package/indicators/cmo.src.js +16 -2
  425. package/indicators/dema.js +1 -1
  426. package/indicators/dema.js.map +1 -1
  427. package/indicators/dema.src.js +26 -1
  428. package/indicators/disparity-index.js +1 -1
  429. package/indicators/disparity-index.src.js +1 -1
  430. package/indicators/dmi.js +1 -1
  431. package/indicators/dmi.js.map +1 -1
  432. package/indicators/dmi.src.js +6 -1
  433. package/indicators/dpo.js +1 -1
  434. package/indicators/dpo.js.map +1 -1
  435. package/indicators/dpo.src.js +20 -9
  436. package/indicators/ichimoku-kinko-hyo.js +1 -1
  437. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  438. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  439. package/indicators/indicators-all.js +199 -199
  440. package/indicators/indicators-all.js.map +1 -1
  441. package/indicators/indicators-all.src.js +754 -162
  442. package/indicators/indicators.js +1 -1
  443. package/indicators/indicators.js.map +1 -1
  444. package/indicators/indicators.src.js +12 -2
  445. package/indicators/keltner-channels.js +1 -1
  446. package/indicators/keltner-channels.js.map +1 -1
  447. package/indicators/keltner-channels.src.js +26 -1
  448. package/indicators/klinger.js +12 -12
  449. package/indicators/klinger.js.map +1 -1
  450. package/indicators/klinger.src.js +13 -4
  451. package/indicators/macd.js +1 -1
  452. package/indicators/macd.js.map +1 -1
  453. package/indicators/macd.src.js +22 -13
  454. package/indicators/mfi.js +1 -1
  455. package/indicators/mfi.js.map +1 -1
  456. package/indicators/mfi.src.js +24 -11
  457. package/indicators/momentum.js +1 -1
  458. package/indicators/momentum.js.map +1 -1
  459. package/indicators/momentum.src.js +31 -3
  460. package/indicators/natr.js +1 -1
  461. package/indicators/natr.js.map +1 -1
  462. package/indicators/natr.src.js +17 -3
  463. package/indicators/obv.js +1 -1
  464. package/indicators/obv.js.map +1 -1
  465. package/indicators/obv.src.js +11 -1
  466. package/indicators/pivot-points.js +1 -1
  467. package/indicators/pivot-points.js.map +1 -1
  468. package/indicators/pivot-points.src.js +32 -19
  469. package/indicators/ppo.js +1 -1
  470. package/indicators/ppo.js.map +1 -1
  471. package/indicators/ppo.src.js +15 -5
  472. package/indicators/price-channel.js +1 -1
  473. package/indicators/price-channel.js.map +1 -1
  474. package/indicators/price-channel.src.js +14 -9
  475. package/indicators/price-envelopes.js +1 -1
  476. package/indicators/price-envelopes.js.map +1 -1
  477. package/indicators/price-envelopes.src.js +26 -1
  478. package/indicators/psar.js +1 -1
  479. package/indicators/psar.js.map +1 -1
  480. package/indicators/psar.src.js +17 -4
  481. package/indicators/regressions.js +12 -11
  482. package/indicators/regressions.js.map +1 -1
  483. package/indicators/regressions.src.js +50 -15
  484. package/indicators/roc.js +1 -1
  485. package/indicators/roc.js.map +1 -1
  486. package/indicators/roc.src.js +16 -3
  487. package/indicators/rsi.js +1 -1
  488. package/indicators/rsi.js.map +1 -1
  489. package/indicators/rsi.src.js +21 -3
  490. package/indicators/slow-stochastic.js +1 -1
  491. package/indicators/slow-stochastic.js.map +1 -1
  492. package/indicators/slow-stochastic.src.js +26 -1
  493. package/indicators/stochastic.js +1 -1
  494. package/indicators/stochastic.js.map +1 -1
  495. package/indicators/stochastic.src.js +16 -1
  496. package/indicators/supertrend.js +7 -7
  497. package/indicators/supertrend.js.map +1 -1
  498. package/indicators/supertrend.src.js +18 -6
  499. package/indicators/tema.js +1 -1
  500. package/indicators/tema.src.js +1 -1
  501. package/indicators/trendline.js +1 -1
  502. package/indicators/trendline.js.map +1 -1
  503. package/indicators/trendline.src.js +15 -5
  504. package/indicators/trix.js +1 -1
  505. package/indicators/trix.js.map +1 -1
  506. package/indicators/trix.src.js +26 -1
  507. package/indicators/volume-by-price.js +17 -17
  508. package/indicators/volume-by-price.js.map +1 -1
  509. package/indicators/volume-by-price.src.js +38 -10
  510. package/indicators/vwap.js +1 -1
  511. package/indicators/vwap.js.map +1 -1
  512. package/indicators/vwap.src.js +12 -2
  513. package/indicators/williams-r.js +1 -1
  514. package/indicators/williams-r.js.map +1 -1
  515. package/indicators/williams-r.src.js +11 -1
  516. package/indicators/wma.js +1 -1
  517. package/indicators/wma.js.map +1 -1
  518. package/indicators/wma.src.js +31 -3
  519. package/indicators/zigzag.js +1 -1
  520. package/indicators/zigzag.js.map +1 -1
  521. package/indicators/zigzag.src.js +12 -2
  522. package/modules/accessibility.js +183 -182
  523. package/modules/accessibility.js.map +1 -1
  524. package/modules/accessibility.src.js +559 -554
  525. package/modules/annotations-advanced.d.ts +1 -1
  526. package/modules/annotations-advanced.js +193 -192
  527. package/modules/annotations-advanced.js.map +1 -1
  528. package/modules/annotations-advanced.src.d.ts +1 -1
  529. package/modules/annotations-advanced.src.js +9263 -8654
  530. package/modules/annotations.d.ts +1 -1
  531. package/modules/annotations.js +128 -126
  532. package/modules/annotations.js.map +1 -1
  533. package/modules/annotations.src.d.ts +1 -1
  534. package/modules/annotations.src.js +6699 -6063
  535. package/modules/arc-diagram.js +1 -1
  536. package/modules/arc-diagram.src.js +1 -1
  537. package/modules/arrow-symbols.js +1 -1
  538. package/modules/arrow-symbols.src.js +1 -1
  539. package/modules/boost-canvas.d.ts +19 -0
  540. package/modules/boost-canvas.js +81 -16
  541. package/modules/boost-canvas.js.map +1 -1
  542. package/modules/boost-canvas.src.d.ts +19 -0
  543. package/modules/boost-canvas.src.js +3334 -50
  544. package/modules/boost.d.ts +8 -26
  545. package/modules/boost.js +84 -77
  546. package/modules/boost.js.map +1 -1
  547. package/modules/boost.src.d.ts +8 -26
  548. package/modules/boost.src.js +2423 -1888
  549. package/modules/broken-axis.js +2 -2
  550. package/modules/broken-axis.js.map +1 -1
  551. package/modules/broken-axis.src.js +2 -2
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +1 -1
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +5 -1
  557. package/modules/current-date-indicator.js +1 -1
  558. package/modules/current-date-indicator.src.js +1 -1
  559. package/modules/cylinder.js +9 -9
  560. package/modules/cylinder.js.map +1 -1
  561. package/modules/cylinder.src.js +2 -2
  562. package/modules/data.js +1 -1
  563. package/modules/data.src.js +1 -1
  564. package/modules/datagrouping.d.ts +22 -0
  565. package/modules/datagrouping.js +4 -4
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.d.ts +22 -0
  568. package/modules/datagrouping.src.js +66 -28
  569. package/modules/debugger.js +6 -5
  570. package/modules/debugger.js.map +1 -1
  571. package/modules/debugger.src.js +81 -40
  572. package/modules/dependency-wheel.js +12 -12
  573. package/modules/dependency-wheel.js.map +1 -1
  574. package/modules/dependency-wheel.src.js +41 -14
  575. package/modules/dotplot.js +1 -1
  576. package/modules/dotplot.src.js +1 -1
  577. package/modules/drag-panes.js +1 -1
  578. package/modules/drag-panes.src.js +1 -1
  579. package/modules/draggable-points.js +5 -5
  580. package/modules/draggable-points.js.map +1 -1
  581. package/modules/draggable-points.src.js +5 -4
  582. package/modules/drilldown.d.ts +0 -10
  583. package/modules/drilldown.js +29 -29
  584. package/modules/drilldown.js.map +1 -1
  585. package/modules/drilldown.src.d.ts +0 -10
  586. package/modules/drilldown.src.js +12 -9
  587. package/modules/dumbbell.js +1 -1
  588. package/modules/dumbbell.src.js +1 -1
  589. package/modules/export-data.js +25 -24
  590. package/modules/export-data.js.map +1 -1
  591. package/modules/export-data.src.js +607 -499
  592. package/modules/exporting.js +38 -38
  593. package/modules/exporting.js.map +1 -1
  594. package/modules/exporting.src.js +559 -507
  595. package/modules/full-screen.js +8 -8
  596. package/modules/full-screen.js.map +1 -1
  597. package/modules/full-screen.src.js +76 -26
  598. package/modules/funnel.js +1 -1
  599. package/modules/funnel.src.js +1 -1
  600. package/modules/funnel3d.js +2 -2
  601. package/modules/funnel3d.js.map +1 -1
  602. package/modules/funnel3d.src.js +2 -2
  603. package/modules/gantt.js +217 -216
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +1481 -1440
  606. package/modules/grid-axis.js +1 -1
  607. package/modules/grid-axis.src.js +1 -1
  608. package/modules/heatmap.js +1 -1
  609. package/modules/heatmap.js.map +1 -1
  610. package/modules/heatmap.src.js +10 -2
  611. package/modules/heikinashi.js +1 -1
  612. package/modules/heikinashi.src.js +1 -1
  613. package/modules/histogram-bellcurve.js +1 -1
  614. package/modules/histogram-bellcurve.src.js +1 -1
  615. package/modules/hollowcandlestick.js +1 -1
  616. package/modules/hollowcandlestick.src.js +1 -1
  617. package/modules/item-series.js +1 -1
  618. package/modules/item-series.src.js +1 -1
  619. package/modules/lollipop.js +6 -6
  620. package/modules/lollipop.js.map +1 -1
  621. package/modules/lollipop.src.js +37 -22
  622. package/modules/map.d.ts +3 -3
  623. package/modules/map.js +171 -171
  624. package/modules/map.js.map +1 -1
  625. package/modules/map.src.d.ts +3 -3
  626. package/modules/map.src.js +442 -414
  627. package/modules/marker-clusters.js +1 -1
  628. package/modules/marker-clusters.js.map +1 -1
  629. package/modules/marker-clusters.src.js +3 -1
  630. package/modules/networkgraph.js +55 -50
  631. package/modules/networkgraph.js.map +1 -1
  632. package/modules/networkgraph.src.js +2259 -1938
  633. package/modules/no-data-to-display.js +1 -1
  634. package/modules/no-data-to-display.src.js +1 -1
  635. package/modules/offline-exporting.js +2 -2
  636. package/modules/offline-exporting.src.js +2 -2
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.src.js +2 -2
  641. package/modules/organization.js +15 -15
  642. package/modules/organization.js.map +1 -1
  643. package/modules/organization.src.js +10 -2
  644. package/modules/overlapping-datalabels.js +1 -1
  645. package/modules/overlapping-datalabels.src.js +1 -1
  646. package/modules/parallel-coordinates.js +11 -11
  647. package/modules/parallel-coordinates.js.map +1 -1
  648. package/modules/parallel-coordinates.src.js +13 -8
  649. package/modules/pareto.js +1 -1
  650. package/modules/pareto.src.js +1 -1
  651. package/modules/pathfinder.js +1 -1
  652. package/modules/pathfinder.src.js +1 -1
  653. package/modules/pattern-fill.js +1 -1
  654. package/modules/pattern-fill.src.js +1 -1
  655. package/modules/price-indicator.js +1 -1
  656. package/modules/price-indicator.src.js +1 -1
  657. package/modules/pyramid3d.js +1 -1
  658. package/modules/pyramid3d.src.js +1 -1
  659. package/modules/sankey.js +1 -1
  660. package/modules/sankey.js.map +1 -1
  661. package/modules/sankey.src.js +14 -2
  662. package/modules/series-label.js +5 -5
  663. package/modules/series-label.js.map +1 -1
  664. package/modules/series-label.src.js +3 -3
  665. package/modules/series-on-point.js +1 -1
  666. package/modules/series-on-point.js.map +1 -1
  667. package/modules/series-on-point.src.js +6 -2
  668. package/modules/solid-gauge.js +1 -1
  669. package/modules/solid-gauge.src.js +2 -2
  670. package/modules/sonification.d.ts +2 -2
  671. package/modules/sonification.js +1 -1
  672. package/modules/sonification.src.d.ts +2 -2
  673. package/modules/sonification.src.js +2 -2
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.d.ts +1 -23
  677. package/modules/stock-tools.js +109 -179
  678. package/modules/stock-tools.js.map +1 -1
  679. package/modules/stock-tools.src.d.ts +1 -23
  680. package/modules/stock-tools.src.js +2605 -6335
  681. package/modules/stock.d.ts +8 -0
  682. package/modules/stock.js +105 -105
  683. package/modules/stock.js.map +1 -1
  684. package/modules/stock.src.d.ts +8 -0
  685. package/modules/stock.src.js +105 -45
  686. package/modules/streamgraph.js +1 -1
  687. package/modules/streamgraph.src.js +1 -1
  688. package/modules/sunburst.js +72 -72
  689. package/modules/sunburst.js.map +1 -1
  690. package/modules/sunburst.src.js +38 -12
  691. package/modules/tilemap.js +1 -1
  692. package/modules/tilemap.src.js +1 -1
  693. package/modules/timeline.js +1 -1
  694. package/modules/timeline.js.map +1 -1
  695. package/modules/timeline.src.js +3 -1
  696. package/modules/treegrid.js +57 -57
  697. package/modules/treegrid.js.map +1 -1
  698. package/modules/treegrid.src.js +1022 -1014
  699. package/modules/treemap.js +1 -1
  700. package/modules/treemap.js.map +1 -1
  701. package/modules/treemap.src.js +8 -4
  702. package/modules/variable-pie.js +1 -1
  703. package/modules/variable-pie.src.js +1 -1
  704. package/modules/variwide.js +1 -1
  705. package/modules/variwide.src.js +1 -1
  706. package/modules/vector.js +2 -2
  707. package/modules/vector.js.map +1 -1
  708. package/modules/vector.src.js +3 -5
  709. package/modules/venn.js +1 -1
  710. package/modules/venn.src.js +5 -5
  711. package/modules/windbarb.js +1 -1
  712. package/modules/windbarb.src.js +1 -1
  713. package/modules/wordcloud.js +1 -1
  714. package/modules/wordcloud.src.js +3 -3
  715. package/modules/xrange.js +17 -17
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +411 -397
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +1 -1
  722. package/themes/brand-dark.src.js +1 -1
  723. package/themes/brand-light.js +1 -1
  724. package/themes/brand-light.src.js +1 -1
  725. package/themes/dark-blue.js +1 -1
  726. package/themes/dark-blue.src.js +1 -1
  727. package/themes/dark-green.js +1 -1
  728. package/themes/dark-green.src.js +1 -1
  729. package/themes/dark-unica.js +1 -1
  730. package/themes/dark-unica.src.js +1 -1
  731. package/themes/gray.js +1 -1
  732. package/themes/gray.src.js +1 -1
  733. package/themes/grid-light.js +1 -1
  734. package/themes/grid-light.src.js +1 -1
  735. package/themes/grid.js +1 -1
  736. package/themes/grid.src.js +1 -1
  737. package/themes/high-contrast-dark.js +1 -1
  738. package/themes/high-contrast-dark.src.js +1 -1
  739. package/themes/high-contrast-light.js +1 -1
  740. package/themes/high-contrast-light.src.js +1 -1
  741. package/themes/sand-signika.js +1 -1
  742. package/themes/sand-signika.src.js +1 -1
  743. package/themes/skies.js +1 -1
  744. package/themes/skies.src.js +1 -1
  745. package/themes/sunset.js +1 -1
  746. package/themes/sunset.src.js +1 -1
  747. package/es-modules/Core/Axis/StackingAxis.js +0 -215
  748. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  749. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  750. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  751. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  752. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  753. package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
  754. package/es-modules/Extensions/Boost/BoostInit.js +0 -324
  755. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  756. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  757. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  758. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  759. package/es-modules/Extensions/Stacking.js +0 -517
  760. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  761. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  762. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
  763. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v10.2.0 (2022-07-05)
2
+ * @license Highcharts JS v10.2.1 (2022-08-29)
3
3
  *
4
4
  * Accessibility module
5
5
  *
@@ -38,421 +38,113 @@
38
38
  }
39
39
  }
40
40
  }
41
- _registerModule(_modules, 'Accessibility/A11yI18n.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Utilities.js']], function (F, U) {
41
+ _registerModule(_modules, 'Accessibility/Utils/HTMLUtilities.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
42
42
  /* *
43
43
  *
44
- * Accessibility module - internationalization support
44
+ * (c) 2009-2021 Øystein Moseng
45
45
  *
46
- * (c) 2010-2021 Highsoft AS
47
- * Author: Øystein Moseng
46
+ * Utility functions for accessibility module.
48
47
  *
49
48
  * License: www.highcharts.com/license
50
49
  *
51
50
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
52
51
  *
53
52
  * */
54
- var format = F.format;
55
- var getNestedProperty = U.getNestedProperty,
56
- pick = U.pick;
53
+ var doc = H.doc,
54
+ win = H.win;
55
+ var css = U.css;
57
56
  /* *
58
57
  *
59
- * Composition
58
+ * Functions
60
59
  *
61
60
  * */
62
- var A11yI18nComposition;
63
- (function (A11yI18nComposition) {
64
- /* *
65
- *
66
- * Declarations
67
- *
68
- * */
69
- /* *
70
- *
71
- * Constants
72
- *
73
- * */
74
- var composedClasses = [];
75
- /* *
76
- *
77
- * Functions
78
- *
79
- * */
80
- /* eslint-disable valid-jsdoc */
81
- /**
82
- * @private
83
- */
84
- function compose(ChartClass) {
85
- if (composedClasses.indexOf(ChartClass) === -1) {
86
- composedClasses.push(ChartClass);
87
- var chartProto = ChartClass.prototype;
88
- chartProto.langFormat = langFormat;
89
- }
90
- return ChartClass;
61
+ /* eslint-disable valid-jsdoc */
62
+ /**
63
+ * @private
64
+ * @param {Highcharts.HTMLDOMElement} el
65
+ * @param {string} className
66
+ * @return {void}
67
+ */
68
+ function addClass(el, className) {
69
+ if (el.classList) {
70
+ el.classList.add(className);
91
71
  }
92
- A11yI18nComposition.compose = compose;
93
- /**
94
- * i18n utility function. Format a single array or plural statement in a
95
- * format string. If the statement is not an array or plural statement,
96
- * returns the statement within brackets. Invalid array statements return
97
- * an empty string.
98
- *
99
- * @private
100
- * @function formatExtendedStatement
101
- * @param {string} statement
102
- * @param {Highcharts.Dictionary<*>} ctx
103
- * Context to apply to the format string.
104
- */
105
- function formatExtendedStatement(statement, ctx) {
106
- var eachStart = statement.indexOf('#each('), pluralStart = statement.indexOf('#plural('), indexStart = statement.indexOf('['), indexEnd = statement.indexOf(']');
107
- var arr,
108
- result;
109
- // Dealing with an each-function?
110
- if (eachStart > -1) {
111
- var eachEnd = statement.slice(eachStart).indexOf(')') + eachStart, preEach = statement.substring(0, eachStart), postEach = statement.substring(eachEnd + 1), eachStatement = statement.substring(eachStart + 6, eachEnd), eachArguments = eachStatement.split(',');
112
- var lenArg = Number(eachArguments[1]),
113
- len = void 0;
114
- result = '';
115
- arr = getNestedProperty(eachArguments[0], ctx);
116
- if (arr) {
117
- lenArg = isNaN(lenArg) ? arr.length : lenArg;
118
- len = lenArg < 0 ?
119
- arr.length + lenArg :
120
- Math.min(lenArg, arr.length); // Overshoot
121
- // Run through the array for the specified length
122
- for (var i = 0; i < len; ++i) {
123
- result += preEach + arr[i] + postEach;
124
- }
125
- }
126
- return result.length ? result : '';
72
+ else if (el.className.indexOf(className) < 0) {
73
+ // Note: Dumb check for class name exists, should be fine for practical
74
+ // use cases, but will return false positives if the element has a class
75
+ // that contains the className.
76
+ el.className += ' ' + className;
77
+ }
78
+ }
79
+ /**
80
+ * @private
81
+ * @param {Highcharts.HTMLDOMElement} el
82
+ * @param {string} className
83
+ * @return {void}
84
+ */
85
+ function removeClass(el, className) {
86
+ if (el.classList) {
87
+ el.classList.remove(className);
88
+ }
89
+ else {
90
+ // Note: Dumb logic that will break if the element has a class name that
91
+ // consists of className plus something else.
92
+ el.className = el.className.replace(new RegExp(className, 'g'), '');
93
+ }
94
+ }
95
+ /**
96
+ * Utility function to clone a mouse event for re-dispatching.
97
+ * @private
98
+ */
99
+ function cloneMouseEvent(e) {
100
+ if (typeof win.MouseEvent === 'function') {
101
+ return new win.MouseEvent(e.type, e);
102
+ }
103
+ // No MouseEvent support, try using initMouseEvent
104
+ if (doc.createEvent) {
105
+ var evt = doc.createEvent('MouseEvent');
106
+ if (evt.initMouseEvent) {
107
+ evt.initMouseEvent(e.type, e.bubbles, // #10561, #12161
108
+ e.cancelable, e.view || win, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
109
+ return evt;
127
110
  }
128
- // Dealing with a plural-function?
129
- if (pluralStart > -1) {
130
- var pluralEnd = (statement.slice(pluralStart).indexOf(')') + pluralStart), pluralStatement = statement.substring(pluralStart + 8, pluralEnd), pluralArguments = pluralStatement.split(','), num = Number(getNestedProperty(pluralArguments[0], ctx));
131
- switch (num) {
132
- case 0:
133
- result = pick(pluralArguments[4], pluralArguments[1]);
134
- break;
135
- case 1:
136
- result = pick(pluralArguments[2], pluralArguments[1]);
137
- break;
138
- case 2:
139
- result = pick(pluralArguments[3], pluralArguments[1]);
140
- break;
141
- default:
142
- result = pluralArguments[1];
111
+ }
112
+ return getFakeMouseEvent(e.type);
113
+ }
114
+ /**
115
+ * Utility function to clone a touch event for re-dispatching.
116
+ * @private
117
+ */
118
+ function cloneTouchEvent(e) {
119
+ var touchListToTouchArray = function (l) {
120
+ var touchArray = [];
121
+ for (var i = 0; i < l.length; ++i) {
122
+ var item = l.item(i);
123
+ if (item) {
124
+ touchArray.push(item);
143
125
  }
144
- return result ? stringTrim(result) : '';
145
126
  }
146
- // Array index
147
- if (indexStart > -1) {
148
- var arrayName = statement.substring(0,
149
- indexStart),
150
- ix = Number(statement.substring(indexStart + 1,
151
- indexEnd));
152
- var val = void 0;
153
- arr = getNestedProperty(arrayName, ctx);
154
- if (!isNaN(ix) && arr) {
155
- if (ix < 0) {
156
- val = arr[arr.length + ix];
157
- // Handle negative overshoot
158
- if (typeof val === 'undefined') {
159
- val = arr[0];
160
- }
161
- }
162
- else {
163
- val = arr[ix];
164
- // Handle positive overshoot
165
- if (typeof val === 'undefined') {
166
- val = arr[arr.length - 1];
167
- }
168
- }
169
- }
170
- return typeof val !== 'undefined' ? val : '';
127
+ return touchArray;
128
+ };
129
+ if (typeof win.TouchEvent === 'function') {
130
+ var newEvent = new win.TouchEvent(e.type, {
131
+ touches: touchListToTouchArray(e.touches),
132
+ targetTouches: touchListToTouchArray(e.targetTouches),
133
+ changedTouches: touchListToTouchArray(e.changedTouches),
134
+ ctrlKey: e.ctrlKey,
135
+ shiftKey: e.shiftKey,
136
+ altKey: e.altKey,
137
+ metaKey: e.metaKey,
138
+ bubbles: e.bubbles,
139
+ cancelable: e.cancelable,
140
+ composed: e.composed,
141
+ detail: e.detail,
142
+ view: e.view
143
+ });
144
+ if (e.defaultPrevented) {
145
+ newEvent.preventDefault();
171
146
  }
172
- // Standard substitution, delegate to format or similar
173
- return '{' + statement + '}';
174
- }
175
- /* eslint-disable max-len */
176
- /**
177
- * i18n formatting function. Extends Highcharts.format() functionality by
178
- * also handling arrays and plural conditionals. Arrays can be indexed as
179
- * follows:
180
- *
181
- * - Format: 'This is the first index: {myArray[0]}. The last: {myArray[-1]}.'
182
- *
183
- * - Context: { myArray: [0, 1, 2, 3, 4, 5] }
184
- *
185
- * - Result: 'This is the first index: 0. The last: 5.'
186
- *
187
- *
188
- * They can also be iterated using the #each() function. This will repeat
189
- * the contents of the bracket expression for each element. Example:
190
- *
191
- * - Format: 'List contains: {#each(myArray)cm }'
192
- *
193
- * - Context: { myArray: [0, 1, 2] }
194
- *
195
- * - Result: 'List contains: 0cm 1cm 2cm '
196
- *
197
- *
198
- * The #each() function optionally takes a length parameter. If positive,
199
- * this parameter specifies the max number of elements to iterate through.
200
- * If negative, the function will subtract the number from the length of the
201
- * array. Use this to stop iterating before the array ends. Example:
202
- *
203
- * - Format: 'List contains: {#each(myArray, -1) }and {myArray[-1]}.'
204
- *
205
- * - Context: { myArray: [0, 1, 2, 3] }
206
- *
207
- * - Result: 'List contains: 0, 1, 2, and 3.'
208
- *
209
- *
210
- * Use the #plural() function to pick a string depending on whether or not a
211
- * context object is 1. Arguments are #plural(obj, plural, singular).
212
- * Example:
213
- *
214
- * - Format: 'Has {numPoints} {#plural(numPoints, points, point}.'
215
- *
216
- * - Context: { numPoints: 5 }
217
- *
218
- * - Result: 'Has 5 points.'
219
- *
220
- *
221
- * Optionally there are additional parameters for dual and none:
222
- * #plural(obj, plural, singular, dual, none). Example:
223
- *
224
- * - Format: 'Has {#plural(numPoints, many points, one point, two points,
225
- * none}.'
226
- *
227
- * - Context: { numPoints: 2 }
228
- *
229
- * - Result: 'Has two points.'
230
- *
231
- *
232
- * The dual or none parameters will take precedence if they are supplied.
233
- *
234
- * @requires modules/accessibility
235
- *
236
- * @function Highcharts.i18nFormat
237
- *
238
- * @param {string} formatString
239
- * The string to format.
240
- *
241
- * @param {Highcharts.Dictionary<*>} context
242
- * Context to apply to the format string.
243
- *
244
- * @param {Highcharts.Chart} chart
245
- * A `Chart` instance with a time object and numberFormatter, passed on to
246
- * format().
247
- *
248
- * @return {string}
249
- * The formatted string.
250
- */
251
- function i18nFormat(formatString, context, chart) {
252
- var getFirstBracketStatement = function (sourceStr, offset) {
253
- var str = sourceStr.slice(offset || 0), startBracket = str.indexOf('{'), endBracket = str.indexOf('}');
254
- if (startBracket > -1 && endBracket > startBracket) {
255
- return {
256
- statement: str.substring(startBracket + 1, endBracket),
257
- begin: offset + startBracket + 1,
258
- end: offset + endBracket
259
- };
260
- }
261
- }, tokens = [];
262
- var bracketRes,
263
- constRes,
264
- cursor = 0;
265
- // Tokenize format string into bracket statements and constants
266
- do {
267
- bracketRes = getFirstBracketStatement(formatString, cursor);
268
- constRes = formatString.substring(cursor, bracketRes && bracketRes.begin - 1);
269
- // If we have constant content before this bracket statement, add it
270
- if (constRes.length) {
271
- tokens.push({
272
- value: constRes,
273
- type: 'constant'
274
- });
275
- }
276
- // Add the bracket statement
277
- if (bracketRes) {
278
- tokens.push({
279
- value: bracketRes.statement,
280
- type: 'statement'
281
- });
282
- }
283
- cursor = bracketRes ? bracketRes.end + 1 : cursor + 1;
284
- } while (bracketRes);
285
- // Perform the formatting. The formatArrayStatement function returns
286
- // the statement in brackets if it is not an array statement, which
287
- // means it gets picked up by format below.
288
- tokens.forEach(function (token) {
289
- if (token.type === 'statement') {
290
- token.value = formatExtendedStatement(token.value, context);
291
- }
292
- });
293
- // Join string back together and pass to format to pick up non-array
294
- // statements.
295
- return format(tokens.reduce(function (acc, cur) { return acc + cur.value; }, ''), context, chart);
296
- }
297
- A11yI18nComposition.i18nFormat = i18nFormat;
298
- /* eslint-enable max-len */
299
- /**
300
- * Apply context to a format string from lang options of the chart.
301
- *
302
- * @requires modules/accessibility
303
- *
304
- * @function Highcharts.Chart#langFormat
305
- *
306
- * @param {string} langKey
307
- * Key (using dot notation) into lang option structure.
308
- *
309
- * @param {Highcharts.Dictionary<*>} context
310
- * Context to apply to the format string.
311
- *
312
- * @return {string}
313
- * The formatted string.
314
- */
315
- function langFormat(langKey, context) {
316
- var keys = langKey.split('.');
317
- var formatString = this.options.lang,
318
- i = 0;
319
- for (; i < keys.length; ++i) {
320
- formatString = formatString && formatString[keys[i]];
321
- }
322
- return typeof formatString === 'string' ?
323
- i18nFormat(formatString, context, this) : '';
324
- }
325
- /**
326
- * String trim that works for IE6-8 as well.
327
- *
328
- * @private
329
- * @function stringTrim
330
- *
331
- * @param {string} str
332
- * The input string
333
- *
334
- * @return {string}
335
- * The trimmed string
336
- */
337
- function stringTrim(str) {
338
- return str.trim && str.trim() || str.replace(/^\s+|\s+$/g, '');
339
- }
340
- })(A11yI18nComposition || (A11yI18nComposition = {}));
341
- /* *
342
- *
343
- * Default Export
344
- *
345
- * */
346
-
347
- return A11yI18nComposition;
348
- });
349
- _registerModule(_modules, 'Accessibility/Utils/HTMLUtilities.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
350
- /* *
351
- *
352
- * (c) 2009-2021 Øystein Moseng
353
- *
354
- * Utility functions for accessibility module.
355
- *
356
- * License: www.highcharts.com/license
357
- *
358
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
359
- *
360
- * */
361
- var doc = H.doc,
362
- win = H.win;
363
- var css = U.css;
364
- /* *
365
- *
366
- * Functions
367
- *
368
- * */
369
- /* eslint-disable valid-jsdoc */
370
- /**
371
- * @private
372
- * @param {Highcharts.HTMLDOMElement} el
373
- * @param {string} className
374
- * @return {void}
375
- */
376
- function addClass(el, className) {
377
- if (el.classList) {
378
- el.classList.add(className);
379
- }
380
- else if (el.className.indexOf(className) < 0) {
381
- // Note: Dumb check for class name exists, should be fine for practical
382
- // use cases, but will return false positives if the element has a class
383
- // that contains the className.
384
- el.className += ' ' + className;
385
- }
386
- }
387
- /**
388
- * @private
389
- * @param {Highcharts.HTMLDOMElement} el
390
- * @param {string} className
391
- * @return {void}
392
- */
393
- function removeClass(el, className) {
394
- if (el.classList) {
395
- el.classList.remove(className);
396
- }
397
- else {
398
- // Note: Dumb logic that will break if the element has a class name that
399
- // consists of className plus something else.
400
- el.className = el.className.replace(new RegExp(className, 'g'), '');
401
- }
402
- }
403
- /**
404
- * Utility function to clone a mouse event for re-dispatching.
405
- * @private
406
- */
407
- function cloneMouseEvent(e) {
408
- if (typeof win.MouseEvent === 'function') {
409
- return new win.MouseEvent(e.type, e);
410
- }
411
- // No MouseEvent support, try using initMouseEvent
412
- if (doc.createEvent) {
413
- var evt = doc.createEvent('MouseEvent');
414
- if (evt.initMouseEvent) {
415
- evt.initMouseEvent(e.type, e.bubbles, // #10561, #12161
416
- e.cancelable, e.view || win, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
417
- return evt;
418
- }
419
- }
420
- return getFakeMouseEvent(e.type);
421
- }
422
- /**
423
- * Utility function to clone a touch event for re-dispatching.
424
- * @private
425
- */
426
- function cloneTouchEvent(e) {
427
- var touchListToTouchArray = function (l) {
428
- var touchArray = [];
429
- for (var i = 0; i < l.length; ++i) {
430
- var item = l.item(i);
431
- if (item) {
432
- touchArray.push(item);
433
- }
434
- }
435
- return touchArray;
436
- };
437
- if (typeof win.TouchEvent === 'function') {
438
- var newEvent = new win.TouchEvent(e.type, {
439
- touches: touchListToTouchArray(e.touches),
440
- targetTouches: touchListToTouchArray(e.targetTouches),
441
- changedTouches: touchListToTouchArray(e.changedTouches),
442
- ctrlKey: e.ctrlKey,
443
- shiftKey: e.shiftKey,
444
- altKey: e.altKey,
445
- metaKey: e.metaKey,
446
- bubbles: e.bubbles,
447
- cancelable: e.cancelable,
448
- composed: e.composed,
449
- detail: e.detail,
450
- view: e.view
451
- });
452
- if (e.defaultPrevented) {
453
- newEvent.preventDefault();
454
- }
455
- return newEvent;
147
+ return newEvent;
456
148
  }
457
149
  var fakeEvt = cloneMouseEvent(e);
458
150
  fakeEvt.touches = e.touches;
@@ -501,158 +193,466 @@
501
193
  clientY: pos.y
502
194
  });
503
195
  }
504
- // No MouseEvent support, try using initMouseEvent
505
- if (doc.createEvent) {
506
- var evt = doc.createEvent('MouseEvent');
507
- if (evt.initMouseEvent) {
508
- evt.initMouseEvent(type, true, // Bubble
509
- true, // Cancel
510
- win, // View
511
- type === 'click' ? 1 : 0, // Detail
512
- // Coords
513
- pos.x, pos.y, pos.x, pos.y,
514
- // Pressed keys
515
- false, false, false, false, 0, // button
516
- null // related target
517
- );
518
- return evt;
519
- }
520
- }
521
- return { type: type };
522
- }
523
- /**
524
- * Get an appropriate heading level for an element. Corresponds to the
525
- * heading level below the previous heading in the DOM.
526
- *
527
- * Note: Only detects previous headings in the DOM that are siblings,
528
- * ancestors, or previous siblings of ancestors. Headings that are nested below
529
- * siblings of ancestors (cousins et.al) are not picked up. This is because it
530
- * is ambiguous whether or not the nesting is for layout purposes or indicates a
531
- * separate section.
532
- *
533
- * @private
534
- * @param {Highcharts.HTMLDOMElement} [element]
535
- * @return {string} The heading tag name (h1, h2 etc).
536
- * If no nearest heading is found, "p" is returned.
537
- */
538
- function getHeadingTagNameForElement(element) {
539
- var getIncreasedHeadingLevel = function (tagName) {
540
- var headingLevel = parseInt(tagName.slice(1), 10),
541
- newLevel = Math.min(6,
542
- headingLevel + 1);
543
- return 'h' + newLevel;
544
- };
545
- var isHeading = function (tagName) { return /H[1-6]/.test(tagName); };
546
- var getPreviousSiblingsHeading = function (el) {
547
- var sibling = el;
548
- while (sibling = sibling.previousSibling) { // eslint-disable-line
549
- var tagName = sibling.tagName || '';
550
- if (isHeading(tagName)) {
551
- return tagName;
552
- }
553
- }
554
- return '';
555
- };
556
- var getHeadingRecursive = function (el) {
557
- var prevSiblingsHeading = getPreviousSiblingsHeading(el);
558
- if (prevSiblingsHeading) {
559
- return getIncreasedHeadingLevel(prevSiblingsHeading);
560
- }
561
- // No previous siblings are headings, try parent node
562
- var parent = el.parentElement;
563
- if (!parent) {
564
- return 'p';
565
- }
566
- var parentTagName = parent.tagName;
567
- if (isHeading(parentTagName)) {
568
- return getIncreasedHeadingLevel(parentTagName);
196
+ // No MouseEvent support, try using initMouseEvent
197
+ if (doc.createEvent) {
198
+ var evt = doc.createEvent('MouseEvent');
199
+ if (evt.initMouseEvent) {
200
+ evt.initMouseEvent(type, true, // Bubble
201
+ true, // Cancel
202
+ win, // View
203
+ type === 'click' ? 1 : 0, // Detail
204
+ // Coords
205
+ pos.x, pos.y, pos.x, pos.y,
206
+ // Pressed keys
207
+ false, false, false, false, 0, // button
208
+ null // related target
209
+ );
210
+ return evt;
211
+ }
212
+ }
213
+ return { type: type };
214
+ }
215
+ /**
216
+ * Get an appropriate heading level for an element. Corresponds to the
217
+ * heading level below the previous heading in the DOM.
218
+ *
219
+ * Note: Only detects previous headings in the DOM that are siblings,
220
+ * ancestors, or previous siblings of ancestors. Headings that are nested below
221
+ * siblings of ancestors (cousins et.al) are not picked up. This is because it
222
+ * is ambiguous whether or not the nesting is for layout purposes or indicates a
223
+ * separate section.
224
+ *
225
+ * @private
226
+ * @param {Highcharts.HTMLDOMElement} [element]
227
+ * @return {string} The heading tag name (h1, h2 etc).
228
+ * If no nearest heading is found, "p" is returned.
229
+ */
230
+ function getHeadingTagNameForElement(element) {
231
+ var getIncreasedHeadingLevel = function (tagName) {
232
+ var headingLevel = parseInt(tagName.slice(1), 10),
233
+ newLevel = Math.min(6,
234
+ headingLevel + 1);
235
+ return 'h' + newLevel;
236
+ };
237
+ var isHeading = function (tagName) { return /H[1-6]/.test(tagName); };
238
+ var getPreviousSiblingsHeading = function (el) {
239
+ var sibling = el;
240
+ while (sibling = sibling.previousSibling) { // eslint-disable-line
241
+ var tagName = sibling.tagName || '';
242
+ if (isHeading(tagName)) {
243
+ return tagName;
244
+ }
245
+ }
246
+ return '';
247
+ };
248
+ var getHeadingRecursive = function (el) {
249
+ var prevSiblingsHeading = getPreviousSiblingsHeading(el);
250
+ if (prevSiblingsHeading) {
251
+ return getIncreasedHeadingLevel(prevSiblingsHeading);
252
+ }
253
+ // No previous siblings are headings, try parent node
254
+ var parent = el.parentElement;
255
+ if (!parent) {
256
+ return 'p';
257
+ }
258
+ var parentTagName = parent.tagName;
259
+ if (isHeading(parentTagName)) {
260
+ return getIncreasedHeadingLevel(parentTagName);
261
+ }
262
+ return getHeadingRecursive(parent);
263
+ };
264
+ return getHeadingRecursive(element);
265
+ }
266
+ /**
267
+ * Remove an element from the DOM.
268
+ * @private
269
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} [element]
270
+ * @return {void}
271
+ */
272
+ function removeElement(element) {
273
+ if (element && element.parentNode) {
274
+ element.parentNode.removeChild(element);
275
+ }
276
+ }
277
+ /**
278
+ * Remove all child nodes from an element.
279
+ * @private
280
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} [element]
281
+ * @return {void}
282
+ */
283
+ function removeChildNodes(element) {
284
+ while (element.lastChild) {
285
+ element.removeChild(element.lastChild);
286
+ }
287
+ }
288
+ /**
289
+ * Utility function. Reverses child nodes of a DOM element.
290
+ * @private
291
+ */
292
+ function reverseChildNodes(node) {
293
+ var i = node.childNodes.length;
294
+ while (i--) {
295
+ node.appendChild(node.childNodes[i]);
296
+ }
297
+ }
298
+ /**
299
+ * Used for aria-label attributes, painting on a canvas will fail if the
300
+ * text contains tags.
301
+ * @private
302
+ */
303
+ function stripHTMLTagsFromString(str) {
304
+ return typeof str === 'string' ?
305
+ str.replace(/<\/?[^>]+(>|$)/g, '') : str;
306
+ }
307
+ /**
308
+ * Utility function for hiding an element visually, but still keeping it
309
+ * available to screen reader users.
310
+ * @private
311
+ */
312
+ function visuallyHideElement(element) {
313
+ css(element, {
314
+ position: 'absolute',
315
+ width: '1px',
316
+ height: '1px',
317
+ overflow: 'hidden',
318
+ whiteSpace: 'nowrap',
319
+ clip: 'rect(1px, 1px, 1px, 1px)',
320
+ marginTop: '-3px',
321
+ '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=1)',
322
+ filter: 'alpha(opacity=1)',
323
+ opacity: 0.01
324
+ });
325
+ }
326
+ /* *
327
+ *
328
+ * Default Export
329
+ *
330
+ * */
331
+ var HTMLUtilities = {
332
+ addClass: addClass,
333
+ cloneMouseEvent: cloneMouseEvent,
334
+ cloneTouchEvent: cloneTouchEvent,
335
+ escapeStringForHTML: escapeStringForHTML,
336
+ getElement: getElement,
337
+ getFakeMouseEvent: getFakeMouseEvent,
338
+ getHeadingTagNameForElement: getHeadingTagNameForElement,
339
+ removeChildNodes: removeChildNodes,
340
+ removeClass: removeClass,
341
+ removeElement: removeElement,
342
+ reverseChildNodes: reverseChildNodes,
343
+ stripHTMLTagsFromString: stripHTMLTagsFromString,
344
+ visuallyHideElement: visuallyHideElement
345
+ };
346
+
347
+ return HTMLUtilities;
348
+ });
349
+ _registerModule(_modules, 'Accessibility/A11yI18n.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Utilities.js']], function (F, U) {
350
+ /* *
351
+ *
352
+ * Accessibility module - internationalization support
353
+ *
354
+ * (c) 2010-2021 Highsoft AS
355
+ * Author: Øystein Moseng
356
+ *
357
+ * License: www.highcharts.com/license
358
+ *
359
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
360
+ *
361
+ * */
362
+ var format = F.format;
363
+ var getNestedProperty = U.getNestedProperty,
364
+ pick = U.pick;
365
+ /* *
366
+ *
367
+ * Composition
368
+ *
369
+ * */
370
+ var A11yI18nComposition;
371
+ (function (A11yI18nComposition) {
372
+ /* *
373
+ *
374
+ * Declarations
375
+ *
376
+ * */
377
+ /* *
378
+ *
379
+ * Constants
380
+ *
381
+ * */
382
+ var composedClasses = [];
383
+ /* *
384
+ *
385
+ * Functions
386
+ *
387
+ * */
388
+ /* eslint-disable valid-jsdoc */
389
+ /**
390
+ * @private
391
+ */
392
+ function compose(ChartClass) {
393
+ if (composedClasses.indexOf(ChartClass) === -1) {
394
+ composedClasses.push(ChartClass);
395
+ var chartProto = ChartClass.prototype;
396
+ chartProto.langFormat = langFormat;
397
+ }
398
+ return ChartClass;
399
+ }
400
+ A11yI18nComposition.compose = compose;
401
+ /**
402
+ * i18n utility function. Format a single array or plural statement in a
403
+ * format string. If the statement is not an array or plural statement,
404
+ * returns the statement within brackets. Invalid array statements return
405
+ * an empty string.
406
+ *
407
+ * @private
408
+ * @function formatExtendedStatement
409
+ * @param {string} statement
410
+ * @param {Highcharts.Dictionary<*>} ctx
411
+ * Context to apply to the format string.
412
+ */
413
+ function formatExtendedStatement(statement, ctx) {
414
+ var eachStart = statement.indexOf('#each('), pluralStart = statement.indexOf('#plural('), indexStart = statement.indexOf('['), indexEnd = statement.indexOf(']');
415
+ var arr,
416
+ result;
417
+ // Dealing with an each-function?
418
+ if (eachStart > -1) {
419
+ var eachEnd = statement.slice(eachStart).indexOf(')') + eachStart, preEach = statement.substring(0, eachStart), postEach = statement.substring(eachEnd + 1), eachStatement = statement.substring(eachStart + 6, eachEnd), eachArguments = eachStatement.split(',');
420
+ var lenArg = Number(eachArguments[1]),
421
+ len = void 0;
422
+ result = '';
423
+ arr = getNestedProperty(eachArguments[0], ctx);
424
+ if (arr) {
425
+ lenArg = isNaN(lenArg) ? arr.length : lenArg;
426
+ len = lenArg < 0 ?
427
+ arr.length + lenArg :
428
+ Math.min(lenArg, arr.length); // Overshoot
429
+ // Run through the array for the specified length
430
+ for (var i = 0; i < len; ++i) {
431
+ result += preEach + arr[i] + postEach;
432
+ }
433
+ }
434
+ return result.length ? result : '';
435
+ }
436
+ // Dealing with a plural-function?
437
+ if (pluralStart > -1) {
438
+ var pluralEnd = (statement.slice(pluralStart).indexOf(')') + pluralStart), pluralStatement = statement.substring(pluralStart + 8, pluralEnd), pluralArguments = pluralStatement.split(','), num = Number(getNestedProperty(pluralArguments[0], ctx));
439
+ switch (num) {
440
+ case 0:
441
+ result = pick(pluralArguments[4], pluralArguments[1]);
442
+ break;
443
+ case 1:
444
+ result = pick(pluralArguments[2], pluralArguments[1]);
445
+ break;
446
+ case 2:
447
+ result = pick(pluralArguments[3], pluralArguments[1]);
448
+ break;
449
+ default:
450
+ result = pluralArguments[1];
451
+ }
452
+ return result ? stringTrim(result) : '';
453
+ }
454
+ // Array index
455
+ if (indexStart > -1) {
456
+ var arrayName = statement.substring(0,
457
+ indexStart),
458
+ ix = Number(statement.substring(indexStart + 1,
459
+ indexEnd));
460
+ var val = void 0;
461
+ arr = getNestedProperty(arrayName, ctx);
462
+ if (!isNaN(ix) && arr) {
463
+ if (ix < 0) {
464
+ val = arr[arr.length + ix];
465
+ // Handle negative overshoot
466
+ if (typeof val === 'undefined') {
467
+ val = arr[0];
468
+ }
469
+ }
470
+ else {
471
+ val = arr[ix];
472
+ // Handle positive overshoot
473
+ if (typeof val === 'undefined') {
474
+ val = arr[arr.length - 1];
475
+ }
476
+ }
477
+ }
478
+ return typeof val !== 'undefined' ? val : '';
479
+ }
480
+ // Standard substitution, delegate to format or similar
481
+ return '{' + statement + '}';
482
+ }
483
+ /* eslint-disable max-len */
484
+ /**
485
+ * i18n formatting function. Extends Highcharts.format() functionality by
486
+ * also handling arrays and plural conditionals. Arrays can be indexed as
487
+ * follows:
488
+ *
489
+ * - Format: 'This is the first index: {myArray[0]}. The last: {myArray[-1]}.'
490
+ *
491
+ * - Context: { myArray: [0, 1, 2, 3, 4, 5] }
492
+ *
493
+ * - Result: 'This is the first index: 0. The last: 5.'
494
+ *
495
+ *
496
+ * They can also be iterated using the #each() function. This will repeat
497
+ * the contents of the bracket expression for each element. Example:
498
+ *
499
+ * - Format: 'List contains: {#each(myArray)cm }'
500
+ *
501
+ * - Context: { myArray: [0, 1, 2] }
502
+ *
503
+ * - Result: 'List contains: 0cm 1cm 2cm '
504
+ *
505
+ *
506
+ * The #each() function optionally takes a length parameter. If positive,
507
+ * this parameter specifies the max number of elements to iterate through.
508
+ * If negative, the function will subtract the number from the length of the
509
+ * array. Use this to stop iterating before the array ends. Example:
510
+ *
511
+ * - Format: 'List contains: {#each(myArray, -1) }and {myArray[-1]}.'
512
+ *
513
+ * - Context: { myArray: [0, 1, 2, 3] }
514
+ *
515
+ * - Result: 'List contains: 0, 1, 2, and 3.'
516
+ *
517
+ *
518
+ * Use the #plural() function to pick a string depending on whether or not a
519
+ * context object is 1. Arguments are #plural(obj, plural, singular).
520
+ * Example:
521
+ *
522
+ * - Format: 'Has {numPoints} {#plural(numPoints, points, point}.'
523
+ *
524
+ * - Context: { numPoints: 5 }
525
+ *
526
+ * - Result: 'Has 5 points.'
527
+ *
528
+ *
529
+ * Optionally there are additional parameters for dual and none:
530
+ * #plural(obj, plural, singular, dual, none). Example:
531
+ *
532
+ * - Format: 'Has {#plural(numPoints, many points, one point, two points,
533
+ * none}.'
534
+ *
535
+ * - Context: { numPoints: 2 }
536
+ *
537
+ * - Result: 'Has two points.'
538
+ *
539
+ *
540
+ * The dual or none parameters will take precedence if they are supplied.
541
+ *
542
+ * @requires modules/accessibility
543
+ *
544
+ * @function Highcharts.i18nFormat
545
+ *
546
+ * @param {string} formatString
547
+ * The string to format.
548
+ *
549
+ * @param {Highcharts.Dictionary<*>} context
550
+ * Context to apply to the format string.
551
+ *
552
+ * @param {Highcharts.Chart} chart
553
+ * A `Chart` instance with a time object and numberFormatter, passed on to
554
+ * format().
555
+ *
556
+ * @return {string}
557
+ * The formatted string.
558
+ */
559
+ function i18nFormat(formatString, context, chart) {
560
+ var getFirstBracketStatement = function (sourceStr, offset) {
561
+ var str = sourceStr.slice(offset || 0), startBracket = str.indexOf('{'), endBracket = str.indexOf('}');
562
+ if (startBracket > -1 && endBracket > startBracket) {
563
+ return {
564
+ statement: str.substring(startBracket + 1, endBracket),
565
+ begin: offset + startBracket + 1,
566
+ end: offset + endBracket
567
+ };
568
+ }
569
+ }, tokens = [];
570
+ var bracketRes,
571
+ constRes,
572
+ cursor = 0;
573
+ // Tokenize format string into bracket statements and constants
574
+ do {
575
+ bracketRes = getFirstBracketStatement(formatString, cursor);
576
+ constRes = formatString.substring(cursor, bracketRes && bracketRes.begin - 1);
577
+ // If we have constant content before this bracket statement, add it
578
+ if (constRes.length) {
579
+ tokens.push({
580
+ value: constRes,
581
+ type: 'constant'
582
+ });
583
+ }
584
+ // Add the bracket statement
585
+ if (bracketRes) {
586
+ tokens.push({
587
+ value: bracketRes.statement,
588
+ type: 'statement'
589
+ });
590
+ }
591
+ cursor = bracketRes ? bracketRes.end + 1 : cursor + 1;
592
+ } while (bracketRes);
593
+ // Perform the formatting. The formatArrayStatement function returns
594
+ // the statement in brackets if it is not an array statement, which
595
+ // means it gets picked up by format below.
596
+ tokens.forEach(function (token) {
597
+ if (token.type === 'statement') {
598
+ token.value = formatExtendedStatement(token.value, context);
599
+ }
600
+ });
601
+ // Join string back together and pass to format to pick up non-array
602
+ // statements.
603
+ return format(tokens.reduce(function (acc, cur) { return acc + cur.value; }, ''), context, chart);
604
+ }
605
+ A11yI18nComposition.i18nFormat = i18nFormat;
606
+ /* eslint-enable max-len */
607
+ /**
608
+ * Apply context to a format string from lang options of the chart.
609
+ *
610
+ * @requires modules/accessibility
611
+ *
612
+ * @function Highcharts.Chart#langFormat
613
+ *
614
+ * @param {string} langKey
615
+ * Key (using dot notation) into lang option structure.
616
+ *
617
+ * @param {Highcharts.Dictionary<*>} context
618
+ * Context to apply to the format string.
619
+ *
620
+ * @return {string}
621
+ * The formatted string.
622
+ */
623
+ function langFormat(langKey, context) {
624
+ var keys = langKey.split('.');
625
+ var formatString = this.options.lang,
626
+ i = 0;
627
+ for (; i < keys.length; ++i) {
628
+ formatString = formatString && formatString[keys[i]];
569
629
  }
570
- return getHeadingRecursive(parent);
571
- };
572
- return getHeadingRecursive(element);
573
- }
574
- /**
575
- * Remove an element from the DOM.
576
- * @private
577
- * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} [element]
578
- * @return {void}
579
- */
580
- function removeElement(element) {
581
- if (element && element.parentNode) {
582
- element.parentNode.removeChild(element);
583
- }
584
- }
585
- /**
586
- * Remove all child nodes from an element.
587
- * @private
588
- * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} [element]
589
- * @return {void}
590
- */
591
- function removeChildNodes(element) {
592
- while (element.lastChild) {
593
- element.removeChild(element.lastChild);
630
+ return typeof formatString === 'string' ?
631
+ i18nFormat(formatString, context, this) : '';
594
632
  }
595
- }
596
- /**
597
- * Utility function. Reverses child nodes of a DOM element.
598
- * @private
599
- */
600
- function reverseChildNodes(node) {
601
- var i = node.childNodes.length;
602
- while (i--) {
603
- node.appendChild(node.childNodes[i]);
633
+ /**
634
+ * String trim that works for IE6-8 as well.
635
+ *
636
+ * @private
637
+ * @function stringTrim
638
+ *
639
+ * @param {string} str
640
+ * The input string
641
+ *
642
+ * @return {string}
643
+ * The trimmed string
644
+ */
645
+ function stringTrim(str) {
646
+ return str.trim && str.trim() || str.replace(/^\s+|\s+$/g, '');
604
647
  }
605
- }
606
- /**
607
- * Used for aria-label attributes, painting on a canvas will fail if the
608
- * text contains tags.
609
- * @private
610
- */
611
- function stripHTMLTagsFromString(str) {
612
- return typeof str === 'string' ?
613
- str.replace(/<\/?[^>]+(>|$)/g, '') : str;
614
- }
615
- /**
616
- * Utility function for hiding an element visually, but still keeping it
617
- * available to screen reader users.
618
- * @private
619
- */
620
- function visuallyHideElement(element) {
621
- css(element, {
622
- position: 'absolute',
623
- width: '1px',
624
- height: '1px',
625
- overflow: 'hidden',
626
- whiteSpace: 'nowrap',
627
- clip: 'rect(1px, 1px, 1px, 1px)',
628
- marginTop: '-3px',
629
- '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=1)',
630
- filter: 'alpha(opacity=1)',
631
- opacity: 0.01
632
- });
633
- }
648
+ })(A11yI18nComposition || (A11yI18nComposition = {}));
634
649
  /* *
635
650
  *
636
651
  * Default Export
637
652
  *
638
653
  * */
639
- var HTMLUtilities = {
640
- addClass: addClass,
641
- cloneMouseEvent: cloneMouseEvent,
642
- cloneTouchEvent: cloneTouchEvent,
643
- escapeStringForHTML: escapeStringForHTML,
644
- getElement: getElement,
645
- getFakeMouseEvent: getFakeMouseEvent,
646
- getHeadingTagNameForElement: getHeadingTagNameForElement,
647
- removeChildNodes: removeChildNodes,
648
- removeClass: removeClass,
649
- removeElement: removeElement,
650
- reverseChildNodes: reverseChildNodes,
651
- stripHTMLTagsFromString: stripHTMLTagsFromString,
652
- visuallyHideElement: visuallyHideElement
653
- };
654
654
 
655
- return HTMLUtilities;
655
+ return A11yI18nComposition;
656
656
  });
657
657
  _registerModule(_modules, 'Accessibility/Utils/ChartUtilities.js', [_modules['Core/Globals.js'], _modules['Accessibility/Utils/HTMLUtilities.js'], _modules['Core/Utilities.js']], function (H, HU, U) {
658
658
  /* *
@@ -3677,9 +3677,10 @@
3677
3677
  */
3678
3678
  function shouldDoLegendA11y(chart) {
3679
3679
  var items = chart.legend && chart.legend.allItems,
3680
- legendA11yOptions = (chart.options.legend.accessibility || {});
3680
+ legendA11yOptions = (chart.options.legend.accessibility || {}),
3681
+ unsupportedColorAxis = chart.colorAxis && chart.colorAxis.some(function (c) { return !c.dataClasses || !c.dataClasses.length; });
3681
3682
  return !!(items && items.length &&
3682
- !(chart.colorAxis && chart.colorAxis.length) &&
3683
+ !unsupportedColorAxis &&
3683
3684
  legendA11yOptions.enabled !== false);
3684
3685
  }
3685
3686
  /**
@@ -3733,7 +3734,7 @@
3733
3734
  LegendComponent.prototype.init = function () {
3734
3735
  var component = this;
3735
3736
  this.recreateProxies();
3736
- // Note: Chart could create legend dynamically, so events can not be
3737
+ // Note: Chart could create legend dynamically, so events cannot be
3737
3738
  // tied to the component's chart's current legend.
3738
3739
  // @todo 1. attach component to created legends
3739
3740
  // @todo 2. move listeners to composition and access `this.component`
@@ -4024,15 +4025,13 @@
4024
4025
  * @private
4025
4026
  */
4026
4027
  LegendComponent.prototype.shouldHaveLegendNavigation = function () {
4028
+ if (!shouldDoLegendA11y(this.chart)) {
4029
+ return false;
4030
+ }
4027
4031
  var chart = this.chart,
4028
4032
  legendOptions = chart.options.legend || {},
4029
- hasLegend = chart.legend && chart.legend.allItems,
4030
- hasColorAxis = chart.colorAxis && chart.colorAxis.length,
4031
4033
  legendA11yOptions = (legendOptions.accessibility || {});
4032
- return !!(hasLegend &&
4033
- chart.legend.display &&
4034
- !hasColorAxis &&
4035
- legendA11yOptions.enabled &&
4034
+ return !!(chart.legend.display &&
4036
4035
  legendA11yOptions.keyboardNavigation &&
4037
4036
  legendA11yOptions.keyboardNavigation.enabled);
4038
4037
  };
@@ -4343,7 +4342,8 @@
4343
4342
  */
4344
4343
  function getPointXDescription(point) {
4345
4344
  var timeDesc = getPointA11yTimeDescription(point), xAxis = point.series.xAxis || {}, pointCategory = xAxis.categories && defined(point.category) &&
4346
- ('' + point.category).replace('<br/>', ' '), canUseId = point.id && point.id.indexOf('highcharts-') < 0, fallback = 'x, ' + point.x;
4345
+ ('' + point.category).replace('<br/>', ' '), canUseId = defined(point.id) &&
4346
+ ('' + point.id).indexOf('highcharts-') < 0, fallback = 'x, ' + point.x;
4347
4347
  return point.name || timeDesc || pointCategory ||
4348
4348
  (canUseId ? point.id : fallback);
4349
4349
  }
@@ -4563,7 +4563,7 @@
4563
4563
  // For some series types the order of elements do not match the
4564
4564
  // order of points in series. In that case we have to reverse them
4565
4565
  // in order for AT to read them out in an understandable order.
4566
- // Due to z-index issues we can not do this for 3D charts.
4566
+ // Due to z-index issues we cannot do this for 3D charts.
4567
4567
  if (seriesEl.lastChild === firstPointEl && !is3d) {
4568
4568
  reverseChildNodes(seriesEl);
4569
4569
  }
@@ -10693,7 +10693,7 @@
10693
10693
  * Style options for the focus border drawn around elements
10694
10694
  * while navigating through them. Note that some browsers in
10695
10695
  * addition draw their own borders for focused elements. These
10696
- * automatic borders can not be styled by Highcharts.
10696
+ * automatic borders cannot be styled by Highcharts.
10697
10697
  *
10698
10698
  * In styled mode, the border is given the
10699
10699
  * `.highcharts-focus-border` class.
@@ -11675,7 +11675,7 @@
11675
11675
 
11676
11676
  return copyDeprecatedOptions;
11677
11677
  });
11678
- _registerModule(_modules, 'Accessibility/Accessibility.js', [_modules['Core/DefaultOptions.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Accessibility/A11yI18n.js'], _modules['Accessibility/Components/ContainerComponent.js'], _modules['Accessibility/FocusBorder.js'], _modules['Accessibility/Components/InfoRegionsComponent.js'], _modules['Accessibility/KeyboardNavigation.js'], _modules['Accessibility/Components/LegendComponent.js'], _modules['Accessibility/Components/MenuComponent.js'], _modules['Accessibility/Components/SeriesComponent/NewDataAnnouncer.js'], _modules['Accessibility/ProxyProvider.js'], _modules['Accessibility/Components/RangeSelectorComponent.js'], _modules['Accessibility/Components/SeriesComponent/SeriesComponent.js'], _modules['Accessibility/Components/ZoomComponent.js'], _modules['Accessibility/HighContrastMode.js'], _modules['Accessibility/HighContrastTheme.js'], _modules['Accessibility/Options/A11yDefaults.js'], _modules['Accessibility/Options/LangDefaults.js'], _modules['Accessibility/Options/DeprecatedOptions.js']], function (D, H, U, A11yI18n, ContainerComponent, FocusBorder, InfoRegionsComponent, KeyboardNavigation, LegendComponent, MenuComponent, NewDataAnnouncer, ProxyProvider, RangeSelectorComponent, SeriesComponent, ZoomComponent, whcm, highContrastTheme, defaultOptionsA11Y, defaultLangOptions, copyDeprecatedOptions) {
11678
+ _registerModule(_modules, 'Accessibility/Accessibility.js', [_modules['Core/DefaultOptions.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Accessibility/Utils/HTMLUtilities.js'], _modules['Accessibility/A11yI18n.js'], _modules['Accessibility/Components/ContainerComponent.js'], _modules['Accessibility/FocusBorder.js'], _modules['Accessibility/Components/InfoRegionsComponent.js'], _modules['Accessibility/KeyboardNavigation.js'], _modules['Accessibility/Components/LegendComponent.js'], _modules['Accessibility/Components/MenuComponent.js'], _modules['Accessibility/Components/SeriesComponent/NewDataAnnouncer.js'], _modules['Accessibility/ProxyProvider.js'], _modules['Accessibility/Components/RangeSelectorComponent.js'], _modules['Accessibility/Components/SeriesComponent/SeriesComponent.js'], _modules['Accessibility/Components/ZoomComponent.js'], _modules['Accessibility/HighContrastMode.js'], _modules['Accessibility/HighContrastTheme.js'], _modules['Accessibility/Options/A11yDefaults.js'], _modules['Accessibility/Options/LangDefaults.js'], _modules['Accessibility/Options/DeprecatedOptions.js']], function (D, H, U, HU, A11yI18n, ContainerComponent, FocusBorder, InfoRegionsComponent, KeyboardNavigation, LegendComponent, MenuComponent, NewDataAnnouncer, ProxyProvider, RangeSelectorComponent, SeriesComponent, ZoomComponent, whcm, highContrastTheme, defaultOptionsA11Y, defaultLangOptions, copyDeprecatedOptions) {
11679
11679
  /* *
11680
11680
  *
11681
11681
  * (c) 2009-2021 Øystein Moseng
@@ -11693,6 +11693,7 @@
11693
11693
  extend = U.extend,
11694
11694
  fireEvent = U.fireEvent,
11695
11695
  merge = U.merge;
11696
+ var removeElement = HU.removeElement;
11696
11697
  /* *
11697
11698
  *
11698
11699
  * Class
@@ -11846,6 +11847,10 @@
11846
11847
  if (this.proxyProvider) {
11847
11848
  this.proxyProvider.destroy();
11848
11849
  }
11850
+ // Remove announcer container
11851
+ if (chart.announcerContainer) {
11852
+ removeElement(chart.announcerContainer);
11853
+ }
11849
11854
  // Kill keyboard nav
11850
11855
  if (this.keyboardNavigation) {
11851
11856
  this.keyboardNavigation.destroy();