highcharts 9.3.1 → 10.0.0

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 (862) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +1 -1
  3. package/css/highcharts.css +21 -4
  4. package/css/highcharts.scss +18 -3
  5. package/css/stocktools/gui.css +1 -1
  6. package/css/themes/dark-unica.css +21 -4
  7. package/css/themes/grid-light.css +21 -4
  8. package/css/themes/sand-signika.css +21 -4
  9. package/es-modules/Accessibility/A11yI18n.js +1 -5
  10. package/es-modules/Accessibility/Accessibility.js +12 -6
  11. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  12. package/es-modules/Accessibility/Components/AnnotationsA11y.js +9 -5
  13. package/es-modules/Accessibility/Components/ContainerComponent.js +1 -1
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -19
  15. package/es-modules/Accessibility/Components/LegendComponent.js +196 -98
  16. package/es-modules/Accessibility/Components/MenuComponent.js +16 -15
  17. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +11 -14
  18. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +22 -12
  19. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +9 -5
  20. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +19 -44
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +77 -56
  23. package/es-modules/Accessibility/Components/ZoomComponent.js +148 -67
  24. package/es-modules/Accessibility/FocusBorder.js +0 -5
  25. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  26. package/es-modules/Accessibility/KeyboardNavigation.js +117 -101
  27. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -5
  28. package/es-modules/Accessibility/Options/LangOptions.js +3 -3
  29. package/es-modules/Accessibility/ProxyElement.js +26 -12
  30. package/es-modules/Accessibility/ProxyProvider.js +10 -5
  31. package/es-modules/Accessibility/Utils/Announcer.js +2 -2
  32. package/es-modules/Accessibility/Utils/ChartUtilities.js +17 -32
  33. package/es-modules/Accessibility/Utils/HTMLUtilities.js +0 -12
  34. package/es-modules/Core/Animation/Fx.js +5 -14
  35. package/es-modules/Core/Axis/Axis.js +189 -111
  36. package/es-modules/Core/Axis/Axis3D.js +10 -4
  37. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  38. package/es-modules/Core/Axis/Color/ColorAxis.js +28 -8
  39. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  40. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  41. package/es-modules/Core/Axis/GridAxis.js +34 -23
  42. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  43. package/es-modules/Core/Axis/OrdinalAxis.js +83 -79
  44. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  45. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +18 -10
  47. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  48. package/es-modules/Core/Axis/Tick.js +2 -4
  49. package/es-modules/Core/Axis/TreeGridAxis.js +26 -17
  50. package/es-modules/Core/Axis/TreeGridTick.js +15 -1
  51. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  52. package/es-modules/Core/Axis/ZAxis.js +1 -1
  53. package/es-modules/Core/Chart/Chart.js +42 -44
  54. package/es-modules/Core/Chart/Chart3D.js +24 -21
  55. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  56. package/es-modules/Core/Chart/GanttChart.js +4 -4
  57. package/es-modules/Core/Chart/MapChart.js +4 -9
  58. package/es-modules/Core/Chart/StockChart.js +10 -23
  59. package/es-modules/Core/DefaultOptions.js +5 -2
  60. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  61. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  62. package/es-modules/Core/Globals.js +4 -18
  63. package/es-modules/Core/HttpUtilities.js +18 -12
  64. package/es-modules/Core/Legend/Legend.js +22 -21
  65. package/es-modules/Core/Navigator.js +43 -28
  66. package/es-modules/Core/Pointer.js +28 -20
  67. package/es-modules/Core/Renderer/HTML/AST.js +88 -18
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +4 -2
  69. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  70. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  71. package/es-modules/Core/Renderer/SVG/SVGElement.js +33 -57
  72. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  73. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  74. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -28
  75. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  76. package/es-modules/Core/Renderer/SVG/TextBuilder.js +25 -17
  77. package/es-modules/Core/Responsive.js +2 -3
  78. package/es-modules/Core/Scrollbar.js +14 -12
  79. package/es-modules/Core/Series/DataLabel.js +26 -13
  80. package/es-modules/Core/Series/Point.js +19 -18
  81. package/es-modules/Core/Series/Series.js +77 -88
  82. package/es-modules/Core/Series/SeriesDefaults.js +9 -5
  83. package/es-modules/Core/Time.js +14 -11
  84. package/es-modules/Core/Tooltip.js +30 -64
  85. package/es-modules/Core/Utilities.js +33 -45
  86. package/es-modules/Data/DataConverter.js +0 -6
  87. package/es-modules/Data/DataSeriesConverter.js +9 -5
  88. package/es-modules/Data/DataTable.js +2 -1
  89. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  90. package/es-modules/Data/Parsers/CSVParser.js +3 -2
  91. package/es-modules/Data/Parsers/GoogleSheetsParser.js +5 -2
  92. package/es-modules/Data/Stores/CSVStore.js +2 -2
  93. package/es-modules/Data/Stores/DataStore.js +1 -1
  94. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  95. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  96. package/es-modules/Extensions/Annotations/Annotations.js +18 -10
  97. package/es-modules/Extensions/Annotations/ControlPoint.js +0 -2
  98. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  99. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +1 -1
  100. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  101. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  102. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  103. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  104. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +6 -3
  105. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  106. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  107. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  108. package/es-modules/Extensions/Annotations/NavigationBindings.js +34 -29
  109. package/es-modules/Extensions/Annotations/Popup.js +40 -32
  110. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  111. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  112. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  113. package/es-modules/Extensions/Annotations/Types/Measure.js +15 -11
  114. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +2 -1
  115. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +8 -4
  116. package/es-modules/Extensions/Annotations/Types/Tunnel.js +10 -5
  117. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  118. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  119. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -9
  120. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  121. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  122. package/es-modules/Extensions/Boost/WGLRenderer.js +64 -49
  123. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  124. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  125. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  126. package/es-modules/Extensions/Data.js +30 -62
  127. package/es-modules/Extensions/DataGrouping.js +27 -17
  128. package/es-modules/Extensions/DraggablePoints.js +16 -15
  129. package/es-modules/Extensions/Drilldown.js +148 -90
  130. package/es-modules/Extensions/ExportData.js +6 -5
  131. package/es-modules/Extensions/Exporting/Exporting.js +32 -44
  132. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  133. package/es-modules/Extensions/FullScreen.js +4 -3
  134. package/es-modules/Extensions/GeoJSON.js +152 -127
  135. package/es-modules/Extensions/MarkerClusters.js +37 -21
  136. package/es-modules/Extensions/Math3D.js +4 -4
  137. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +133 -46
  138. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  139. package/es-modules/Extensions/Oldie/Oldie.js +13 -77
  140. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  141. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  142. package/es-modules/Extensions/Pane.js +6 -6
  143. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  144. package/es-modules/Extensions/PatternFill.js +17 -11
  145. package/es-modules/Extensions/Polar.js +6 -3
  146. package/es-modules/Extensions/PriceIndication.js +2 -1
  147. package/es-modules/Extensions/RangeSelector.js +19 -55
  148. package/es-modules/Extensions/ScrollablePlotArea.js +7 -3
  149. package/es-modules/Extensions/SeriesLabel.js +1 -1
  150. package/es-modules/Extensions/Sonification/ChartSonify.js +32 -26
  151. package/es-modules/Extensions/Sonification/Instrument.js +12 -15
  152. package/es-modules/Extensions/Sonification/PointSonify.js +12 -8
  153. package/es-modules/Extensions/Sonification/SeriesSonify.js +33 -18
  154. package/es-modules/Extensions/Sonification/SignalHandler.js +4 -6
  155. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  156. package/es-modules/Extensions/Sonification/SonificationUtilities.js +11 -7
  157. package/es-modules/Extensions/Sonification/Timeline.js +2 -7
  158. package/es-modules/Extensions/Sonification/TimelineEvent.js +0 -1
  159. package/es-modules/Extensions/Sonification/TimelinePath.js +8 -8
  160. package/es-modules/Extensions/Stacking.js +8 -25
  161. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  162. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  163. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  164. package/es-modules/Extensions/Themes/Grid.js +4 -2
  165. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  166. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  167. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  168. package/es-modules/Gantt/Connection.js +2 -2
  169. package/es-modules/Gantt/Pathfinder.js +6 -5
  170. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  171. package/es-modules/Maps/MapNavigation.js +54 -14
  172. package/es-modules/Maps/MapPointer.js +18 -1
  173. package/es-modules/Maps/MapSymbols.js +23 -3
  174. package/es-modules/Maps/MapUtilities.js +56 -0
  175. package/es-modules/Maps/MapView.js +606 -135
  176. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  177. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  178. package/es-modules/Maps/Projection.js +169 -77
  179. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  180. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  181. package/es-modules/Maps/Projections/Miller.js +23 -10
  182. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  183. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  186. package/es-modules/Series/Area/AreaSeries.js +13 -13
  187. package/es-modules/Series/Area3DSeries.js +4 -2
  188. package/es-modules/Series/AreaRange/AreaRangeSeries.js +24 -12
  189. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -1
  190. package/es-modules/Series/Bubble/BubbleLegendItem.js +2 -12
  191. package/es-modules/Series/Candlestick/CandlestickSeries.js +0 -1
  192. package/es-modules/Series/ColorMapMixin.js +84 -0
  193. package/es-modules/Series/Column/ColumnSeries.js +20 -17
  194. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  195. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +5 -2
  196. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  197. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  198. package/es-modules/Series/DataModifyComposition.js +1 -0
  199. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -3
  200. package/es-modules/Series/DrawPointComposition.js +7 -4
  201. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  202. package/es-modules/Series/Dumbbell/DumbbellSeries.js +0 -3
  203. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  204. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  205. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  206. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  207. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  208. package/es-modules/Series/HLC/HLCSeries.js +1 -6
  209. package/es-modules/Series/Heatmap/HeatmapPoint.js +10 -10
  210. package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -10
  211. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +8 -6
  212. package/es-modules/Series/Histogram/HistogramSeries.js +4 -4
  213. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  214. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +19 -20
  215. package/es-modules/Series/Item/ItemSeries.js +4 -5
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  217. package/es-modules/Series/Map/MapPoint.js +30 -1
  218. package/es-modules/Series/Map/MapSeries.js +216 -190
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  221. package/es-modules/Series/MapLine/MapLineSeries.js +0 -4
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  224. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  225. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  226. package/es-modules/Series/Networkgraph/Networkgraph.js +1 -5
  227. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  228. package/es-modules/Series/NodesComposition.js +60 -12
  229. package/es-modules/Series/OHLC/OHLCPoint.js +0 -1
  230. package/es-modules/Series/OHLC/OHLCSeries.js +8 -1
  231. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  232. package/es-modules/Series/Organization/OrganizationSeries.js +81 -25
  233. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  234. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  235. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +2 -4
  236. package/es-modules/Series/Pie/PiePoint.js +14 -7
  237. package/es-modules/Series/Pie/PieSeries.js +1 -1
  238. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  239. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  240. package/es-modules/Series/Pie3D/Pie3DSeries.js +20 -1
  241. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  242. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  243. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  244. package/es-modules/Series/Sankey/SankeySeries.js +10 -126
  245. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  246. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  247. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  248. package/es-modules/Series/Sunburst/SunburstSeries.js +15 -4
  249. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  250. package/es-modules/Series/Tilemap/TilemapPoint.js +0 -2
  251. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  252. package/es-modules/Series/TreeUtilities.js +2 -2
  253. package/es-modules/Series/Treemap/TreemapSeries.js +104 -99
  254. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  255. package/es-modules/Series/Venn/VennSeries.js +6 -9
  256. package/es-modules/Series/Venn/VennUtils.js +8 -7
  257. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -3
  258. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  259. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -10
  260. package/es-modules/Series/XRange/XRangePoint.js +6 -12
  261. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  262. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +12 -0
  263. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -0
  264. package/es-modules/Stock/Indicators/BB/BBIndicator.js +12 -0
  265. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  266. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +9 -5
  267. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +2 -1
  268. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  269. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +12 -0
  270. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -3
  271. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +30 -12
  272. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
  273. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +70 -6
  274. package/es-modules/Stock/Indicators/PC/PCIndicator.js +11 -0
  275. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  276. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  277. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +11 -5
  278. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -3
  280. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  281. package/es-modules/Stock/StockToolsBindings.js +13 -6
  282. package/es-modules/Stock/StockToolsGui.js +34 -23
  283. package/es-modules/masters/highcharts-3d.src.js +1 -1
  284. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  285. package/es-modules/masters/highcharts-more.src.js +1 -1
  286. package/es-modules/masters/highcharts.src.js +1 -1
  287. package/es-modules/masters/highmaps.src.js +1 -1
  288. package/es-modules/masters/highstock.src.js +1 -1
  289. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  290. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  291. package/es-modules/masters/indicators/ao.src.js +1 -1
  292. package/es-modules/masters/indicators/apo.src.js +1 -1
  293. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  294. package/es-modules/masters/indicators/aroon.src.js +1 -1
  295. package/es-modules/masters/indicators/atr.src.js +1 -1
  296. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  297. package/es-modules/masters/indicators/cci.src.js +1 -1
  298. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  299. package/es-modules/masters/indicators/cmf.src.js +1 -1
  300. package/es-modules/masters/indicators/cmo.src.js +1 -1
  301. package/es-modules/masters/indicators/dema.src.js +1 -1
  302. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  303. package/es-modules/masters/indicators/dmi.src.js +1 -1
  304. package/es-modules/masters/indicators/dpo.src.js +1 -1
  305. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  306. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  307. package/es-modules/masters/indicators/indicators.src.js +1 -1
  308. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  309. package/es-modules/masters/indicators/klinger.src.js +1 -1
  310. package/es-modules/masters/indicators/macd.src.js +1 -1
  311. package/es-modules/masters/indicators/mfi.src.js +1 -1
  312. package/es-modules/masters/indicators/momentum.src.js +1 -1
  313. package/es-modules/masters/indicators/natr.src.js +1 -1
  314. package/es-modules/masters/indicators/obv.src.js +1 -1
  315. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  316. package/es-modules/masters/indicators/ppo.src.js +1 -1
  317. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  318. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  319. package/es-modules/masters/indicators/psar.src.js +1 -1
  320. package/es-modules/masters/indicators/regressions.src.js +1 -1
  321. package/es-modules/masters/indicators/roc.src.js +1 -1
  322. package/es-modules/masters/indicators/rsi.src.js +1 -1
  323. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  324. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  325. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  326. package/es-modules/masters/indicators/tema.src.js +1 -1
  327. package/es-modules/masters/indicators/trendline.src.js +1 -1
  328. package/es-modules/masters/indicators/trix.src.js +1 -1
  329. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  330. package/es-modules/masters/indicators/vwap.src.js +1 -1
  331. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  332. package/es-modules/masters/indicators/wma.src.js +1 -1
  333. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  334. package/es-modules/masters/modules/accessibility.src.js +2 -2
  335. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  336. package/es-modules/masters/modules/annotations.src.js +1 -1
  337. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  338. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  339. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  340. package/es-modules/masters/modules/boost.src.js +1 -1
  341. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  342. package/es-modules/masters/modules/bullet.src.js +1 -1
  343. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  344. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  345. package/es-modules/masters/modules/cylinder.src.js +1 -1
  346. package/es-modules/masters/modules/data.src.js +1 -1
  347. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  348. package/es-modules/masters/modules/debugger.src.js +1 -1
  349. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  350. package/es-modules/masters/modules/dotplot.src.js +1 -1
  351. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  352. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  353. package/es-modules/masters/modules/drilldown.src.js +2 -1
  354. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  355. package/es-modules/masters/modules/export-data.src.js +1 -1
  356. package/es-modules/masters/modules/exporting.src.js +1 -1
  357. package/es-modules/masters/modules/full-screen.src.js +1 -1
  358. package/es-modules/masters/modules/funnel.src.js +1 -1
  359. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  360. package/es-modules/masters/modules/gantt.src.js +1 -1
  361. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  362. package/es-modules/masters/modules/heatmap.src.js +1 -1
  363. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  364. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  365. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  366. package/es-modules/masters/modules/item-series.src.js +1 -1
  367. package/es-modules/masters/modules/lollipop.src.js +1 -1
  368. package/es-modules/masters/modules/map.src.js +5 -1
  369. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  370. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  371. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  372. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  373. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  374. package/es-modules/masters/modules/oldie.src.js +1 -1
  375. package/es-modules/masters/modules/organization.src.js +1 -1
  376. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  377. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  378. package/es-modules/masters/modules/pareto.src.js +1 -1
  379. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  380. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  381. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  382. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  383. package/es-modules/masters/modules/sankey.src.js +1 -1
  384. package/es-modules/masters/modules/series-label.src.js +1 -1
  385. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  386. package/es-modules/masters/modules/sonification.src.js +1 -1
  387. package/es-modules/masters/modules/static-scale.src.js +1 -1
  388. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  389. package/es-modules/masters/modules/stock.src.js +1 -1
  390. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  391. package/es-modules/masters/modules/sunburst.src.js +1 -1
  392. package/es-modules/masters/modules/tilemap.src.js +1 -1
  393. package/es-modules/masters/modules/timeline.src.js +1 -1
  394. package/es-modules/masters/modules/treegrid.src.js +1 -1
  395. package/es-modules/masters/modules/treemap.src.js +5 -1
  396. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  397. package/es-modules/masters/modules/variwide.src.js +1 -1
  398. package/es-modules/masters/modules/vector.src.js +1 -1
  399. package/es-modules/masters/modules/venn.src.js +1 -1
  400. package/es-modules/masters/modules/windbarb.src.js +1 -1
  401. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  402. package/es-modules/masters/modules/xrange.src.js +1 -1
  403. package/es-modules/masters/themes/avocado.src.js +1 -1
  404. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  405. package/es-modules/masters/themes/brand-light.src.js +14 -0
  406. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  407. package/es-modules/masters/themes/dark-green.src.js +1 -1
  408. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  409. package/es-modules/masters/themes/gray.src.js +1 -1
  410. package/es-modules/masters/themes/grid-light.src.js +1 -1
  411. package/es-modules/masters/themes/grid.src.js +1 -1
  412. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  413. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  414. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  415. package/es-modules/masters/themes/skies.src.js +1 -1
  416. package/es-modules/masters/themes/sunset.src.js +1 -1
  417. package/highcharts-3d.js +99 -98
  418. package/highcharts-3d.js.map +1 -1
  419. package/highcharts-3d.src.js +114 -54
  420. package/highcharts-gantt.js +805 -800
  421. package/highcharts-gantt.js.map +1 -1
  422. package/highcharts-gantt.src.js +1102 -973
  423. package/highcharts-more.js +195 -194
  424. package/highcharts-more.js.map +1 -1
  425. package/highcharts-more.src.js +85 -104
  426. package/highcharts.d.ts +8196 -2661
  427. package/highcharts.js +590 -585
  428. package/highcharts.js.map +1 -1
  429. package/highcharts.src.d.ts +8196 -2661
  430. package/highcharts.src.js +872 -745
  431. package/highmaps.js +757 -727
  432. package/highmaps.js.map +1 -1
  433. package/highmaps.src.js +3983 -2601
  434. package/highstock.js +792 -788
  435. package/highstock.js.map +1 -1
  436. package/highstock.src.js +1118 -1001
  437. package/indicators/acceleration-bands.d.ts +17 -1
  438. package/indicators/acceleration-bands.js +12 -10
  439. package/indicators/acceleration-bands.js.map +1 -1
  440. package/indicators/acceleration-bands.src.d.ts +17 -1
  441. package/indicators/acceleration-bands.src.js +98 -7
  442. package/indicators/accumulation-distribution.js +5 -5
  443. package/indicators/accumulation-distribution.js.map +1 -1
  444. package/indicators/accumulation-distribution.src.js +11 -2
  445. package/indicators/ao.js +6 -6
  446. package/indicators/ao.js.map +1 -1
  447. package/indicators/ao.src.js +11 -2
  448. package/indicators/apo.js +5 -5
  449. package/indicators/apo.js.map +1 -1
  450. package/indicators/apo.src.js +11 -2
  451. package/indicators/aroon-oscillator.d.ts +17 -1
  452. package/indicators/aroon-oscillator.js +10 -9
  453. package/indicators/aroon-oscillator.js.map +1 -1
  454. package/indicators/aroon-oscillator.src.d.ts +17 -1
  455. package/indicators/aroon-oscillator.src.js +86 -7
  456. package/indicators/aroon.d.ts +17 -1
  457. package/indicators/aroon.js +11 -9
  458. package/indicators/aroon.js.map +1 -1
  459. package/indicators/aroon.src.d.ts +17 -1
  460. package/indicators/aroon.src.js +87 -7
  461. package/indicators/atr.js +5 -5
  462. package/indicators/atr.js.map +1 -1
  463. package/indicators/atr.src.js +11 -2
  464. package/indicators/bollinger-bands.d.ts +17 -1
  465. package/indicators/bollinger-bands.js +12 -10
  466. package/indicators/bollinger-bands.js.map +1 -1
  467. package/indicators/bollinger-bands.src.d.ts +17 -1
  468. package/indicators/bollinger-bands.src.js +98 -7
  469. package/indicators/cci.js +5 -5
  470. package/indicators/cci.js.map +1 -1
  471. package/indicators/cci.src.js +11 -2
  472. package/indicators/chaikin.js +8 -8
  473. package/indicators/chaikin.js.map +1 -1
  474. package/indicators/chaikin.src.js +11 -2
  475. package/indicators/cmf.js +6 -6
  476. package/indicators/cmf.js.map +1 -1
  477. package/indicators/cmf.src.js +46 -17
  478. package/indicators/cmo.js +5 -5
  479. package/indicators/cmo.js.map +1 -1
  480. package/indicators/cmo.src.js +11 -2
  481. package/indicators/dema.js +5 -5
  482. package/indicators/dema.js.map +1 -1
  483. package/indicators/dema.src.js +11 -2
  484. package/indicators/disparity-index.js +6 -6
  485. package/indicators/disparity-index.js.map +1 -1
  486. package/indicators/disparity-index.src.js +13 -3
  487. package/indicators/dmi.js +12 -11
  488. package/indicators/dmi.js.map +1 -1
  489. package/indicators/dmi.src.js +95 -12
  490. package/indicators/dpo.js +5 -5
  491. package/indicators/dpo.js.map +1 -1
  492. package/indicators/dpo.src.js +11 -2
  493. package/indicators/ema.js +2 -1
  494. package/indicators/ema.js.map +1 -1
  495. package/indicators/ema.src.js +10 -1
  496. package/indicators/ichimoku-kinko-hyo.js +16 -16
  497. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  498. package/indicators/ichimoku-kinko-hyo.src.js +17 -8
  499. package/indicators/indicators-all.d.ts +17 -1
  500. package/indicators/indicators-all.js +199 -197
  501. package/indicators/indicators-all.js.map +1 -1
  502. package/indicators/indicators-all.src.d.ts +17 -1
  503. package/indicators/indicators-all.src.js +266 -69
  504. package/indicators/indicators.js +13 -12
  505. package/indicators/indicators.js.map +1 -1
  506. package/indicators/indicators.src.js +23 -8
  507. package/indicators/keltner-channels.d.ts +17 -1
  508. package/indicators/keltner-channels.js +12 -10
  509. package/indicators/keltner-channels.js.map +1 -1
  510. package/indicators/keltner-channels.src.d.ts +17 -1
  511. package/indicators/keltner-channels.src.js +98 -7
  512. package/indicators/klinger.js +14 -12
  513. package/indicators/klinger.js.map +1 -1
  514. package/indicators/klinger.src.js +94 -10
  515. package/indicators/macd.js +12 -11
  516. package/indicators/macd.js.map +1 -1
  517. package/indicators/macd.src.js +12 -3
  518. package/indicators/mfi.js +6 -6
  519. package/indicators/mfi.js.map +1 -1
  520. package/indicators/mfi.src.js +11 -2
  521. package/indicators/momentum.js +5 -5
  522. package/indicators/momentum.js.map +1 -1
  523. package/indicators/momentum.src.js +11 -2
  524. package/indicators/natr.js +5 -4
  525. package/indicators/natr.js.map +1 -1
  526. package/indicators/natr.src.js +11 -2
  527. package/indicators/obv.js +5 -5
  528. package/indicators/obv.js.map +1 -1
  529. package/indicators/obv.src.js +11 -2
  530. package/indicators/pivot-points.js +11 -11
  531. package/indicators/pivot-points.js.map +1 -1
  532. package/indicators/pivot-points.src.js +13 -3
  533. package/indicators/ppo.js +5 -5
  534. package/indicators/ppo.js.map +1 -1
  535. package/indicators/ppo.src.js +11 -2
  536. package/indicators/price-channel.d.ts +17 -1
  537. package/indicators/price-channel.js +11 -9
  538. package/indicators/price-channel.js.map +1 -1
  539. package/indicators/price-channel.src.d.ts +17 -1
  540. package/indicators/price-channel.src.js +97 -7
  541. package/indicators/price-envelopes.js +8 -8
  542. package/indicators/price-envelopes.js.map +1 -1
  543. package/indicators/price-envelopes.src.js +11 -2
  544. package/indicators/psar.js +7 -6
  545. package/indicators/psar.js.map +1 -1
  546. package/indicators/psar.src.js +11 -2
  547. package/indicators/regressions.js +12 -12
  548. package/indicators/regressions.js.map +1 -1
  549. package/indicators/regressions.src.js +41 -14
  550. package/indicators/roc.js +5 -5
  551. package/indicators/roc.js.map +1 -1
  552. package/indicators/roc.src.js +11 -2
  553. package/indicators/rsi.js +6 -5
  554. package/indicators/rsi.js.map +1 -1
  555. package/indicators/rsi.src.js +13 -3
  556. package/indicators/slow-stochastic.js +5 -5
  557. package/indicators/slow-stochastic.js.map +1 -1
  558. package/indicators/slow-stochastic.src.js +11 -2
  559. package/indicators/stochastic.d.ts +17 -1
  560. package/indicators/stochastic.js +12 -10
  561. package/indicators/stochastic.js.map +1 -1
  562. package/indicators/stochastic.src.d.ts +17 -1
  563. package/indicators/stochastic.src.js +89 -8
  564. package/indicators/supertrend.js +10 -10
  565. package/indicators/supertrend.js.map +1 -1
  566. package/indicators/supertrend.src.js +11 -2
  567. package/indicators/tema.js +6 -6
  568. package/indicators/tema.js.map +1 -1
  569. package/indicators/tema.src.js +11 -2
  570. package/indicators/trendline.js +5 -5
  571. package/indicators/trendline.js.map +1 -1
  572. package/indicators/trendline.src.js +11 -2
  573. package/indicators/trix.js +4 -4
  574. package/indicators/trix.js.map +1 -1
  575. package/indicators/trix.src.js +11 -2
  576. package/indicators/volume-by-price.js +17 -17
  577. package/indicators/volume-by-price.js.map +1 -1
  578. package/indicators/volume-by-price.src.js +14 -5
  579. package/indicators/vwap.js +5 -5
  580. package/indicators/vwap.js.map +1 -1
  581. package/indicators/vwap.src.js +30 -9
  582. package/indicators/williams-r.js +6 -5
  583. package/indicators/williams-r.js.map +1 -1
  584. package/indicators/williams-r.src.js +11 -2
  585. package/indicators/wma.js +5 -5
  586. package/indicators/wma.js.map +1 -1
  587. package/indicators/wma.src.js +11 -2
  588. package/indicators/zigzag.js +6 -6
  589. package/indicators/zigzag.js.map +1 -1
  590. package/indicators/zigzag.src.js +11 -2
  591. package/lib/jspdf.js +299 -184
  592. package/lib/jspdf.src.js +25266 -18067
  593. package/lib/svg2pdf.js +35 -31
  594. package/lib/svg2pdf.src.js +5721 -4179
  595. package/modules/accessibility.d.ts +0 -35
  596. package/modules/accessibility.js +232 -226
  597. package/modules/accessibility.js.map +1 -1
  598. package/modules/accessibility.src.d.ts +0 -35
  599. package/modules/accessibility.src.js +792 -613
  600. package/modules/annotations-advanced.js +175 -175
  601. package/modules/annotations-advanced.js.map +1 -1
  602. package/modules/annotations-advanced.src.js +175 -129
  603. package/modules/annotations.js +124 -124
  604. package/modules/annotations.js.map +1 -1
  605. package/modules/annotations.src.js +130 -102
  606. package/modules/arc-diagram.js +25 -0
  607. package/modules/arc-diagram.js.map +1 -0
  608. package/modules/arc-diagram.src.js +770 -0
  609. package/modules/arrow-symbols.js +4 -3
  610. package/modules/arrow-symbols.js.map +1 -1
  611. package/modules/arrow-symbols.src.js +11 -2
  612. package/modules/boost-canvas.js +15 -15
  613. package/modules/boost-canvas.js.map +1 -1
  614. package/modules/boost-canvas.src.js +11 -2
  615. package/modules/boost.js +80 -79
  616. package/modules/boost.js.map +1 -1
  617. package/modules/boost.src.js +103 -85
  618. package/modules/broken-axis.js +13 -13
  619. package/modules/broken-axis.js.map +1 -1
  620. package/modules/broken-axis.src.js +28 -13
  621. package/modules/bullet.js +9 -9
  622. package/modules/bullet.js.map +1 -1
  623. package/modules/bullet.src.js +11 -2
  624. package/modules/coloraxis.js +24 -24
  625. package/modules/coloraxis.js.map +1 -1
  626. package/modules/coloraxis.src.js +42 -13
  627. package/modules/current-date-indicator.js +5 -4
  628. package/modules/current-date-indicator.js.map +1 -1
  629. package/modules/current-date-indicator.src.js +11 -2
  630. package/modules/cylinder.js +11 -11
  631. package/modules/cylinder.js.map +1 -1
  632. package/modules/cylinder.src.js +47 -6
  633. package/modules/data.d.ts +6 -6
  634. package/modules/data.js +34 -33
  635. package/modules/data.js.map +1 -1
  636. package/modules/data.src.d.ts +6 -6
  637. package/modules/data.src.js +68 -84
  638. package/modules/datagrouping.js +21 -20
  639. package/modules/datagrouping.js.map +1 -1
  640. package/modules/datagrouping.src.js +38 -19
  641. package/modules/debugger.js +6 -6
  642. package/modules/debugger.js.map +1 -1
  643. package/modules/debugger.src.js +11 -2
  644. package/modules/dependency-wheel.js +12 -11
  645. package/modules/dependency-wheel.js.map +1 -1
  646. package/modules/dependency-wheel.src.js +15 -6
  647. package/modules/dotplot.js +6 -6
  648. package/modules/dotplot.js.map +1 -1
  649. package/modules/dotplot.src.js +11 -2
  650. package/modules/drag-panes.js +10 -10
  651. package/modules/drag-panes.js.map +1 -1
  652. package/modules/drag-panes.src.js +11 -2
  653. package/modules/draggable-points.js +35 -34
  654. package/modules/draggable-points.js.map +1 -1
  655. package/modules/draggable-points.src.js +27 -17
  656. package/modules/drilldown.d.ts +19 -0
  657. package/modules/drilldown.js +37 -25
  658. package/modules/drilldown.js.map +1 -1
  659. package/modules/drilldown.src.d.ts +19 -0
  660. package/modules/drilldown.src.js +1091 -101
  661. package/modules/dumbbell.js +17 -17
  662. package/modules/dumbbell.js.map +1 -1
  663. package/modules/dumbbell.src.js +11 -6
  664. package/modules/export-data.js +22 -21
  665. package/modules/export-data.js.map +1 -1
  666. package/modules/export-data.src.js +17 -7
  667. package/modules/exporting.js +39 -39
  668. package/modules/exporting.js.map +1 -1
  669. package/modules/exporting.src.js +114 -62
  670. package/modules/full-screen.js +8 -7
  671. package/modules/full-screen.js.map +1 -1
  672. package/modules/full-screen.src.js +15 -5
  673. package/modules/funnel.js +12 -12
  674. package/modules/funnel.js.map +1 -1
  675. package/modules/funnel.src.js +11 -2
  676. package/modules/funnel3d.js +21 -21
  677. package/modules/funnel3d.js.map +1 -1
  678. package/modules/funnel3d.src.js +27 -11
  679. package/modules/gantt.js +217 -217
  680. package/modules/gantt.js.map +1 -1
  681. package/modules/gantt.src.js +241 -230
  682. package/modules/grid-axis.js +23 -23
  683. package/modules/grid-axis.js.map +1 -1
  684. package/modules/grid-axis.src.js +46 -27
  685. package/modules/heatmap.js +40 -39
  686. package/modules/heatmap.js.map +1 -1
  687. package/modules/heatmap.src.js +119 -117
  688. package/modules/heikinashi.js +8 -8
  689. package/modules/heikinashi.js.map +1 -1
  690. package/modules/heikinashi.src.js +19 -8
  691. package/modules/histogram-bellcurve.js +13 -13
  692. package/modules/histogram-bellcurve.js.map +1 -1
  693. package/modules/histogram-bellcurve.src.js +17 -7
  694. package/modules/hollowcandlestick.js +9 -9
  695. package/modules/hollowcandlestick.js.map +1 -1
  696. package/modules/hollowcandlestick.src.js +31 -26
  697. package/modules/item-series.js +12 -12
  698. package/modules/item-series.js.map +1 -1
  699. package/modules/item-series.src.js +16 -7
  700. package/modules/lollipop.js +7 -7
  701. package/modules/lollipop.js.map +1 -1
  702. package/modules/lollipop.src.js +12 -3
  703. package/modules/map.d.ts +82 -43
  704. package/modules/map.js +169 -144
  705. package/modules/map.js.map +1 -1
  706. package/modules/map.src.d.ts +82 -43
  707. package/modules/map.src.js +8003 -6739
  708. package/modules/marker-clusters.js +36 -36
  709. package/modules/marker-clusters.js.map +1 -1
  710. package/modules/marker-clusters.src.js +50 -24
  711. package/modules/networkgraph.d.ts +5 -0
  712. package/modules/networkgraph.js +49 -48
  713. package/modules/networkgraph.js.map +1 -1
  714. package/modules/networkgraph.src.d.ts +5 -0
  715. package/modules/networkgraph.src.js +87 -48
  716. package/modules/no-data-to-display.js +5 -5
  717. package/modules/no-data-to-display.js.map +1 -1
  718. package/modules/no-data-to-display.src.js +11 -2
  719. package/modules/offline-exporting.js +20 -18
  720. package/modules/offline-exporting.js.map +1 -1
  721. package/modules/offline-exporting.src.js +149 -53
  722. package/modules/oldie-polyfills.js +7 -7
  723. package/modules/oldie-polyfills.js.map +1 -1
  724. package/modules/oldie-polyfills.src.js +11 -2
  725. package/modules/oldie.js +30 -30
  726. package/modules/oldie.js.map +1 -1
  727. package/modules/oldie.src.js +29 -80
  728. package/modules/organization.js +16 -14
  729. package/modules/organization.js.map +1 -1
  730. package/modules/organization.src.js +168 -32
  731. package/modules/overlapping-datalabels.js +3 -2
  732. package/modules/overlapping-datalabels.js.map +1 -1
  733. package/modules/overlapping-datalabels.src.js +11 -2
  734. package/modules/parallel-coordinates.js +11 -11
  735. package/modules/parallel-coordinates.js.map +1 -1
  736. package/modules/parallel-coordinates.src.js +16 -5
  737. package/modules/pareto.js +7 -7
  738. package/modules/pareto.js.map +1 -1
  739. package/modules/pareto.src.js +11 -2
  740. package/modules/pathfinder.js +31 -31
  741. package/modules/pathfinder.js.map +1 -1
  742. package/modules/pathfinder.src.js +31 -21
  743. package/modules/pattern-fill.js +14 -14
  744. package/modules/pattern-fill.js.map +1 -1
  745. package/modules/pattern-fill.src.js +28 -13
  746. package/modules/price-indicator.js +5 -5
  747. package/modules/price-indicator.js.map +1 -1
  748. package/modules/price-indicator.src.js +13 -3
  749. package/modules/pyramid3d.js +4 -4
  750. package/modules/pyramid3d.js.map +1 -1
  751. package/modules/pyramid3d.src.js +13 -3
  752. package/modules/sankey.d.ts +5 -0
  753. package/modules/sankey.js +32 -29
  754. package/modules/sankey.js.map +1 -1
  755. package/modules/sankey.src.d.ts +5 -0
  756. package/modules/sankey.src.js +340 -156
  757. package/modules/series-label.js +18 -17
  758. package/modules/series-label.js.map +1 -1
  759. package/modules/series-label.src.js +12 -3
  760. package/modules/solid-gauge.js +10 -10
  761. package/modules/solid-gauge.js.map +1 -1
  762. package/modules/solid-gauge.src.js +27 -3
  763. package/modules/sonification.js +59 -59
  764. package/modules/sonification.js.map +1 -1
  765. package/modules/sonification.src.js +131 -104
  766. package/modules/static-scale.js +5 -4
  767. package/modules/static-scale.js.map +1 -1
  768. package/modules/static-scale.src.js +11 -2
  769. package/modules/stock-tools.js +107 -107
  770. package/modules/stock-tools.js.map +1 -1
  771. package/modules/stock-tools.src.js +137 -98
  772. package/modules/stock.js +162 -162
  773. package/modules/stock.js.map +1 -1
  774. package/modules/stock.src.js +257 -258
  775. package/modules/streamgraph.js +5 -4
  776. package/modules/streamgraph.js.map +1 -1
  777. package/modules/streamgraph.src.js +11 -2
  778. package/modules/sunburst.d.ts +3 -0
  779. package/modules/sunburst.js +73 -61
  780. package/modules/sunburst.js.map +1 -1
  781. package/modules/sunburst.src.d.ts +3 -0
  782. package/modules/sunburst.src.js +1128 -205
  783. package/modules/tilemap.js +17 -17
  784. package/modules/tilemap.js.map +1 -1
  785. package/modules/tilemap.src.js +11 -11
  786. package/modules/timeline.js +18 -18
  787. package/modules/timeline.js.map +1 -1
  788. package/modules/timeline.src.js +11 -2
  789. package/modules/treegrid.js +57 -56
  790. package/modules/treegrid.js.map +1 -1
  791. package/modules/treegrid.src.js +106 -58
  792. package/modules/treemap.d.ts +3 -0
  793. package/modules/treemap.js +53 -41
  794. package/modules/treemap.js.map +1 -1
  795. package/modules/treemap.src.d.ts +3 -0
  796. package/modules/treemap.src.js +1113 -200
  797. package/modules/variable-pie.js +9 -9
  798. package/modules/variable-pie.js.map +1 -1
  799. package/modules/variable-pie.src.js +11 -2
  800. package/modules/variwide.js +12 -12
  801. package/modules/variwide.js.map +1 -1
  802. package/modules/variwide.src.js +17 -4
  803. package/modules/vector.js +8 -7
  804. package/modules/vector.js.map +1 -1
  805. package/modules/vector.src.js +11 -2
  806. package/modules/venn.js +31 -31
  807. package/modules/venn.js.map +1 -1
  808. package/modules/venn.src.js +34 -23
  809. package/modules/windbarb.js +15 -15
  810. package/modules/windbarb.js.map +1 -1
  811. package/modules/windbarb.src.js +11 -2
  812. package/modules/wordcloud.js +23 -23
  813. package/modules/wordcloud.js.map +1 -1
  814. package/modules/wordcloud.src.js +26 -18
  815. package/modules/xrange.js +16 -16
  816. package/modules/xrange.js.map +1 -1
  817. package/modules/xrange.src.js +21 -34
  818. package/package.json +1 -1
  819. package/themes/avocado.js +4 -3
  820. package/themes/avocado.js.map +1 -1
  821. package/themes/avocado.src.js +11 -2
  822. package/themes/brand-dark.js +16 -0
  823. package/themes/brand-dark.js.map +1 -0
  824. package/themes/brand-dark.src.js +337 -0
  825. package/themes/brand-light.js +15 -0
  826. package/themes/brand-light.js.map +1 -0
  827. package/themes/brand-light.src.js +303 -0
  828. package/themes/dark-blue.js +9 -8
  829. package/themes/dark-blue.js.map +1 -1
  830. package/themes/dark-blue.src.js +11 -2
  831. package/themes/dark-green.js +9 -8
  832. package/themes/dark-green.js.map +1 -1
  833. package/themes/dark-green.src.js +11 -2
  834. package/themes/dark-unica.js +8 -7
  835. package/themes/dark-unica.js.map +1 -1
  836. package/themes/dark-unica.src.js +15 -4
  837. package/themes/gray.js +9 -8
  838. package/themes/gray.js.map +1 -1
  839. package/themes/gray.src.js +11 -2
  840. package/themes/grid-light.js +5 -4
  841. package/themes/grid-light.js.map +1 -1
  842. package/themes/grid-light.src.js +15 -4
  843. package/themes/grid.js +5 -5
  844. package/themes/grid.js.map +1 -1
  845. package/themes/grid.src.js +15 -4
  846. package/themes/high-contrast-dark.js +7 -7
  847. package/themes/high-contrast-dark.js.map +1 -1
  848. package/themes/high-contrast-dark.src.js +21 -12
  849. package/themes/high-contrast-light.js +3 -3
  850. package/themes/high-contrast-light.js.map +1 -1
  851. package/themes/high-contrast-light.src.js +21 -12
  852. package/themes/sand-signika.js +5 -5
  853. package/themes/sand-signika.js.map +1 -1
  854. package/themes/sand-signika.src.js +11 -2
  855. package/themes/skies.js +5 -5
  856. package/themes/skies.js.map +1 -1
  857. package/themes/skies.src.js +11 -2
  858. package/themes/sunset.js +3 -3
  859. package/themes/sunset.js.map +1 -1
  860. package/themes/sunset.src.js +11 -2
  861. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  862. package/es-modules/Series/ColorMapComposition.js +0 -109
