highcharts 9.2.2 → 9.3.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 (747) 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 +45 -0
  6. package/css/highcharts.scss +40 -0
  7. package/css/themes/dark-unica.css +45 -0
  8. package/css/themes/grid-light.css +45 -0
  9. package/css/themes/sand-signika.css +45 -0
  10. package/es-modules/Accessibility/A11yI18n.js +273 -224
  11. package/es-modules/Accessibility/Accessibility.js +233 -128
  12. package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
  13. package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
  14. package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
  15. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +46 -23
  16. package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
  17. package/es-modules/Accessibility/Components/MenuComponent.js +59 -40
  18. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -8
  19. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
  20. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
  24. package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
  25. package/es-modules/Accessibility/FocusBorder.js +192 -147
  26. package/es-modules/Accessibility/HighContrastMode.js +78 -66
  27. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  28. package/es-modules/Accessibility/KeyboardNavigation.js +144 -70
  29. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  30. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
  31. package/es-modules/Accessibility/Options/LangOptions.js +1 -2
  32. package/es-modules/Accessibility/Options/Options.js +32 -17
  33. package/es-modules/Accessibility/ProxyElement.js +212 -0
  34. package/es-modules/Accessibility/ProxyProvider.js +305 -0
  35. package/es-modules/Accessibility/Utils/Announcer.js +15 -8
  36. package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
  37. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  38. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  39. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
  40. package/es-modules/Core/Axis/Axis.js +37 -30
  41. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  42. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
  43. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  44. package/es-modules/Core/Axis/OrdinalAxis.js +8 -12
  45. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
  47. package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
  48. package/es-modules/Core/Axis/TreeGridTick.js +1 -2
  49. package/es-modules/Core/Chart/Chart.js +2 -3
  50. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  51. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  52. package/es-modules/Core/Chart/MapChart.js +10 -22
  53. package/es-modules/Core/Chart/StockChart.js +3 -293
  54. package/es-modules/Core/Color/Palettes.js +22 -0
  55. package/es-modules/Core/DefaultOptions.js +19 -17
  56. package/es-modules/Core/Foundation.js +39 -31
  57. package/es-modules/Core/Globals.js +1 -1
  58. package/es-modules/Core/HttpUtilities.js +3 -3
  59. package/es-modules/Core/Legend/Legend.js +7 -3
  60. package/es-modules/Core/Navigator.js +7 -8
  61. package/es-modules/Core/Pointer.js +39 -36
  62. package/es-modules/Core/Renderer/HTML/AST.js +2 -0
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
  64. package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
  66. package/es-modules/Core/Renderer/SVG/TextBuilder.js +3 -3
  67. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  68. package/es-modules/Core/Series/DataLabel.js +2 -3
  69. package/es-modules/Core/Series/Point.js +5 -3
  70. package/es-modules/Core/Series/Series.js +153 -162
  71. package/es-modules/Core/Series/SeriesDefaults.js +3 -4
  72. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  73. package/es-modules/Core/Tooltip.js +44 -17
  74. package/es-modules/Core/Utilities.js +15 -7
  75. package/es-modules/Data/DataConverter.js +489 -0
  76. package/es-modules/Data/DataPromise.js +252 -0
  77. package/es-modules/Data/DataSeriesConverter.js +203 -0
  78. package/es-modules/Data/DataTable.js +1204 -0
  79. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  80. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  81. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  82. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  83. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  85. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  86. package/es-modules/Data/Parsers/CSVParser.js +399 -0
  87. package/es-modules/Data/Parsers/DataParser.js +101 -0
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  90. package/es-modules/Data/Stores/CSVStore.js +317 -0
  91. package/es-modules/Data/Stores/DataStore.js +276 -0
  92. package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
  93. package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
  94. package/es-modules/Extensions/Annotations/Annotations.js +61 -11
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  97. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +68 -19
  99. package/es-modules/Extensions/Annotations/Popup.js +479 -141
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
  102. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  103. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  104. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  105. package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
  106. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
  107. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
  108. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
  109. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  110. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
  111. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  112. package/es-modules/Extensions/BoostCanvas.js +1 -2
  113. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  114. package/es-modules/Extensions/DataGrouping.js +31 -18
  115. package/es-modules/Extensions/DownloadURL.js +2 -2
  116. package/es-modules/Extensions/DragPanes.js +1 -2
  117. package/es-modules/Extensions/Drilldown.js +2 -3
  118. package/es-modules/Extensions/Exporting/Exporting.js +8 -7
  119. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  120. package/es-modules/Extensions/GeoJSON.js +39 -63
  121. package/es-modules/Extensions/MarkerClusters.js +115 -97
  122. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  123. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +9 -8
  124. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  125. package/es-modules/Extensions/Oldie/Oldie.js +2 -3
  126. package/es-modules/Extensions/Pane.js +5 -6
  127. package/es-modules/Extensions/RangeSelector.js +3 -4
  128. package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
  129. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  130. package/es-modules/Extensions/Sonification/Instrument.js +496 -426
  131. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  132. package/es-modules/Extensions/Sonification/Options.js +10 -0
  133. package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
  134. package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
  135. package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
  136. package/es-modules/Extensions/Sonification/Sonification.js +26 -52
  137. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
  138. package/es-modules/Extensions/Sonification/Timeline.js +255 -567
  139. package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
  140. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  141. package/es-modules/Maps/MapNavigation.js +27 -64
  142. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  143. package/es-modules/Maps/MapPointer.js +7 -5
  144. package/es-modules/Maps/MapView.js +450 -0
  145. package/es-modules/Maps/MapViewOptionsDefault.js +95 -0
  146. package/es-modules/Maps/Projection.js +433 -0
  147. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  148. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  149. package/es-modules/Maps/Projections/Miller.js +17 -0
  150. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  151. package/es-modules/Maps/Projections/ProjectionRegistry.js +17 -0
  152. package/es-modules/Maps/Projections/WebMercator.js +25 -0
  153. package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
  154. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
  155. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  156. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  157. package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
  158. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  159. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  160. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
  161. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  162. package/es-modules/Series/ColorMapComposition.js +109 -0
  163. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  164. package/es-modules/Series/Column/ColumnSeries.js +3 -4
  165. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
  166. package/es-modules/Series/DataModifyComposition.js +539 -0
  167. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  168. package/es-modules/Series/DerivedComposition.js +137 -0
  169. package/es-modules/Series/DrawPointComposition.js +111 -0
  170. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
  171. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  172. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  173. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  174. package/es-modules/Series/Gantt/GanttSeries.js +0 -2
  175. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  176. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  177. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  178. package/es-modules/Series/HLC/HLCSeries.js +383 -0
  179. package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
  180. package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
  181. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
  182. package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
  183. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -10
  184. package/es-modules/Series/Line/LineSeries.js +1 -2
  185. package/es-modules/Series/Map/MapPoint.js +23 -16
  186. package/es-modules/Series/Map/MapSeries.js +268 -309
  187. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  188. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  189. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  190. package/es-modules/Series/MapPoint/MapPointSeries.js +87 -4
  191. package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
  192. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
  193. package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
  194. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  195. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  196. package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
  197. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
  198. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  199. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  200. package/es-modules/Series/Pie/PieSeries.js +6 -7
  201. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  202. package/es-modules/Series/Sankey/SankeySeries.js +89 -20
  203. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  204. package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
  205. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
  206. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  207. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
  208. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  209. package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
  210. package/es-modules/Series/Venn/VennPoint.js +16 -7
  211. package/es-modules/Series/Venn/VennSeries.js +5 -8
  212. package/es-modules/Series/Venn/VennUtils.js +550 -439
  213. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
  214. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  215. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  216. package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
  217. package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
  218. package/es-modules/Series/XRange/XRangePoint.js +1 -0
  219. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
  220. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  221. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  222. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
  223. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  224. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  225. package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
  226. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  227. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  228. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
  229. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
  230. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  231. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
  232. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
  233. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
  234. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  235. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  236. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  237. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
  238. package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
  239. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  240. package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
  241. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  242. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  243. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -32
  244. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  245. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
  246. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  247. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  248. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  249. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +20 -3
  250. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  251. package/es-modules/Stock/StockToolsBindings.js +144 -42
  252. package/es-modules/Stock/StockToolsGui.js +405 -11
  253. package/es-modules/masters/highcharts-3d.src.js +1 -1
  254. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  255. package/es-modules/masters/highcharts-more.src.js +1 -1
  256. package/es-modules/masters/highcharts.src.js +1 -1
  257. package/es-modules/masters/highmaps.src.js +1 -1
  258. package/es-modules/masters/highstock.src.js +1 -1
  259. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  260. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  261. package/es-modules/masters/indicators/ao.src.js +1 -1
  262. package/es-modules/masters/indicators/apo.src.js +1 -1
  263. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  264. package/es-modules/masters/indicators/aroon.src.js +1 -1
  265. package/es-modules/masters/indicators/atr.src.js +1 -1
  266. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  267. package/es-modules/masters/indicators/cci.src.js +1 -1
  268. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  269. package/es-modules/masters/indicators/cmf.src.js +1 -1
  270. package/es-modules/masters/indicators/cmo.src.js +1 -1
  271. package/es-modules/masters/indicators/dema.src.js +1 -1
  272. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  273. package/es-modules/masters/indicators/dmi.src.js +1 -1
  274. package/es-modules/masters/indicators/dpo.src.js +1 -1
  275. package/es-modules/masters/indicators/ema.src.js +4 -10
  276. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  277. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  278. package/es-modules/masters/indicators/indicators.src.js +2 -1
  279. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  280. package/es-modules/masters/indicators/klinger.src.js +1 -1
  281. package/es-modules/masters/indicators/macd.src.js +1 -1
  282. package/es-modules/masters/indicators/mfi.src.js +1 -1
  283. package/es-modules/masters/indicators/momentum.src.js +1 -1
  284. package/es-modules/masters/indicators/natr.src.js +1 -1
  285. package/es-modules/masters/indicators/obv.src.js +1 -1
  286. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  287. package/es-modules/masters/indicators/ppo.src.js +1 -1
  288. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  289. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  290. package/es-modules/masters/indicators/psar.src.js +1 -1
  291. package/es-modules/masters/indicators/regressions.src.js +1 -1
  292. package/es-modules/masters/indicators/roc.src.js +1 -1
  293. package/es-modules/masters/indicators/rsi.src.js +1 -1
  294. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  295. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  296. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  297. package/es-modules/masters/indicators/tema.src.js +1 -1
  298. package/es-modules/masters/indicators/trendline.src.js +1 -1
  299. package/es-modules/masters/indicators/trix.src.js +1 -1
  300. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  301. package/es-modules/masters/indicators/vwap.src.js +1 -1
  302. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  303. package/es-modules/masters/indicators/wma.src.js +1 -1
  304. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  305. package/es-modules/masters/modules/accessibility.src.js +16 -2
  306. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  307. package/es-modules/masters/modules/annotations.src.js +1 -1
  308. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  309. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  310. package/es-modules/masters/modules/boost.src.js +1 -1
  311. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  312. package/es-modules/masters/modules/bullet.src.js +1 -1
  313. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  314. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  315. package/es-modules/masters/modules/cylinder.src.js +1 -1
  316. package/es-modules/masters/modules/data.src.js +6 -3
  317. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  318. package/es-modules/masters/modules/debugger.src.js +1 -1
  319. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  320. package/es-modules/masters/modules/dotplot.src.js +1 -1
  321. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  322. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  323. package/es-modules/masters/modules/drilldown.src.js +1 -1
  324. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  325. package/es-modules/masters/modules/export-data.src.js +1 -1
  326. package/es-modules/masters/modules/exporting.src.js +1 -1
  327. package/es-modules/masters/modules/full-screen.src.js +1 -1
  328. package/es-modules/masters/modules/funnel.src.js +1 -1
  329. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  330. package/es-modules/masters/modules/gantt.src.js +1 -1
  331. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  332. package/es-modules/masters/modules/heatmap.src.js +1 -2
  333. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  334. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  335. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  336. package/es-modules/masters/modules/item-series.src.js +1 -1
  337. package/es-modules/masters/modules/lollipop.src.js +1 -1
  338. package/es-modules/masters/modules/map.src.js +1 -3
  339. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  340. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  341. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  342. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  343. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  344. package/es-modules/masters/modules/oldie.src.js +1 -1
  345. package/es-modules/masters/modules/organization.src.js +1 -1
  346. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  347. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  348. package/es-modules/masters/modules/pareto.src.js +1 -1
  349. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  350. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  351. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  352. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  353. package/es-modules/masters/modules/sankey.src.js +1 -1
  354. package/es-modules/masters/modules/series-label.src.js +1 -1
  355. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  356. package/es-modules/masters/modules/sonification.src.js +33 -2
  357. package/es-modules/masters/modules/static-scale.src.js +1 -1
  358. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  359. package/es-modules/masters/modules/stock.src.js +4 -1
  360. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  361. package/es-modules/masters/modules/sunburst.src.js +1 -1
  362. package/es-modules/masters/modules/tilemap.src.js +1 -1
  363. package/es-modules/masters/modules/timeline.src.js +1 -1
  364. package/es-modules/masters/modules/treegrid.src.js +1 -1
  365. package/es-modules/masters/modules/treemap.src.js +1 -1
  366. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  367. package/es-modules/masters/modules/variwide.src.js +1 -1
  368. package/es-modules/masters/modules/vector.src.js +1 -1
  369. package/es-modules/masters/modules/venn.src.js +1 -1
  370. package/es-modules/masters/modules/windbarb.src.js +1 -1
  371. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  372. package/es-modules/masters/modules/xrange.src.js +1 -1
  373. package/es-modules/masters/themes/avocado.src.js +1 -1
  374. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  375. package/es-modules/masters/themes/dark-green.src.js +1 -1
  376. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  377. package/es-modules/masters/themes/gray.src.js +1 -1
  378. package/es-modules/masters/themes/grid-light.src.js +1 -1
  379. package/es-modules/masters/themes/grid.src.js +1 -1
  380. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  381. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  382. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  383. package/es-modules/masters/themes/skies.src.js +1 -1
  384. package/es-modules/masters/themes/sunset.src.js +1 -1
  385. package/highcharts-3d.js +1 -1
  386. package/highcharts-3d.src.js +1 -1
  387. package/highcharts-gantt.js +801 -804
  388. package/highcharts-gantt.js.map +1 -1
  389. package/highcharts-gantt.src.js +775 -739
  390. package/highcharts-more.js +194 -193
  391. package/highcharts-more.js.map +1 -1
  392. package/highcharts-more.src.js +207 -119
  393. package/highcharts.d.ts +9670 -4217
  394. package/highcharts.js +585 -588
  395. package/highcharts.js.map +1 -1
  396. package/highcharts.src.d.ts +9670 -4217
  397. package/highcharts.src.js +608 -587
  398. package/highmaps.js +726 -708
  399. package/highmaps.js.map +1 -1
  400. package/highmaps.src.js +2708 -1587
  401. package/highstock.js +788 -783
  402. package/highstock.js.map +1 -1
  403. package/highstock.src.js +1896 -1267
  404. package/indicators/acceleration-bands.js +10 -9
  405. package/indicators/acceleration-bands.js.map +1 -1
  406. package/indicators/acceleration-bands.src.js +156 -112
  407. package/indicators/accumulation-distribution.js +1 -1
  408. package/indicators/accumulation-distribution.src.js +1 -1
  409. package/indicators/ao.js +6 -6
  410. package/indicators/ao.js.map +1 -1
  411. package/indicators/ao.src.js +4 -4
  412. package/indicators/apo.js +5 -6
  413. package/indicators/apo.js.map +1 -1
  414. package/indicators/apo.src.js +16 -84
  415. package/indicators/aroon-oscillator.js +9 -9
  416. package/indicators/aroon-oscillator.js.map +1 -1
  417. package/indicators/aroon-oscillator.src.js +160 -177
  418. package/indicators/aroon.js +9 -9
  419. package/indicators/aroon.js.map +1 -1
  420. package/indicators/aroon.src.js +156 -112
  421. package/indicators/atr.js +1 -1
  422. package/indicators/atr.src.js +1 -1
  423. package/indicators/bollinger-bands.js +10 -9
  424. package/indicators/bollinger-bands.js.map +1 -1
  425. package/indicators/bollinger-bands.src.js +180 -117
  426. package/indicators/cci.js +1 -1
  427. package/indicators/cci.src.js +1 -1
  428. package/indicators/chaikin.js +8 -9
  429. package/indicators/chaikin.js.map +1 -1
  430. package/indicators/chaikin.src.js +8 -76
  431. package/indicators/cmf.js +1 -1
  432. package/indicators/cmf.src.js +1 -1
  433. package/indicators/cmo.js +1 -1
  434. package/indicators/cmo.src.js +1 -1
  435. package/indicators/dema.js +5 -6
  436. package/indicators/dema.js.map +1 -1
  437. package/indicators/dema.src.js +3 -75
  438. package/indicators/disparity-index.js +6 -7
  439. package/indicators/disparity-index.js.map +1 -1
  440. package/indicators/disparity-index.src.js +19 -74
  441. package/indicators/dmi.js +11 -11
  442. package/indicators/dmi.js.map +1 -1
  443. package/indicators/dmi.src.js +173 -116
  444. package/indicators/dpo.js +1 -1
  445. package/indicators/dpo.src.js +1 -1
  446. package/indicators/ema.js +1 -13
  447. package/indicators/ema.js.map +1 -1
  448. package/indicators/ema.src.js +7 -188
  449. package/indicators/ichimoku-kinko-hyo.js +1 -1
  450. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  451. package/indicators/indicators-all.js +197 -203
  452. package/indicators/indicators-all.js.map +1 -1
  453. package/indicators/indicators-all.src.js +649 -720
  454. package/indicators/indicators.js +12 -12
  455. package/indicators/indicators.js.map +1 -1
  456. package/indicators/indicators.src.js +188 -124
  457. package/indicators/keltner-channels.js +10 -10
  458. package/indicators/keltner-channels.js.map +1 -1
  459. package/indicators/keltner-channels.src.js +164 -118
  460. package/indicators/klinger.js +12 -13
  461. package/indicators/klinger.js.map +1 -1
  462. package/indicators/klinger.src.js +161 -184
  463. package/indicators/macd.js +2 -2
  464. package/indicators/macd.js.map +1 -1
  465. package/indicators/macd.src.js +2 -3
  466. package/indicators/mfi.js +1 -1
  467. package/indicators/mfi.src.js +1 -1
  468. package/indicators/momentum.js +1 -1
  469. package/indicators/momentum.src.js +1 -1
  470. package/indicators/natr.js +3 -3
  471. package/indicators/natr.js.map +1 -1
  472. package/indicators/natr.src.js +2 -4
  473. package/indicators/obv.js +1 -1
  474. package/indicators/obv.src.js +1 -1
  475. package/indicators/pivot-points.js +1 -1
  476. package/indicators/pivot-points.src.js +1 -1
  477. package/indicators/ppo.js +5 -6
  478. package/indicators/ppo.js.map +1 -1
  479. package/indicators/ppo.src.js +3 -75
  480. package/indicators/price-channel.js +9 -9
  481. package/indicators/price-channel.js.map +1 -1
  482. package/indicators/price-channel.src.js +207 -168
  483. package/indicators/price-envelopes.js +1 -1
  484. package/indicators/price-envelopes.src.js +1 -1
  485. package/indicators/psar.js +1 -1
  486. package/indicators/psar.src.js +1 -1
  487. package/indicators/regressions.js +1 -1
  488. package/indicators/regressions.src.js +9 -9
  489. package/indicators/roc.js +1 -1
  490. package/indicators/roc.src.js +1 -1
  491. package/indicators/rsi.js +1 -1
  492. package/indicators/rsi.src.js +1 -1
  493. package/indicators/slow-stochastic.js +5 -6
  494. package/indicators/slow-stochastic.js.map +1 -1
  495. package/indicators/slow-stochastic.src.js +2 -72
  496. package/indicators/stochastic.js +10 -10
  497. package/indicators/stochastic.js.map +1 -1
  498. package/indicators/stochastic.src.js +209 -164
  499. package/indicators/supertrend.js +10 -10
  500. package/indicators/supertrend.js.map +1 -1
  501. package/indicators/supertrend.src.js +6 -7
  502. package/indicators/tema.js +6 -7
  503. package/indicators/tema.js.map +1 -1
  504. package/indicators/tema.src.js +28 -75
  505. package/indicators/trendline.js +1 -1
  506. package/indicators/trendline.src.js +1 -1
  507. package/indicators/trix.js +4 -5
  508. package/indicators/trix.js.map +1 -1
  509. package/indicators/trix.src.js +8 -76
  510. package/indicators/volume-by-price.js +16 -16
  511. package/indicators/volume-by-price.js.map +1 -1
  512. package/indicators/volume-by-price.src.js +21 -3
  513. package/indicators/vwap.js +1 -1
  514. package/indicators/vwap.src.js +1 -1
  515. package/indicators/williams-r.js +5 -6
  516. package/indicators/williams-r.js.map +1 -1
  517. package/indicators/williams-r.src.js +41 -51
  518. package/indicators/wma.js +1 -1
  519. package/indicators/wma.src.js +1 -1
  520. package/indicators/zigzag.js +1 -1
  521. package/indicators/zigzag.src.js +1 -1
  522. package/modules/accessibility.d.ts +5 -0
  523. package/modules/accessibility.js +234 -216
  524. package/modules/accessibility.js.map +1 -1
  525. package/modules/accessibility.src.d.ts +5 -0
  526. package/modules/accessibility.src.js +9709 -8608
  527. package/modules/annotations-advanced.d.ts +30 -0
  528. package/modules/annotations-advanced.js +191 -165
  529. package/modules/annotations-advanced.js.map +1 -1
  530. package/modules/annotations-advanced.src.d.ts +30 -0
  531. package/modules/annotations-advanced.src.js +1578 -320
  532. package/modules/annotations.js +121 -107
  533. package/modules/annotations.js.map +1 -1
  534. package/modules/annotations.src.js +958 -229
  535. package/modules/arrow-symbols.js +1 -1
  536. package/modules/arrow-symbols.src.js +1 -1
  537. package/modules/boost-canvas.js +15 -15
  538. package/modules/boost-canvas.js.map +1 -1
  539. package/modules/boost-canvas.src.js +3 -3
  540. package/modules/boost.js +79 -79
  541. package/modules/boost.js.map +1 -1
  542. package/modules/boost.src.js +10 -9
  543. package/modules/broken-axis.js +1 -1
  544. package/modules/broken-axis.src.js +1 -1
  545. package/modules/bullet.js +1 -1
  546. package/modules/bullet.src.js +1 -1
  547. package/modules/coloraxis.js +24 -24
  548. package/modules/coloraxis.js.map +1 -1
  549. package/modules/coloraxis.src.js +69 -98
  550. package/modules/current-date-indicator.js +4 -4
  551. package/modules/current-date-indicator.js.map +1 -1
  552. package/modules/current-date-indicator.src.js +4 -4
  553. package/modules/cylinder.js +1 -1
  554. package/modules/cylinder.src.js +1 -1
  555. package/modules/data.js +19 -19
  556. package/modules/data.js.map +1 -1
  557. package/modules/data.src.js +9 -6
  558. package/modules/datagrouping.js +20 -20
  559. package/modules/datagrouping.js.map +1 -1
  560. package/modules/datagrouping.src.js +33 -19
  561. package/modules/debugger.js +1 -1
  562. package/modules/debugger.src.js +1 -1
  563. package/modules/dependency-wheel.js +11 -11
  564. package/modules/dependency-wheel.js.map +1 -1
  565. package/modules/dependency-wheel.src.js +4 -7
  566. package/modules/dotplot.js +1 -1
  567. package/modules/dotplot.src.js +1 -1
  568. package/modules/drag-panes.js +8 -8
  569. package/modules/drag-panes.js.map +1 -1
  570. package/modules/drag-panes.src.js +3 -3
  571. package/modules/draggable-points.js +1 -1
  572. package/modules/draggable-points.src.js +1 -1
  573. package/modules/drilldown.js +24 -24
  574. package/modules/drilldown.js.map +1 -1
  575. package/modules/drilldown.src.js +4 -4
  576. package/modules/dumbbell.js +17 -17
  577. package/modules/dumbbell.js.map +1 -1
  578. package/modules/dumbbell.src.js +4 -4
  579. package/modules/export-data.js +1 -1
  580. package/modules/export-data.js.map +1 -1
  581. package/modules/export-data.src.js +3 -3
  582. package/modules/exporting.js +39 -38
  583. package/modules/exporting.js.map +1 -1
  584. package/modules/exporting.src.js +98 -67
  585. package/modules/full-screen.js +1 -1
  586. package/modules/full-screen.src.js +1 -1
  587. package/modules/funnel.js +12 -12
  588. package/modules/funnel.js.map +1 -1
  589. package/modules/funnel.src.js +9 -6
  590. package/modules/funnel3d.js +1 -1
  591. package/modules/funnel3d.src.js +1 -1
  592. package/modules/gantt.js +217 -218
  593. package/modules/gantt.js.map +1 -1
  594. package/modules/gantt.src.js +167 -152
  595. package/modules/grid-axis.js +1 -1
  596. package/modules/grid-axis.src.js +1 -1
  597. package/modules/heatmap.js +39 -39
  598. package/modules/heatmap.js.map +1 -1
  599. package/modules/heatmap.src.js +177 -162
  600. package/modules/heikinashi.js +1 -1
  601. package/modules/heikinashi.src.js +4 -4
  602. package/modules/histogram-bellcurve.js +13 -13
  603. package/modules/histogram-bellcurve.js.map +1 -1
  604. package/modules/histogram-bellcurve.src.js +91 -86
  605. package/modules/hollowcandlestick.js +9 -9
  606. package/modules/hollowcandlestick.js.map +1 -1
  607. package/modules/hollowcandlestick.src.js +11 -11
  608. package/modules/item-series.js +1 -1
  609. package/modules/item-series.src.js +1 -1
  610. package/modules/lollipop.js +1 -1
  611. package/modules/lollipop.src.js +1 -1
  612. package/modules/map.d.ts +136 -14
  613. package/modules/map.js +142 -122
  614. package/modules/map.js.map +1 -1
  615. package/modules/map.src.d.ts +136 -14
  616. package/modules/map.src.js +2129 -1029
  617. package/modules/marker-clusters.js +36 -36
  618. package/modules/marker-clusters.js.map +1 -1
  619. package/modules/marker-clusters.src.js +173 -142
  620. package/modules/networkgraph.d.ts +12 -1
  621. package/modules/networkgraph.js +49 -49
  622. package/modules/networkgraph.js.map +1 -1
  623. package/modules/networkgraph.src.d.ts +12 -1
  624. package/modules/networkgraph.src.js +91 -43
  625. package/modules/no-data-to-display.js +5 -5
  626. package/modules/no-data-to-display.js.map +1 -1
  627. package/modules/no-data-to-display.src.js +3 -3
  628. package/modules/offline-exporting.js +17 -17
  629. package/modules/offline-exporting.js.map +1 -1
  630. package/modules/offline-exporting.src.js +13 -13
  631. package/modules/oldie-polyfills.js +1 -1
  632. package/modules/oldie-polyfills.src.js +1 -1
  633. package/modules/oldie.js +26 -26
  634. package/modules/oldie.js.map +1 -1
  635. package/modules/oldie.src.js +4 -4
  636. package/modules/organization.js +13 -13
  637. package/modules/organization.js.map +1 -1
  638. package/modules/organization.src.js +4 -4
  639. package/modules/overlapping-datalabels.js +1 -1
  640. package/modules/overlapping-datalabels.src.js +1 -1
  641. package/modules/parallel-coordinates.js +1 -1
  642. package/modules/parallel-coordinates.src.js +1 -1
  643. package/modules/pareto.js +7 -7
  644. package/modules/pareto.js.map +1 -1
  645. package/modules/pareto.src.js +89 -78
  646. package/modules/pathfinder.js +1 -1
  647. package/modules/pathfinder.src.js +1 -1
  648. package/modules/pattern-fill.js +1 -1
  649. package/modules/pattern-fill.src.js +1 -1
  650. package/modules/price-indicator.js +1 -1
  651. package/modules/price-indicator.src.js +1 -1
  652. package/modules/pyramid3d.js +1 -1
  653. package/modules/pyramid3d.src.js +1 -1
  654. package/modules/sankey.d.ts +12 -1
  655. package/modules/sankey.js +29 -29
  656. package/modules/sankey.js.map +1 -1
  657. package/modules/sankey.src.d.ts +12 -1
  658. package/modules/sankey.src.js +300 -176
  659. package/modules/series-label.js +1 -1
  660. package/modules/series-label.src.js +1 -1
  661. package/modules/solid-gauge.js +1 -1
  662. package/modules/solid-gauge.src.js +1 -1
  663. package/modules/sonification.js +59 -55
  664. package/modules/sonification.js.map +1 -1
  665. package/modules/sonification.src.js +3034 -2553
  666. package/modules/static-scale.js +1 -1
  667. package/modules/static-scale.src.js +1 -1
  668. package/modules/stock-tools.js +177 -164
  669. package/modules/stock-tools.js.map +1 -1
  670. package/modules/stock-tools.src.js +1001 -131
  671. package/modules/stock.d.ts +39 -6
  672. package/modules/stock.js +204 -196
  673. package/modules/stock.js.map +1 -1
  674. package/modules/stock.src.d.ts +39 -6
  675. package/modules/stock.src.js +1689 -1081
  676. package/modules/streamgraph.js +1 -1
  677. package/modules/streamgraph.src.js +1 -1
  678. package/modules/sunburst.js +61 -60
  679. package/modules/sunburst.js.map +1 -1
  680. package/modules/sunburst.src.js +329 -266
  681. package/modules/tilemap.js +17 -17
  682. package/modules/tilemap.js.map +1 -1
  683. package/modules/tilemap.src.js +3 -4
  684. package/modules/timeline.js +18 -18
  685. package/modules/timeline.js.map +1 -1
  686. package/modules/timeline.src.js +5 -5
  687. package/modules/treegrid.js +56 -57
  688. package/modules/treegrid.js.map +1 -1
  689. package/modules/treegrid.src.js +126 -120
  690. package/modules/treemap.js +41 -41
  691. package/modules/treemap.js.map +1 -1
  692. package/modules/treemap.src.js +319 -254
  693. package/modules/variable-pie.js +1 -1
  694. package/modules/variable-pie.src.js +1 -1
  695. package/modules/variwide.js +1 -1
  696. package/modules/variwide.src.js +1 -1
  697. package/modules/vector.js +1 -1
  698. package/modules/vector.src.js +1 -1
  699. package/modules/venn.js +31 -31
  700. package/modules/venn.js.map +1 -1
  701. package/modules/venn.src.js +731 -721
  702. package/modules/windbarb.js +15 -15
  703. package/modules/windbarb.js.map +1 -1
  704. package/modules/windbarb.src.js +90 -62
  705. package/modules/wordcloud.js +23 -24
  706. package/modules/wordcloud.js.map +1 -1
  707. package/modules/wordcloud.src.js +897 -949
  708. package/modules/xrange.js +2 -2
  709. package/modules/xrange.js.map +1 -1
  710. package/modules/xrange.src.js +2 -1
  711. package/package.json +1 -1
  712. package/themes/avocado.js +1 -1
  713. package/themes/avocado.src.js +1 -1
  714. package/themes/dark-blue.js +1 -1
  715. package/themes/dark-blue.src.js +1 -1
  716. package/themes/dark-green.js +1 -1
  717. package/themes/dark-green.src.js +1 -1
  718. package/themes/dark-unica.js +1 -1
  719. package/themes/dark-unica.src.js +1 -1
  720. package/themes/gray.js +1 -1
  721. package/themes/gray.src.js +1 -1
  722. package/themes/grid-light.js +1 -1
  723. package/themes/grid-light.src.js +1 -1
  724. package/themes/grid.js +1 -1
  725. package/themes/grid.src.js +1 -1
  726. package/themes/high-contrast-dark.js +1 -1
  727. package/themes/high-contrast-dark.src.js +1 -1
  728. package/themes/high-contrast-light.js +1 -1
  729. package/themes/high-contrast-light.src.js +1 -1
  730. package/themes/sand-signika.js +1 -1
  731. package/themes/sand-signika.src.js +1 -1
  732. package/themes/skies.js +1 -1
  733. package/themes/skies.src.js +1 -1
  734. package/themes/sunset.js +1 -1
  735. package/themes/sunset.src.js +1 -1
  736. package/es-modules/Core/Axis/MapAxis.js +0 -157
  737. package/es-modules/Core/Color/Palette.js +0 -82
  738. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  739. package/es-modules/Mixins/ColorMapSeries.js +0 -82
  740. package/es-modules/Mixins/ColorSeries.js +0 -77
  741. package/es-modules/Mixins/DerivedSeries.js +0 -118
  742. package/es-modules/Mixins/DrawPoint.js +0 -81
  743. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  744. package/es-modules/Mixins/Navigation.js +0 -54
  745. package/es-modules/Mixins/NelderMead.js +0 -132
  746. package/es-modules/Mixins/Polygon.js +0 -259
  747. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -15,11 +15,9 @@ import ChartUtilities from '../Utils/ChartUtilities.js';
