highcharts 9.2.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -6
- package/bower.json +1 -1
- package/css/annotations/popup.css +48 -8
- package/css/annotations/popup.scss +70 -22
- package/css/highcharts.css +45 -0
- package/css/highcharts.scss +40 -0
- package/css/themes/dark-unica.css +45 -0
- package/css/themes/grid-light.css +45 -0
- package/css/themes/sand-signika.css +45 -0
- package/es-modules/Accessibility/A11yI18n.js +273 -224
- package/es-modules/Accessibility/Accessibility.js +237 -128
- package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +173 -104
- package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
- package/es-modules/Accessibility/Components/MenuComponent.js +243 -149
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +170 -88
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
- package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
- package/es-modules/Accessibility/FocusBorder.js +192 -147
- package/es-modules/Accessibility/HighContrastMode.js +78 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +146 -71
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
- package/es-modules/Accessibility/Options/LangOptions.js +1 -2
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +212 -0
- package/es-modules/Accessibility/ProxyProvider.js +305 -0
- package/es-modules/Accessibility/Utils/Announcer.js +15 -8
- package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
- package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
- package/es-modules/Core/Axis/Axis.js +37 -30
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +5 -13
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
- package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +1 -2
- package/es-modules/Core/Chart/Chart.js +2 -3
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/MapChart.js +10 -22
- package/es-modules/Core/Chart/StockChart.js +3 -293
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +19 -17
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +3 -3
- package/es-modules/Core/Legend/Legend.js +7 -3
- package/es-modules/Core/Navigator.js +7 -8
- package/es-modules/Core/Pointer.js +39 -36
- package/es-modules/Core/Renderer/HTML/AST.js +3 -6
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
- package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +17 -13
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +2 -3
- package/es-modules/Core/Series/Point.js +5 -3
- package/es-modules/Core/Series/Series.js +156 -162
- package/es-modules/Core/Series/SeriesDefaults.js +3 -4
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Tooltip.js +44 -17
- package/es-modules/Core/Utilities.js +15 -7
- package/es-modules/Data/DataConverter.js +489 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +203 -0
- package/es-modules/Data/DataTable.js +1204 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/es-modules/Data/Parsers/CSVParser.js +399 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
- package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/es-modules/Data/Stores/CSVStore.js +317 -0
- package/es-modules/Data/Stores/DataStore.js +276 -0
- package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
- package/es-modules/Extensions/Annotations/Annotations.js +61 -11
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +90 -28
- package/es-modules/Extensions/Annotations/Popup.js +479 -141
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
- package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +73 -67
- package/es-modules/Extensions/DataGrouping.js +33 -18
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/Drilldown.js +2 -3
- package/es-modules/Extensions/Exporting/Exporting.js +12 -11
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/GeoJSON.js +39 -63
- package/es-modules/Extensions/MarkerClusters.js +115 -97
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +10 -9
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -3
- package/es-modules/Extensions/Pane.js +5 -6
- package/es-modules/Extensions/Polar.js +1 -1
- package/es-modules/Extensions/RangeSelector.js +3 -4
- package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +496 -426
- package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
- package/es-modules/Extensions/Sonification/Options.js +10 -0
- package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
- package/es-modules/Extensions/Sonification/Sonification.js +26 -52
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
- package/es-modules/Extensions/Sonification/Timeline.js +255 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Maps/MapNavigation.js +27 -64
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +7 -5
- package/es-modules/Maps/MapView.js +450 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/es-modules/Maps/Projection.js +436 -0
- package/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/es-modules/Maps/Projections/Miller.js +16 -0
- package/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubblePoint.js +5 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
- package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/Series/ColorMapComposition.js +109 -0
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +3 -4
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Gantt/GanttSeries.js +0 -2
- package/es-modules/Series/Gauge/GaugePoint.js +1 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
- package/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/es-modules/Series/HLC/HLCSeries.js +383 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
- package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +2 -2
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +33 -34
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +23 -16
- package/es-modules/Series/Map/MapSeries.js +271 -309
- package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +2 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
- package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
- package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
- package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PieSeries.js +6 -7
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +89 -20
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +5 -8
- package/es-modules/Series/Venn/VennUtils.js +550 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
- package/es-modules/Series/XRange/XRangePoint.js +1 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
- package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -49
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +23 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +144 -42
- package/es-modules/Stock/StockToolsGui.js +409 -15
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +4 -10
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +16 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +6 -3
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -2
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -3
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +33 -2
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +4 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +799 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +793 -755
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +208 -120
- package/highcharts.d.ts +9814 -4231
- package/highcharts.js +585 -587
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +9814 -4231
- package/highcharts.src.js +626 -603
- package/highmaps.js +728 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2824 -1613
- package/highstock.js +788 -782
- package/highstock.js.map +1 -1
- package/highstock.src.js +1913 -1284
- package/indicators/acceleration-bands.js +10 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +156 -112
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -4
- package/indicators/apo.js +5 -6
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +16 -84
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +160 -177
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +156 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +10 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +180 -117
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +8 -9
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +8 -76
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +5 -6
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +3 -75
- package/indicators/disparity-index.js +6 -7
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +19 -74
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +173 -116
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -13
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +7 -188
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +197 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +677 -743
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -143
- package/indicators/keltner-channels.js +10 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +164 -118
- package/indicators/klinger.js +12 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +161 -184
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +2 -3
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +2 -4
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +207 -168
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +9 -9
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +5 -6
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +2 -72
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +209 -164
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +6 -7
- package/indicators/tema.js +6 -7
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +28 -75
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +4 -5
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -76
- package/indicators/volume-by-price.js +16 -16
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +24 -7
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +5 -6
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +41 -51
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +5 -0
- package/modules/accessibility.js +237 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +5 -0
- package/modules/accessibility.src.js +7400 -6078
- package/modules/annotations-advanced.d.ts +30 -0
- package/modules/annotations-advanced.js +192 -165
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +30 -0
- package/modules/annotations-advanced.src.js +1604 -332
- package/modules/annotations.js +121 -106
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +981 -238
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +3 -3
- package/modules/boost.js +79 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +10 -9
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +69 -98
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -4
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +85 -88
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +35 -19
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +4 -7
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +8 -8
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +3 -3
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +4 -4
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -4
- package/modules/export-data.js +1 -1
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +3 -3
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +102 -72
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +9 -6
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +167 -152
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +177 -162
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +4 -4
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +91 -86
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +37 -37
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +136 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +136 -14
- package/modules/map.src.js +2227 -1039
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +173 -142
- package/modules/networkgraph.d.ts +12 -1
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +12 -1
- package/modules/networkgraph.src.js +91 -43
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +3 -3
- package/modules/offline-exporting.js +18 -17
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +14 -14
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +26 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +4 -4
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +4 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +89 -78
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +12 -1
- package/modules/sankey.js +29 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +12 -1
- package/modules/sankey.src.js +300 -176
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3034 -2553
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +178 -163
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +1028 -144
- package/modules/stock.d.ts +39 -6
- package/modules/stock.js +204 -196
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +39 -6
- package/modules/stock.src.js +1667 -1061
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +61 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +329 -266
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -4
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +5 -5
- package/modules/treegrid.js +56 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +126 -120
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +319 -254
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +731 -721
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +90 -62
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +897 -949
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +2 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/MapAxis.js +0 -157
- package/es-modules/Core/Color/Palette.js +0 -82
- package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
- package/es-modules/Mixins/ColorMapSeries.js +0 -82
- package/es-modules/Mixins/ColorSeries.js +0 -77
- package/es-modules/Mixins/DerivedSeries.js +0 -118
- package/es-modules/Mixins/DrawPoint.js +0 -81
- package/es-modules/Mixins/IndicatorRequired.js +0 -56
- package/es-modules/Mixins/Navigation.js +0 -54
- package/es-modules/Mixins/NelderMead.js +0 -132
- package/es-modules/Mixins/Polygon.js +0 -259
- package/es-modules/Mixins/ReduceArray.js +0 -54
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*
|
|
11
11
|
* */
|
|
12
12
|
'use strict';
|
|
13
|
-
import palette from '../../Core/Color/Palette.js';
|
|
14
13
|
/**
|
|
15
14
|
* Formatter callback for the accessibility announcement.
|
|
16
15
|
*
|
|
@@ -149,6 +148,8 @@ var Options = {
|
|
|
149
148
|
* corresponds to the heading level below the previous heading in
|
|
150
149
|
* the DOM.
|
|
151
150
|
*
|
|
151
|
+
* Set to empty string to remove the region altogether.
|
|
152
|
+
*
|
|
152
153
|
* @since 8.0.0
|
|
153
154
|
*/
|
|
154
155
|
beforeChartFormat: '<{headingTagName}>{chartTitle}</{headingTagName}>' +
|
|
@@ -180,7 +181,7 @@ var Options = {
|
|
|
180
181
|
* Date format to use to describe range of datetime axes.
|
|
181
182
|
*
|
|
182
183
|
* For an overview of the replacement codes, see
|
|
183
|
-
* [dateFormat](/class-reference/Highcharts
|
|
184
|
+
* [dateFormat](/class-reference/Highcharts.Time#dateFormat).
|
|
184
185
|
*
|
|
185
186
|
* @see [point.dateFormat](#accessibility.point.dateFormat)
|
|
186
187
|
*
|
|
@@ -240,7 +241,7 @@ var Options = {
|
|
|
240
241
|
* Defaults to the same format as in tooltip.
|
|
241
242
|
*
|
|
242
243
|
* For an overview of the replacement codes, see
|
|
243
|
-
* [dateFormat](/class-reference/Highcharts
|
|
244
|
+
* [dateFormat](/class-reference/Highcharts.Time#dateFormat).
|
|
244
245
|
*
|
|
245
246
|
* @see [dateFormatter](#accessibility.point.dateFormatter)
|
|
246
247
|
*
|
|
@@ -253,7 +254,7 @@ var Options = {
|
|
|
253
254
|
* points on datetime axes when describing them to screen reader
|
|
254
255
|
* users. Receives one argument, `point`, referring to the point
|
|
255
256
|
* to describe. Should return a date format string compatible with
|
|
256
|
-
* [dateFormat](/class-reference/Highcharts
|
|
257
|
+
* [dateFormat](/class-reference/Highcharts.Time#dateFormat).
|
|
257
258
|
*
|
|
258
259
|
* @see [dateFormat](#accessibility.point.dateFormat)
|
|
259
260
|
*
|
|
@@ -329,7 +330,7 @@ var Options = {
|
|
|
329
330
|
* landmarks can make navigation with screen readers easier, but can
|
|
330
331
|
* be distracting if there are lots of charts on the page. Three modes
|
|
331
332
|
* are available:
|
|
332
|
-
* - `all`: Adds regions for all series, legend,
|
|
333
|
+
* - `all`: Adds regions for all series, legend, information
|
|
333
334
|
* region.
|
|
334
335
|
* - `one`: Adds a single landmark per chart.
|
|
335
336
|
* - `disabled`: No landmarks are added.
|
|
@@ -491,7 +492,7 @@ var Options = {
|
|
|
491
492
|
*/
|
|
492
493
|
style: {
|
|
493
494
|
/** @internal */
|
|
494
|
-
color:
|
|
495
|
+
color: "#335cad" /* highlightColor80 */,
|
|
495
496
|
/** @internal */
|
|
496
497
|
lineWidth: 2,
|
|
497
498
|
/** @internal */
|
|
@@ -675,17 +676,6 @@ var Options = {
|
|
|
675
676
|
* @since 7.1.0
|
|
676
677
|
* @apioption plotOptions.series.accessibility.description
|
|
677
678
|
*/
|
|
678
|
-
/**
|
|
679
|
-
* Formatter function to use instead of the default for point
|
|
680
|
-
* descriptions. Same as `accessibility.point.descriptionFormatter`, but for
|
|
681
|
-
* a single series.
|
|
682
|
-
*
|
|
683
|
-
* @see [accessibility.point.descriptionFormatter](#accessibility.point.descriptionFormatter)
|
|
684
|
-
*
|
|
685
|
-
* @type {Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>}
|
|
686
|
-
* @since 7.1.0
|
|
687
|
-
* @apioption plotOptions.series.accessibility.pointDescriptionFormatter
|
|
688
|
-
*/
|
|
689
679
|
/**
|
|
690
680
|
* Expose only the series element to screen readers, not its points.
|
|
691
681
|
*
|
|
@@ -693,6 +683,31 @@ var Options = {
|
|
|
693
683
|
* @since 7.1.0
|
|
694
684
|
* @apioption plotOptions.series.accessibility.exposeAsGroupOnly
|
|
695
685
|
*/
|
|
686
|
+
/**
|
|
687
|
+
* Point accessibility options for a series.
|
|
688
|
+
*
|
|
689
|
+
* @extends accessibility.point
|
|
690
|
+
* @since 9.3.0
|
|
691
|
+
* @requires modules/accessibility
|
|
692
|
+
* @apioption plotOptions.series.accessibility.point
|
|
693
|
+
*/
|
|
694
|
+
/**
|
|
695
|
+
* Formatter function to use instead of the default for point
|
|
696
|
+
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
|
|
697
|
+
* applies to a series instead of the whole chart.
|
|
698
|
+
*
|
|
699
|
+
* Note: Prefer using [accessibility.point.valueDescriptionFormat](#plotOptions.series.accessibility.point.valueDescriptionFormat)
|
|
700
|
+
* instead if possible, as default functionality such as describing
|
|
701
|
+
* annotations will be preserved.
|
|
702
|
+
*
|
|
703
|
+
* @see [accessibility.point.valueDescriptionFormat](#plotOptions.series.accessibility.point.valueDescriptionFormat)
|
|
704
|
+
* @see [point.accessibility.description](#series.line.data.accessibility.description)
|
|
705
|
+
* @see [accessibility.point.descriptionFormatter](#accessibility.point.descriptionFormatter)
|
|
706
|
+
*
|
|
707
|
+
* @type {Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>}
|
|
708
|
+
* @since 9.3.0
|
|
709
|
+
* @apioption plotOptions.series.accessibility.point.descriptionFormatter
|
|
710
|
+
*/
|
|
696
711
|
/**
|
|
697
712
|
* Keyboard navigation for a series
|
|
698
713
|
*
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2009-2021 Øystein Moseng
|
|
4
|
+
*
|
|
5
|
+
* Proxy elements are used to shadow SVG elements in HTML for assistive
|
|
6
|
+
* technology, such as screen readers or voice input software.
|
|
7
|
+
*
|
|
8
|
+
* The ProxyElement class represents such an element, and deals with
|
|
9
|
+
* overlay positioning and mirroring events for the target.
|
|
10
|
+
*
|
|
11
|
+
* License: www.highcharts.com/license
|
|
12
|
+
*
|
|
13
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
'use strict';
|
|
17
|
+
import H from '../Core/Globals.js';
|
|
18
|
+
var doc = H.doc;
|
|
19
|
+
import U from '../Core/Utilities.js';
|
|
20
|
+
var attr = U.attr, css = U.css, merge = U.merge;
|
|
21
|
+
import EventProvider from './Utils/EventProvider.js';
|
|
22
|
+
import ChartUtilities from './Utils/ChartUtilities.js';
|
|
23
|
+
var fireEventOnWrappedOrUnwrappedElement = ChartUtilities.fireEventOnWrappedOrUnwrappedElement;
|
|
24
|
+
import HTMLUtilities from './Utils/HTMLUtilities.js';
|
|
25
|
+
var cloneMouseEvent = HTMLUtilities.cloneMouseEvent, cloneTouchEvent = HTMLUtilities.cloneTouchEvent, getFakeMouseEvent = HTMLUtilities.getFakeMouseEvent, removeElement = HTMLUtilities.removeElement;
|
|
26
|
+
/* *
|
|
27
|
+
*
|
|
28
|
+
* Class
|
|
29
|
+
*
|
|
30
|
+
* */
|
|
31
|
+
/**
|
|
32
|
+
* Represents a proxy element that overlays a target and relays events
|
|
33
|
+
* to its target.
|
|
34
|
+
*
|
|
35
|
+
* @private
|
|
36
|
+
* @class
|
|
37
|
+
*/
|
|
38
|
+
var ProxyElement = /** @class */ (function () {
|
|
39
|
+
/* *
|
|
40
|
+
*
|
|
41
|
+
* Constructor
|
|
42
|
+
*
|
|
43
|
+
* */
|
|
44
|
+
function ProxyElement(chart, target, groupType, attributes) {
|
|
45
|
+
this.chart = chart;
|
|
46
|
+
this.target = target;
|
|
47
|
+
this.groupType = groupType;
|
|
48
|
+
this.eventProvider = new EventProvider();
|
|
49
|
+
var wrapperEl = groupType === 'ul' ? doc.createElement('li') : null;
|
|
50
|
+
var btnEl = this.buttonElement = doc.createElement('button');
|
|
51
|
+
if (!chart.styledMode) {
|
|
52
|
+
this.hideButtonVisually(btnEl);
|
|
53
|
+
}
|
|
54
|
+
if (wrapperEl) {
|
|
55
|
+
wrapperEl.appendChild(btnEl);
|
|
56
|
+
this.element = wrapperEl;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.element = btnEl;
|
|
60
|
+
}
|
|
61
|
+
this.updateTarget(target, attributes);
|
|
62
|
+
}
|
|
63
|
+
/* *
|
|
64
|
+
*
|
|
65
|
+
* Functions
|
|
66
|
+
*
|
|
67
|
+
* */
|
|
68
|
+
/* eslint-disable valid-jsdoc */
|
|
69
|
+
/**
|
|
70
|
+
* Fake a click event on the target.
|
|
71
|
+
*/
|
|
72
|
+
ProxyElement.prototype.click = function () {
|
|
73
|
+
var pos = this.getTargetPosition();
|
|
74
|
+
pos.x += pos.width / 2;
|
|
75
|
+
pos.y += pos.height / 2;
|
|
76
|
+
var fakeEventObject = getFakeMouseEvent('click', pos);
|
|
77
|
+
fireEventOnWrappedOrUnwrappedElement(this.target.click, fakeEventObject);
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Update the target to be proxied.
|
|
81
|
+
* The position and events are updated to match the new target.
|
|
82
|
+
* @param target The new target definition
|
|
83
|
+
* @param attributes New HTML attributes to apply to the button. Set an attribute to null to remove.
|
|
84
|
+
*/
|
|
85
|
+
ProxyElement.prototype.updateTarget = function (target, attributes) {
|
|
86
|
+
this.target = target;
|
|
87
|
+
this.updateCSSClassName();
|
|
88
|
+
attr(this.buttonElement, merge({
|
|
89
|
+
'aria-label': this.getTargetAttr(target.click, 'aria-label')
|
|
90
|
+
}, attributes));
|
|
91
|
+
this.eventProvider.removeAddedEvents();
|
|
92
|
+
this.addProxyEventsToButton(this.buttonElement, target.click);
|
|
93
|
+
this.refreshPosition();
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Refresh the position of the proxy element to match the current target
|
|
97
|
+
*/
|
|
98
|
+
ProxyElement.prototype.refreshPosition = function () {
|
|
99
|
+
var bBox = this.getTargetPosition();
|
|
100
|
+
css(this.buttonElement, {
|
|
101
|
+
width: (bBox.width || 1) + 'px',
|
|
102
|
+
height: (bBox.height || 1) + 'px',
|
|
103
|
+
left: (Math.round(bBox.x) || 0) + 'px',
|
|
104
|
+
top: (Math.round(bBox.y) || 0) + 'px'
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Remove button from DOM, and clear events.
|
|
109
|
+
*/
|
|
110
|
+
ProxyElement.prototype.remove = function () {
|
|
111
|
+
this.eventProvider.removeAddedEvents();
|
|
112
|
+
removeElement(this.element);
|
|
113
|
+
};
|
|
114
|
+
// -------------------------- private ------------------------------------
|
|
115
|
+
/**
|
|
116
|
+
* Update the CSS class name to match target
|
|
117
|
+
*/
|
|
118
|
+
ProxyElement.prototype.updateCSSClassName = function () {
|
|
119
|
+
var stringHasNoTooltip = function (s) { return s.indexOf('highcharts-no-tooltip') > -1; };
|
|
120
|
+
var legend = this.chart.legend;
|
|
121
|
+
var groupDiv = legend.group && legend.group.div;
|
|
122
|
+
var noTooltipOnGroup = stringHasNoTooltip(groupDiv && groupDiv.className || '');
|
|
123
|
+
var targetClassName = this.getTargetAttr(this.target.click, 'class') || '';
|
|
124
|
+
var noTooltipOnTarget = stringHasNoTooltip(targetClassName);
|
|
125
|
+
this.buttonElement.className = noTooltipOnGroup || noTooltipOnTarget ?
|
|
126
|
+
'highcharts-a11y-proxy-button highcharts-no-tooltip' :
|
|
127
|
+
'highcharts-a11y-proxy-button';
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Mirror events for a proxy button to a target
|
|
131
|
+
*/
|
|
132
|
+
ProxyElement.prototype.addProxyEventsToButton = function (button, target) {
|
|
133
|
+
var _this = this;
|
|
134
|
+
[
|
|
135
|
+
'click', 'touchstart', 'touchend', 'touchcancel', 'touchmove',
|
|
136
|
+
'mouseover', 'mouseenter', 'mouseleave', 'mouseout'
|
|
137
|
+
].forEach(function (evtType) {
|
|
138
|
+
var isTouchEvent = evtType.indexOf('touch') === 0;
|
|
139
|
+
_this.eventProvider.addEvent(button, evtType, function (e) {
|
|
140
|
+
var clonedEvent = isTouchEvent ?
|
|
141
|
+
cloneTouchEvent(e) :
|
|
142
|
+
cloneMouseEvent(e);
|
|
143
|
+
if (target) {
|
|
144
|
+
fireEventOnWrappedOrUnwrappedElement(target, clonedEvent);
|
|
145
|
+
}
|
|
146
|
+
e.stopPropagation();
|
|
147
|
+
// #9682, #15318: Touch scrolling didnt work when touching proxy
|
|
148
|
+
if (!isTouchEvent) {
|
|
149
|
+
e.preventDefault();
|
|
150
|
+
}
|
|
151
|
+
}, { passive: false });
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Set visually hidden style on a proxy button
|
|
156
|
+
*/
|
|
157
|
+
ProxyElement.prototype.hideButtonVisually = function (button) {
|
|
158
|
+
css(button, {
|
|
159
|
+
borderWidth: 0,
|
|
160
|
+
backgroundColor: 'transparent',
|
|
161
|
+
cursor: 'pointer',
|
|
162
|
+
outline: 'none',
|
|
163
|
+
opacity: 0.001,
|
|
164
|
+
filter: 'alpha(opacity=1)',
|
|
165
|
+
zIndex: 999,
|
|
166
|
+
overflow: 'hidden',
|
|
167
|
+
padding: 0,
|
|
168
|
+
margin: 0,
|
|
169
|
+
display: 'block',
|
|
170
|
+
position: 'absolute',
|
|
171
|
+
'-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(Opacity=1)'
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Get the position relative to chart container for the target
|
|
176
|
+
*/
|
|
177
|
+
ProxyElement.prototype.getTargetPosition = function () {
|
|
178
|
+
var clickTarget = this.target.click;
|
|
179
|
+
// We accept both DOM elements and wrapped elements as click targets.
|
|
180
|
+
var clickTargetElement = clickTarget.element ?
|
|
181
|
+
clickTarget.element :
|
|
182
|
+
clickTarget;
|
|
183
|
+
var posElement = this.target.visual || clickTargetElement;
|
|
184
|
+
var chartDiv = this.chart.renderTo;
|
|
185
|
+
if (chartDiv && posElement && posElement.getBoundingClientRect) {
|
|
186
|
+
var rectEl = posElement.getBoundingClientRect(), rectDiv = chartDiv.getBoundingClientRect();
|
|
187
|
+
return {
|
|
188
|
+
x: rectEl.left - rectDiv.left,
|
|
189
|
+
y: rectEl.top - rectDiv.top,
|
|
190
|
+
width: rectEl.right - rectEl.left,
|
|
191
|
+
height: rectEl.bottom - rectEl.top
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
return { x: 0, y: 0, width: 1, height: 1 };
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Get an attribute value of a target
|
|
198
|
+
*/
|
|
199
|
+
ProxyElement.prototype.getTargetAttr = function (target, key) {
|
|
200
|
+
if (target.element) {
|
|
201
|
+
return target.element.getAttribute(key);
|
|
202
|
+
}
|
|
203
|
+
return target.getAttribute(key);
|
|
204
|
+
};
|
|
205
|
+
return ProxyElement;
|
|
206
|
+
}());
|
|
207
|
+
/* *
|
|
208
|
+
*
|
|
209
|
+
* Default Export
|
|
210
|
+
*
|
|
211
|
+
* */
|
|
212
|
+
export default ProxyElement;
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2009-2021 Øystein Moseng
|
|
4
|
+
*
|
|
5
|
+
* Proxy elements are used to shadow SVG elements in HTML for assistive
|
|
6
|
+
* technology, such as screen readers or voice input software.
|
|
7
|
+
*
|
|
8
|
+
* The ProxyProvider keeps track of all proxy elements of the a11y module,
|
|
9
|
+
* and updating their order and positioning.
|
|
10
|
+
*
|
|
11
|
+
* License: www.highcharts.com/license
|
|
12
|
+
*
|
|
13
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
'use strict';
|
|
17
|
+
import H from '../Core/Globals.js';
|
|
18
|
+
var doc = H.doc;
|
|
19
|
+
import U from '../Core/Utilities.js';
|
|
20
|
+
var attr = U.attr, css = U.css;
|
|
21
|
+
import CU from './Utils/ChartUtilities.js';
|
|
22
|
+
var unhideChartElementFromAT = CU.unhideChartElementFromAT;
|
|
23
|
+
import DOMElementProvider from './Utils/DOMElementProvider.js';
|
|
24
|
+
import HU from './Utils/HTMLUtilities.js';
|
|
25
|
+
var removeElement = HU.removeElement, removeChildNodes = HU.removeChildNodes;
|
|
26
|
+
import ProxyElement from './ProxyElement.js';
|
|
27
|
+
/* *
|
|
28
|
+
*
|
|
29
|
+
* Class
|
|
30
|
+
*
|
|
31
|
+
* */
|
|
32
|
+
/**
|
|
33
|
+
* Keeps track of all proxy elements and proxy groups.
|
|
34
|
+
*
|
|
35
|
+
* @private
|
|
36
|
+
* @class
|
|
37
|
+
*/
|
|
38
|
+
var ProxyProvider = /** @class */ (function () {
|
|
39
|
+
/* *
|
|
40
|
+
*
|
|
41
|
+
* Constructor
|
|
42
|
+
*
|
|
43
|
+
* */
|
|
44
|
+
function ProxyProvider(chart) {
|
|
45
|
+
this.chart = chart;
|
|
46
|
+
this.domElementProvider = new DOMElementProvider();
|
|
47
|
+
this.groups = {};
|
|
48
|
+
this.groupOrder = [];
|
|
49
|
+
this.beforeChartProxyPosContainer = this.createProxyPosContainer('before');
|
|
50
|
+
this.afterChartProxyPosContainer = this.createProxyPosContainer('after');
|
|
51
|
+
this.update();
|
|
52
|
+
}
|
|
53
|
+
/* *
|
|
54
|
+
*
|
|
55
|
+
* Functions
|
|
56
|
+
*
|
|
57
|
+
* */
|
|
58
|
+
/* eslint-disable */
|
|
59
|
+
/**
|
|
60
|
+
* Add a new proxy element to a group, proxying a target control.
|
|
61
|
+
*/
|
|
62
|
+
ProxyProvider.prototype.addProxyElement = function (groupKey, target, attributes) {
|
|
63
|
+
var group = this.groups[groupKey];
|
|
64
|
+
if (!group) {
|
|
65
|
+
throw new Error('ProxyProvider.addProxyElement: Invalid group key ' + groupKey);
|
|
66
|
+
}
|
|
67
|
+
var proxy = new ProxyElement(this.chart, target, group.type, attributes);
|
|
68
|
+
group.proxyContainerElement.appendChild(proxy.element);
|
|
69
|
+
group.proxyElements.push(proxy);
|
|
70
|
+
return proxy;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Create a group that will contain proxy elements. The group order is
|
|
74
|
+
* automatically updated according to the last group order keys.
|
|
75
|
+
*/
|
|
76
|
+
ProxyProvider.prototype.addGroup = function (groupKey, groupType, attributes) {
|
|
77
|
+
if (this.groups[groupKey]) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var proxyContainer = this.domElementProvider.createElement(groupType);
|
|
81
|
+
// If we want to add a role to the group, and still use e.g.
|
|
82
|
+
// a list group, we need a wrapper div.
|
|
83
|
+
var groupElement;
|
|
84
|
+
if (attributes && attributes.role && groupType !== 'div') {
|
|
85
|
+
groupElement = this.domElementProvider.createElement('div');
|
|
86
|
+
groupElement.appendChild(proxyContainer);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
groupElement = proxyContainer;
|
|
90
|
+
}
|
|
91
|
+
groupElement.className = 'highcharts-a11y-proxy-group highcharts-a11y-proxy-group-' +
|
|
92
|
+
groupKey.replace(/\W/g, '-');
|
|
93
|
+
this.groups[groupKey] = {
|
|
94
|
+
proxyContainerElement: proxyContainer,
|
|
95
|
+
groupElement: groupElement,
|
|
96
|
+
type: groupType,
|
|
97
|
+
proxyElements: []
|
|
98
|
+
};
|
|
99
|
+
attr(groupElement, attributes || {});
|
|
100
|
+
if (groupType === 'ul') {
|
|
101
|
+
if (!this.chart.styledMode) {
|
|
102
|
+
proxyContainer.style.listStyle = 'none';
|
|
103
|
+
}
|
|
104
|
+
proxyContainer.setAttribute('role', 'list'); // Needed for webkit
|
|
105
|
+
}
|
|
106
|
+
// Add the group to the end by default, and perhaps then we
|
|
107
|
+
// won't have to reorder the whole set of groups.
|
|
108
|
+
this.afterChartProxyPosContainer.appendChild(groupElement);
|
|
109
|
+
this.updateGroupOrder(this.groupOrder);
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Update HTML attributes of a group.
|
|
113
|
+
*/
|
|
114
|
+
ProxyProvider.prototype.updateGroupAttrs = function (groupKey, attributes) {
|
|
115
|
+
var group = this.groups[groupKey];
|
|
116
|
+
if (!group) {
|
|
117
|
+
throw new Error('ProxyProvider.updateGroupAttrs: Invalid group key ' + groupKey);
|
|
118
|
+
}
|
|
119
|
+
attr(group.groupElement, attributes);
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Reorder the proxy groups.
|
|
123
|
+
*
|
|
124
|
+
* The group key "series" refers to the chart's data points / <svg> element.
|
|
125
|
+
* This is so that the keyboardNavigation.order option can be used to
|
|
126
|
+
* determine the proxy group order.
|
|
127
|
+
*/
|
|
128
|
+
ProxyProvider.prototype.updateGroupOrder = function (groupKeys) {
|
|
129
|
+
var _this = this;
|
|
130
|
+
// Store so that we can update order when a new group is created
|
|
131
|
+
this.groupOrder = groupKeys.slice();
|
|
132
|
+
// Don't unnecessarily reorder, because keyboard focus is lost
|
|
133
|
+
if (this.isDOMOrderGroupOrder()) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
var seriesIx = groupKeys.indexOf('series');
|
|
137
|
+
var beforeKeys = seriesIx > -1 ? groupKeys.slice(0, seriesIx) : groupKeys;
|
|
138
|
+
var afterKeys = seriesIx > -1 ? groupKeys.slice(seriesIx + 1) : [];
|
|
139
|
+
// Store focused element since it will be lost when reordering
|
|
140
|
+
var activeElement = doc.activeElement;
|
|
141
|
+
// Add groups to correct container
|
|
142
|
+
['before', 'after'].forEach(function (pos) {
|
|
143
|
+
var posContainer = _this[pos === 'before' ?
|
|
144
|
+
'beforeChartProxyPosContainer' :
|
|
145
|
+
'afterChartProxyPosContainer'];
|
|
146
|
+
var keys = pos === 'before' ? beforeKeys : afterKeys;
|
|
147
|
+
removeChildNodes(posContainer);
|
|
148
|
+
keys.forEach(function (groupKey) {
|
|
149
|
+
var group = _this.groups[groupKey];
|
|
150
|
+
if (group) {
|
|
151
|
+
posContainer.appendChild(group.groupElement);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
// Attempt to restore focus after reordering, but note that this may
|
|
156
|
+
// cause screen readers re-announcing the button.
|
|
157
|
+
if ((this.beforeChartProxyPosContainer.contains(activeElement) ||
|
|
158
|
+
this.afterChartProxyPosContainer.contains(activeElement)) &&
|
|
159
|
+
activeElement && activeElement.focus) {
|
|
160
|
+
activeElement.focus();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Remove all proxy elements in a group
|
|
165
|
+
*/
|
|
166
|
+
ProxyProvider.prototype.clearGroup = function (groupKey) {
|
|
167
|
+
var group = this.groups[groupKey];
|
|
168
|
+
if (!group) {
|
|
169
|
+
throw new Error('ProxyProvider.clearGroup: Invalid group key ' + groupKey);
|
|
170
|
+
}
|
|
171
|
+
removeChildNodes(group.proxyContainerElement);
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Remove a group from the DOM and from the proxy provider's group list.
|
|
175
|
+
* All child elements are removed.
|
|
176
|
+
* If the group does not exist, nothing happens.
|
|
177
|
+
*/
|
|
178
|
+
ProxyProvider.prototype.removeGroup = function (groupKey) {
|
|
179
|
+
var group = this.groups[groupKey];
|
|
180
|
+
if (group) {
|
|
181
|
+
removeElement(group.groupElement);
|
|
182
|
+
delete this.groups[groupKey];
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Update the position and order of all proxy groups and elements
|
|
187
|
+
*/
|
|
188
|
+
ProxyProvider.prototype.update = function () {
|
|
189
|
+
this.updatePosContainerPositions();
|
|
190
|
+
this.updateGroupOrder(this.groupOrder);
|
|
191
|
+
this.updateProxyElementPositions();
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Update all proxy element positions
|
|
195
|
+
*/
|
|
196
|
+
ProxyProvider.prototype.updateProxyElementPositions = function () {
|
|
197
|
+
Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this));
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Update a group's proxy elements' positions.
|
|
201
|
+
* If the group does not exist, nothing happens.
|
|
202
|
+
*/
|
|
203
|
+
ProxyProvider.prototype.updateGroupProxyElementPositions = function (groupKey) {
|
|
204
|
+
var group = this.groups[groupKey];
|
|
205
|
+
if (group) {
|
|
206
|
+
group.proxyElements.forEach(function (el) { return el.refreshPosition(); });
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Remove all added elements
|
|
211
|
+
*/
|
|
212
|
+
ProxyProvider.prototype.destroy = function () {
|
|
213
|
+
this.domElementProvider.destroyCreatedElements();
|
|
214
|
+
};
|
|
215
|
+
// -------------------------- private ------------------------------------
|
|
216
|
+
/**
|
|
217
|
+
* Create and return a pos container element (the overall containers for
|
|
218
|
+
* the proxy groups).
|
|
219
|
+
*/
|
|
220
|
+
ProxyProvider.prototype.createProxyPosContainer = function (classNamePostfix) {
|
|
221
|
+
var el = this.domElementProvider.createElement('div');
|
|
222
|
+
el.setAttribute('aria-hidden', 'false');
|
|
223
|
+
el.className = 'highcharts-a11y-proxy-container' + (classNamePostfix ? '-' + classNamePostfix : '');
|
|
224
|
+
css(el, {
|
|
225
|
+
top: '0',
|
|
226
|
+
left: '0'
|
|
227
|
+
});
|
|
228
|
+
if (!this.chart.styledMode) {
|
|
229
|
+
el.style.whiteSpace = 'nowrap';
|
|
230
|
+
el.style.position = 'absolute';
|
|
231
|
+
}
|
|
232
|
+
return el;
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Get an array of group keys that corresponds to the current group order
|
|
236
|
+
* in the DOM.
|
|
237
|
+
*/
|
|
238
|
+
ProxyProvider.prototype.getCurrentGroupOrderInDOM = function () {
|
|
239
|
+
var _this = this;
|
|
240
|
+
var getGroupKeyFromElement = function (el) {
|
|
241
|
+
var allGroups = Object.keys(_this.groups);
|
|
242
|
+
var i = allGroups.length;
|
|
243
|
+
while (i--) {
|
|
244
|
+
var groupKey = allGroups[i];
|
|
245
|
+
var group = _this.groups[groupKey];
|
|
246
|
+
if (group && el === group.groupElement) {
|
|
247
|
+
return groupKey;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
var getChildrenGroupOrder = function (el) {
|
|
252
|
+
var childrenOrder = [];
|
|
253
|
+
var children = el.children;
|
|
254
|
+
for (var i = 0; i < children.length; ++i) {
|
|
255
|
+
var groupKey = getGroupKeyFromElement(children[i]);
|
|
256
|
+
if (groupKey) {
|
|
257
|
+
childrenOrder.push(groupKey);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return childrenOrder;
|
|
261
|
+
};
|
|
262
|
+
var before = getChildrenGroupOrder(this.beforeChartProxyPosContainer);
|
|
263
|
+
var after = getChildrenGroupOrder(this.afterChartProxyPosContainer);
|
|
264
|
+
before.push('series');
|
|
265
|
+
return before.concat(after);
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Check if the current DOM order matches the current group order, so that
|
|
269
|
+
* a reordering/update is unnecessary.
|
|
270
|
+
*/
|
|
271
|
+
ProxyProvider.prototype.isDOMOrderGroupOrder = function () {
|
|
272
|
+
var _this = this;
|
|
273
|
+
var domOrder = this.getCurrentGroupOrderInDOM();
|
|
274
|
+
var groupOrderWithGroups = this.groupOrder.filter(function (x) { return x === 'series' || !!_this.groups[x]; });
|
|
275
|
+
var i = domOrder.length;
|
|
276
|
+
if (i !== groupOrderWithGroups.length) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
while (i--) {
|
|
280
|
+
if (domOrder[i] !== groupOrderWithGroups[i]) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return true;
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Update the DOM positions of the before/after proxy
|
|
288
|
+
* positioning containers for the groups.
|
|
289
|
+
*/
|
|
290
|
+
ProxyProvider.prototype.updatePosContainerPositions = function () {
|
|
291
|
+
var chart = this.chart;
|
|
292
|
+
var rendererSVGEl = chart.renderer.box;
|
|
293
|
+
chart.container.insertBefore(this.afterChartProxyPosContainer, rendererSVGEl.nextSibling);
|
|
294
|
+
chart.container.insertBefore(this.beforeChartProxyPosContainer, rendererSVGEl);
|
|
295
|
+
unhideChartElementFromAT(this.chart, this.afterChartProxyPosContainer);
|
|
296
|
+
unhideChartElementFromAT(this.chart, this.beforeChartProxyPosContainer);
|
|
297
|
+
};
|
|
298
|
+
return ProxyProvider;
|
|
299
|
+
}());
|
|
300
|
+
/* *
|
|
301
|
+
*
|
|
302
|
+
* Export Default
|
|
303
|
+
*
|
|
304
|
+
* */
|
|
305
|
+
export default ProxyProvider;
|
|
@@ -10,12 +10,14 @@
|
|
|
10
10
|
*
|
|
11
11
|
* */
|
|
12
12
|
'use strict';
|
|
13
|
-
import H from '../../Core/Globals.js';
|
|
14
13
|
import AST from '../../Core/Renderer/HTML/AST.js';
|
|
15
|
-
var doc = H.doc;
|
|
16
14
|
import DOMElementProvider from './DOMElementProvider.js';
|
|
17
|
-
import
|
|
18
|
-
var
|
|
15
|
+
import H from '../../Core/Globals.js';
|
|
16
|
+
var doc = H.doc;
|
|
17
|
+
import HU from './HTMLUtilities.js';
|
|
18
|
+
var addClass = HU.addClass, visuallyHideElement = HU.visuallyHideElement;
|
|
19
|
+
import U from '../../Core/Utilities.js';
|
|
20
|
+
var attr = U.attr;
|
|
19
21
|
/* *
|
|
20
22
|
*
|
|
21
23
|
* Class
|
|
@@ -55,21 +57,26 @@ var Announcer = /** @class */ (function () {
|
|
|
55
57
|
};
|
|
56
58
|
Announcer.prototype.addAnnounceRegion = function (type) {
|
|
57
59
|
var chartContainer = this.chart.announcerContainer || this.createAnnouncerContainer(), div = this.domElementProvider.createElement('div');
|
|
58
|
-
|
|
60
|
+
attr(div, {
|
|
59
61
|
'aria-hidden': false,
|
|
60
62
|
'aria-live': type
|
|
61
63
|
});
|
|
62
|
-
|
|
64
|
+
if (this.chart.styledMode) {
|
|
65
|
+
addClass(div, 'highcharts-visually-hidden');
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
visuallyHideElement(div);
|
|
69
|
+
}
|
|
63
70
|
chartContainer.appendChild(div);
|
|
64
71
|
return div;
|
|
65
72
|
};
|
|
66
73
|
Announcer.prototype.createAnnouncerContainer = function () {
|
|
67
74
|
var chart = this.chart, container = doc.createElement('div');
|
|
68
|
-
|
|
75
|
+
attr(container, {
|
|
69
76
|
'aria-hidden': false,
|
|
70
|
-
style: 'position:relative',
|
|
71
77
|
'class': 'highcharts-announcer-container'
|
|
72
78
|
});
|
|
79
|
+
container.style.position = 'relative';
|
|
73
80
|
chart.renderTo.insertBefore(container, chart.renderTo.firstChild);
|
|
74
81
|
chart.announcerContainer = container;
|
|
75
82
|
return container;
|