@@ -10,20 +10,38 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
+ var __extends = (this && this.__extends) || (function () {
14
+ var extendStatics = function (d, b) {
15
+ extendStatics = Object.setPrototypeOf ||
16
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
18
+ return extendStatics(d, b);
19
+ };
20
+ return function (d, b) {
21
+ extendStatics(d, b);
22
+ function __() { this.constructor = d; }
23
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
24
+ };
25
+ })();
13
26
  import A from '../../Core/Animation/AnimationUtilities.js';
14
27
  var animObject = A.animObject;
15
- import Chart from '../../Core/Chart/Chart.js';
16
28
  import H from '../../Core/Globals.js';
29
+ var doc = H.doc;
17
30
  import Legend from '../../Core/Legend/Legend.js';
18
31
  import U from '../../Core/Utilities.js';
19
- var addEvent = U.addEvent, extend = U.extend, fireEvent = U.fireEvent, isNumber = U.isNumber, pick = U.pick, syncTimeout = U.syncTimeout;
32
+ var addEvent = U.addEvent, fireEvent = U.fireEvent, isNumber = U.isNumber, pick = U.pick, syncTimeout = U.syncTimeout;
20
33
  import AccessibilityComponent from '../AccessibilityComponent.js';
21
34
  import KeyboardNavigationHandler from '../KeyboardNavigationHandler.js';
