highcharts 9.2.2 → 9.3.3

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 (894) hide show
  1. package/README.md +13 -6
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +48 -8
  4. package/css/annotations/popup.scss +70 -22
  5. package/css/highcharts.css +46 -1
  6. package/css/highcharts.scss +40 -0
  7. package/css/stocktools/gui.css +1 -1
  8. package/css/themes/dark-unica.css +46 -1
  9. package/css/themes/grid-light.css +46 -1
  10. package/css/themes/sand-signika.css +46 -1
  11. package/es-modules/Accessibility/A11yI18n.js +269 -224
  12. package/es-modules/Accessibility/Accessibility.js +244 -129
  13. package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
  14. package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
  15. package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
  16. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
  17. package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
  18. package/es-modules/Accessibility/Components/MenuComponent.js +250 -154
  19. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
  20. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
  21. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
  24. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
  25. package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
  26. package/es-modules/Accessibility/FocusBorder.js +192 -152
  27. package/es-modules/Accessibility/HighContrastMode.js +79 -66
  28. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  29. package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
  30. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  31. package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
  32. package/es-modules/Accessibility/Options/LangOptions.js +4 -5
  33. package/es-modules/Accessibility/Options/Options.js +32 -17
  34. package/es-modules/Accessibility/ProxyElement.js +218 -0
  35. package/es-modules/Accessibility/ProxyProvider.js +302 -0
  36. package/es-modules/Accessibility/Utils/Announcer.js +17 -10
  37. package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
  38. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  39. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  40. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -42
  41. package/es-modules/Core/Animation/Fx.js +5 -14
  42. package/es-modules/Core/Axis/Axis.js +77 -96
  43. package/es-modules/Core/Axis/Axis3D.js +10 -4
  44. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  45. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  46. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
  47. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
  48. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  49. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  50. package/es-modules/Core/Axis/GridAxis.js +26 -16
  51. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  52. package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
  53. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  54. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  55. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  56. package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
  57. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  58. package/es-modules/Core/Axis/Tick.js +2 -4
  59. package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
  60. package/es-modules/Core/Axis/TreeGridTick.js +5 -3
  61. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  62. package/es-modules/Core/Axis/ZAxis.js +1 -1
  63. package/es-modules/Core/Chart/Chart.js +44 -47
  64. package/es-modules/Core/Chart/Chart3D.js +23 -10
  65. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  66. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  67. package/es-modules/Core/Chart/GanttChart.js +4 -4
  68. package/es-modules/Core/Chart/MapChart.js +13 -25
  69. package/es-modules/Core/Chart/StockChart.js +13 -316
  70. package/es-modules/Core/Color/Palettes.js +22 -0
  71. package/es-modules/Core/DefaultOptions.js +22 -19
  72. package/es-modules/Core/Foundation.js +39 -31
  73. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  74. package/es-modules/Core/Globals.js +1 -1
  75. package/es-modules/Core/HttpUtilities.js +8 -7
  76. package/es-modules/Core/Legend/Legend.js +19 -16
  77. package/es-modules/Core/Navigator.js +41 -30
  78. package/es-modules/Core/Pointer.js +52 -45
  79. package/es-modules/Core/Renderer/HTML/AST.js +29 -14
  80. package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
  81. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  82. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  83. package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
  84. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  85. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
  86. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  87. package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
  88. package/es-modules/Core/Responsive.js +2 -3
  89. package/es-modules/Core/Scrollbar.js +14 -12
  90. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  91. package/es-modules/Core/Series/DataLabel.js +19 -15
  92. package/es-modules/Core/Series/Point.js +22 -19
  93. package/es-modules/Core/Series/Series.js +197 -235
  94. package/es-modules/Core/Series/SeriesDefaults.js +8 -8
  95. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  96. package/es-modules/Core/Time.js +14 -11
  97. package/es-modules/Core/Tooltip.js +63 -53
  98. package/es-modules/Core/Utilities.js +20 -24
  99. package/es-modules/Data/DataConverter.js +483 -0
  100. package/es-modules/Data/DataPromise.js +252 -0
  101. package/es-modules/Data/DataSeriesConverter.js +207 -0
  102. package/es-modules/Data/DataTable.js +1205 -0
  103. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  104. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  105. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  106. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  107. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  108. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  109. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  110. package/es-modules/Data/Parsers/CSVParser.js +400 -0
  111. package/es-modules/Data/Parsers/DataParser.js +101 -0
  112. package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
  113. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  114. package/es-modules/Data/Stores/CSVStore.js +317 -0
  115. package/es-modules/Data/Stores/DataStore.js +276 -0
  116. package/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
  117. package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
  118. package/es-modules/Extensions/Annotations/Annotations.js +69 -18
  119. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
  120. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  121. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  122. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  123. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  124. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  125. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  126. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
  127. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  128. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  129. package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
  130. package/es-modules/Extensions/Annotations/Popup.js +494 -148
  131. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  132. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
  133. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  134. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  135. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  136. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  137. package/es-modules/Extensions/Annotations/Types/Measure.js +29 -19
  138. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
  139. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
  140. package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
  141. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  142. package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
  143. package/es-modules/Extensions/Boost/BoostOverrides.js +6 -10
  144. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  145. package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
  146. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  147. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  148. package/es-modules/Extensions/BoostCanvas.js +1 -2
  149. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  150. package/es-modules/Extensions/Data.js +4 -48
  151. package/es-modules/Extensions/DataGrouping.js +52 -32
  152. package/es-modules/Extensions/DownloadURL.js +2 -2
  153. package/es-modules/Extensions/DragPanes.js +1 -2
  154. package/es-modules/Extensions/DraggablePoints.js +7 -8
  155. package/es-modules/Extensions/Drilldown.js +11 -7
  156. package/es-modules/Extensions/ExportData.js +6 -5
  157. package/es-modules/Extensions/Exporting/Exporting.js +33 -46
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  159. package/es-modules/Extensions/FullScreen.js +4 -3
  160. package/es-modules/Extensions/GeoJSON.js +42 -66
  161. package/es-modules/Extensions/MarkerClusters.js +118 -98
  162. package/es-modules/Extensions/Math3D.js +4 -4
  163. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  164. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +32 -32
  165. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  166. package/es-modules/Extensions/Oldie/Oldie.js +14 -79
  167. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  168. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  169. package/es-modules/Extensions/Pane.js +11 -12
  170. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  171. package/es-modules/Extensions/PatternFill.js +17 -11
  172. package/es-modules/Extensions/Polar.js +7 -4
  173. package/es-modules/Extensions/PriceIndication.js +2 -1
  174. package/es-modules/Extensions/RangeSelector.js +22 -59
  175. package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
  176. package/es-modules/Extensions/SeriesLabel.js +1 -1
  177. package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
  178. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  179. package/es-modules/Extensions/Sonification/Instrument.js +493 -426
  180. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  181. package/es-modules/Extensions/Sonification/Options.js +10 -0
  182. package/es-modules/Extensions/Sonification/PointSonify.js +207 -152
  183. package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
  184. package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
  185. package/es-modules/Extensions/Sonification/Sonification.js +27 -53
  186. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
  187. package/es-modules/Extensions/Sonification/Timeline.js +250 -567
  188. package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
  189. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  190. package/es-modules/Extensions/Stacking.js +5 -23
  191. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  192. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  193. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  194. package/es-modules/Extensions/Themes/Grid.js +4 -2
  195. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  196. package/es-modules/Gantt/Connection.js +2 -2
  197. package/es-modules/Gantt/Pathfinder.js +6 -5
  198. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  199. package/es-modules/Maps/MapNavigation.js +30 -68
  200. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  201. package/es-modules/Maps/MapPointer.js +8 -5
  202. package/es-modules/Maps/MapSymbols.js +23 -3
  203. package/es-modules/Maps/MapView.js +450 -0
  204. package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  205. package/es-modules/Maps/Projection.js +436 -0
  206. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  207. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  208. package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  209. package/es-modules/Maps/Projections/Miller.js +16 -0
  210. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  211. package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  212. package/es-modules/Maps/Projections/WebMercator.js +24 -0
  213. package/es-modules/Series/Area/AreaSeries.js +13 -13
  214. package/es-modules/Series/Area3DSeries.js +4 -2
  215. package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
  216. package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
  217. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  218. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  219. package/es-modules/Series/Bubble/BubbleLegendItem.js +5 -15
  220. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  221. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  222. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -19
  223. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  224. package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
  225. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  226. package/es-modules/Series/Column/ColumnSeries.js +19 -18
  227. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  228. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
  229. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  230. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  231. package/es-modules/Series/DataModifyComposition.js +539 -0
  232. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  233. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
  234. package/es-modules/Series/DerivedComposition.js +137 -0
  235. package/es-modules/Series/DrawPointComposition.js +111 -0
  236. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  237. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
  238. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  239. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  240. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  241. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  242. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  243. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  244. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  245. package/es-modules/Series/Gantt/GanttSeries.js +3 -3
  246. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  247. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  248. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  249. package/es-modules/Series/HLC/HLCSeries.js +378 -0
  250. package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
  251. package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
  252. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
  253. package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
  254. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  255. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
  256. package/es-modules/Series/Item/ItemSeries.js +4 -5
  257. package/es-modules/Series/Line/LineSeries.js +1 -2
  258. package/es-modules/Series/Map/MapPoint.js +27 -14
  259. package/es-modules/Series/Map/MapSeries.js +283 -322
  260. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  261. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  262. package/es-modules/Series/MapLine/MapLineSeries.js +2 -4
  263. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  264. package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
  265. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  266. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  267. package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
  268. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  269. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
  270. package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
  271. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  272. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  273. package/es-modules/Series/Organization/OrganizationSeries.js +6 -5
  274. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  275. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  276. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
  277. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  278. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  279. package/es-modules/Series/Pie/PiePoint.js +2 -2
  280. package/es-modules/Series/Pie/PieSeries.js +7 -8
  281. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  282. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  283. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  284. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  285. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  286. package/es-modules/Series/Sankey/SankeySeries.js +92 -22
  287. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  288. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
  291. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  292. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
  293. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  294. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  295. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
  296. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  297. package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
  298. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  299. package/es-modules/Series/Venn/VennPoint.js +16 -7
  300. package/es-modules/Series/Venn/VennSeries.js +11 -17
  301. package/es-modules/Series/Venn/VennUtils.js +551 -439
  302. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
  303. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  304. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  305. package/es-modules/Series/Wordcloud/WordcloudSeries.js +26 -22
  306. package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
  307. package/es-modules/Series/XRange/XRangePoint.js +7 -12
  308. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  309. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -6
  310. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  311. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  312. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +4 -6
  313. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  314. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  315. package/es-modules/Stock/Indicators/BB/BBIndicator.js +39 -11
  316. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  317. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  318. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  319. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +28 -16
  320. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
  321. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  322. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  323. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
  324. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
  325. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
  326. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  327. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  328. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  329. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +2 -3
  330. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
  331. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  332. package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
  333. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  334. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  335. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  336. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  337. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
  338. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  339. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
  340. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  341. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  342. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  343. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +26 -10
  344. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  345. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  346. package/es-modules/Stock/StockToolsBindings.js +156 -47
  347. package/es-modules/Stock/StockToolsGui.js +442 -37
  348. package/es-modules/masters/highcharts-3d.src.js +1 -1
  349. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  350. package/es-modules/masters/highcharts-more.src.js +1 -1
  351. package/es-modules/masters/highcharts.src.js +1 -1
  352. package/es-modules/masters/highmaps.src.js +1 -1
  353. package/es-modules/masters/highstock.src.js +1 -1
  354. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  355. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  356. package/es-modules/masters/indicators/ao.src.js +1 -1
  357. package/es-modules/masters/indicators/apo.src.js +1 -1
  358. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  359. package/es-modules/masters/indicators/aroon.src.js +1 -1
  360. package/es-modules/masters/indicators/atr.src.js +1 -1
  361. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  362. package/es-modules/masters/indicators/cci.src.js +1 -1
  363. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  364. package/es-modules/masters/indicators/cmf.src.js +1 -1
  365. package/es-modules/masters/indicators/cmo.src.js +1 -1
  366. package/es-modules/masters/indicators/dema.src.js +1 -1
  367. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  368. package/es-modules/masters/indicators/dmi.src.js +1 -1
  369. package/es-modules/masters/indicators/dpo.src.js +1 -1
  370. package/es-modules/masters/indicators/ema.src.js +4 -10
  371. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  372. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  373. package/es-modules/masters/indicators/indicators.src.js +2 -1
  374. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  375. package/es-modules/masters/indicators/klinger.src.js +1 -1
  376. package/es-modules/masters/indicators/macd.src.js +1 -1
  377. package/es-modules/masters/indicators/mfi.src.js +1 -1
  378. package/es-modules/masters/indicators/momentum.src.js +1 -1
  379. package/es-modules/masters/indicators/natr.src.js +1 -1
  380. package/es-modules/masters/indicators/obv.src.js +1 -1
  381. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  382. package/es-modules/masters/indicators/ppo.src.js +1 -1
  383. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  384. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  385. package/es-modules/masters/indicators/psar.src.js +1 -1
  386. package/es-modules/masters/indicators/regressions.src.js +1 -1
  387. package/es-modules/masters/indicators/roc.src.js +1 -1
  388. package/es-modules/masters/indicators/rsi.src.js +1 -1
  389. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  390. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  391. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  392. package/es-modules/masters/indicators/tema.src.js +1 -1
  393. package/es-modules/masters/indicators/trendline.src.js +1 -1
  394. package/es-modules/masters/indicators/trix.src.js +1 -1
  395. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  396. package/es-modules/masters/indicators/vwap.src.js +1 -1
  397. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  398. package/es-modules/masters/indicators/wma.src.js +1 -1
  399. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  400. package/es-modules/masters/modules/accessibility.src.js +16 -2
  401. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  402. package/es-modules/masters/modules/annotations.src.js +1 -1
  403. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  404. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  405. package/es-modules/masters/modules/boost.src.js +1 -1
  406. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  407. package/es-modules/masters/modules/bullet.src.js +1 -1
  408. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  409. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  410. package/es-modules/masters/modules/cylinder.src.js +1 -1
  411. package/es-modules/masters/modules/data.src.js +6 -3
  412. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  413. package/es-modules/masters/modules/debugger.src.js +1 -1
  414. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  415. package/es-modules/masters/modules/dotplot.src.js +1 -1
  416. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  417. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  418. package/es-modules/masters/modules/drilldown.src.js +1 -1
  419. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  420. package/es-modules/masters/modules/export-data.src.js +1 -1
  421. package/es-modules/masters/modules/exporting.src.js +1 -1
  422. package/es-modules/masters/modules/full-screen.src.js +1 -1
  423. package/es-modules/masters/modules/funnel.src.js +1 -1
  424. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  425. package/es-modules/masters/modules/gantt.src.js +1 -1
  426. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  427. package/es-modules/masters/modules/heatmap.src.js +1 -2
  428. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  429. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  430. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  431. package/es-modules/masters/modules/item-series.src.js +1 -1
  432. package/es-modules/masters/modules/lollipop.src.js +1 -1
  433. package/es-modules/masters/modules/map.src.js +1 -3
  434. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  435. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  436. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  437. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  438. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  439. package/es-modules/masters/modules/oldie.src.js +1 -1
  440. package/es-modules/masters/modules/organization.src.js +1 -1
  441. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  442. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  443. package/es-modules/masters/modules/pareto.src.js +1 -1
  444. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  445. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  446. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  447. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  448. package/es-modules/masters/modules/sankey.src.js +1 -1
  449. package/es-modules/masters/modules/series-label.src.js +1 -1
  450. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  451. package/es-modules/masters/modules/sonification.src.js +33 -2
  452. package/es-modules/masters/modules/static-scale.src.js +1 -1
  453. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  454. package/es-modules/masters/modules/stock.src.js +4 -1
  455. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  456. package/es-modules/masters/modules/sunburst.src.js +1 -1
  457. package/es-modules/masters/modules/tilemap.src.js +1 -1
  458. package/es-modules/masters/modules/timeline.src.js +1 -1
  459. package/es-modules/masters/modules/treegrid.src.js +1 -1
  460. package/es-modules/masters/modules/treemap.src.js +1 -1
  461. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  462. package/es-modules/masters/modules/variwide.src.js +1 -1
  463. package/es-modules/masters/modules/vector.src.js +1 -1
  464. package/es-modules/masters/modules/venn.src.js +1 -1
  465. package/es-modules/masters/modules/windbarb.src.js +1 -1
  466. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  467. package/es-modules/masters/modules/xrange.src.js +1 -1
  468. package/es-modules/masters/themes/avocado.src.js +1 -1
  469. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  470. package/es-modules/masters/themes/brand-light.src.js +14 -0
  471. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  472. package/es-modules/masters/themes/dark-green.src.js +1 -1
  473. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  474. package/es-modules/masters/themes/gray.src.js +1 -1
  475. package/es-modules/masters/themes/grid-light.src.js +1 -1
  476. package/es-modules/masters/themes/grid.src.js +1 -1
  477. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  478. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  479. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  480. package/es-modules/masters/themes/skies.src.js +1 -1
  481. package/es-modules/masters/themes/sunset.src.js +1 -1
  482. package/highcharts-3d.js +1 -1
  483. package/highcharts-3d.js.map +1 -1
  484. package/highcharts-3d.src.js +65 -35
  485. package/highcharts-gantt.js +800 -803
  486. package/highcharts-gantt.js.map +1 -1
  487. package/highcharts-gantt.src.js +1356 -1429
  488. package/highcharts-more.js +194 -193
  489. package/highcharts-more.js.map +1 -1
  490. package/highcharts-more.src.js +280 -222
  491. package/highcharts.d.ts +10208 -761
  492. package/highcharts.js +585 -588
  493. package/highcharts.js.map +1 -1
  494. package/highcharts.src.d.ts +10208 -761
  495. package/highcharts.src.js +992 -1066
  496. package/highmaps.js +727 -707
  497. package/highmaps.js.map +1 -1
  498. package/highmaps.src.js +3240 -2135
  499. package/highstock.js +788 -783
  500. package/highstock.js.map +1 -1
  501. package/highstock.src.js +2487 -1981
  502. package/indicators/acceleration-bands.d.ts +17 -1
  503. package/indicators/acceleration-bands.js +11 -9
  504. package/indicators/acceleration-bands.js.map +1 -1
  505. package/indicators/acceleration-bands.src.d.ts +17 -1
  506. package/indicators/acceleration-bands.src.js +238 -112
  507. package/indicators/accumulation-distribution.js +1 -1
  508. package/indicators/accumulation-distribution.src.js +1 -1
  509. package/indicators/ao.js +6 -6
  510. package/indicators/ao.js.map +1 -1
  511. package/indicators/ao.src.js +4 -4
  512. package/indicators/apo.js +5 -6
  513. package/indicators/apo.js.map +1 -1
  514. package/indicators/apo.src.js +16 -84
  515. package/indicators/aroon-oscillator.d.ts +17 -1
  516. package/indicators/aroon-oscillator.js +10 -9
  517. package/indicators/aroon-oscillator.js.map +1 -1
  518. package/indicators/aroon-oscillator.src.d.ts +17 -1
  519. package/indicators/aroon-oscillator.src.js +230 -177
  520. package/indicators/aroon.d.ts +17 -1
  521. package/indicators/aroon.js +11 -9
  522. package/indicators/aroon.js.map +1 -1
  523. package/indicators/aroon.src.d.ts +17 -1
  524. package/indicators/aroon.src.js +227 -112
  525. package/indicators/atr.js +1 -1
  526. package/indicators/atr.src.js +1 -1
  527. package/indicators/bollinger-bands.d.ts +17 -1
  528. package/indicators/bollinger-bands.js +12 -9
  529. package/indicators/bollinger-bands.js.map +1 -1
  530. package/indicators/bollinger-bands.src.d.ts +17 -1
  531. package/indicators/bollinger-bands.src.js +262 -117
  532. package/indicators/cci.js +1 -1
  533. package/indicators/cci.src.js +1 -1
  534. package/indicators/chaikin.js +8 -9
  535. package/indicators/chaikin.js.map +1 -1
  536. package/indicators/chaikin.src.js +8 -76
  537. package/indicators/cmf.js +1 -1
  538. package/indicators/cmf.js.map +1 -1
  539. package/indicators/cmf.src.js +36 -16
  540. package/indicators/cmo.js +1 -1
  541. package/indicators/cmo.src.js +1 -1
  542. package/indicators/dema.js +5 -6
  543. package/indicators/dema.js.map +1 -1
  544. package/indicators/dema.src.js +3 -75
  545. package/indicators/disparity-index.js +6 -7
  546. package/indicators/disparity-index.js.map +1 -1
  547. package/indicators/disparity-index.src.js +20 -74
  548. package/indicators/dmi.js +12 -11
  549. package/indicators/dmi.js.map +1 -1
  550. package/indicators/dmi.src.js +252 -121
  551. package/indicators/dpo.js +1 -1
  552. package/indicators/dpo.src.js +1 -1
  553. package/indicators/ema.js +1 -13
  554. package/indicators/ema.js.map +1 -1
  555. package/indicators/ema.src.js +7 -188
  556. package/indicators/ichimoku-kinko-hyo.js +1 -1
  557. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  558. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  559. package/indicators/indicators-all.d.ts +17 -1
  560. package/indicators/indicators-all.js +198 -203
  561. package/indicators/indicators-all.js.map +1 -1
  562. package/indicators/indicators-all.src.d.ts +17 -1
  563. package/indicators/indicators-all.src.js +892 -777
  564. package/indicators/indicators.js +12 -12
  565. package/indicators/indicators.js.map +1 -1
  566. package/indicators/indicators.src.js +213 -144
  567. package/indicators/keltner-channels.d.ts +17 -1
  568. package/indicators/keltner-channels.js +11 -10
  569. package/indicators/keltner-channels.js.map +1 -1
  570. package/indicators/keltner-channels.src.d.ts +17 -1
  571. package/indicators/keltner-channels.src.js +246 -118
  572. package/indicators/klinger.js +14 -13
  573. package/indicators/klinger.js.map +1 -1
  574. package/indicators/klinger.src.js +239 -187
  575. package/indicators/macd.js +2 -2
  576. package/indicators/macd.js.map +1 -1
  577. package/indicators/macd.src.js +3 -4
  578. package/indicators/mfi.js +1 -1
  579. package/indicators/mfi.src.js +1 -1
  580. package/indicators/momentum.js +1 -1
  581. package/indicators/momentum.src.js +1 -1
  582. package/indicators/natr.js +3 -3
  583. package/indicators/natr.js.map +1 -1
  584. package/indicators/natr.src.js +2 -4
  585. package/indicators/obv.js +1 -1
  586. package/indicators/obv.src.js +1 -1
  587. package/indicators/pivot-points.js +1 -1
  588. package/indicators/pivot-points.js.map +1 -1
  589. package/indicators/pivot-points.src.js +3 -2
  590. package/indicators/ppo.js +5 -6
  591. package/indicators/ppo.js.map +1 -1
  592. package/indicators/ppo.src.js +3 -75
  593. package/indicators/price-channel.d.ts +17 -1
  594. package/indicators/price-channel.js +11 -9
  595. package/indicators/price-channel.js.map +1 -1
  596. package/indicators/price-channel.src.d.ts +17 -1
  597. package/indicators/price-channel.src.js +288 -168
  598. package/indicators/price-envelopes.js +1 -1
  599. package/indicators/price-envelopes.src.js +1 -1
  600. package/indicators/psar.js +1 -1
  601. package/indicators/psar.src.js +1 -1
  602. package/indicators/regressions.js +1 -1
  603. package/indicators/regressions.js.map +1 -1
  604. package/indicators/regressions.src.js +39 -21
  605. package/indicators/roc.js +1 -1
  606. package/indicators/roc.src.js +1 -1
  607. package/indicators/rsi.js +1 -1
  608. package/indicators/rsi.js.map +1 -1
  609. package/indicators/rsi.src.js +3 -2
  610. package/indicators/slow-stochastic.js +5 -6
  611. package/indicators/slow-stochastic.js.map +1 -1
  612. package/indicators/slow-stochastic.src.js +2 -72
  613. package/indicators/stochastic.d.ts +17 -1
  614. package/indicators/stochastic.js +12 -10
  615. package/indicators/stochastic.js.map +1 -1
  616. package/indicators/stochastic.src.d.ts +17 -1
  617. package/indicators/stochastic.src.js +282 -165
  618. package/indicators/supertrend.js +10 -10
  619. package/indicators/supertrend.js.map +1 -1
  620. package/indicators/supertrend.src.js +6 -7
  621. package/indicators/tema.js +6 -7
  622. package/indicators/tema.js.map +1 -1
  623. package/indicators/tema.src.js +28 -75
  624. package/indicators/trendline.js +1 -1
  625. package/indicators/trendline.src.js +1 -1
  626. package/indicators/trix.js +4 -5
  627. package/indicators/trix.js.map +1 -1
  628. package/indicators/trix.src.js +8 -76
  629. package/indicators/volume-by-price.js +16 -16
  630. package/indicators/volume-by-price.js.map +1 -1
  631. package/indicators/volume-by-price.src.js +27 -10
  632. package/indicators/vwap.js +1 -1
  633. package/indicators/vwap.js.map +1 -1
  634. package/indicators/vwap.src.js +20 -8
  635. package/indicators/williams-r.js +5 -6
  636. package/indicators/williams-r.js.map +1 -1
  637. package/indicators/williams-r.src.js +41 -51
  638. package/indicators/wma.js +1 -1
  639. package/indicators/wma.src.js +1 -1
  640. package/indicators/zigzag.js +1 -1
  641. package/indicators/zigzag.src.js +1 -1
  642. package/modules/accessibility.d.ts +0 -30
  643. package/modules/accessibility.js +241 -216
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.d.ts +0 -30
  646. package/modules/accessibility.src.js +7818 -6398
  647. package/modules/annotations-advanced.d.ts +30 -0
  648. package/modules/annotations-advanced.js +192 -165
  649. package/modules/annotations-advanced.js.map +1 -1
  650. package/modules/annotations-advanced.src.d.ts +30 -0
  651. package/modules/annotations-advanced.src.js +1716 -416
  652. package/modules/annotations.js +125 -110
  653. package/modules/annotations.js.map +1 -1
  654. package/modules/annotations.src.js +1059 -304
  655. package/modules/arrow-symbols.js +1 -1
  656. package/modules/arrow-symbols.src.js +1 -1
  657. package/modules/boost-canvas.js +15 -15
  658. package/modules/boost-canvas.js.map +1 -1
  659. package/modules/boost-canvas.src.js +3 -3
  660. package/modules/boost.js +79 -79
  661. package/modules/boost.js.map +1 -1
  662. package/modules/boost.src.js +42 -51
  663. package/modules/broken-axis.js +1 -1
  664. package/modules/broken-axis.js.map +1 -1
  665. package/modules/broken-axis.src.js +18 -12
  666. package/modules/bullet.js +1 -1
  667. package/modules/bullet.src.js +1 -1
  668. package/modules/coloraxis.js +24 -24
  669. package/modules/coloraxis.js.map +1 -1
  670. package/modules/coloraxis.src.js +77 -103
  671. package/modules/current-date-indicator.js +4 -4
  672. package/modules/current-date-indicator.js.map +1 -1
  673. package/modules/current-date-indicator.src.js +4 -4
  674. package/modules/cylinder.js +1 -1
  675. package/modules/cylinder.js.map +1 -1
  676. package/modules/cylinder.src.js +37 -5
  677. package/modules/data.d.ts +6 -6
  678. package/modules/data.js +31 -31
  679. package/modules/data.js.map +1 -1
  680. package/modules/data.src.d.ts +6 -6
  681. package/modules/data.src.js +18 -58
  682. package/modules/datagrouping.js +20 -20
  683. package/modules/datagrouping.js.map +1 -1
  684. package/modules/datagrouping.src.js +54 -33
  685. package/modules/debugger.js +1 -1
  686. package/modules/debugger.src.js +1 -1
  687. package/modules/dependency-wheel.js +11 -11
  688. package/modules/dependency-wheel.js.map +1 -1
  689. package/modules/dependency-wheel.src.js +5 -8
  690. package/modules/dotplot.js +1 -1
  691. package/modules/dotplot.src.js +1 -1
  692. package/modules/drag-panes.js +8 -8
  693. package/modules/drag-panes.js.map +1 -1
  694. package/modules/drag-panes.src.js +3 -3
  695. package/modules/draggable-points.js +1 -1
  696. package/modules/draggable-points.js.map +1 -1
  697. package/modules/draggable-points.src.js +8 -9
  698. package/modules/drilldown.js +24 -24
  699. package/modules/drilldown.js.map +1 -1
  700. package/modules/drilldown.src.js +13 -8
  701. package/modules/dumbbell.js +17 -17
  702. package/modules/dumbbell.js.map +1 -1
  703. package/modules/dumbbell.src.js +4 -8
  704. package/modules/export-data.js +19 -19
  705. package/modules/export-data.js.map +1 -1
  706. package/modules/export-data.src.js +9 -8
  707. package/modules/exporting.js +39 -38
  708. package/modules/exporting.js.map +1 -1
  709. package/modules/exporting.src.js +132 -113
  710. package/modules/full-screen.js +1 -1
  711. package/modules/full-screen.js.map +1 -1
  712. package/modules/full-screen.src.js +5 -4
  713. package/modules/funnel.js +12 -12
  714. package/modules/funnel.js.map +1 -1
  715. package/modules/funnel.src.js +9 -6
  716. package/modules/funnel3d.js +1 -1
  717. package/modules/funnel3d.js.map +1 -1
  718. package/modules/funnel3d.src.js +17 -10
  719. package/modules/gantt.js +217 -218
  720. package/modules/gantt.js.map +1 -1
  721. package/modules/gantt.src.js +364 -363
  722. package/modules/grid-axis.js +1 -1
  723. package/modules/grid-axis.js.map +1 -1
  724. package/modules/grid-axis.src.js +27 -19
  725. package/modules/heatmap.js +39 -39
  726. package/modules/heatmap.js.map +1 -1
  727. package/modules/heatmap.src.js +132 -141
  728. package/modules/heikinashi.js +1 -1
  729. package/modules/heikinashi.js.map +1 -1
  730. package/modules/heikinashi.src.js +12 -10
  731. package/modules/histogram-bellcurve.js +13 -13
  732. package/modules/histogram-bellcurve.js.map +1 -1
  733. package/modules/histogram-bellcurve.src.js +97 -91
  734. package/modules/hollowcandlestick.js +9 -9
  735. package/modules/hollowcandlestick.js.map +1 -1
  736. package/modules/hollowcandlestick.src.js +31 -35
  737. package/modules/item-series.js +6 -6
  738. package/modules/item-series.js.map +1 -1
  739. package/modules/item-series.src.js +6 -6
  740. package/modules/lollipop.js +1 -1
  741. package/modules/lollipop.src.js +1 -1
  742. package/modules/map.d.ts +138 -14
  743. package/modules/map.js +144 -122
  744. package/modules/map.js.map +1 -1
  745. package/modules/map.src.d.ts +138 -14
  746. package/modules/map.src.js +2253 -1074
  747. package/modules/marker-clusters.js +36 -36
  748. package/modules/marker-clusters.js.map +1 -1
  749. package/modules/marker-clusters.src.js +176 -143
  750. package/modules/networkgraph.d.ts +12 -1
  751. package/modules/networkgraph.js +49 -49
  752. package/modules/networkgraph.js.map +1 -1
  753. package/modules/networkgraph.src.d.ts +12 -1
  754. package/modules/networkgraph.src.js +103 -78
  755. package/modules/no-data-to-display.js +5 -5
  756. package/modules/no-data-to-display.js.map +1 -1
  757. package/modules/no-data-to-display.src.js +3 -3
  758. package/modules/offline-exporting.js +18 -18
  759. package/modules/offline-exporting.js.map +1 -1
  760. package/modules/offline-exporting.src.js +38 -43
  761. package/modules/oldie-polyfills.js +1 -1
  762. package/modules/oldie-polyfills.src.js +1 -1
  763. package/modules/oldie.js +26 -26
  764. package/modules/oldie.js.map +1 -1
  765. package/modules/oldie.src.js +21 -81
  766. package/modules/organization.js +13 -13
  767. package/modules/organization.js.map +1 -1
  768. package/modules/organization.src.js +8 -6
  769. package/modules/overlapping-datalabels.js +1 -1
  770. package/modules/overlapping-datalabels.src.js +1 -1
  771. package/modules/parallel-coordinates.js +1 -1
  772. package/modules/parallel-coordinates.js.map +1 -1
  773. package/modules/parallel-coordinates.src.js +6 -4
  774. package/modules/pareto.js +7 -7
  775. package/modules/pareto.js.map +1 -1
  776. package/modules/pareto.src.js +89 -78
  777. package/modules/pathfinder.js +1 -1
  778. package/modules/pathfinder.js.map +1 -1
  779. package/modules/pathfinder.src.js +21 -20
  780. package/modules/pattern-fill.js +1 -1
  781. package/modules/pattern-fill.js.map +1 -1
  782. package/modules/pattern-fill.src.js +18 -12
  783. package/modules/price-indicator.js +1 -1
  784. package/modules/price-indicator.js.map +1 -1
  785. package/modules/price-indicator.src.js +3 -2
  786. package/modules/pyramid3d.js +1 -1
  787. package/modules/pyramid3d.js.map +1 -1
  788. package/modules/pyramid3d.src.js +3 -2
  789. package/modules/sankey.d.ts +12 -1
  790. package/modules/sankey.js +29 -29
  791. package/modules/sankey.js.map +1 -1
  792. package/modules/sankey.src.d.ts +12 -1
  793. package/modules/sankey.src.js +307 -181
  794. package/modules/series-label.js +1 -1
  795. package/modules/series-label.js.map +1 -1
  796. package/modules/series-label.src.js +2 -2
  797. package/modules/solid-gauge.js +1 -1
  798. package/modules/solid-gauge.js.map +1 -1
  799. package/modules/solid-gauge.src.js +17 -2
  800. package/modules/sonification.js +59 -55
  801. package/modules/sonification.js.map +1 -1
  802. package/modules/sonification.src.js +3093 -2594
  803. package/modules/static-scale.js +1 -1
  804. package/modules/static-scale.src.js +1 -1
  805. package/modules/stock-tools.js +178 -163
  806. package/modules/stock-tools.js.map +1 -1
  807. package/modules/stock-tools.src.js +1136 -229
  808. package/modules/stock.d.ts +39 -6
  809. package/modules/stock.js +204 -196
  810. package/modules/stock.js.map +1 -1
  811. package/modules/stock.src.d.ts +39 -6
  812. package/modules/stock.src.js +1820 -1240
  813. package/modules/streamgraph.js +1 -1
  814. package/modules/streamgraph.src.js +1 -1
  815. package/modules/sunburst.js +60 -60
  816. package/modules/sunburst.js.map +1 -1
  817. package/modules/sunburst.src.js +281 -248
  818. package/modules/tilemap.js +17 -17
  819. package/modules/tilemap.js.map +1 -1
  820. package/modules/tilemap.src.js +3 -13
  821. package/modules/timeline.js +18 -18
  822. package/modules/timeline.js.map +1 -1
  823. package/modules/timeline.src.js +5 -5
  824. package/modules/treegrid.js +56 -57
  825. package/modules/treegrid.js.map +1 -1
  826. package/modules/treegrid.src.js +201 -169
  827. package/modules/treemap.js +41 -41
  828. package/modules/treemap.js.map +1 -1
  829. package/modules/treemap.src.js +266 -232
  830. package/modules/variable-pie.js +1 -1
  831. package/modules/variable-pie.src.js +1 -1
  832. package/modules/variwide.js +1 -1
  833. package/modules/variwide.js.map +1 -1
  834. package/modules/variwide.src.js +7 -3
  835. package/modules/vector.js +1 -1
  836. package/modules/vector.src.js +1 -1
  837. package/modules/venn.js +31 -31
  838. package/modules/venn.js.map +1 -1
  839. package/modules/venn.src.js +740 -731
  840. package/modules/windbarb.js +15 -15
  841. package/modules/windbarb.js.map +1 -1
  842. package/modules/windbarb.src.js +90 -62
  843. package/modules/wordcloud.js +23 -24
  844. package/modules/wordcloud.js.map +1 -1
  845. package/modules/wordcloud.src.js +898 -954
  846. package/modules/xrange.js +2 -2
  847. package/modules/xrange.js.map +1 -1
  848. package/modules/xrange.src.js +12 -33
  849. package/package.json +1 -1
  850. package/themes/avocado.js +1 -1
  851. package/themes/avocado.src.js +1 -1
  852. package/themes/brand-dark.js +15 -0
  853. package/themes/brand-dark.js.map +1 -0
  854. package/themes/brand-dark.src.js +328 -0
  855. package/themes/brand-light.js +15 -0
  856. package/themes/brand-light.js.map +1 -0
  857. package/themes/brand-light.src.js +294 -0
  858. package/themes/dark-blue.js +1 -1
  859. package/themes/dark-blue.src.js +1 -1
  860. package/themes/dark-green.js +1 -1
  861. package/themes/dark-green.src.js +1 -1
  862. package/themes/dark-unica.js +1 -1
  863. package/themes/dark-unica.js.map +1 -1
  864. package/themes/dark-unica.src.js +5 -3
  865. package/themes/gray.js +1 -1
  866. package/themes/gray.src.js +1 -1
  867. package/themes/grid-light.js +1 -1
  868. package/themes/grid-light.js.map +1 -1
  869. package/themes/grid-light.src.js +5 -3
  870. package/themes/grid.js +1 -1
  871. package/themes/grid.js.map +1 -1
  872. package/themes/grid.src.js +5 -3
  873. package/themes/high-contrast-dark.js +1 -1
  874. package/themes/high-contrast-dark.src.js +1 -1
  875. package/themes/high-contrast-light.js +1 -1
  876. package/themes/high-contrast-light.src.js +1 -1
  877. package/themes/sand-signika.js +1 -1
  878. package/themes/sand-signika.src.js +1 -1
  879. package/themes/skies.js +1 -1
  880. package/themes/skies.src.js +1 -1
  881. package/themes/sunset.js +1 -1
  882. package/themes/sunset.src.js +1 -1
  883. package/es-modules/Core/Axis/MapAxis.js +0 -157
  884. package/es-modules/Core/Color/Palette.js +0 -82
  885. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  886. package/es-modules/Mixins/ColorSeries.js +0 -77
  887. package/es-modules/Mixins/DerivedSeries.js +0 -118
  888. package/es-modules/Mixins/DrawPoint.js +0 -81
  889. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  890. package/es-modules/Mixins/MultipleLines.js +0 -181
  891. package/es-modules/Mixins/Navigation.js +0 -54
  892. package/es-modules/Mixins/NelderMead.js +0 -132
  893. package/es-modules/Mixins/Polygon.js +0 -259
  894. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -10,7 +10,6 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
