highcharts 9.3.2 → 10.1.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.
- package/bower.json +1 -1
- package/css/highcharts.css +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/ContainerComponent.js +8 -9
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +14 -9
- package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
- package/es-modules/Accessibility/Components/MenuComponent.js +15 -5
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +84 -33
- package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +2 -2
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/Options/LangOptions.js +36 -31
- package/es-modules/Accessibility/Options/Options.js +66 -3
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +9 -4
- package/es-modules/Core/Axis/Axis.js +180 -73
- package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
- package/es-modules/Core/Axis/GridAxis.js +15 -11
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +3 -2
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +11 -0
- package/es-modules/Core/Chart/Chart.js +21 -3
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +43 -11
- package/es-modules/Core/Chart/MapChart.js +1 -6
- package/es-modules/Core/Chart/StockChart.js +1 -1
- package/es-modules/Core/DefaultOptions.js +8 -4
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +13 -8
- package/es-modules/Core/Legend/Legend.js +11 -9
- package/es-modules/Core/Navigator.js +10 -7
- package/es-modules/Core/Pointer.js +15 -11
- package/es-modules/Core/Renderer/HTML/AST.js +68 -8
- package/es-modules/Core/Renderer/SVG/SVGElement.js +47 -63
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +31 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/Series/DataLabel.js +65 -36
- package/es-modules/Core/Series/Point.js +2 -2
- package/es-modules/Core/Series/Series.js +52 -22
- package/es-modules/Core/Series/SeriesDefaults.js +4 -1
- package/es-modules/Core/Tooltip.js +14 -31
- package/es-modules/Core/Utilities.js +29 -29
- package/es-modules/Extensions/Annotations/Annotations.js +9 -2
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +9 -1
- package/es-modules/Extensions/Annotations/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
- package/es-modules/Extensions/Boost/BoostInit.js +6 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/Breadcrumbs.js +873 -0
- package/es-modules/Extensions/Data.js +26 -14
- package/es-modules/Extensions/DataGrouping.js +8 -3
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +150 -95
- package/es-modules/Extensions/ExportData.js +1 -2
- package/es-modules/Extensions/Exporting/Exporting.js +31 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +151 -125
- package/es-modules/Extensions/MarkerClusters.js +34 -20
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Polar.js +4 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
- package/es-modules/Extensions/Stacking.js +4 -3
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +50 -13
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +611 -136
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
- package/es-modules/Maps/Projection.js +169 -77
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +589 -0
- package/es-modules/Series/CenteredUtilities.js +6 -1
- package/es-modules/Series/Column/ColumnSeries.js +4 -3
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
- package/es-modules/Series/DrawPointComposition.js +7 -4
- package/es-modules/Series/Flags/FlagsSeries.js +7 -12
- package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -20
- package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
- package/es-modules/Series/Map/MapPoint.js +24 -1
- package/es-modules/Series/Map/MapSeries.js +206 -169
- package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +58 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
- package/es-modules/Series/MapPoint/MapPointSeries.js +40 -14
- package/es-modules/Series/NodesComposition.js +60 -13
- package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
- package/es-modules/Series/Pie/PieDataLabel.js +3 -1
- package/es-modules/Series/Pie/PiePoint.js +12 -5
- package/es-modules/Series/Pie/PieSeries.js +12 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
- package/es-modules/Series/Sankey/SankeySeries.js +13 -128
- package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +14 -3
- package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +4 -4
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
- package/es-modules/Stock/StockToolsBindings.js +31 -24
- package/es-modules/Stock/StockToolsGui.js +1 -1
- 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/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -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 +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- 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 +1 -1
- 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 +2 -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 -1
- 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 +5 -1
- 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 +1 -1
- 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 +1 -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 +5 -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/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.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 +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +51 -21
- package/highcharts-gantt.js +808 -800
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +781 -426
- package/highcharts-more.js +195 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +18 -4
- package/highcharts.d.ts +3224 -542
- package/highcharts.js +592 -584
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +3224 -542
- package/highcharts.src.js +732 -400
- package/highmaps.js +760 -728
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3840 -2189
- package/highstock.js +793 -786
- package/highstock.js.map +1 -1
- package/highstock.src.js +783 -432
- package/indicators/acceleration-bands.js +12 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +11 -2
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +11 -2
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +11 -2
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +11 -2
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- package/indicators/bollinger-bands.js +12 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +11 -2
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +11 -2
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.js +195 -194
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +21 -5
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.js +12 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +11 -2
- package/indicators/klinger.js +13 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +11 -2
- package/indicators/macd.js +12 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +11 -2
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +11 -2
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +11 -2
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +11 -2
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +245 -240
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +510 -283
- package/modules/annotations-advanced.js +144 -144
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +37 -11
- package/modules/annotations.js +79 -79
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +32 -8
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +778 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +11 -2
- package/modules/boost.js +80 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +71 -43
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +11 -2
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +33 -7
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +11 -2
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.js +34 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +59 -32
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +19 -5
- package/modules/debugger.js +8 -7
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +15 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +11 -2
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +36 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1091 -106
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +11 -2
- package/modules/export-data.js +21 -20
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +12 -4
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +227 -92
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +135 -58
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +11 -2
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +216 -215
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +60 -28
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +27 -13
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +46 -27
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +11 -2
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +169 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +8024 -6696
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +47 -23
- package/modules/networkgraph.d.ts +5 -0
- package/modules/networkgraph.js +49 -48
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +5 -0
- package/modules/networkgraph.src.js +77 -15
- 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 +11 -2
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +126 -25
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +12 -3
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +166 -32
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +11 -2
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +11 -2
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +5 -0
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +5 -0
- package/modules/sankey.src.js +341 -157
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +11 -2
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +11 -2
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +11 -2
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +145 -145
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +64 -32
- package/modules/stock.js +204 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +62 -34
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1048 -97
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +11 -2
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +38 -13
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +53 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1037 -95
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +18 -6
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +24 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +22 -10
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
|
@@ -43,13 +43,17 @@ function findFirstPointWithGraphic(point) {
|
|
|
43
43
|
}) || null;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
+
* Whether or not we should add a dummy point element in
|
|
47
|
+
* order to describe a point that has no graphic.
|
|
46
48
|
* @private
|
|
47
49
|
*/
|
|
48
50
|
function shouldAddDummyPoint(point) {
|
|
49
51
|
// Note: Sunburst series use isNull for hidden points on drilldown.
|
|
50
52
|
// Ignore these.
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
+
var series = point.series, chart = series && series.chart, isSunburst = series && series.is('sunburst'), isNull = point.isNull, shouldDescribeNull = chart &&
|
|
54
|
+
chart
|
|
55
|
+
.options.accessibility.point.describeNull;
|
|
56
|
+
return isNull && !isSunburst && shouldDescribeNull;
|
|
53
57
|
}
|
|
54
58
|
/**
|
|
55
59
|
* @private
|
|
@@ -258,9 +262,9 @@ function getPointValueDescription(point) {
|
|
|
258
262
|
* @private
|
|
259
263
|
*/
|
|
260
264
|
function defaultPointDescriptionFormatter(point) {
|
|
261
|
-
var series = point.series,
|
|
262
|
-
|
|
263
|
-
' ' + series.name + '.' : '', annotationsDesc = getPointAnnotationDescription(point), pointAnnotationsText = annotationsDesc ? ' ' + annotationsDesc : '';
|
|
265
|
+
var series = point.series, shouldExposeSeriesName = series.chart.series.length > 1 ||
|
|
266
|
+
series.options.name, valText = getPointValueDescription(point), description = point.options && point.options.accessibility &&
|
|
267
|
+
point.options.accessibility.description, userDescText = description ? ' ' + description : '', seriesNameText = shouldExposeSeriesName ? ' ' + series.name + '.' : '', annotationsDesc = getPointAnnotationDescription(point), pointAnnotationsText = annotationsDesc ? ' ' + annotationsDesc : '';
|
|
264
268
|
point.accessibility = point.accessibility || {};
|
|
265
269
|
point.accessibility.valueDescription = valText;
|
|
266
270
|
return valText + userDescText + seriesNameText + pointAnnotationsText;
|
|
@@ -287,15 +291,19 @@ function setPointScreenReaderAttribs(point, pointElement) {
|
|
|
287
291
|
* @param {Highcharts.Series} series
|
|
288
292
|
*/
|
|
289
293
|
function describePointsInSeries(series) {
|
|
290
|
-
var setScreenReaderProps = shouldSetScreenReaderPropsOnPoints(series), setKeyboardProps = shouldSetKeyboardNavPropsOnPoints(series)
|
|
294
|
+
var setScreenReaderProps = shouldSetScreenReaderPropsOnPoints(series), setKeyboardProps = shouldSetKeyboardNavPropsOnPoints(series), shouldDescribeNullPoints = series.chart.options.accessibility
|
|
295
|
+
.point.describeNull;
|
|
291
296
|
if (setScreenReaderProps || setKeyboardProps) {
|
|
292
297
|
series.points.forEach(function (point) {
|
|
293
298
|
var pointEl = point.graphic && point.graphic.element ||
|
|
294
|
-
shouldAddDummyPoint(point) && addDummyPointElement(point)
|
|
295
|
-
var pointA11yDisabled = (point.options &&
|
|
299
|
+
shouldAddDummyPoint(point) && addDummyPointElement(point), pointA11yDisabled = (point.options &&
|
|
296
300
|
point.options.accessibility &&
|
|
297
301
|
point.options.accessibility.enabled === false);
|
|
298
302
|
if (pointEl) {
|
|
303
|
+
if (point.isNull && !shouldDescribeNullPoints) {
|
|
304
|
+
pointEl.setAttribute('aria-hidden', true);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
299
307
|
// We always set tabindex, as long as we are setting props.
|
|
300
308
|
// When setting tabindex, also remove default outline to
|
|
301
309
|
// avoid ugly border on click.
|
|
@@ -320,14 +328,19 @@ function describePointsInSeries(series) {
|
|
|
320
328
|
function defaultSeriesDescriptionFormatter(series) {
|
|
321
329
|
var chart = series.chart, chartTypes = chart.types || [], description = getSeriesDescriptionText(series), shouldDescribeAxis = function (coll) {
|
|
322
330
|
return chart[coll] && chart[coll].length > 1 && series[coll];
|
|
323
|
-
}, xAxisInfo = getSeriesAxisDescriptionText(series, 'xAxis'), yAxisInfo = getSeriesAxisDescriptionText(series, 'yAxis'), summaryContext = {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
+
}, seriesNumber = series.index + 1, xAxisInfo = getSeriesAxisDescriptionText(series, 'xAxis'), yAxisInfo = getSeriesAxisDescriptionText(series, 'yAxis'), summaryContext = {
|
|
332
|
+
seriesNumber: seriesNumber,
|
|
333
|
+
series: series,
|
|
334
|
+
chart: chart
|
|
335
|
+
}, combinationSuffix = chartTypes.length > 1 ? 'Combination' : '', summary = chart.langFormat('accessibility.series.summary.' + series.type + combinationSuffix, summaryContext) || chart.langFormat('accessibility.series.summary.default' + combinationSuffix, summaryContext), axisDescription = (shouldDescribeAxis('yAxis') ? ' ' + yAxisInfo + '.' : '') + (shouldDescribeAxis('xAxis') ? ' ' + xAxisInfo + '.' : ''), formatStr = chart.options.accessibility.series.descriptionFormat || '';
|
|
336
|
+
return format(formatStr, {
|
|
337
|
+
seriesDescription: summary,
|
|
338
|
+
authorDescription: (description ? ' ' + description : ''),
|
|
339
|
+
axisDescription: axisDescription,
|
|
340
|
+
series: series,
|
|
341
|
+
chart: chart,
|
|
342
|
+
seriesNumber: seriesNumber
|
|
343
|
+
}, void 0);
|
|
331
344
|
}
|
|
332
345
|
/**
|
|
333
346
|
* Set a11y props on a series element
|
|
@@ -343,7 +356,10 @@ function describeSeriesElement(series, seriesElement) {
|
|
|
343
356
|
}
|
|
344
357
|
else if (landmarkVerbosity === 'all') {
|
|
345
358
|
seriesElement.setAttribute('role', 'region');
|
|
346
|
-
}
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
seriesElement.setAttribute('role', 'group');
|
|
362
|
+
}
|
|
347
363
|
seriesElement.setAttribute('tabindex', '-1');
|
|
348
364
|
if (!series.chart.styledMode) {
|
|
349
365
|
// Don't show browser outline on click, despite tabindex
|
|
@@ -373,7 +389,7 @@ function describeSeries(series) {
|
|
|
373
389
|
describeSeriesElement(series, seriesEl);
|
|
374
390
|
}
|
|
375
391
|
else {
|
|
376
|
-
seriesEl.
|
|
392
|
+
seriesEl.removeAttribute('aria-label');
|
|
377
393
|
}
|
|
378
394
|
}
|
|
379
395
|
}
|
|
@@ -84,6 +84,35 @@ function isSkipPoint(point) {
|
|
|
84
84
|
pointA11yDisabled ||
|
|
85
85
|
isSkipSeries(point.series);
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Get the first point that is not a skip point in this series.
|
|
89
|
+
* @private
|
|
90
|
+
*/
|
|
91
|
+
function getFirstValidPointInSeries(series) {
|
|
92
|
+
var points = series.points || [], len = points.length;
|
|
93
|
+
for (var i = 0; i < len; ++i) {
|
|
94
|
+
if (!isSkipPoint(points[i])) {
|
|
95
|
+
return points[i];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get the first point that is not a skip point in this chart.
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
function getFirstValidPointInChart(chart) {
|
|
105
|
+
var series = chart.series || [], len = series.length;
|
|
106
|
+
for (var i = 0; i < len; ++i) {
|
|
107
|
+
if (!isSkipSeries(series[i])) {
|
|
108
|
+
var point = getFirstValidPointInSeries(series[i]);
|
|
109
|
+
if (point) {
|
|
110
|
+
return point;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
87
116
|
/**
|
|
88
117
|
* @private
|
|
89
118
|
*/
|
|
@@ -95,7 +124,7 @@ function highlightLastValidPointInChart(chart) {
|
|
|
95
124
|
// Highlight first valid point in the series will also
|
|
96
125
|
// look backwards. It always starts from currently
|
|
97
126
|
// highlighted point.
|
|
98
|
-
res = chart.series[i].
|
|
127
|
+
res = chart.series[i].highlightNextValidPoint();
|
|
99
128
|
if (res) {
|
|
100
129
|
break;
|
|
101
130
|
}
|
|
@@ -103,24 +132,24 @@ function highlightLastValidPointInChart(chart) {
|
|
|
103
132
|
return res;
|
|
104
133
|
}
|
|
105
134
|
/**
|
|
135
|
+
* After drilling down/up, we need to set focus to the first point for
|
|
136
|
+
* screen readers and keyboard nav.
|
|
106
137
|
* @private
|
|
107
138
|
*/
|
|
108
139
|
function updateChartFocusAfterDrilling(chart) {
|
|
109
|
-
|
|
110
|
-
if (
|
|
111
|
-
|
|
140
|
+
var point = getFirstValidPointInChart(chart);
|
|
141
|
+
if (point) {
|
|
142
|
+
point.highlight(false); // Do not visually highlight
|
|
112
143
|
}
|
|
113
144
|
}
|
|
114
145
|
/**
|
|
146
|
+
* Highlight the first point in chart that is not a skip point
|
|
115
147
|
* @private
|
|
116
148
|
*/
|
|
117
149
|
function highlightFirstValidPointInChart(chart) {
|
|
118
|
-
var res = false;
|
|
119
150
|
delete chart.highlightedPoint;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}, false);
|
|
123
|
-
return res;
|
|
151
|
+
var point = getFirstValidPointInChart(chart);
|
|
152
|
+
return point ? point.highlight() : false;
|
|
124
153
|
}
|
|
125
154
|
/* *
|
|
126
155
|
*
|
|
@@ -156,7 +185,7 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
156
185
|
e.addEvent(Series, 'destroy', function () {
|
|
157
186
|
return keyboardNavigation.onSeriesDestroy(this);
|
|
158
187
|
});
|
|
159
|
-
e.addEvent(chart, '
|
|
188
|
+
e.addEvent(chart, 'afterApplyDrilldown', function () {
|
|
160
189
|
updateChartFocusAfterDrilling(this);
|
|
161
190
|
});
|
|
162
191
|
e.addEvent(chart, 'drilldown', function (e) {
|
|
@@ -195,25 +224,23 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
195
224
|
});
|
|
196
225
|
};
|
|
197
226
|
/**
|
|
227
|
+
* After drillup we want to find the point that was drilled down to and
|
|
228
|
+
* highlight it.
|
|
198
229
|
* @private
|
|
199
230
|
*/
|
|
200
231
|
SeriesKeyboardNavigation.prototype.onDrillupAll = function () {
|
|
201
|
-
// After drillup we want to find the point that was drilled down to and
|
|
202
|
-
// highlight it.
|
|
203
232
|
var last = this.lastDrilledDownPoint, chart = this.chart, series = last && getSeriesFromName(chart, last.seriesName);
|
|
204
233
|
var point;
|
|
205
234
|
if (last && series && defined(last.x) && defined(last.y)) {
|
|
206
235
|
point = getPointFromXY(series, last.x, last.y);
|
|
207
236
|
}
|
|
237
|
+
point = point || getFirstValidPointInChart(chart);
|
|
208
238
|
// Container focus can be lost on drillup due to deleted elements.
|
|
209
239
|
if (chart.container) {
|
|
210
240
|
chart.container.focus();
|
|
211
241
|
}
|
|
212
242
|
if (point && point.highlight) {
|
|
213
|
-
point.highlight();
|
|
214
|
-
}
|
|
215
|
-
if (chart.focusElement) {
|
|
216
|
-
chart.focusElement.removeFocusBorder();
|
|
243
|
+
point.highlight(false); // Do not visually highlight
|
|
217
244
|
}
|
|
218
245
|
};
|
|
219
246
|
/**
|
|
@@ -252,8 +279,10 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
252
279
|
}]
|
|
253
280
|
],
|
|
254
281
|
init: function () {
|
|
255
|
-
|
|
256
|
-
|
|
282
|
+
return keyboardNavigation.onHandlerInit(this);
|
|
283
|
+
},
|
|
284
|
+
validate: function () {
|
|
285
|
+
return !!getFirstValidPointInChart(chart);
|
|
257
286
|
},
|
|
258
287
|
terminate: function () {
|
|
259
288
|
return keyboardNavigation.onHandlerTerminate();
|
|
@@ -271,6 +300,24 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
271
300
|
var keys = this.keyCodes, isNext = keyCode === keys.right || keyCode === keys.down;
|
|
272
301
|
return this.attemptHighlightAdjacentPoint(handler, isNext);
|
|
273
302
|
};
|
|
303
|
+
/**
|
|
304
|
+
* When keyboard navigation inits.
|
|
305
|
+
* @private
|
|
306
|
+
* @param {Highcharts.KeyboardNavigationHandler} handler The handler object
|
|
307
|
+
* @return {number}
|
|
308
|
+
* response
|
|
309
|
+
*/
|
|
310
|
+
SeriesKeyboardNavigation.prototype.onHandlerInit = function (handler) {
|
|
311
|
+
var chart = this.chart, kbdNavOptions = chart.options.accessibility.keyboardNavigation;
|
|
312
|
+
if (kbdNavOptions.seriesNavigation.rememberPointFocus &&
|
|
313
|
+
chart.highlightedPoint) {
|
|
314
|
+
chart.highlightedPoint.highlight();
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
highlightFirstValidPointInChart(chart);
|
|
318
|
+
}
|
|
319
|
+
return handler.response.success;
|
|
320
|
+
};
|
|
274
321
|
/**
|
|
275
322
|
* @private
|
|
276
323
|
* @param {Highcharts.KeyboardNavigationHandler} handler
|
|
@@ -297,7 +344,7 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
297
344
|
* @private
|
|
298
345
|
*/
|
|
299
346
|
SeriesKeyboardNavigation.prototype.onHandlerTerminate = function () {
|
|
300
|
-
var chart = this.chart;
|
|
347
|
+
var chart = this.chart, kbdNavOptions = chart.options.accessibility.keyboardNavigation;
|
|
301
348
|
if (chart.tooltip) {
|
|
302
349
|
chart.tooltip.hide(0);
|
|
303
350
|
}
|
|
@@ -308,22 +355,22 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
308
355
|
if (chart.highlightedPoint && chart.highlightedPoint.onMouseOut) {
|
|
309
356
|
chart.highlightedPoint.onMouseOut();
|
|
310
357
|
}
|
|
311
|
-
|
|
358
|
+
if (!kbdNavOptions.seriesNavigation.rememberPointFocus) {
|
|
359
|
+
delete chart.highlightedPoint;
|
|
360
|
+
}
|
|
312
361
|
};
|
|
313
362
|
/**
|
|
314
363
|
* Function that attempts to highlight next/prev point. Handles wrap around.
|
|
315
364
|
* @private
|
|
316
|
-
* @param {Highcharts.KeyboardNavigationHandler} handler
|
|
317
|
-
* @param {boolean} directionIsNext
|
|
318
|
-
* @return {number}
|
|
319
|
-
* response
|
|
320
365
|
*/
|
|
321
366
|
SeriesKeyboardNavigation.prototype.attemptHighlightAdjacentPoint = function (handler, directionIsNext) {
|
|
322
367
|
var chart = this.chart, wrapAround = chart.options.accessibility.keyboardNavigation
|
|
323
368
|
.wrapAround, highlightSuccessful = chart.highlightAdjacentPoint(directionIsNext);
|
|
324
369
|
if (!highlightSuccessful) {
|
|
325
|
-
if (wrapAround
|
|
326
|
-
|
|
370
|
+
if (wrapAround && (directionIsNext ?
|
|
371
|
+
highlightFirstValidPointInChart(chart) :
|
|
372
|
+
highlightLastValidPointInChart(chart))) {
|
|
373
|
+
return handler.response.success;
|
|
327
374
|
}
|
|
328
375
|
return handler.response[directionIsNext ? 'next' : 'prev'];
|
|
329
376
|
}
|
|
@@ -515,7 +562,7 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
515
562
|
// Highlight the new point or any first valid point back or forwards
|
|
516
563
|
// from it
|
|
517
564
|
newPoint.highlight();
|
|
518
|
-
return newPoint.series.
|
|
565
|
+
return newPoint.series.highlightNextValidPoint();
|
|
519
566
|
}
|
|
520
567
|
/**
|
|
521
568
|
* @private
|
|
@@ -552,7 +599,7 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
552
599
|
seriesTypes[type].prototype.keyboardMoveVertical = false;
|
|
553
600
|
}
|
|
554
601
|
});
|
|
555
|
-
seriesProto.
|
|
602
|
+
seriesProto.highlightNextValidPoint = (seriesHighlightNextValidPoint);
|
|
556
603
|
}
|
|
557
604
|
}
|
|
558
605
|
SeriesKeyboardNavigation.compose = compose;
|
|
@@ -586,7 +633,7 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
586
633
|
return defined(minIx) ? series.points[minIx] : void 0;
|
|
587
634
|
}
|
|
588
635
|
/**
|
|
589
|
-
* Highlights a point (show tooltip
|
|
636
|
+
* Highlights a point (show tooltip, display hover state, focus element).
|
|
590
637
|
*
|
|
591
638
|
* @private
|
|
592
639
|
* @function Highcharts.Point#highlight
|
|
@@ -594,9 +641,10 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
594
641
|
* @return {Highcharts.Point}
|
|
595
642
|
* This highlighted point.
|
|
596
643
|
*/
|
|
597
|
-
function pointHighlight() {
|
|
644
|
+
function pointHighlight(highlightVisually) {
|
|
645
|
+
if (highlightVisually === void 0) { highlightVisually = true; }
|
|
598
646
|
var chart = this.series.chart;
|
|
599
|
-
if (!this.isNull) {
|
|
647
|
+
if (!this.isNull && highlightVisually) {
|
|
600
648
|
this.onMouseOver(); // Show the hover marker and tooltip
|
|
601
649
|
}
|
|
602
650
|
else {
|
|
@@ -611,6 +659,9 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
611
659
|
// change z-index and mess up the element.
|
|
612
660
|
if (this.graphic) {
|
|
613
661
|
chart.setFocusToElement(this.graphic);
|
|
662
|
+
if (!highlightVisually && chart.focusElement) {
|
|
663
|
+
chart.focusElement.removeFocusBorder();
|
|
664
|
+
}
|
|
614
665
|
}
|
|
615
666
|
chart.highlightedPoint = this;
|
|
616
667
|
return this;
|
|
@@ -621,9 +672,9 @@ var SeriesKeyboardNavigation = /** @class */ (function () {
|
|
|
621
672
|
* point in the series, use that as starting point.
|
|
622
673
|
*
|
|
623
674
|
* @private
|
|
624
|
-
* @function Highcharts.Series#
|
|
675
|
+
* @function Highcharts.Series#highlightNextValidPoint
|
|
625
676
|
*/
|
|
626
|
-
function
|
|
677
|
+
function seriesHighlightNextValidPoint() {
|
|
627
678
|
var curPoint = this.chart.highlightedPoint, start = (curPoint && curPoint.series) === this ?
|
|
628
679
|
getPointIndex(curPoint) :
|
|
629
680
|
0, points = this.points, len = points.length;
|
|
@@ -42,8 +42,8 @@ var attr = U.attr, extend = U.extend, pick = U.pick;
|
|
|
42
42
|
*/
|
|
43
43
|
function chartHasMapZoom(chart) {
|
|
44
44
|
return !!(chart.mapZoom &&
|
|
45
|
-
chart.
|
|
46
|
-
chart.
|
|
45
|
+
chart.mapNavigation &&
|
|
46
|
+
chart.mapNavigation.navButtons.length);
|
|
47
47
|
}
|
|
48
48
|
/* *
|
|
49
49
|
*
|
|
@@ -81,7 +81,7 @@ var ZoomComponent = /** @class */ (function (_super) {
|
|
|
81
81
|
var component = this, chart = this.chart;
|
|
82
82
|
this.proxyProvider.addGroup('zoom', 'div');
|
|
83
83
|
[
|
|
84
|
-
'afterShowResetZoom', '
|
|
84
|
+
'afterShowResetZoom', 'afterApplyDrilldown', 'drillupall'
|
|
85
85
|
].forEach(function (eventType) {
|
|
86
86
|
component.addEvent(chart, eventType, function () {
|
|
87
87
|
component.updateProxyOverlays();
|
|
@@ -94,8 +94,8 @@ var ZoomComponent = /** @class */ (function (_super) {
|
|
|
94
94
|
ZoomComponent.prototype.onChartUpdate = function () {
|
|
95
95
|
var chart = this.chart, component = this;
|
|
96
96
|
// Make map zoom buttons accessible
|
|
97
|
-
if (chart.
|
|
98
|
-
chart.
|
|
97
|
+
if (chart.mapNavigation) {
|
|
98
|
+
chart.mapNavigation.navButtons.forEach(function (button, i) {
|
|
99
99
|
unhideChartElementFromAT(chart, button.element);
|
|
100
100
|
component.setMapNavButtonAttrs(button.element, 'accessibility.zoom.mapZoom' + (i ? 'Out' : 'In'));
|
|
101
101
|
});
|
|
@@ -131,10 +131,13 @@ var ZoomComponent = /** @class */ (function (_super) {
|
|
|
131
131
|
if (chart.resetZoomButton) {
|
|
132
132
|
this.createZoomProxyButton(chart.resetZoomButton, 'resetZoomProxyButton', chart.langFormat('accessibility.zoom.resetZoomButton', { chart: chart }));
|
|
133
133
|
}
|
|
134
|
-
if (chart.drillUpButton
|
|
134
|
+
if (chart.drillUpButton &&
|
|
135
|
+
chart.breadcrumbs &&
|
|
136
|
+
chart.breadcrumbs.list) {
|
|
137
|
+
var lastBreadcrumb = chart.breadcrumbs.list[chart.breadcrumbs.list.length - 1];
|
|
135
138
|
this.createZoomProxyButton(chart.drillUpButton, 'drillUpProxyButton', chart.langFormat('accessibility.drillUpButton', {
|
|
136
139
|
chart: chart,
|
|
137
|
-
buttonText: chart.
|
|
140
|
+
buttonText: chart.breadcrumbs.getButtonText(lastBreadcrumb)
|
|
138
141
|
}));
|
|
139
142
|
}
|
|
140
143
|
};
|
|
@@ -214,14 +217,14 @@ var ZoomComponent = /** @class */ (function (_super) {
|
|
|
214
217
|
var isMoveOutOfRange = isBackwards && !this.focusedMapNavButtonIx ||
|
|
215
218
|
!isBackwards && this.focusedMapNavButtonIx;
|
|
216
219
|
// Deselect old
|
|
217
|
-
chart.
|
|
220
|
+
chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0);
|
|
218
221
|
if (isMoveOutOfRange) {
|
|
219
222
|
chart.mapZoom(); // Reset zoom
|
|
220
223
|
return response[isBackwards ? 'prev' : 'next'];
|
|
221
224
|
}
|
|
222
225
|
// Select other button
|
|
223
226
|
this.focusedMapNavButtonIx += isBackwards ? -1 : 1;
|
|
224
|
-
var button = chart.
|
|
227
|
+
var button = chart.mapNavigation.navButtons[this.focusedMapNavButtonIx];
|
|
225
228
|
chart.setFocusToElement(button.box, button.element);
|
|
226
229
|
button.setState(2);
|
|
227
230
|
return response.success;
|
|
@@ -241,7 +244,7 @@ var ZoomComponent = /** @class */ (function (_super) {
|
|
|
241
244
|
* @param {number} direction
|
|
242
245
|
*/
|
|
243
246
|
ZoomComponent.prototype.onMapNavInit = function (direction) {
|
|
244
|
-
var chart = this.chart, zoomIn = chart.
|
|
247
|
+
var chart = this.chart, zoomIn = chart.mapNavigation.navButtons[0], zoomOut = chart.mapNavigation.navButtons[1], initialButton = direction > 0 ? zoomIn : zoomOut;
|
|
245
248
|
chart.setFocusToElement(initialButton.box, initialButton.element);
|
|
246
249
|
initialButton.setState(2);
|
|
247
250
|
this.focusedMapNavButtonIx = direction > 0 ? 0 : 1;
|
|
@@ -151,12 +151,13 @@ var FocusBorderComposition;
|
|
|
151
151
|
this.removeFocusBorder();
|
|
152
152
|
}
|
|
153
153
|
// Add the border rect
|
|
154
|
-
var bb = this.getBBox(), pad = pick(margin, 3)
|
|
154
|
+
var bb = this.getBBox(), pad = pick(margin, 3), parent = this.parentGroup, scaleX = this.scaleX || parent && parent.scaleX, scaleY = this.scaleY || parent && parent.scaleY, oneDefined = scaleX ? !scaleY : scaleY, scaleBoth = oneDefined ? Math.abs(scaleX || scaleY || 1) :
|
|
155
|
+
(Math.abs(scaleX || 1) + Math.abs(scaleY || 1)) / 2;
|
|
155
156
|
bb.x += this.translateX ? this.translateX : 0;
|
|
156
157
|
bb.y += this.translateY ? this.translateY : 0;
|
|
157
158
|
var borderPosX = bb.x - pad, borderPosY = bb.y - pad, borderWidth = bb.width + 2 * pad, borderHeight = bb.height + 2 * pad;
|
|
158
|
-
// For text elements, apply x and y offset, #11397.
|
|
159
159
|
/**
|
|
160
|
+
* For text elements, apply x and y offset, #11397.
|
|
160
161
|
* @private
|
|
161
162
|
*/
|
|
162
163
|
function getTextAnchorCorrection(text) {
|
|
@@ -203,16 +204,16 @@ var FocusBorderComposition;
|
|
|
203
204
|
}
|
|
204
205
|
}
|
|
205
206
|
}
|
|
206
|
-
this.focusBorder = this.renderer.rect(borderPosX, borderPosY, borderWidth, borderHeight, parseInt((attribs && attribs.r || 0).toString(), 10))
|
|
207
|
+
this.focusBorder = this.renderer.rect(borderPosX, borderPosY, borderWidth, borderHeight, parseInt((attribs && attribs.r || 0).toString(), 10) / scaleBoth)
|
|
207
208
|
.addClass('highcharts-focus-border')
|
|
208
209
|
.attr({
|
|
209
210
|
zIndex: 99
|
|
210
211
|
})
|
|
211
|
-
.add(
|
|
212
|
+
.add(parent);
|
|
212
213
|
if (!this.renderer.styledMode) {
|
|
213
214
|
this.focusBorder.attr({
|
|
214
215
|
stroke: attribs && attribs.stroke,
|
|
215
|
-
'stroke-width': attribs && attribs.strokeWidth
|
|
216
|
+
'stroke-width': (attribs && attribs.strokeWidth || 0) / scaleBoth
|
|
216
217
|
});
|
|
217
218
|
}
|
|
218
219
|
avgElementAddUpdateFocusBorderHooks(this, margin, attribs);
|
|
@@ -42,8 +42,8 @@ function isHighContrastModeActive() {
|
|
|
42
42
|
doc.body.removeChild(testDiv);
|
|
43
43
|
return bi === 'none';
|
|
44
44
|
}
|
|
45
|
-
//
|
|
46
|
-
return
|
|
45
|
+
// Other browsers use the forced-colors standard
|
|
46
|
+
return win.matchMedia && win.matchMedia('(forced-colors: active)').matches;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Force high contrast theme for the chart. The default theme is defined in
|