22
- import HTMLUtilities from '../Utils/HTMLUtilities.js';
23
- var stripHTMLTags = HTMLUtilities.stripHTMLTagsFromString, addClass = HTMLUtilities.addClass, removeClass = HTMLUtilities.removeClass;
24
- import ChartUtils from '../Utils/ChartUtilities.js';
25
- var getChartTitle = ChartUtils.getChartTitle;
26
- /* eslint-disable no-invalid-this, valid-jsdoc */
35
+ import CU from '../Utils/ChartUtilities.js';
36
+ var getChartTitle = CU.getChartTitle;
37
+ import HU from '../Utils/HTMLUtilities.js';
38
+ var stripHTMLTags = HU.stripHTMLTagsFromString, addClass = HU.addClass, removeClass = HU.removeClass;
39
+ /* *
40
+ *
41
+ * Functions
42
+ *
43
+ * */
44
+ /* eslint-disable valid-jsdoc */
27
45
  /**
28
46
  * @private
29
47
  */
@@ -43,44 +61,23 @@ function shouldDoLegendA11y(chart) {
43
61
  legendA11yOptions.enabled !== false);
44
62
  }
45
63
  /**
46
- * Highlight legend item by index.
47
- *
48
64
  * @private
49
- * @function Highcharts.Chart#highlightLegendItem
50
- *
51
- * @param {number} ix
52
- *
53
- * @return {boolean}
54
65
  */