- import palette from '../../Core/Color/Palette.js';
14
13
  /**
15
14
  * Formatter callback for the accessibility announcement.
16
15
  *
@@ -149,6 +148,8 @@ var Options = {
149
148
  * corresponds to the heading level below the previous heading in
150
149
  * the DOM.
151
150
  *
151
+ * Set to empty string to remove the region altogether.
152
+ *
152
153
  * @since 8.0.0
153
154
  */
154
155
  beforeChartFormat: '<{headingTagName}>{chartTitle}</{headingTagName}>' +
@@ -180,7 +181,7 @@ var Options = {
180
181
  * Date format to use to describe range of datetime axes.
181
182
  *
182
183
  * For an overview of the replacement codes, see
183
- * [dateFormat](/class-reference/Highcharts#.dateFormat).
184
+ * [dateFormat](/class-reference/Highcharts.Time#dateFormat).
184
185
  *
185
186
  * @see [point.dateFormat](#accessibility.point.dateFormat)
186
187
  *
@@ -240,7 +241,7 @@ var Options = {
240
241
  * Defaults to the same format as in tooltip.
241
242
  *
242
243
  * For an overview of the replacement codes, see
243
- * [dateFormat](/class-reference/Highcharts#.dateFormat).
244
+ * [dateFormat](/class-reference/Highcharts.Time#dateFormat).
244
245
  *
245
246
  * @see [dateFormatter](#accessibility.point.dateFormatter)
246
247
  *
@@ -253,7 +254,7 @@ var Options = {
253
254
  * points on datetime axes when describing them to screen reader
254
255
  * users. Receives one argument, `point`, referring to the point
255
256
  * to describe. Should return a date format string compatible with
256
- * [dateFormat](/class-reference/Highcharts#.dateFormat).
257
+ * [dateFormat](/class-reference/Highcharts.Time#dateFormat).
257
258
  *
258
259
  * @see [dateFormat](#accessibility.point.dateFormat)
259
260
  *
@@ -329,7 +330,7 @@ var Options = {
329
330
  * landmarks can make navigation with screen readers easier, but can
330
331
  * be distracting if there are lots of charts on the page. Three modes
331
332
  * are available:
332
- * - `all`: Adds regions for all series, legend, menu, information
333
+ * - `all`: Adds regions for all series, legend, information
333
334
  * region.
334
335
  * - `one`: Adds a single landmark per chart.
335
336
  * - `disabled`: No landmarks are added.
@@ -491,7 +492,7 @@ var Options = {
491
492
  */
492
493
  style: {
493
494
  /** @internal */
494
- color: palette.highlightColor80,
495
+ color: "#335cad" /* highlightColor80 */,
495
496
  /** @internal */
496
497
  lineWidth: 2,
497
498
  /** @internal */
@@ -675,17 +676,6 @@ var Options = {
675
676
  * @since 7.1.0
676
677
  * @apioption plotOptions.series.accessibility.description
677
678
  */
678
- /**
679
- * Formatter function to use instead of the default for point
680
- * descriptions. Same as `accessibility.point.descriptionFormatter`, but for
681
- * a single series.
682
- *
683
- * @see [accessibility.point.descriptionFormatter](#accessibility.point.descriptionFormatter)
684
- *
685
- * @type {Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>}
686
- * @since 7.1.0
687
- * @apioption plotOptions.series.accessibility.pointDescriptionFormatter
688
- */
689
679
  /**
690
680
  * Expose only the series element to screen readers, not its points.
691
681
  *
@@ -693,6 +683,31 @@ var Options = {
693
683
  * @since 7.1.0
694
684
  * @apioption plotOptions.series.accessibility.exposeAsGroupOnly
695
685
  */
686
+ /**
687
+ * Point accessibility options for a series.
688
+ *
689
+ * @extends accessibility.point
690
+ * @since 9.3.0
691
+ * @requires modules/accessibility
692
+ * @apioption plotOptions.series.accessibility.point
693
+ */
694
+ /**
695
+ * Formatter function to use instead of the default for point
696
+ * descriptions. Same as `accessibility.point.descriptionFormatter`, but
697
+ * applies to a series instead of the whole chart.
698
+ *
699
+ * Note: Prefer using [accessibility.point.valueDescriptionFormat](#plotOptions.series.accessibility.point.valueDescriptionFormat)
700
+ * instead if possible, as default functionality such as describing
701
+ * annotations will be preserved.
702
+ *
703
+ * @see [accessibility.point.valueDescriptionFormat](#plotOptions.series.accessibility.point.valueDescriptionFormat)
704
+ * @see [point.accessibility.description](#series.line.data.accessibility.description)
705
+ * @see [accessibility.point.descriptionFormatter](#accessibility.point.descriptionFormatter)
706
+ *
707
+ * @type {Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>}
708
+ * @since 9.3.0
709
+ * @apioption plotOptions.series.accessibility.point.descriptionFormatter
710
+ */
696
711
  /**
697
712
  * Keyboard navigation for a series
698
713
  *
@@ -0,0 +1,218 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2021 Øystein Moseng
4
+ *
5
+ * Proxy elements are used to shadow SVG elements in HTML for assistive
6
+ * technology, such as screen readers or voice input software.
7
+ *
8
+ * The ProxyElement class represents such an element, and deals with
9
+ * overlay positioning and mirroring events for the target.
10
+ *
11
+ * License: www.highcharts.com/license
12
+ *
13
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import H from '../Core/Globals.js';
18
+ var doc = H.doc;
19
+ import U from '../Core/Utilities.js';
20
+ var attr = U.attr, css = U.css, merge = U.merge;
21
+ import EventProvider from './Utils/EventProvider.js';
22
+ import ChartUtilities from './Utils/ChartUtilities.js';
23
+ var fireEventOnWrappedOrUnwrappedElement = ChartUtilities.fireEventOnWrappedOrUnwrappedElement;
24
+ import HTMLUtilities from './Utils/HTMLUtilities.js';
25
+ var cloneMouseEvent = HTMLUtilities.cloneMouseEvent, cloneTouchEvent = HTMLUtilities.cloneTouchEvent, getFakeMouseEvent = HTMLUtilities.getFakeMouseEvent, removeElement = HTMLUtilities.removeElement;
26
+ /* *
27
+ *
28
+ * Class
29
+ *
30
+ * */
31
+ /**
32
+ * Represents a proxy element that overlays a target and relays events
33
+ * to its target.
34
+ *
35
+ * @private
36
+ * @class
37
+ */
38
+ var ProxyElement = /** @class */ (function () {
39
+ /* *
40
+ *
41
+ * Constructor
42
+ *
43
+ * */
44
+ function ProxyElement(chart, target, groupType, attributes) {
45
+ this.chart = chart;
46
+ this.target = target;
47
+ this.groupType = groupType;
48
+ var isListItem = groupType === 'ul';
49
+ this.eventProvider = new EventProvider();
50
+ var wrapperEl = isListItem ? doc.createElement('li') : null;
51
+ var btnEl = this.buttonElement = doc.createElement('button');
52
+ if (!chart.styledMode) {
53
+ this.hideButtonVisually(btnEl);
54
+ }
55
+ if (wrapperEl) {
56
+ if (isListItem && !chart.styledMode) {
57
+ wrapperEl.style.listStyle = 'none';
58
+ }
59
+ wrapperEl.appendChild(btnEl);
60
+ this.element = wrapperEl;
61
+ }
62
+ else {
63
+ this.element = btnEl;
64
+ }
65
+ this.updateTarget(target, attributes);
66
+ }
67
+ /* *
68
+ *
69
+ * Functions
70
+ *
71
+ * */
72
+ /* eslint-disable valid-jsdoc */
73
+ /**
74
+ * Fake a click event on the target.
75
+ */
76
+ ProxyElement.prototype.click = function () {
77
+ var pos = this.getTargetPosition();
78
+ pos.x += pos.width / 2;
79
+ pos.y += pos.height / 2;
80
+ var fakeEventObject = getFakeMouseEvent('click', pos);
81
+ fireEventOnWrappedOrUnwrappedElement(this.target.click, fakeEventObject);
82
+ };
83
+ /**
84
+ * Update the target to be proxied. The position and events are updated to
85
+ * match the new target.
86
+ * @param target The new target definition
87
+ * @param attributes New HTML attributes to apply to the button. Set an
88
+ * attribute to null to remove.
89
+ */
90
+ ProxyElement.prototype.updateTarget = function (target, attributes) {
91
+ this.target = target;
92
+ this.updateCSSClassName();
93
+ attr(this.buttonElement, merge({
94
+ 'aria-label': this.getTargetAttr(target.click, 'aria-label')
95
+ }, attributes));
96
+ this.eventProvider.removeAddedEvents();
97
+ this.addProxyEventsToButton(this.buttonElement, target.click);
98
+ this.refreshPosition();
99
+ };
100
+ /**
101
+ * Refresh the position of the proxy element to match the current target
102
+ */
103
+ ProxyElement.prototype.refreshPosition = function () {
104
+ var bBox = this.getTargetPosition();
105
+ css(this.buttonElement, {
106
+ width: (bBox.width || 1) + 'px',
107
+ height: (bBox.height || 1) + 'px',
108
+ left: (Math.round(bBox.x) || 0) + 'px',
109
+ top: (Math.round(bBox.y) || 0) + 'px'
110
+ });
111
+ };
112
+ /**
113
+ * Remove button from DOM, and clear events.
114
+ */
115
+ ProxyElement.prototype.remove = function () {
116
+ this.eventProvider.removeAddedEvents();
117
+ removeElement(this.element);
118
+ };
119
+ // -------------------------- private ------------------------------------
120
+ /**
121
+ * Update the CSS class name to match target
122
+ */
123
+ ProxyElement.prototype.updateCSSClassName = function () {
124
+ var stringHasNoTooltip = function (s) { return (s.indexOf('highcharts-no-tooltip') > -1); };
125
+ var legend = this.chart.legend;
126
+ var groupDiv = legend.group && legend.group.div;
127
+ var noTooltipOnGroup = stringHasNoTooltip(groupDiv && groupDiv.className || '');
128
+ var targetClassName = this.getTargetAttr(this.target.click, 'class') || '';
129
+ var noTooltipOnTarget = stringHasNoTooltip(targetClassName);
130
+ this.buttonElement.className = noTooltipOnGroup || noTooltipOnTarget ?
131
+ 'highcharts-a11y-proxy-button highcharts-no-tooltip' :
132
+ 'highcharts-a11y-proxy-button';
133
+ };
134
+ /**
135
+ * Mirror events for a proxy button to a target
136
+ */
137
+ ProxyElement.prototype.addProxyEventsToButton = function (button, target) {
138
+ var _this = this;
139
+ [
140
+ 'click', 'touchstart', 'touchend', 'touchcancel', 'touchmove',
141
+ 'mouseover', 'mouseenter', 'mouseleave', 'mouseout'
142
+ ].forEach(function (evtType) {
143
+ var isTouchEvent = evtType.indexOf('touch') === 0;
144
+ _this.eventProvider.addEvent(button, evtType, function (e) {
145
+ var clonedEvent = isTouchEvent ?
146
+ cloneTouchEvent(e) :
147
+ cloneMouseEvent(e);
148
+ if (target) {
149
+ fireEventOnWrappedOrUnwrappedElement(target, clonedEvent);
150
+ }
151
+ e.stopPropagation();
152
+ // #9682, #15318: Touch scrolling didnt work when touching
153
+ // proxy
154
+ if (!isTouchEvent) {
155
+ e.preventDefault();
156
+ }
157
+ }, { passive: false });
158
+ });
159
+ };
160
+ /**
161
+ * Set visually hidden style on a proxy button
162
+ */
163
+ ProxyElement.prototype.hideButtonVisually = function (button) {
164
+ css(button, {
165
+ borderWidth: 0,
166
+ backgroundColor: 'transparent',
167
+ cursor: 'pointer',
168
+ outline: 'none',
169
+ opacity: 0.001,
170
+ filter: 'alpha(opacity=1)',
171
+ zIndex: 999,
172
+ overflow: 'hidden',
173
+ padding: 0,
174
+ margin: 0,
175
+ display: 'block',
176
+ position: 'absolute',
177
+ '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=1)'
178
+ });
179
+ };
180
+ /**
181
+ * Get the position relative to chart container for the target
182
+ */
183
+ ProxyElement.prototype.getTargetPosition = function () {
184
+ var clickTarget = this.target.click;
185
+ // We accept both DOM elements and wrapped elements as click targets.
186
+ var clickTargetElement = clickTarget.element ?
187
+ clickTarget.element :
188
+ clickTarget;
189
+ var posElement = this.target.visual || clickTargetElement;
190
+ var chartDiv = this.chart.renderTo;
191
+ if (chartDiv && posElement && posElement.getBoundingClientRect) {
192
+ var rectEl = posElement.getBoundingClientRect(), rectDiv = chartDiv.getBoundingClientRect();
193
+ return {
194
+ x: rectEl.left - rectDiv.left,
195
+ y: rectEl.top - rectDiv.top,
196
+ width: rectEl.right - rectEl.left,
197
+ height: rectEl.bottom - rectEl.top
198
+ };
199
+ }
200
+ return { x: 0, y: 0, width: 1, height: 1 };
201
+ };
202
+ /**
203
+ * Get an attribute value of a target
204
+ */
205
+ ProxyElement.prototype.getTargetAttr = function (target, key) {
206
+ if (target.element) {
207
+ return target.element.getAttribute(key);
208
+ }
209
+ return target.getAttribute(key);
210
+ };
211
+ return ProxyElement;
212
+ }());
213
+ /* *
214
+ *
215
+ * Default Export
216
+ *
217
+ * */
218
+ export default ProxyElement;
@@ -0,0 +1,302 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2021 Øystein Moseng
4
+ *
5
+ * Proxy elements are used to shadow SVG elements in HTML for assistive
6
+ * technology, such as screen readers or voice input software.
7
+ *
8
+ * The ProxyProvider keeps track of all proxy elements of the a11y module,
9
+ * and updating their order and positioning.
10
+ *
11
+ * License: www.highcharts.com/license
12
+ *
13
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import H from '../Core/Globals.js';
18
+ var doc = H.doc;
19
+ import U from '../Core/Utilities.js';
20
+ var attr = U.attr, css = U.css;
21
+ import CU from './Utils/ChartUtilities.js';
22
+ var unhideChartElementFromAT = CU.unhideChartElementFromAT;
23
+ import DOMElementProvider from './Utils/DOMElementProvider.js';
24
+ import HU from './Utils/HTMLUtilities.js';
25
+ var removeElement = HU.removeElement, removeChildNodes = HU.removeChildNodes;
26
+ import ProxyElement from './ProxyElement.js';
27
+ /* *
28
+ *
29
+ * Class
30
+ *
31
+ * */
32
+ /**
33
+ * Keeps track of all proxy elements and proxy groups.
34
+ *
35
+ * @private
36
+ * @class
37
+ */
38
+ var ProxyProvider = /** @class */ (function () {
39
+ /* *
40
+ *
41
+ * Constructor
42
+ *
43
+ * */
44
+ function ProxyProvider(chart) {
45
+ this.chart = chart;
46
+ this.domElementProvider = new DOMElementProvider();
47
+ this.groups = {};
48
+ this.groupOrder = [];
49
+ this.beforeChartProxyPosContainer = this.createProxyPosContainer('before');
50
+ this.afterChartProxyPosContainer = this.createProxyPosContainer('after');
51
+ this.update();
52
+ }
53
+ /* *
54
+ *
55
+ * Functions
56
+ *
57
+ * */
58
+ /* eslint-disable */
59
+ /**
60
+ * Add a new proxy element to a group, proxying a target control.
61
+ */
62
+ ProxyProvider.prototype.addProxyElement = function (groupKey, target, attributes) {
63
+ var group = this.groups[groupKey];
64
+ if (!group) {
65
+ throw new Error('ProxyProvider.addProxyElement: Invalid group key ' + groupKey);
66
+ }
67
+ var proxy = new ProxyElement(this.chart, target, group.type, attributes);
68
+ group.proxyContainerElement.appendChild(proxy.element);
69
+ group.proxyElements.push(proxy);
70
+ return proxy;
71
+ };
72
+ /**
73
+ * Create a group that will contain proxy elements. The group order is
74
+ * automatically updated according to the last group order keys.
75
+ */
76
+ ProxyProvider.prototype.addGroup = function (groupKey, groupType, attributes) {
77
+ if (this.groups[groupKey]) {
78
+ return;
79
+ }
80
+ var proxyContainer = this.domElementProvider.createElement(groupType);
81
+ // If we want to add a role to the group, and still use e.g.
82
+ // a list group, we need a wrapper div.
83
+ var groupElement;
84
+ if (attributes && attributes.role && groupType !== 'div') {
85
+ groupElement = this.domElementProvider.createElement('div');
86
+ groupElement.appendChild(proxyContainer);
87
+ }
88
+ else {
89
+ groupElement = proxyContainer;
90
+ }
91
+ groupElement.className = 'highcharts-a11y-proxy-group highcharts-a11y-proxy-group-' +
92
+ groupKey.replace(/\W/g, '-');
93
+ this.groups[groupKey] = {
94
+ proxyContainerElement: proxyContainer,
95
+ groupElement: groupElement,
96
+ type: groupType,
97
+ proxyElements: []
98
+ };
99
+ attr(groupElement, attributes || {});
100
+ if (groupType === 'ul') {
101
+ proxyContainer.setAttribute('role', 'list'); // Needed for webkit
102
+ }
103
+ // Add the group to the end by default, and perhaps then we
104
+ // won't have to reorder the whole set of groups.
105
+ this.afterChartProxyPosContainer.appendChild(groupElement);
106
+ this.updateGroupOrder(this.groupOrder);
107
+ };
108
+ /**
109
+ * Update HTML attributes of a group.
110
+ */
111
+ ProxyProvider.prototype.updateGroupAttrs = function (groupKey, attributes) {
112
+ var group = this.groups[groupKey];
113
+ if (!group) {
114
+ throw new Error('ProxyProvider.updateGroupAttrs: Invalid group key ' + groupKey);
115
+ }
116
+ attr(group.groupElement, attributes);
117
+ };
118
+ /**
119
+ * Reorder the proxy groups.
120
+ *
121
+ * The group key "series" refers to the chart's data points / <svg> element.
122
+ * This is so that the keyboardNavigation.order option can be used to
123
+ * determine the proxy group order.
124
+ */
125
+ ProxyProvider.prototype.updateGroupOrder = function (groupKeys) {
126
+ var _this = this;
127
+ // Store so that we can update order when a new group is created
128
+ this.groupOrder = groupKeys.slice();
129
+ // Don't unnecessarily reorder, because keyboard focus is lost
130
+ if (this.isDOMOrderGroupOrder()) {
131
+ return;
132
+ }
133
+ var seriesIx = groupKeys.indexOf('series');
134
+ var beforeKeys = seriesIx > -1 ? groupKeys.slice(0, seriesIx) : groupKeys;
135
+ var afterKeys = seriesIx > -1 ? groupKeys.slice(seriesIx + 1) : [];
136
+ // Store focused element since it will be lost when reordering
137
+ var activeElement = doc.activeElement;
138
+ // Add groups to correct container
139
+ ['before', 'after'].forEach(function (pos) {
140
+ var posContainer = _this[pos === 'before' ?
141
+ 'beforeChartProxyPosContainer' :
142
+ 'afterChartProxyPosContainer'];
143
+ var keys = pos === 'before' ? beforeKeys : afterKeys;
144
+ removeChildNodes(posContainer);
145
+ keys.forEach(function (groupKey) {
146
+ var group = _this.groups[groupKey];
147
+ if (group) {
148
+ posContainer.appendChild(group.groupElement);
149
+ }
150
+ });
151
+ });
152
+ // Attempt to restore focus after reordering, but note that this may
153
+ // cause screen readers re-announcing the button.
154
+ if ((this.beforeChartProxyPosContainer.contains(activeElement) ||
155
+ this.afterChartProxyPosContainer.contains(activeElement)) &&
156
+ activeElement && activeElement.focus) {
157
+ activeElement.focus();
158
+ }
159
+ };
160
+ /**
161
+ * Remove all proxy elements in a group
162
+ */
163
+ ProxyProvider.prototype.clearGroup = function (groupKey) {
164
+ var group = this.groups[groupKey];
165
+ if (!group) {
166
+ throw new Error('ProxyProvider.clearGroup: Invalid group key ' + groupKey);
167
+ }
168
+ removeChildNodes(group.proxyContainerElement);
169
+ };
170
+ /**
171
+ * Remove a group from the DOM and from the proxy provider's group list.
172
+ * All child elements are removed.
173
+ * If the group does not exist, nothing happens.
174
+ */
175
+ ProxyProvider.prototype.removeGroup = function (groupKey) {
176
+ var group = this.groups[groupKey];
177
+ if (group) {
178
+ removeElement(group.groupElement);
179
+ delete this.groups[groupKey];
180
+ }
181
+ };
182
+ /**
183
+ * Update the position and order of all proxy groups and elements
184
+ */
185
+ ProxyProvider.prototype.update = function () {
186
+ this.updatePosContainerPositions();
187
+ this.updateGroupOrder(this.groupOrder);
188
+ this.updateProxyElementPositions();
189
+ };
190
+ /**
191
+ * Update all proxy element positions
192
+ */
193
+ ProxyProvider.prototype.updateProxyElementPositions = function () {
194
+ Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this));
195
+ };
196
+ /**
197
+ * Update a group's proxy elements' positions.
198
+ * If the group does not exist, nothing happens.
199
+ */
200
+ ProxyProvider.prototype.updateGroupProxyElementPositions = function (groupKey) {
201
+ var group = this.groups[groupKey];
202
+ if (group) {
203
+ group.proxyElements.forEach(function (el) { return el.refreshPosition(); });
204
+ }
205
+ };
206
+ /**
207
+ * Remove all added elements
208
+ */
209
+ ProxyProvider.prototype.destroy = function () {
210
+ this.domElementProvider.destroyCreatedElements();
211
+ };
212
+ // -------------------------- private ------------------------------------
213
+ /**
214
+ * Create and return a pos container element (the overall containers for
215
+ * the proxy groups).
216
+ */
217
+ ProxyProvider.prototype.createProxyPosContainer = function (classNamePostfix) {
218
+ var el = this.domElementProvider.createElement('div');
219
+ el.setAttribute('aria-hidden', 'false');
220
+ el.className = 'highcharts-a11y-proxy-container' + (classNamePostfix ? '-' + classNamePostfix : '');
221
+ css(el, {
222
+ top: '0',
223
+ left: '0'
224
+ });
225
+ if (!this.chart.styledMode) {
226
+ el.style.whiteSpace = 'nowrap';
227
+ el.style.position = 'absolute';
228
+ }
229
+ return el;
230
+ };
231
+ /**
232
+ * Get an array of group keys that corresponds to the current group order
233
+ * in the DOM.
234
+ */
235
+ ProxyProvider.prototype.getCurrentGroupOrderInDOM = function () {
236
+ var _this = this;
237
+ var getGroupKeyFromElement = function (el) {
238
+ var allGroups = Object.keys(_this.groups);
239
+ var i = allGroups.length;
240
+ while (i--) {
241
+ var groupKey = allGroups[i];
242
+ var group = _this.groups[groupKey];
243
+ if (group && el === group.groupElement) {
244
+ return groupKey;
245
+ }
246
+ }
247
+ };
248
+ var getChildrenGroupOrder = function (el) {
249
+ var childrenOrder = [];
250
+ var children = el.children;
251
+ for (var i = 0; i < children.length; ++i) {
252
+ var groupKey = getGroupKeyFromElement(children[i]);
253
+ if (groupKey) {
254
+ childrenOrder.push(groupKey);
255
+ }
256
+ }
257
+ return childrenOrder;
258
+ };
259
+ var before = getChildrenGroupOrder(this.beforeChartProxyPosContainer);
260
+ var after = getChildrenGroupOrder(this.afterChartProxyPosContainer);
261
+ before.push('series');
262
+ return before.concat(after);
263
+ };
264
+ /**
265
+ * Check if the current DOM order matches the current group order, so that
266
+ * a reordering/update is unnecessary.
267
+ */
268
+ ProxyProvider.prototype.isDOMOrderGroupOrder = function () {
269
+ var _this = this;
270
+ var domOrder = this.getCurrentGroupOrderInDOM();
271
+ var groupOrderWithGroups = this.groupOrder.filter(function (x) { return x === 'series' || !!_this.groups[x]; });
272
+ var i = domOrder.length;
273
+ if (i !== groupOrderWithGroups.length) {
274
+ return false;
275
+ }
276
+ while (i--) {
277
+ if (domOrder[i] !== groupOrderWithGroups[i]) {
278
+ return false;
279
+ }
280
+ }
281
+ return true;
282
+ };
283
+ /**
284
+ * Update the DOM positions of the before/after proxy
285
+ * positioning containers for the groups.
286
+ */
287
+ ProxyProvider.prototype.updatePosContainerPositions = function () {
288
+ var chart = this.chart;
289
+ var rendererSVGEl = chart.renderer.box;
290
+ chart.container.insertBefore(this.afterChartProxyPosContainer, rendererSVGEl.nextSibling);
291
+ chart.container.insertBefore(this.beforeChartProxyPosContainer, rendererSVGEl);
292
+ unhideChartElementFromAT(this.chart, this.afterChartProxyPosContainer);
293
+ unhideChartElementFromAT(this.chart, this.beforeChartProxyPosContainer);
294
+ };
295
+ return ProxyProvider;
296
+ }());
297
+ /* *
298
+ *
299
+ * Export Default
300
+ *
301
+ * */
302
+ export default ProxyProvider;
@@ -10,12 +10,14 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
- import H from '../../Core/Globals.js';
14
13
  import AST from '../../Core/Renderer/HTML/AST.js';
15
- var doc = H.doc;
16
14
  import DOMElementProvider from './DOMElementProvider.js';
17
- import HTMLUtilities from './HTMLUtilities.js';
18
- var setElAttrs = HTMLUtilities.setElAttrs, visuallyHideElement = HTMLUtilities.visuallyHideElement;
15
+ import H from '../../Core/Globals.js';
16
+ var doc = H.doc;
17
+ import HU from './HTMLUtilities.js';
18
+ var addClass = HU.addClass, visuallyHideElement = HU.visuallyHideElement;
19
+ import U from '../../Core/Utilities.js';
20
+ var attr = U.attr;
19
21
  /* *
20
22
  *
21
23
  * Class
@@ -49,27 +51,32 @@ var Announcer = /** @class */ (function () {
49
51
  clearTimeout(this.clearAnnouncementRegionTimer);
50
52
  }
51
53
  this.clearAnnouncementRegionTimer = setTimeout(function () {
52
- _this.announceRegion.innerHTML = '';
54
+ _this.announceRegion.innerHTML = AST.emptyHTML;
53
55
  delete _this.clearAnnouncementRegionTimer;
54
56
  }, 1000);
55
57
  };
56
58
  Announcer.prototype.addAnnounceRegion = function (type) {
57
- var chartContainer = this.chart.announcerContainer || this.createAnnouncerContainer(), div = this.domElementProvider.createElement('div');
58
- setElAttrs(div, {
59
+ var chartContainer = (this.chart.announcerContainer || this.createAnnouncerContainer()), div = this.domElementProvider.createElement('div');
60
+ attr(div, {
59
61
  'aria-hidden': false,
60
62
  'aria-live': type
61
63
  });
62
- visuallyHideElement(div);
64
+ if (this.chart.styledMode) {
65
+ addClass(div, 'highcharts-visually-hidden');
66
+ }
67
+ else {
68
+ visuallyHideElement(div);
69
+ }
63
70
  chartContainer.appendChild(div);
64
71
  return div;
65
72
  };
66
73
  Announcer.prototype.createAnnouncerContainer = function () {
67
74
  var chart = this.chart, container = doc.createElement('div');
68
- setElAttrs(container, {
75
+ attr(container, {
69
76
  'aria-hidden': false,
70
- style: 'position:relative',
71
77
  'class': 'highcharts-announcer-container'
72
78
  });
79
+ container.style.position = 'relative';
73
80
  chart.renderTo.insertBefore(container, chart.renderTo.firstChild);
74
81
  chart.announcerContainer = container;
75
82
  return container;