15
15
  var unhideChartElementFromAT = ChartUtilities.unhideChartElementFromAT;
16
16
  import H from '../../Core/Globals.js';
17
17
  var noop = H.noop;
18
- import HTMLUtilities from '../Utils/HTMLUtilities.js';
19
- var removeElement = HTMLUtilities.removeElement, setElAttrs = HTMLUtilities.setElAttrs;
20
18
  import KeyboardNavigationHandler from '../KeyboardNavigationHandler.js';
21
19
  import U from '../../Core/Utilities.js';
22
- var extend = U.extend, pick = U.pick;
20
+ var attr = U.attr, extend = U.extend, pick = U.pick;
23
21
  /* eslint-disable no-invalid-this, valid-jsdoc */
24
22
  /**
25
23
  * @private
@@ -40,7 +38,12 @@ function chartHasMapZoom(chart) {
40
38
  * @param {number} [granularity]
41
39
  */
42
40
  H.Axis.prototype.panStep = function (direction, granularity) {
43
- var gran = granularity || 3, extremes = this.getExtremes(), step = (extremes.max - extremes.min) / gran * direction, newMax = extremes.max + step, newMin = extremes.min + step, size = newMax - newMin;
41
+ var gran = granularity || 3;
42
+ var extremes = this.getExtremes();
43
+ var step = (extremes.max - extremes.min) / gran * direction;
44
+ var newMax = extremes.max + step;
45
+ var newMin = extremes.min + step;
46
+ var size = newMax - newMin;
44
47
  if (direction < 0 && newMin < extremes.dataMin) {
45
48
  newMin = extremes.dataMin;
46
49
  newMax = newMin + size;
@@ -66,6 +69,7 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
66
69
  */
67
70
  init: function () {
68
71
  var component = this, chart = this.chart;
72
+ this.proxyProvider.addGroup('zoom', 'div');
69
73
  [
70
74
  'afterShowResetZoom', 'afterDrilldown', 'drillupall'
71
75
  ].forEach(function (eventType) {
@@ -94,7 +98,7 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
94
98
  */
95
99
  setMapNavButtonAttrs: function (button, labelFormatKey) {
96
100
  var chart = this.chart, label = chart.langFormat(labelFormatKey, { chart: chart });
97
- setElAttrs(button, {
101
+ attr(button, {
98
102
  tabindex: -1,
99
103
  role: 'button',
100
104
  'aria-label': label
@@ -113,13 +117,12 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
113
117
  updateProxyOverlays: function () {
114
118
  var chart = this.chart;
115
119
  // Always start with a clean slate
116
- removeElement(this.drillUpProxyGroup);
117
- removeElement(this.resetZoomProxyGroup);
120
+ this.proxyProvider.clearGroup('zoom');
118
121
  if (chart.resetZoomButton) {
119
- this.recreateProxyButtonAndGroup(chart.resetZoomButton, 'resetZoomProxyButton', 'resetZoomProxyGroup', chart.langFormat('accessibility.zoom.resetZoomButton', { chart: chart }));
122
+ this.createZoomProxyButton(chart.resetZoomButton, 'resetZoomProxyButton', chart.langFormat('accessibility.zoom.resetZoomButton', { chart: chart }));
120
123
  }
121
124
  if (chart.drillUpButton) {
122
- this.recreateProxyButtonAndGroup(chart.drillUpButton, 'drillUpProxyButton', 'drillUpProxyGroup', chart.langFormat('accessibility.drillUpButton', {
125
+ this.createZoomProxyButton(chart.drillUpButton, 'drillUpProxyButton', chart.langFormat('accessibility.drillUpButton', {
123
126
  chart: chart,
124
127
  buttonText: chart.getDrilldownBackText()
125
128
  }));
@@ -129,13 +132,15 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
129
132
  * @private
130
133
  * @param {Highcharts.SVGElement} buttonEl
131
134
  * @param {string} buttonProp
132
- * @param {string} groupProp
133
135
  * @param {string} label
134
136
  */
135
- recreateProxyButtonAndGroup: function (buttonEl, buttonProp, groupProp, label) {
136
- removeElement(this[groupProp]);
137
- this[groupProp] = this.addProxyGroup();
138
- this[buttonProp] = this.createProxyButton(buttonEl, this[groupProp], { 'aria-label': label, tabindex: -1 });
137
+ createZoomProxyButton: function (buttonEl, buttonProp, label) {
138
+ this[buttonProp] = this.proxyProvider.addProxyElement('zoom', {
139
+ click: buttonEl
140
+ }, {
141
+ 'aria-label': label,
142
+ tabindex: -1
143
+ });
139
144
  },
140
145
  /**
141
146
  * Get keyboard navigation handler for map zoom.
@@ -193,7 +198,10 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
193
198
  * @return {number} Response code
194
199
  */
195
200
  onMapKbdTab: function (keyboardNavigationHandler, event) {
196
- var button, chart = this.chart, response = keyboardNavigationHandler.response, isBackwards = event.shiftKey, isMoveOutOfRange = isBackwards && !this.focusedMapNavButtonIx ||
201
+ var chart = this.chart;
202
+ var response = keyboardNavigationHandler.response;
203
+ var isBackwards = event.shiftKey;
204
+ var isMoveOutOfRange = isBackwards && !this.focusedMapNavButtonIx ||
197
205
  !isBackwards && this.focusedMapNavButtonIx;
198
206
  // Deselect old
199
207
  chart.mapNavButtons[this.focusedMapNavButtonIx].setState(0);
@@ -203,7 +211,7 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
203
211
  }
204
212
  // Select other button
205
213
  this.focusedMapNavButtonIx += isBackwards ? -1 : 1;
206
- button = chart.mapNavButtons[this.focusedMapNavButtonIx];
214
+ var button = chart.mapNavButtons[this.focusedMapNavButtonIx];
207
215
  chart.setFocusToElement(button.box, button.element);
208
216
  button.setState(2);
209
217
  return response.success;
@@ -214,8 +222,8 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
214
222
  * @return {number} Response code
215
223
  */
216
224
  onMapKbdClick: function (keyboardNavigationHandler) {
217
- this.fakeClickEvent(this.chart.mapNavButtons[this.focusedMapNavButtonIx]
218
- .element);
225
+ var el = this.chart.mapNavButtons[this.focusedMapNavButtonIx].element;
226
+ this.fakeClickEvent(el);
219
227
  return keyboardNavigationHandler.response.success;
220
228
  },
221
229
  /**
@@ -260,11 +268,11 @@ extend(ZoomComponent.prototype, /** @lends Highcharts.ZoomComponent */ {
260
268
  validate: function () {
261
269
  var hasButton = (chart[buttonProp] &&
262
270
  chart[buttonProp].box &&
263
- component[proxyProp]);
271
+ component[proxyProp].buttonElement);
264
272
  return hasButton;
265
273
  },
266
274
  init: function () {
267
- chart.setFocusToElement(chart[buttonProp].box, component[proxyProp]);
275
+ chart.setFocusToElement(chart[buttonProp].box, component[proxyProp].buttonElement);
268
276
  }
269
277
  });
270
278
  },
@@ -10,102 +10,134 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
- import Chart from '../Core/Chart/Chart.js';
14
- import SVGElement from '../Core/Renderer/SVG/SVGElement.js';
15
13
  import SVGLabel from '../Core/Renderer/SVG/SVGLabel.js';
16
14
  import U from '../Core/Utilities.js';
17
- var addEvent = U.addEvent, extend = U.extend, pick = U.pick;
18
- /* eslint-disable no-invalid-this, valid-jsdoc */
19
- // Attributes that trigger a focus border update
20
- var svgElementBorderUpdateTriggers = [
21
- 'x', 'y', 'transform', 'width', 'height', 'r', 'd', 'stroke-width'
22
- ];
23
- /**
24
- * Add hook to destroy focus border if SVG element is destroyed, unless
25
- * hook already exists.
26
- * @private
27
- * @param el Element to add destroy hook to
28
- */
29
- function addDestroyFocusBorderHook(el) {
30
- if (el.focusBorderDestroyHook) {
31
- return;
32
- }
33
- var origDestroy = el.destroy;
34
- el.destroy = function () {
35
- if (el.focusBorder && el.focusBorder.destroy) {
36
- el.focusBorder.destroy();
15
+ var addEvent = U.addEvent, pick = U.pick;
16
+ /* *
17
+ *
18
+ * Composition
19
+ *
20
+ * */
21
+ var FocusBorderComposition;
22
+ (function (FocusBorderComposition) {
23
+ /* *
24
+ *
25
+ * Declarations
26
+ *
27
+ * */
28
+ /* *
29
+ *
30
+ * Constants
31
+ *
32
+ * */
33
+ var composedClasses = [];
34
+ // Attributes that trigger a focus border update
35
+ var svgElementBorderUpdateTriggers = [
36
+ 'x', 'y', 'transform', 'width', 'height', 'r', 'd', 'stroke-width'
37
+ ];
38
+ /* *
39
+ *
40
+ * Functions
41
+ *
42
+ * */
43
+ /* eslint-disable valid-jsdoc */
44
+ /**
45
+ * @private
46
+ */
47
+ function compose(ChartClass, SVGElementClass) {
48
+ if (composedClasses.indexOf(ChartClass) === -1) {
49
+ composedClasses.push(ChartClass);
50
+ var chartProto = ChartClass.prototype;
51
+ chartProto.renderFocusBorder = chartRenderFocusBorder;
52
+ chartProto.setFocusToElement = chartSetFocusToElement;
53
+ }
54
+ if (composedClasses.indexOf(SVGElementClass) === -1) {
55
+ composedClasses.push(SVGElementClass);
56
+ var svgElementProto = SVGElementClass.prototype;
57
+ svgElementProto.addFocusBorder = svgElementAddFocusBorder;
58
+ svgElementProto.removeFocusBorder = svgElementRemoveFocusBorder;
37
59
  }
38
- return origDestroy.apply(el, arguments);
39
- };
40
- el.focusBorderDestroyHook = origDestroy;
41
- }
42
- /**
43
- * Remove hook from SVG element added by addDestroyFocusBorderHook, if
44
- * existing.
45
- * @private
46
- * @param el Element to remove destroy hook from
47
- */
48
- function removeDestroyFocusBorderHook(el) {
49
- if (!el.focusBorderDestroyHook) {
50
- return;
51
60
  }
52
- el.destroy = el.focusBorderDestroyHook;
53
- delete el.focusBorderDestroyHook;
54
- }
55
- /**
56
- * Add hooks to update the focus border of an element when the element
57
- * size/position is updated, unless already added.
58
- * @private
59
- * @param el Element to add update hooks to
60
- * @param updateParams Parameters to pass through to addFocusBorder when updating.
61
- */
62
- function addUpdateFocusBorderHooks(el) {
63
- var updateParams = [];
64
- for (var _i = 1; _i < arguments.length; _i++) {
65
- updateParams[_i - 1] = arguments[_i];
61
+ FocusBorderComposition.compose = compose;
62
+ /**
63
+ * Redraws the focus border on the currently focused element.
64
+ *
65
+ * @private
66
+ * @function Highcharts.Chart#renderFocusBorder
67
+ */
68
+ function chartRenderFocusBorder() {
69
+ var focusElement = this.focusElement, focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder;
70
+ if (focusElement) {
71
+ focusElement.removeFocusBorder();
72
+ if (focusBorderOptions.enabled) {
73
+ focusElement.addFocusBorder(focusBorderOptions.margin, {
74
+ stroke: focusBorderOptions.style.color,
75
+ strokeWidth: focusBorderOptions.style.lineWidth,
76
+ r: focusBorderOptions.style.borderRadius
77
+ });
78
+ }
79
+ }
66
80
  }
67
- if (el.focusBorderUpdateHooks) {
68
- return;
81
+ /**
82
+ * Set chart's focus to an SVGElement. Calls focus() on it, and draws the
83
+ * focus border. This is used by multiple components.
84
+ *
85
+ * @private
86
+ * @function Highcharts.Chart#setFocusToElement
87
+ *
88
+ * @param {Highcharts.SVGElement} svgElement
89
+ * Element to draw the border around.
90
+ *
91
+ * @param {SVGDOMElement|HTMLDOMElement} [focusElement]
92
+ * If supplied, it draws the border around svgElement and sets the focus to
93
+ * focusElement.
94
+ */
95
+ function chartSetFocusToElement(svgElement, focusElement) {
96
+ var focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder, browserFocusElement = focusElement || svgElement.element;
97
+ // Set browser focus if possible
98
+ if (browserFocusElement &&
99
+ browserFocusElement.focus) {
100
+ // If there is no focusin-listener, add one to work around Edge
101
+ // where Narrator is not reading out points despite calling focus().
102
+ if (!(browserFocusElement.hcEvents &&
103
+ browserFocusElement.hcEvents.focusin)) {
104
+ addEvent(browserFocusElement, 'focusin', function () { });
105
+ }
106
+ browserFocusElement.focus();
107
+ // Hide default focus ring
108
+ if (focusBorderOptions.hideBrowserFocusOutline) {
109
+ browserFocusElement.style.outline = 'none';
110
+ }
111
+ }
112
+ if (this.focusElement) {
113
+ this.focusElement.removeFocusBorder();
114
+ }
115
+ this.focusElement = svgElement;
116
+ this.renderFocusBorder();
69
117
  }
70
- el.focusBorderUpdateHooks = {};
71
- svgElementBorderUpdateTriggers.forEach(function (trigger) {
72
- var setterKey = trigger + 'Setter';
73
- var origSetter = el[setterKey] || el._defaultSetter;
74
- el.focusBorderUpdateHooks[setterKey] = origSetter;
75
- el[setterKey] = function () {
76
- var ret = origSetter.apply(el, arguments);
77
- el.addFocusBorder.apply(el, updateParams);
78
- return ret;
118
+ /**
119
+ * Add hook to destroy focus border if SVG element is destroyed, unless
120
+ * hook already exists.
121
+ * @private
122
+ * @param el Element to add destroy hook to
123
+ */
124
+ function svgElementAddDestroyFocusBorderHook(el) {
125
+ if (el.focusBorderDestroyHook) {
126
+ return;
127
+ }
128
+ var origDestroy = el.destroy;
129
+ el.destroy = function () {
130
+ if (el.focusBorder && el.focusBorder.destroy) {
131
+ el.focusBorder.destroy();
132
+ }
133
+ return origDestroy.apply(el, arguments);
79
134
  };
80
- });
81
- }
82
- /**
83
- * Remove hooks from SVG element added by addUpdateFocusBorderHooks, if
84
- * existing.
85
- * @private
86
- * @param el Element to remove update hooks from
87
- */
88
- function removeUpdateFocusBorderHooks(el) {
89
- if (!el.focusBorderUpdateHooks) {
90
- return;
135
+ el.focusBorderDestroyHook = origDestroy;
91
136
  }
92
- Object.keys(el.focusBorderUpdateHooks).forEach(function (setterKey) {
93
- var origSetter = el.focusBorderUpdateHooks[setterKey];
94
- if (origSetter === el._defaultSetter) {
95
- delete el[setterKey];
96
- }
97
- else {
98
- el[setterKey] = origSetter;
99
- }
100
- });
101
- delete el.focusBorderUpdateHooks;
102
- }
103
- /*
104
- * Add focus border functionality to SVGElements. Draws a new rect on top of
105
- * element around its bounding box. This is used by multiple components.
106
- */
107
- extend(SVGElement.prototype, {
108
137
  /**
138
+ * Add focus border functionality to SVGElements. Draws a new rect on top of
139
+ * element around its bounding box. This is used by multiple components.
140
+ *
109
141
  * @private
110
142
  * @function Highcharts.SVGElement#addFocusBorder
111
143
  *
@@ -113,7 +145,7 @@ extend(SVGElement.prototype, {
113
145
  *
114
146
  * @param {SVGAttributes} attribs
115
147
  */
116
- addFocusBorder: function (margin, attribs) {
148
+ function svgElementAddFocusBorder(margin, attribs) {
117
149
  // Allow updating by just adding new border
118
150
  if (this.focusBorder) {
119
151
  this.removeFocusBorder();
@@ -188,75 +220,88 @@ extend(SVGElement.prototype, {
188
220
  'stroke-width': attribs && attribs.strokeWidth
189
221
  });
190
222
  }
191
- addUpdateFocusBorderHooks(this, margin, attribs);
192
- addDestroyFocusBorderHook(this);
193
- },
223
+ avgElementAddUpdateFocusBorderHooks(this, margin, attribs);
224
+ svgElementAddDestroyFocusBorderHook(this);
225
+ }
194
226
  /**
227
+ * Add hooks to update the focus border of an element when the element
228
+ * size/position is updated, unless already added.
229
+ * @private
230
+ * @param el Element to add update hooks to
231
+ * @param updateParams Parameters to pass through to addFocusBorder when updating.
232
+ */
233
+ function avgElementAddUpdateFocusBorderHooks(el) {
234
+ var updateParams = [];
235
+ for (var _i = 1; _i < arguments.length; _i++) {
236
+ updateParams[_i - 1] = arguments[_i];
237
+ }
238
+ if (el.focusBorderUpdateHooks) {
239
+ return;
240
+ }
241
+ el.focusBorderUpdateHooks = {};
242
+ svgElementBorderUpdateTriggers.forEach(function (trigger) {
243
+ var setterKey = trigger + 'Setter';
244
+ var origSetter = el[setterKey] || el._defaultSetter;
245
+ el.focusBorderUpdateHooks[setterKey] = origSetter;
246
+ el[setterKey] = function () {
247
+ var ret = origSetter.apply(el, arguments);
248
+ el.addFocusBorder.apply(el, updateParams);
249
+ return ret;
250
+ };
251
+ });
252
+ }
253
+ /**
254
+ * Remove hook from SVG element added by addDestroyFocusBorderHook, if
255
+ * existing.
256
+ * @private
257
+ * @param el Element to remove destroy hook from
258
+ */
259
+ function svgElementRemoveDestroyFocusBorderHook(el) {
260
+ if (!el.focusBorderDestroyHook) {
261
+ return;
262
+ }
263
+ el.destroy = el.focusBorderDestroyHook;
264
+ delete el.focusBorderDestroyHook;
265
+ }
266
+ /**
267
+ * Add focus border functionality to SVGElements. Draws a new rect on top of
268
+ * element around its bounding box. This is used by multiple components.
195
269
  * @private
196
270
  * @function Highcharts.SVGElement#removeFocusBorder
197
271
  */
198
- removeFocusBorder: function () {
199
- removeUpdateFocusBorderHooks(this);
200
- removeDestroyFocusBorderHook(this);
272
+ function svgElementRemoveFocusBorder() {
273
+ svgElementRemoveUpdateFocusBorderHooks(this);
274
+ svgElementRemoveDestroyFocusBorderHook(this);
201
275
  if (this.focusBorder) {
202
276
  this.focusBorder.destroy();
203
277
  delete this.focusBorder;
204
278
  }
205
279
  }
206
- });
207
- /**
208
- * Redraws the focus border on the currently focused element.
209
- *
210
- * @private
211
- * @function Highcharts.Chart#renderFocusBorder
212
- */
213
- Chart.prototype.renderFocusBorder = function () {
214
- var focusElement = this.focusElement, focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder;
215
- if (focusElement) {
216
- focusElement.removeFocusBorder();
217
- if (focusBorderOptions.enabled) {
218
- focusElement.addFocusBorder(focusBorderOptions.margin, {
219
- stroke: focusBorderOptions.style.color,
220
- strokeWidth: focusBorderOptions.style.lineWidth,
221
- r: focusBorderOptions.style.borderRadius
222
- });
280
+ /**
281
+ * Remove hooks from SVG element added by addUpdateFocusBorderHooks, if
282
+ * existing.
283
+ * @private
284
+ * @param el Element to remove update hooks from
285
+ */
286
+ function svgElementRemoveUpdateFocusBorderHooks(el) {
287
+ if (!el.focusBorderUpdateHooks) {
288
+ return;
223
289
  }
290
+ Object.keys(el.focusBorderUpdateHooks).forEach(function (setterKey) {
291
+ var origSetter = el.focusBorderUpdateHooks[setterKey];
292
+ if (origSetter === el._defaultSetter) {
293
+ delete el[setterKey];
294
+ }
295
+ else {
296
+ el[setterKey] = origSetter;
297
+ }
298
+ });
299
+ delete el.focusBorderUpdateHooks;
224
300
  }
225
- };
226
- /**
227
- * Set chart's focus to an SVGElement. Calls focus() on it, and draws the focus
228
- * border. This is used by multiple components.
229
- *
230
- * @private
231
- * @function Highcharts.Chart#setFocusToElement
301
+ })(FocusBorderComposition || (FocusBorderComposition = {}));
302
+ /* *
232
303
  *
233
- * @param {Highcharts.SVGElement} svgElement
234
- * Element to draw the border around.
304
+ * Default Export
235
305
  *
236
- * @param {SVGDOMElement|HTMLDOMElement} [focusElement]
237
- * If supplied, it draws the border around svgElement and sets the focus
238
- * to focusElement.
239
- */
240
- Chart.prototype.setFocusToElement = function (svgElement, focusElement) {
241
- var focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder, browserFocusElement = focusElement || svgElement.element;
242
- // Set browser focus if possible
243
- if (browserFocusElement &&
244
- browserFocusElement.focus) {
245
- // If there is no focusin-listener, add one to work around Edge issue
246
- // where Narrator is not reading out points despite calling focus().
247
- if (!(browserFocusElement.hcEvents &&
248
- browserFocusElement.hcEvents.focusin)) {
249
- addEvent(browserFocusElement, 'focusin', function () { });
250
- }
251
- browserFocusElement.focus();
252
- // Hide default focus ring
253
- if (focusBorderOptions.hideBrowserFocusOutline) {
254
- browserFocusElement.style.outline = 'none';
255
- }
256
- }
257
- if (this.focusElement) {
258
- this.focusElement.removeFocusBorder();
259
- }
260
- this.focusElement = svgElement;
261
- this.renderFocusBorder();
262
- };
306
+ * */
307
+ export default FocusBorderComposition;
@@ -12,72 +12,84 @@
12
12
  'use strict';
13
13
  import H from '../Core/Globals.js';
14
14
  var doc = H.doc, isMS = H.isMS, win = H.win;
15
- var whcm = {
16
- /**
17
- * Detect WHCM in the browser.
18
- *
19
- * @function Highcharts#isHighContrastModeActive
20
- * @private
21
- * @return {boolean} Returns true if the browser is in High Contrast mode.
22
- */
23
- isHighContrastModeActive: function () {
24
- // Use media query on Edge, but not on IE
25
- var isEdge = /(Edg)/.test(win.navigator.userAgent);
26
- if (win.matchMedia && isEdge) {
27
- return win.matchMedia('(-ms-high-contrast: active)').matches;
28
- }
29
- // Test BG image for IE
30
- if (isMS && win.getComputedStyle) {
31
- var testDiv = doc.createElement('div');
32
- var imageSrc = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
33
- testDiv.style.backgroundImage = "url(" + imageSrc + ")"; // #13071
34
- doc.body.appendChild(testDiv);
35
- var bi = (testDiv.currentStyle ||
36
- win.getComputedStyle(testDiv)).backgroundImage;
37
- doc.body.removeChild(testDiv);
38
- return bi === 'none';
39
- }
40
- // Not used for other browsers
41
- return false;
42
- },
43
- /**
44
- * Force high contrast theme for the chart. The default theme is defined in
45
- * a separate file.
46
- *
47
- * @function Highcharts#setHighContrastTheme
48
- * @private
49
- * @param {Highcharts.AccessibilityChart} chart The chart to set the theme of.
50
- * @return {void}
51
- */
52
- setHighContrastTheme: function (chart) {
53
- // We might want to add additional functionality here in the future for
54
- // storing the old state so that we can reset the theme if HC mode is
55
- // disabled. For now, the user will have to reload the page.
56
- chart.highContrastModeActive = true;
57
- // Apply theme to chart
58
- var theme = (chart.options.accessibility.highContrastTheme);
59
- chart.update(theme, false);
60
- // Force series colors (plotOptions is not enough)
61
- chart.series.forEach(function (s) {
62
- var plotOpts = theme.plotOptions[s.type] || {};
63
- s.update({
64
- color: plotOpts.color || 'windowText',
65
- colors: [plotOpts.color || 'windowText'],
66
- borderColor: plotOpts.borderColor || 'window'
67
- });
68
- // Force point colors if existing
69
- s.points.forEach(function (p) {
70
- if (p.options && p.options.color) {
71
- p.update({
72
- color: plotOpts.color || 'windowText',
73
- borderColor: plotOpts.borderColor || 'window'
74
- }, false);
75
- }
76
- });
77
- });
78
- // The redraw for each series and after is required for 3D pie
79
- // (workaround)
80
- chart.redraw();
15
+ /* *
16
+ *
17
+ * Functions
18
+ *
19
+ * */
20
+ /**
21
+ * Detect WHCM in the browser.
22
+ *
23
+ * @function Highcharts#isHighContrastModeActive
24
+ * @private
25
+ * @return {boolean} Returns true if the browser is in High Contrast mode.
26
+ */
27
+ function isHighContrastModeActive() {
28
+ // Use media query on Edge, but not on IE
29
+ var isEdge = /(Edg)/.test(win.navigator.userAgent);
30
+ if (win.matchMedia && isEdge) {
31
+ return win.matchMedia('(-ms-high-contrast: active)').matches;
32
+ }
33
+ // Test BG image for IE
34
+ if (isMS && win.getComputedStyle) {
35
+ var testDiv = doc.createElement('div');
36
+ var imageSrc = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
37
+ testDiv.style.backgroundImage = "url(" + imageSrc + ")"; // #13071
38
+ doc.body.appendChild(testDiv);
39
+ var bi = (testDiv.currentStyle ||
40
+ win.getComputedStyle(testDiv)).backgroundImage;
41
+ doc.body.removeChild(testDiv);
42
+ return bi === 'none';
81
43
  }
44
+ // Not used for other browsers
45
+ return false;
46
+ }
47
+ /**
48
+ * Force high contrast theme for the chart. The default theme is defined in
49
+ * a separate file.
50
+ *
51
+ * @function Highcharts#setHighContrastTheme
52
+ * @private
53
+ * @param {Highcharts.AccessibilityChart} chart The chart to set the theme of.
54
+ * @return {void}
55
+ */
56
+ function setHighContrastTheme(chart) {
57
+ // We might want to add additional functionality here in the future for
58
+ // storing the old state so that we can reset the theme if HC mode is
59
+ // disabled. For now, the user will have to reload the page.
60
+ chart.highContrastModeActive = true;
61
+ // Apply theme to chart
62
+ var theme = (chart.options.accessibility.highContrastTheme);
63
+ chart.update(theme, false);
64
+ // Force series colors (plotOptions is not enough)
65
+ chart.series.forEach(function (s) {
66
+ var plotOpts = theme.plotOptions[s.type] || {};
67
+ s.update({
68
+ color: plotOpts.color || 'windowText',
69
+ colors: [plotOpts.color || 'windowText'],
70
+ borderColor: plotOpts.borderColor || 'window'
71
+ });
72
+ // Force point colors if existing
73
+ s.points.forEach(function (p) {
74
+ if (p.options && p.options.color) {
75
+ p.update({
76
+ color: plotOpts.color || 'windowText',
77
+ borderColor: plotOpts.borderColor || 'window'
78
+ }, false);
79
+ }
80
+ });
81
+ });
82
+ // The redraw for each series and after is required for 3D pie
83
+ // (workaround)
84
+ chart.redraw();
85
+ }
86
+ /* *
87
+ *
88
+ * Default Export
89
+ *
90
+ * */
91
+ var whcm = {
92
+ isHighContrastModeActive: isHighContrastModeActive,
93
+ setHighContrastTheme: setHighContrastTheme
82
94
  };
83
95
  export default whcm;
@@ -10,6 +10,11 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
+ /* *
14
+ *
15
+ * Theme
16
+ *
17
+ * */
13
18
  var theme = {
14
19
  chart: {
15
20
  backgroundColor: 'window'
@@ -208,4 +213,9 @@ var theme = {
208
213
  trackBorderColor: 'windowText'
209
214
  }
210
215
  };
216
+ /* *
217
+ *
218
+ * Default Export
219
+ *
220
+ * */
211
221
  export default theme;