55
- Chart.prototype.highlightLegendItem = function (ix) {
56
- var items = this.legend.allItems;
57
- var oldIx = this.accessibility &&
58
- this.accessibility.components.legend.highlightedLegendItemIx;
59
- var itemToHighlight = items[ix];
60
- if (itemToHighlight) {
61
- if (isNumber(oldIx) && items[oldIx]) {
62
- fireEvent(items[oldIx].legendGroup.element, 'mouseout');
63
- }
64
- scrollLegendToItem(this.legend, ix);
65
- var legendItemProp = itemToHighlight.legendItem;
66
- var proxyBtn = itemToHighlight.a11yProxyElement && itemToHighlight.a11yProxyElement.buttonElement;
67
- if (legendItemProp && legendItemProp.element && proxyBtn) {
68
- this.setFocusToElement(legendItemProp, proxyBtn);
69
- }
70
- if (itemToHighlight.legendGroup) {
71
- fireEvent(itemToHighlight.legendGroup.element, 'mouseover');
66
+ function setLegendItemHoverState(hoverActive, legendItem) {
67
+ legendItem.setState(hoverActive ? 'hover' : '', true);
68
+ ['legendGroup', 'legendItem', 'legendSymbol'].forEach(function (i) {
69
+ var obj = legendItem[i];
70
+ var el = obj && obj.element || obj;
71
+ if (el) {
72
+ fireEvent(el, hoverActive ? 'mouseover' : 'mouseout');
72
73
  }
73
- return true;
74
- }
75
- return false;
76
- };
77
- // Keep track of pressed state for legend items
78
- addEvent(Legend, 'afterColorizeItem', function (e) {
79
- var chart = this.chart, a11yOptions = chart.options.accessibility, legendItem = e.item;
80
- if (a11yOptions.enabled && legendItem && legendItem.a11yProxyElement) {
81
- legendItem.a11yProxyElement.buttonElement.setAttribute('aria-pressed', e.visible ? 'true' : 'false');
82
- }
83
- });
74
+ });
75
+ }
76
+ /* *
77
+ *
78
+ * Class
79
+ *
80
+ * */
84
81
  /**
85
82
  * The LegendComponent class
86
83
  *
@@ -88,18 +85,36 @@ addEvent(Legend, 'afterColorizeItem', function (e) {
88
85
  * @class
89
86
  * @name Highcharts.LegendComponent
90
87
  */
91
- var LegendComponent = function () { };
92
- LegendComponent.prototype = new AccessibilityComponent();
93
- extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
88
+ var LegendComponent = /** @class */ (function (_super) {
89
+ __extends(LegendComponent, _super);
90
+ function LegendComponent() {
91
+ /* *
92
+ *
93
+ * Properties
94
+ *
95
+ * */
96
+ var _this = _super !== null && _super.apply(this, arguments) || this;
97
+ _this.highlightedLegendItemIx = NaN;
98
+ _this.proxyGroup = null;
99
+ return _this;
100
+ }
101
+ /* *
102
+ *
103
+ * Functions
104
+ *
105
+ * */
106
+ /* eslint-disable valid-jsdoc */
94
107
  /**
95
108
  * Init the component
96
109
  * @private
97
110
  */
98
- init: function () {
111
+ LegendComponent.prototype.init = function () {
99
112
  var component = this;
100
113
  this.recreateProxies();
101
114
  // Note: Chart could create legend dynamically, so events can not be
102
115
  // tied to the component's chart's current legend.
116
+ // @todo 1. attach component to created legends
117
+ // @todo 2. move listeners to composition and access `this.component`
103
118
  this.addEvent(Legend, 'afterScroll', function () {
104
119
  if (this.chart === component.chart) {
105
120
  component.proxyProvider.updateGroupProxyElementPositions('legend');
@@ -118,15 +133,16 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
118
133
  if (this.chart === component.chart &&
119
134
  this.chart.renderer &&
120
135
  component.recreateProxies()) {
121
- syncTimeout(function () { return component.proxyProvider.updateGroupProxyElementPositions('legend'); }, animObject(pick(this.chart.renderer.globalAnimation, true)).duration);
136
+ syncTimeout(function () { return component.proxyProvider
137
+ .updateGroupProxyElementPositions('legend'); }, animObject(pick(this.chart.renderer.globalAnimation, true)).duration);
122
138
  }
123
139
  });
124
- },
140
+ };
125
141
  /**
126
142
  * Update visibility of legend items when using paged legend
127
143
  * @private
128
144
  */
129
- updateLegendItemProxyVisibility: function () {
145
+ LegendComponent.prototype.updateLegendItemProxyVisibility = function () {
130
146
  var chart = this.chart;
131
147
  var legend = chart.legend;
132
148
  var items = legend.allItems || [];
@@ -140,8 +156,11 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
140
156
  if (hasPages) {
141
157
  var itemPage = item.pageIx || 0;
142
158
  var y = item._legendItemPos ? item._legendItemPos[1] : 0;
143
- var h = item.legendItem ? Math.round(item.legendItem.getBBox().height) : 0;
144
- hide = y + h - legend.pages[itemPage] > clipHeight || itemPage !== curPage - 1;
159
+ var h = item.legendItem ?
160
+ Math.round(item.legendItem.getBBox().height) :
161
+ 0;
162
+ hide = y + h - legend.pages[itemPage] > clipHeight ||
163
+ itemPage !== curPage - 1;
145
164
  }
146
165
  if (hide) {
147
166
  if (chart.styledMode) {
@@ -157,19 +176,19 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
157
176
  }
158
177
  }
159
178
  });
160
- },
179
+ };
161
180
  /**
162
181
  * @private
163
182
  */
164
- onChartRender: function () {
183
+ LegendComponent.prototype.onChartRender = function () {
165
184
  if (!shouldDoLegendA11y(this.chart)) {
166
185
  this.removeProxies();
167
186
  }
168
- },
187
+ };
169
188
  /**
170
189
  * @private
171
190
  */
172
- highlightAdjacentLegendPage: function (direction) {
191
+ LegendComponent.prototype.highlightAdjacentLegendPage = function (direction) {
173
192
  var chart = this.chart;
174
193
  var legend = chart.legend;
175
194
  var curPageIx = legend.currentPage || 1;
@@ -187,41 +206,48 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
187
206
  }
188
207
  }
189
208
  }
190
- },
209
+ };
191
210
  /**
192
211
  * @private
193
212
  */
194
- updateProxyPositionForItem: function (item) {
213
+ LegendComponent.prototype.updateProxyPositionForItem = function (item) {
195
214
  if (item.a11yProxyElement) {
196
215
  item.a11yProxyElement.refreshPosition();
197
216
  }
198
- },
217
+ };
199
218
  /**
200
219
  * Returns false if legend a11y is disabled and proxies were not created,
201
220
  * true otherwise.
202
221
  * @private
203
222
  */
204
- recreateProxies: function () {
223
+ LegendComponent.prototype.recreateProxies = function () {
224
+ var focusedElement = doc.activeElement;
225
+ var proxyGroup = this.proxyGroup;
226
+ var shouldRestoreFocus = focusedElement && proxyGroup &&
227
+ proxyGroup.contains(focusedElement);
205
228
  this.removeProxies();
206
229
  if (shouldDoLegendA11y(this.chart)) {
207
230
  this.addLegendProxyGroup();
208
231
  this.proxyLegendItems();
209
232
  this.updateLegendItemProxyVisibility();
210
233
  this.updateLegendTitle();
234
+ if (shouldRestoreFocus) {
235
+ this.chart.highlightLegendItem(this.highlightedLegendItemIx);
236
+ }
211
237
  return true;
212
238
  }
213
239
  return false;
214
- },
240
+ };
215
241
  /**
216
242
  * @private
217
243
  */
218
- removeProxies: function () {
244
+ LegendComponent.prototype.removeProxies = function () {
219
245
  this.proxyProvider.removeGroup('legend');
220
- },
246
+ };
221
247
  /**
222
248
  * @private
223
249
  */
224
- updateLegendTitle: function () {
250
+ LegendComponent.prototype.updateLegendTitle = function () {
225
251
  var chart = this.chart;
226
252
  var legendTitle = stripHTMLTags((chart.legend &&
227
253
  chart.legend.options.title &&
@@ -235,22 +261,25 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
235
261
  this.proxyProvider.updateGroupAttrs('legend', {
236
262
  'aria-label': legendLabel
237
263
  });
238
- },
264
+ };
239
265
  /**
240
266
  * @private
241
267
  */
242
- addLegendProxyGroup: function () {
268
+ LegendComponent.prototype.addLegendProxyGroup = function () {
243
269
  var a11yOptions = this.chart.options.accessibility;
244
- var groupRole = a11yOptions.landmarkVerbosity === 'all' ? 'region' : null;
245
- this.proxyProvider.addGroup('legend', 'ul', {
270
+ var groupRole = a11yOptions.landmarkVerbosity === 'all' ?
271
+ 'region' : null;
272
+ this.proxyGroup = this.proxyProvider.addGroup('legend', 'ul', {
273
+ // Filled by updateLegendTitle, to keep up to date without
274
+ // recreating group
246
275
  'aria-label': '_placeholder_',
247
276
  role: groupRole
248
277
  });
249
- },
278
+ };
250
279
  /**
251
280
  * @private
252
281
  */
253
- proxyLegendItems: function () {
282
+ LegendComponent.prototype.proxyLegendItems = function () {
254
283
  var component = this, items = (this.chart.legend &&
255
284
  this.chart.legend.allItems || []);
256
285
  items.forEach(function (item) {
@@ -258,12 +287,12 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
258
287
  component.proxyLegendItem(item);
259
288
  }
260
289
  });
261
- },
290
+ };
262
291
  /**
263
292
  * @private
264
293
  * @param {Highcharts.BubbleLegendItem|Point|Highcharts.Series} item
265
294
  */
266
- proxyLegendItem: function (item) {
295
+ LegendComponent.prototype.proxyLegendItem = function (item) {
267
296
  if (!item.legendItem || !item.legendGroup) {
268
297
  return;
269
298
  }
@@ -278,17 +307,19 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
278
307
  'aria-label': itemLabel
279
308
  };
280
309
  // Considers useHTML
281
- var proxyPositioningElement = item.legendGroup.div ? item.legendItem : item.legendGroup;
310
+ var proxyPositioningElement = item.legendGroup.div ?
311
+ item.legendItem :
312
+ item.legendGroup;
282
313
  item.a11yProxyElement = this.proxyProvider.addProxyElement('legend', {
283
314
  click: item.legendItem,
284
315
  visual: proxyPositioningElement.element
285
316
  }, attribs);
286
- },
317
+ };
287
318
  /**
288
319
  * Get keyboard navigation handler for this component.
289
- * @return {Highcharts.KeyboardNavigationHandler}
320
+ * @private
290
321
  */
291
- getKeyboardNavigation: function () {
322
+ LegendComponent.prototype.getKeyboardNavigation = function () {
292
323
  var keys = this.keyCodes, component = this, chart = this.chart;
293
324
  return new KeyboardNavigationHandler(chart, {
294
325
  keyCodeMap: [
@@ -319,23 +350,21 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
319
350
  validate: function () {
320
351
  return component.shouldHaveLegendNavigation();
321
352
  },
322
- init: function (direction) {
323
- return component.onKbdNavigationInit(direction);
353
+ init: function () {
354
+ chart.highlightLegendItem(0);
355
+ component.highlightedLegendItemIx = 0;
324
356
  },
325
357
  terminate: function () {
326
358
  component.highlightedLegendItemIx = -1;
327
- chart.legend.allItems.forEach(function (item) { return item.setState('', true); });
359
+ chart.legend.allItems.forEach(function (item) { return setLegendItemHoverState(false, item); });
328
360
  }
329
361
  });
330
- },
362
+ };
331
363
  /**
364
+ * Arrow key navigation
332
365
  * @private
333
- * @param {Highcharts.KeyboardNavigationHandler} keyboardNavigationHandler
334
- * @param {number} keyCode
335
- * @return {number}
336
- * Response code
337
366
  */
338
- onKbdArrowKey: function (keyboardNavigationHandler, keyCode) {
367
+ LegendComponent.prototype.onKbdArrowKey = function (keyboardNavigationHandler, keyCode) {
339
368
  var keys = this.keyCodes, response = keyboardNavigationHandler.response, chart = this.chart, a11yOptions = chart.options.accessibility, numItems = chart.legend.allItems.length, direction = (keyCode === keys.left || keyCode === keys.up) ? -1 : 1;
340
369
  var res = chart.highlightLegendItem(this.highlightedLegendItemIx + direction);
341
370
  if (res) {
@@ -347,26 +376,24 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
347
376
  keyboardNavigationHandler.init(direction);
348
377
  return response.success;
349
378
  }
350
- // No wrap, move
351
- return response[direction > 0 ? 'next' : 'prev'];
352
- },
379
+ return response.success;
380
+ };
353
381
  /**
354
382
  * @private
355
383
  * @param {Highcharts.KeyboardNavigationHandler} keyboardNavigationHandler
356
384
  * @return {number} Response code
357
385
  */
358
- onKbdClick: function (keyboardNavigationHandler) {
386
+ LegendComponent.prototype.onKbdClick = function (keyboardNavigationHandler) {
359
387
  var legendItem = this.chart.legend.allItems[this.highlightedLegendItemIx];
360
388
  if (legendItem && legendItem.a11yProxyElement) {
361
389
  legendItem.a11yProxyElement.click();
362
390
  }
363
391
  return keyboardNavigationHandler.response.success;
364
- },
392
+ };
365
393
  /**
366
394
  * @private
367
- * @return {boolean|undefined}
368
395
  */
369
- shouldHaveLegendNavigation: function () {
396
+ LegendComponent.prototype.shouldHaveLegendNavigation = function () {
370
397
  var chart = this.chart, legendOptions = chart.options.legend || {}, hasLegend = chart.legend && chart.legend.allItems, hasColorAxis = chart.colorAxis && chart.colorAxis.length, legendA11yOptions = (legendOptions.accessibility || {});
371
398
  return !!(hasLegend &&
372
399
  chart.legend.display &&
@@ -374,15 +401,86 @@ extend(LegendComponent.prototype, /** @lends Highcharts.LegendComponent */ {
374
401
  legendA11yOptions.enabled &&
375
402
  legendA11yOptions.keyboardNavigation &&
376
403
  legendA11yOptions.keyboardNavigation.enabled);
377
- },
404
+ };
405
+ return LegendComponent;
406
+ }(AccessibilityComponent));
407
+ /* *
408
+ *
409
+ * Class Namespace
410
+ *
411
+ * */
412
+ (function (LegendComponent) {
413
+ /* *
414
+ *
415
+ * Declarations
416
+ *
417
+ * */
418
+ /* *
419
+ *
420
+ * Constants
421
+ *
422
+ * */
423
+ var composedClasses = [];
424
+ /* *
425
+ *
426
+ * Functions
427
+ *
428
+ * */
429
+ /* eslint-disable valid-jsdoc */
430
+ /**
431
+ * Highlight legend item by index.
432
+ * @private
433
+ */
434
+ function chartHighlightLegendItem(ix) {
435
+ var items = this.legend.allItems;
436
+ var oldIx = this.accessibility &&
437
+ this.accessibility.components.legend.highlightedLegendItemIx;
438
+ var itemToHighlight = items[ix];
439
+ if (itemToHighlight) {
440
+ if (isNumber(oldIx) && items[oldIx]) {
441
+ setLegendItemHoverState(false, items[oldIx]);
442
+ }
443
+ scrollLegendToItem(this.legend, ix);
444
+ var legendItemProp = itemToHighlight.legendItem;
445
+ var proxyBtn = itemToHighlight.a11yProxyElement &&
446
+ itemToHighlight.a11yProxyElement.buttonElement;
447
+ if (legendItemProp && legendItemProp.element && proxyBtn) {
448
+ this.setFocusToElement(legendItemProp, proxyBtn);
449
+ }
450
+ setLegendItemHoverState(true, itemToHighlight);
451
+ return true;
452
+ }
453
+ return false;
454
+ }
378
455
  /**
379
456
  * @private
380
- * @param {number} direction
381
457
  */
382
- onKbdNavigationInit: function (direction) {
383
- var chart = this.chart, lastIx = chart.legend.allItems.length - 1, ixToHighlight = direction > 0 ? 0 : lastIx;
384
- chart.highlightLegendItem(ixToHighlight);
385
- this.highlightedLegendItemIx = ixToHighlight;
458
+ function compose(ChartClass, LegendClass) {
459
+ if (composedClasses.indexOf(ChartClass) === -1) {
460
+ composedClasses.push(ChartClass);
461
+ var chartProto = ChartClass.prototype;
462
+ chartProto.highlightLegendItem = chartHighlightLegendItem;
463
+ }
464
+ if (composedClasses.indexOf(LegendClass) === -1) {
465
+ composedClasses.push(LegendClass);
466
+ addEvent(LegendClass, 'afterColorizeItem', legendOnAfterColorizeItem);
467
+ }
386
468
  }
387
- });
469
+ LegendComponent.compose = compose;
470
+ /**
471
+ * Keep track of pressed state for legend items.
472
+ * @private
473
+ */
474
+ function legendOnAfterColorizeItem(e) {
475
+ var chart = this.chart, a11yOptions = chart.options.accessibility, legendItem = e.item;
476
+ if (a11yOptions.enabled && legendItem && legendItem.a11yProxyElement) {
477
+ legendItem.a11yProxyElement.buttonElement.setAttribute('aria-pressed', e.visible ? 'true' : 'false');
478
+ }
479
+ }
480
+ })(LegendComponent || (LegendComponent = {}));
481
+ /* *
482
+ *
483
+ * Default Export
484
+ *
485
+ * */
388
486
  export default LegendComponent;
@@ -40,17 +40,13 @@ var getFakeMouseEvent = HTMLUtilities.getFakeMouseEvent;
40
40
  /* eslint-disable valid-jsdoc */
41
41
  /**
42
42
  * Get the wrapped export button element of a chart.
43
- *
44
43
  * @private
45
- * @param {Highcharts.Chart} chart
46
- * @returns {Highcharts.SVGElement}
47
44
  */
48
45
  function getExportMenuButtonElement(chart) {
49
46
  return chart.exportSVGElements && chart.exportSVGElements[0];
50
47
  }
51
48
  /**
52
49
  * @private
53
- * @param {Highcharts.Chart} chart
54
50
  */
55
51
  function exportingShouldHaveA11y(chart) {
56
52
  var exportingOpts = chart.options.exporting, exportButton = getExportMenuButtonElement(chart);
@@ -105,7 +101,6 @@ var MenuComponent = /** @class */ (function (_super) {
105
101
  if (menu) {
106
102
  menu.setAttribute('aria-hidden', 'true');
107
103
  }
108
- this.isExportMenuShown = false;
109
104
  this.setExportButtonExpandedState('false');
110
105
  };
111
106
  /**
@@ -117,7 +112,6 @@ var MenuComponent = /** @class */ (function (_super) {
117
112
  this.addAccessibleContextMenuAttribs();
118
113
  unhideChartElementFromAT(chart, menu);
119
114
  }
120
- this.isExportMenuShown = true;
121
115
  this.setExportButtonExpandedState('true');
122
116
  };
123
117
  /**
@@ -134,8 +128,19 @@ var MenuComponent = /** @class */ (function (_super) {
134
128
  * proxy overlay.
135
129
  */
136
130
  MenuComponent.prototype.onChartRender = function () {
131
+ var chart = this.chart, focusEl = chart.focusElement, a11y = chart.accessibility;
137
132
  this.proxyProvider.clearGroup('chartMenu');
138
133
  this.proxyMenuButton();
134
+ if (this.exportButtonProxy &&
135
+ focusEl &&
136
+ focusEl === chart.exportingGroup) {
137
+ if (focusEl.focusBorder) {
138
+ chart.setFocusToElement(focusEl, this.exportButtonProxy.buttonElement);
139
+ }
140
+ else if (a11y) {
141
+ a11y.keyboardNavigation.tabindexContainer.focus();
142
+ }
143
+ }
139
144
  };
140
145
  /**
141
146
  * @private
@@ -150,7 +155,8 @@ var MenuComponent = /** @class */ (function (_super) {
150
155
  chart: chart,
151
156
  chartTitle: getChartTitle(chart)
152
157
  }),
153
- 'aria-expanded': false
158
+ 'aria-expanded': false,
159
+ title: chart.options.lang.contextButtonTitle || null
154
160
  });
155
161
  }
156
162
  };
@@ -195,7 +201,7 @@ var MenuComponent = /** @class */ (function (_super) {
195
201
  };
196
202
  /**
197
203
  * Get keyboard navigation handler for this component.
198
- * @return {Highcharts.KeyboardNavigationHandler}
204
+ * @private
199
205
  */
200
206
  MenuComponent.prototype.getKeyboardNavigation = function () {
201
207
  var keys = this.keyCodes, chart = this.chart, component = this;
@@ -301,7 +307,7 @@ var MenuComponent = /** @class */ (function (_super) {
301
307
  var chart = this.chart;
302
308
  var curHighlightedItem = chart.exportDivElements[chart.highlightedExportItemIx];
303
309
  var exportButtonElement = getExportMenuButtonElement(chart).element;
304
- if (this.isExportMenuShown) {
310
+ if (chart.openMenu) {
305
311
  this.fakeClickEvent(curHighlightedItem);
306
312
  }
307
313
  else {
@@ -370,7 +376,7 @@ var MenuComponent = /** @class */ (function (_super) {
370
376
  */
371
377
  function chartHideExportMenu() {
372
378
  var chart = this, exportList = chart.exportDivElements;
373
- if (exportList && chart.exportContextMenu) {
379
+ if (exportList && chart.exportContextMenu && chart.openMenu) {
374
380
  // Reset hover states etc.
375
381
  exportList.forEach(function (el) {
376
382
  if (el &&
@@ -391,10 +397,6 @@ var MenuComponent = /** @class */ (function (_super) {
391
397
  *
392
398
  * @private
393
399
  * @function Highcharts.Chart#highlightExportItem
394
- *
395
- * @param {number} ix
396
- *
397
- * @return {boolean}
398
400
  */
399
401
  function chartHighlightExportItem(ix) {
400
402
  var listItem = this.exportDivElements && this.exportDivElements[ix];
@@ -426,7 +428,6 @@ var MenuComponent = /** @class */ (function (_super) {
426
428
  *
427
429
  * @private
428
430
  * @function Highcharts.Chart#highlightLastExportItem
429
- * @return {boolean}
430
431
  */
431
432
  function chartHighlightLastExportItem() {
432
433
  var chart = this;
@@ -225,8 +225,9 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
225
225
  var newIxOutOfRange = newIx > 1 || newIx < 0;
226
226
  if (newIxOutOfRange) {
227
227
  if (chart.accessibility) {
228
- chart.accessibility.keyboardNavigation.tabindexContainer.focus();
229
- chart.accessibility.keyboardNavigation[direction < 0 ? 'prev' : 'next']();
228
+ chart.accessibility.keyboardNavigation.tabindexContainer
229
+ .focus();
230
+ chart.accessibility.keyboardNavigation.move(direction);
230
231
  }
231
232
  }
232
233
  else if (rangeSel) {
@@ -308,13 +309,13 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
308
309
  // Tab-press with dropdown focused does not propagate to chart
309
310
  // automatically, so we manually catch and handle it when relevant.
310
311
  this.removeDropdownKeydownHandler = addEvent(dropdown, 'keydown', function (e) {
311
- var isTab = (e.which || e.keyCode) === _this.keyCodes.tab;
312
+ var isTab = (e.which || e.keyCode) === _this.keyCodes.tab, a11y = chart.accessibility;
312
313
  if (isTab) {
313
314
  e.preventDefault();
314
315
  e.stopPropagation();
315
- if (chart.accessibility) {
316
- chart.accessibility.keyboardNavigation.tabindexContainer.focus();
317
- chart.accessibility.keyboardNavigation[e.shiftKey ? 'prev' : 'next']();
316
+ if (a11y) {
317
+ a11y.keyboardNavigation.tabindexContainer.focus();
318
+ a11y.keyboardNavigation.move(e.shiftKey ? -1 : 1);
318
319
  }
319
320
  }
320
321
  });
@@ -444,10 +445,6 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
444
445
  *
445
446
  * @private
446
447
  * @function Highcharts.Chart#highlightRangeSelectorButton
447
- *
448
- * @param {number} ix
449
- *
450
- * @return {boolean}
451
448
  */
452
449
  function chartHighlightRangeSelectorButton(ix) {
453
450
  var buttons = (this.rangeSelector &&
@@ -481,7 +478,7 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
481
478
  if (composedClasses.indexOf(ChartClass) === -1) {
482
479
  composedClasses.push(ChartClass);
483
480
  var chartProto = ChartClass.prototype;
484
- chartProto.highlightRangeSelectorButton = chartHighlightRangeSelectorButton;
481
+ chartProto.highlightRangeSelectorButton = (chartHighlightRangeSelectorButton);
485
482
  }
486
483
  if (composedClasses.indexOf(RangeSelectorClass) === -1) {
487
484
  composedClasses.push(RangeSelectorClass);
@@ -495,9 +492,9 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
495
492
  * @private
496
493
  */
497
494
  function rangeSelectorAfterBtnClick() {
498
- if (this.chart.accessibility &&
499
- this.chart.accessibility.components.rangeSelector) {
500
- return this.chart.accessibility.components.rangeSelector.onAfterBtnClick();
495
+ var a11y = this.chart.accessibility;
496
+ if (a11y && a11y.components.rangeSelector) {
497
+ return a11y.components.rangeSelector.onAfterBtnClick();
501
498
  }
502
499
  }
503
500
  })(RangeSelectorComponent || (RangeSelectorComponent = {}));