highcharts 9.3.3 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
- package/es-modules/Accessibility/Components/MenuComponent.js +4 -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 +3 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +61 -29
- package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
- package/es-modules/Accessibility/HighContrastMode.js +2 -2
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Core/Axis/Axis.js +150 -46
- package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
- package/es-modules/Core/Axis/GridAxis.js +10 -9
- package/es-modules/Core/Axis/TreeGridTick.js +11 -0
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +32 -11
- package/es-modules/Core/Chart/MapChart.js +1 -6
- package/es-modules/Core/DefaultOptions.js +2 -0
- 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 +10 -8
- package/es-modules/Core/Navigator.js +9 -6
- package/es-modules/Core/Pointer.js +15 -11
- package/es-modules/Core/Renderer/HTML/AST.js +62 -5
- package/es-modules/Core/Renderer/SVG/SVGElement.js +25 -41
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -17
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Series/DataLabel.js +11 -3
- package/es-modules/Core/Series/Point.js +2 -2
- package/es-modules/Core/Series/Series.js +33 -15
- package/es-modules/Core/Series/SeriesDefaults.js +4 -1
- package/es-modules/Core/Tooltip.js +14 -31
- package/es-modules/Core/Utilities.js +28 -28
- package/es-modules/Extensions/Annotations/Annotations.js +7 -0
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -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 +874 -0
- package/es-modules/Extensions/Data.js +26 -14
- package/es-modules/Extensions/DataGrouping.js +5 -2
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +147 -94
- package/es-modules/Extensions/Exporting/Exporting.js +9 -7
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
- package/es-modules/Extensions/GeoJSON.js +149 -124
- 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/ScrollablePlotArea.js +5 -1
- package/es-modules/Extensions/Stacking.js +3 -2
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +49 -8
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +606 -135
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +58 -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 +581 -0
- 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/Lollipop/LollipopSeries.js +1 -1
- package/es-modules/Series/Map/MapPoint.js +24 -1
- package/es-modules/Series/Map/MapSeries.js +196 -169
- package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
- package/es-modules/Series/MapPoint/MapPointSeries.js +36 -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/PiePoint.js +12 -5
- 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 +10 -127
- package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +13 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
- 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 +50 -20
- package/highcharts-gantt.js +800 -795
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +528 -290
- package/highcharts-more.js +195 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +13 -2
- package/highcharts.d.ts +2162 -504
- package/highcharts.js +586 -581
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +2162 -504
- package/highcharts.src.js +494 -272
- package/highmaps.js +753 -723
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3603 -2117
- package/highstock.js +790 -786
- package/highstock.js.map +1 -1
- package/highstock.src.js +519 -283
- 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 +231 -229
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +278 -197
- package/modules/annotations-advanced.js +144 -144
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +26 -8
- package/modules/annotations.js +79 -79
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +21 -5
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +770 -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 +16 -4
- package/modules/debugger.js +6 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +11 -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 +37 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1090 -105
- 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 +11 -2
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +82 -18
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +11 -2
- 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 +217 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +45 -20
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +22 -11
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +33 -7
- 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 +7960 -6687
- 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 +338 -156
- 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 +78 -78
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +21 -5
- package/modules/stock.js +162 -162
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +36 -13
- 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 +1049 -96
- 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 +33 -11
- 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 +1039 -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 +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +18 -6
- 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
|
@@ -63,21 +63,26 @@ function ajax(attr) {
|
|
|
63
63
|
objectEach(options.headers, function (val, key) {
|
|
64
64
|
r.setRequestHeader(key, val);
|
|
65
65
|
});
|
|
66
|
+
if (options.responseType) {
|
|
67
|
+
r.responseType = options.responseType;
|
|
68
|
+
}
|
|
66
69
|
// @todo lacking timeout handling
|
|
67
70
|
r.onreadystatechange = function () {
|
|
68
71
|
var res;
|
|
69
72
|
if (r.readyState === 4) {
|
|
70
73
|
if (r.status === 200) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
if (options.responseType !== 'blob') {
|
|
75
|
+
res = r.responseText;
|
|
76
|
+
if (options.dataType === 'json') {
|
|
77
|
+
try {
|
|
78
|
+
res = JSON.parse(res);
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
return handleError(r, e);
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
}
|
|
80
|
-
return options.success && options.success(res);
|
|
85
|
+
return options.success && options.success(res, r);
|
|
81
86
|
}
|
|
82
87
|
handleError(r, r.responseText);
|
|
83
88
|
}
|
|
@@ -68,7 +68,7 @@ var Legend = /** @class */ (function () {
|
|
|
68
68
|
this.maxItemWidth = 0;
|
|
69
69
|
this.maxLegendWidth = 0;
|
|
70
70
|
this.offsetWidth = 0;
|
|
71
|
-
this.options =
|
|
71
|
+
this.options = void 0;
|
|
72
72
|
this.padding = 0;
|
|
73
73
|
this.pages = [];
|
|
74
74
|
this.proximate = false;
|
|
@@ -378,7 +378,7 @@ var Legend = /** @class */ (function () {
|
|
|
378
378
|
* @name Highcharts.Legend#title
|
|
379
379
|
* @type {Highcharts.SVGElement}
|
|
380
380
|
*/
|
|
381
|
-
this.title = this.chart.renderer.label(titleOptions.text, padding - 3, padding - 4,
|
|
381
|
+
this.title = this.chart.renderer.label(titleOptions.text, padding - 3, padding - 4, void 0, void 0, void 0, options.useHTML, void 0, 'legend-title')
|
|
382
382
|
.attr({ zIndex: 1 });
|
|
383
383
|
if (!this.chart.styledMode) {
|
|
384
384
|
this.title.css(titleOptions.style);
|
|
@@ -704,8 +704,7 @@ var Legend = /** @class */ (function () {
|
|
|
704
704
|
legend.lastItemY = 0;
|
|
705
705
|
legend.widthOption = relativeLength(options.width, chart.spacingBox.width - padding);
|
|
706
706
|
// Compute how wide the legend is allowed to be
|
|
707
|
-
allowedWidth =
|
|
708
|
-
chart.spacingBox.width - 2 * padding - options.x;
|
|
707
|
+
allowedWidth = chart.spacingBox.width - 2 * padding - options.x;
|
|
709
708
|
if (['rm', 'lm'].indexOf(legend.getAlignment().substring(0, 2)) > -1) {
|
|
710
709
|
allowedWidth /= 2;
|
|
711
710
|
}
|
|
@@ -778,7 +777,6 @@ var Legend = /** @class */ (function () {
|
|
|
778
777
|
r: options.borderRadius
|
|
779
778
|
})
|
|
780
779
|
.add(legendGroup);
|
|
781
|
-
box.isNew = true;
|
|
782
780
|
}
|
|
783
781
|
// Presentational
|
|
784
782
|
if (!chart.styledMode) {
|
|
@@ -791,13 +789,12 @@ var Legend = /** @class */ (function () {
|
|
|
791
789
|
.shadow(options.shadow);
|
|
792
790
|
}
|
|
793
791
|
if (legendWidth > 0 && legendHeight > 0) {
|
|
794
|
-
box[box.
|
|
792
|
+
box[box.placed ? 'animate' : 'attr'](box.crisp.call({}, {
|
|
795
793
|
x: 0,
|
|
796
794
|
y: 0,
|
|
797
795
|
width: legendWidth,
|
|
798
796
|
height: legendHeight
|
|
799
797
|
}, box.strokeWidth()));
|
|
800
|
-
box.isNew = false;
|
|
801
798
|
}
|
|
802
799
|
// hide the border if no items
|
|
803
800
|
box[display ? 'show' : 'hide']();
|
|
@@ -839,6 +836,11 @@ var Legend = /** @class */ (function () {
|
|
|
839
836
|
if (y !== alignTo.y) {
|
|
840
837
|
alignTo = merge(alignTo, { y: y });
|
|
841
838
|
}
|
|
839
|
+
if (!chart.hasRendered) {
|
|
840
|
+
// Avoid animation when adjusting alignment for responsiveness and
|
|
841
|
+
// colorAxis label layout
|
|
842
|
+
this.group.placed = false;
|
|
843
|
+
}
|
|
842
844
|
this.group.align(merge(options, {
|
|
843
845
|
width: this.legendWidth,
|
|
844
846
|
height: this.legendHeight,
|
|
@@ -953,7 +955,7 @@ var Legend = /** @class */ (function () {
|
|
|
953
955
|
});
|
|
954
956
|
this.pager = renderer.text('', 15, 10)
|
|
955
957
|
.addClass('highcharts-legend-navigation');
|
|
956
|
-
if (!chart.styledMode) {
|
|
958
|
+
if (!chart.styledMode && navOptions.style) {
|
|
957
959
|
this.pager.css(navOptions.style);
|
|
958
960
|
}
|
|
959
961
|
this.pager.add(nav);
|
|
@@ -747,19 +747,21 @@ var Navigator = /** @class */ (function () {
|
|
|
747
747
|
maskInside,
|
|
748
748
|
!maskInside
|
|
749
749
|
].forEach(function (hasMask, index) {
|
|
750
|
-
|
|
750
|
+
var shade = renderer.rect()
|
|
751
751
|
.addClass('highcharts-navigator-mask' +
|
|
752
752
|
(index === 1 ? '-inside' : '-outside'))
|
|
753
753
|
.add(navigatorGroup);
|
|
754
754
|
if (!chart.styledMode) {
|
|
755
|
-
|
|
756
|
-
.attr({
|
|
755
|
+
shade.attr({
|
|
757
756
|
fill: hasMask ?
|
|
758
757
|
navigatorOptions.maskFill :
|
|
759
758
|
'rgba(0,0,0,0)'
|
|
760
|
-
})
|
|
761
|
-
|
|
759
|
+
});
|
|
760
|
+
if (index === 1) {
|
|
761
|
+
shade.css(mouseCursor);
|
|
762
|
+
}
|
|
762
763
|
}
|
|
764
|
+
navigator.shades[index] = shade;
|
|
763
765
|
});
|
|
764
766
|
// Create the outline:
|
|
765
767
|
navigator.outline = renderer.path()
|
|
@@ -1643,7 +1645,8 @@ var Navigator = /** @class */ (function () {
|
|
|
1643
1645
|
Navigator.prototype.getBaseSeriesMin = function (currentSeriesMin) {
|
|
1644
1646
|
return this.baseSeries.reduce(function (min, series) {
|
|
1645
1647
|
// (#10193)
|
|
1646
|
-
return Math.min(min, series.xData
|
|
1648
|
+
return Math.min(min, series.xData && series.xData.length ?
|
|
1649
|
+
series.xData[0] : min);
|
|
1647
1650
|
}, currentSeriesMin);
|
|
1648
1651
|
};
|
|
1649
1652
|
/**
|
|
@@ -600,9 +600,9 @@ var Pointer = /** @class */ (function () {
|
|
|
600
600
|
* name.
|
|
601
601
|
*/
|
|
602
602
|
Pointer.prototype.inClass = function (element, className) {
|
|
603
|
-
var elemClassName;
|
|
604
|
-
while (
|
|
605
|
-
elemClassName = attr(
|
|
603
|
+
var elem = element, elemClassName;
|
|
604
|
+
while (elem) {
|
|
605
|
+
elemClassName = attr(elem, 'class');
|
|
606
606
|
if (elemClassName) {
|
|
607
607
|
if (elemClassName.indexOf(className) !== -1) {
|
|
608
608
|
return true;
|
|
@@ -611,7 +611,7 @@ var Pointer = /** @class */ (function () {
|
|
|
611
611
|
return false;
|
|
612
612
|
}
|
|
613
613
|
}
|
|
614
|
-
|
|
614
|
+
elem = elem.parentElement;
|
|
615
615
|
}
|
|
616
616
|
};
|
|
617
617
|
/**
|
|
@@ -652,6 +652,9 @@ var Pointer = /** @class */ (function () {
|
|
|
652
652
|
* properties `chartX` and `chartY` in order to work on the internal
|
|
653
653
|
* coordinate system.
|
|
654
654
|
*
|
|
655
|
+
* On map charts, the properties `lon` and `lat` are added to the event
|
|
656
|
+
* object given that the chart has projection information.
|
|
657
|
+
*
|
|
655
658
|
* @function Highcharts.Pointer#normalize
|
|
656
659
|
*
|
|
657
660
|
* @param {global.MouseEvent|global.PointerEvent|global.TouchEvent} e
|
|
@@ -1199,11 +1202,12 @@ var Pointer = /** @class */ (function () {
|
|
|
1199
1202
|
* The mouseOver event should be triggered when hoverPoint
|
|
1200
1203
|
* is correct.
|
|
1201
1204
|
*/
|
|
1202
|
-
hoverPoint.firePointEvent('mouseOver')
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1205
|
+
hoverPoint.firePointEvent('mouseOver', void 0, function () {
|
|
1206
|
+
// Draw tooltip if necessary
|
|
1207
|
+
if (tooltip && hoverPoint) {
|
|
1208
|
+
tooltip.refresh(useSharedTooltip ? points : hoverPoint, e);
|
|
1209
|
+
}
|
|
1210
|
+
});
|
|
1207
1211
|
// Update positions (regardless of kdpoint or hoverPoint)
|
|
1208
1212
|
}
|
|
1209
1213
|
else if (followPointer && tooltip && !tooltip.isHidden) {
|
|
@@ -1232,7 +1236,7 @@ var Pointer = /** @class */ (function () {
|
|
|
1232
1236
|
point = chart.hoverPoint; // #13002
|
|
1233
1237
|
if (!point || point.series[axis.coll] !== axis) {
|
|
1234
1238
|
point = find(points, function (p) {
|
|
1235
|
-
return p.series[axis.coll] === axis;
|
|
1239
|
+
return p.series && p.series[axis.coll] === axis;
|
|
1236
1240
|
});
|
|
1237
1241
|
}
|
|
1238
1242
|
}
|
|
@@ -1320,7 +1324,7 @@ var Pointer = /** @class */ (function () {
|
|
|
1320
1324
|
var hoverChart = H.charts[pick(Pointer.hoverChartIndex, -1)];
|
|
1321
1325
|
if (hoverChart &&
|
|
1322
1326
|
hoverChart !== chart) {
|
|
1323
|
-
hoverChart.pointer.onContainerMouseLeave({ relatedTarget:
|
|
1327
|
+
hoverChart.pointer.onContainerMouseLeave({ relatedTarget: chart.container });
|
|
1324
1328
|
}
|
|
1325
1329
|
if (!hoverChart ||
|
|
1326
1330
|
!hoverChart.mouseIsDown) {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import H from '../../Globals.js';
|
|
12
12
|
var SVG_NS = H.SVG_NS, win = H.win;
|
|
13
13
|
import U from '../../Utilities.js';
|
|
14
|
-
var attr = U.attr, createElement = U.createElement, error = U.error, isFunction = U.isFunction, isString = U.isString, objectEach = U.objectEach, splat = U.splat;
|
|
14
|
+
var attr = U.attr, createElement = U.createElement, css = U.css, error = U.error, isFunction = U.isFunction, isString = U.isString, objectEach = U.objectEach, splat = U.splat;
|
|
15
15
|
var trustedTypes = win.trustedTypes;
|
|
16
16
|
/* *
|
|
17
17
|
*
|
|
@@ -97,6 +97,17 @@ var AST = /** @class */ (function () {
|
|
|
97
97
|
});
|
|
98
98
|
return attributes;
|
|
99
99
|
};
|
|
100
|
+
AST.parseStyle = function (style) {
|
|
101
|
+
return style
|
|
102
|
+
.split(';')
|
|
103
|
+
.reduce(function (styles, line) {
|
|
104
|
+
var pair = line.split(':').map(function (s) { return s.trim(); }), key = pair[0].replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
|
105
|
+
if (pair[1]) {
|
|
106
|
+
styles[key] = pair[1];
|
|
107
|
+
}
|
|
108
|
+
return styles;
|
|
109
|
+
}, {});
|
|
110
|
+
};
|
|
100
111
|
/**
|
|
101
112
|
* Utility function to set html content for an element by passing in a
|
|
102
113
|
* markup string. The markup is safely parsed by the AST class to avoid
|
|
@@ -152,12 +163,15 @@ var AST = /** @class */ (function () {
|
|
|
152
163
|
var textNode = item.textContent ?
|
|
153
164
|
H.doc.createTextNode(item.textContent) :
|
|
154
165
|
void 0;
|
|
166
|
+
// Whether to ignore the AST filtering totally, #15345
|
|
167
|
+
var bypassHTMLFiltering = AST.bypassHTMLFiltering;
|
|
155
168
|
var node;
|
|
156
169
|
if (tagName) {
|
|
157
170
|
if (tagName === '#text') {
|
|
158
171
|
node = textNode;
|
|
159
172
|
}
|
|
160
|
-
else if (AST.allowedTags.indexOf(tagName) !== -1
|
|
173
|
+
else if (AST.allowedTags.indexOf(tagName) !== -1 ||
|
|
174
|
+
bypassHTMLFiltering) {
|
|
161
175
|
var NS = tagName === 'svg' ?
|
|
162
176
|
SVG_NS :
|
|
163
177
|
(subParent.namespaceURI || SVG_NS);
|
|
@@ -169,11 +183,17 @@ var AST = /** @class */ (function () {
|
|
|
169
183
|
if (key !== 'tagName' &&
|
|
170
184
|
key !== 'attributes' &&
|
|
171
185
|
key !== 'children' &&
|
|
186
|
+
key !== 'style' &&
|
|
172
187
|
key !== 'textContent') {
|
|
173
188
|
attributes_1[key] = val;
|
|
174
189
|
}
|
|
175
190
|
});
|
|
176
|
-
attr(element,
|
|
191
|
+
attr(element, bypassHTMLFiltering ?
|
|
192
|
+
attributes_1 :
|
|
193
|
+
AST.filterUserAttributes(attributes_1));
|
|
194
|
+
if (item.style) {
|
|
195
|
+
css(element, item.style);
|
|
196
|
+
}
|
|
177
197
|
// Add text content
|
|
178
198
|
if (textNode) {
|
|
179
199
|
element.appendChild(textNode);
|
|
@@ -212,7 +232,11 @@ var AST = /** @class */ (function () {
|
|
|
212
232
|
*/
|
|
213
233
|
AST.prototype.parseMarkup = function (markup) {
|
|
214
234
|
var nodes = [];
|
|
215
|
-
markup = markup
|
|
235
|
+
markup = markup
|
|
236
|
+
.trim()
|
|
237
|
+
// The style attribute throws a warning when parsing when CSP is
|
|
238
|
+
// enabled (#6884), so use an alias and pick it up below
|
|
239
|
+
.replace(/ style="/g, ' data-style="');
|
|
216
240
|
var doc;
|
|
217
241
|
if (hasValidDOMParser) {
|
|
218
242
|
doc = new DOMParser().parseFromString(trustedTypesPolicy ?
|
|
@@ -238,7 +262,12 @@ var AST = /** @class */ (function () {
|
|
|
238
262
|
if (parsedAttributes) {
|
|
239
263
|
var attributes_2 = {};
|
|
240
264
|
[].forEach.call(parsedAttributes, function (attrib) {
|
|
241
|
-
|
|
265
|
+
if (attrib.name === 'data-style') {
|
|
266
|
+
astNode.style = AST.parseStyle(attrib.value);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
attributes_2[attrib.name] = attrib.value;
|
|
270
|
+
}
|
|
242
271
|
});
|
|
243
272
|
astNode.attributes = attributes_2;
|
|
244
273
|
}
|
|
@@ -442,6 +471,34 @@ var AST = /** @class */ (function () {
|
|
|
442
471
|
'#text'
|
|
443
472
|
];
|
|
444
473
|
AST.emptyHTML = emptyHTML;
|
|
474
|
+
/**
|
|
475
|
+
* Allow all custom SVG and HTML attributes, references and tags (together
|
|
476
|
+
* with potentially harmful ones) to be added to the DOM from the chart
|
|
477
|
+
* configuration. In other words, disable the the allow-listing which is the
|
|
478
|
+
* primary functionality of the AST.
|
|
479
|
+
*
|
|
480
|
+
* WARNING: Setting this property to `true` while allowing untrusted user
|
|
481
|
+
* data in the chart configuration will expose your application to XSS
|
|
482
|
+
* security risks!
|
|
483
|
+
*
|
|
484
|
+
* Note that in case you want to allow a known set of tags or attributes,
|
|
485
|
+
* you should allow-list them instead of disabling the filtering totally.
|
|
486
|
+
* See [allowedAttributes](Highcharts.AST#.allowedAttributes),
|
|
487
|
+
* [allowedReferences](Highcharts.AST#.allowedReferences) and
|
|
488
|
+
* [allowedTags](Highcharts.AST#.allowedTags). The `bypassHTMLFiltering`
|
|
489
|
+
* setting is intended only for those cases where allow-listing is not
|
|
490
|
+
* practical, and the chart configuration already comes from a secure
|
|
491
|
+
* source.
|
|
492
|
+
*
|
|
493
|
+
* @example
|
|
494
|
+
* // Allow all custom attributes, references and tags (disable DOM XSS
|
|
495
|
+
* // filtering)
|
|
496
|
+
* Highcharts.AST.bypassHTMLFiltering = true;
|
|
497
|
+
*
|
|
498
|
+
* @name Highcharts.AST.bypassHTMLFiltering
|
|
499
|
+
* @static
|
|
500
|
+
*/
|
|
501
|
+
AST.bypassHTMLFiltering = false;
|
|
445
502
|
return AST;
|
|
446
503
|
}());
|
|
447
504
|
/* *
|
|
@@ -351,7 +351,7 @@ var SVGElement = /** @class */ (function () {
|
|
|
351
351
|
}, deferTime);
|
|
352
352
|
}
|
|
353
353
|
else {
|
|
354
|
-
this.attr(params, void 0, complete);
|
|
354
|
+
this.attr(params, void 0, complete || animOptions.complete);
|
|
355
355
|
// Call the end step synchronously
|
|
356
356
|
objectEach(params, function (val, prop) {
|
|
357
357
|
if (animOptions.step) {
|
|
@@ -731,22 +731,17 @@ var SVGElement = /** @class */ (function () {
|
|
|
731
731
|
* Return the SVG element for chaining.
|
|
732
732
|
*/
|
|
733
733
|
SVGElement.prototype.css = function (styles) {
|
|
734
|
-
var oldStyles = this.styles, newStyles = {}, elem = this.element
|
|
735
|
-
|
|
736
|
-
// renderer, but are not supported by SVG and should not be added to
|
|
737
|
-
// the DOM. In styled mode, no CSS should find its way to the DOM
|
|
738
|
-
// whatsoever (#6173, #6474).
|
|
739
|
-
svgPseudoProps = ['textOutline', 'textOverflow', 'width'];
|
|
740
|
-
var textWidth, serializedCss = '', hyphenate, hasNew = !oldStyles;
|
|
734
|
+
var oldStyles = this.styles, newStyles = {}, elem = this.element;
|
|
735
|
+
var textWidth, hasNew = !oldStyles;
|
|
741
736
|
// convert legacy
|
|
742
|
-
if (styles
|
|
737
|
+
if (styles.color) {
|
|
743
738
|
styles.fill = styles.color;
|
|
744
739
|
}
|
|
745
740
|
// Filter out existing styles to increase performance (#2640)
|
|
746
741
|
if (oldStyles) {
|
|
747
|
-
objectEach(styles, function (
|
|
748
|
-
if (oldStyles && oldStyles[n] !==
|
|
749
|
-
newStyles[n] =
|
|
742
|
+
objectEach(styles, function (value, n) {
|
|
743
|
+
if (oldStyles && oldStyles[n] !== value) {
|
|
744
|
+
newStyles[n] = value;
|
|
750
745
|
hasNew = true;
|
|
751
746
|
}
|
|
752
747
|
});
|
|
@@ -757,41 +752,30 @@ var SVGElement = /** @class */ (function () {
|
|
|
757
752
|
styles = extend(oldStyles, newStyles);
|
|
758
753
|
}
|
|
759
754
|
// Get the text width from style
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
textWidth = this.textWidth = pInt(styles.width);
|
|
769
|
-
}
|
|
755
|
+
// Previously set, unset it (#8234)
|
|
756
|
+
if (styles.width === null || styles.width === 'auto') {
|
|
757
|
+
delete this.textWidth;
|
|
758
|
+
// Apply new
|
|
759
|
+
}
|
|
760
|
+
else if (elem.nodeName.toLowerCase() === 'text' &&
|
|
761
|
+
styles.width) {
|
|
762
|
+
textWidth = this.textWidth = pInt(styles.width);
|
|
770
763
|
}
|
|
771
764
|
// store object
|
|
772
765
|
this.styles = styles;
|
|
773
766
|
if (textWidth && (!svg && this.renderer.forExport)) {
|
|
774
767
|
delete styles.width;
|
|
775
768
|
}
|
|
776
|
-
|
|
777
|
-
if (elem.namespaceURI === this.SVG_NS) {
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
n.replace(/([A-Z])/g, hyphenate) + ':' +
|
|
785
|
-
style + ';';
|
|
786
|
-
}
|
|
787
|
-
});
|
|
788
|
-
if (serializedCss) {
|
|
789
|
-
attr(elem, 'style', serializedCss); // #1881
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
else {
|
|
793
|
-
css(elem, styles);
|
|
769
|
+
var stylesToApply_1 = merge(styles);
|
|
770
|
+
if (elem.namespaceURI === this.SVG_NS) {
|
|
771
|
+
// These CSS properties are interpreted internally by the SVG
|
|
772
|
+
// renderer, but are not supported by SVG and should not be
|
|
773
|
+
// added to the DOM. In styled mode, no CSS should find its way
|
|
774
|
+
// to the DOM whatsoever (#6173, #6474).
|
|
775
|
+
['textOutline', 'textOverflow', 'width'].forEach(function (key) { return (stylesToApply_1 &&
|
|
776
|
+
delete stylesToApply_1[key]); });
|
|
794
777
|
}
|
|
778
|
+
css(elem, stylesToApply_1);
|
|
795
779
|
if (this.added) {
|
|
796
780
|
// Rebuild text after added. Cache mechanisms in the buildText
|
|
797
781
|
// will prevent building if there are no significant changes.
|
|
@@ -799,7 +783,7 @@ var SVGElement = /** @class */ (function () {
|
|
|
799
783
|
this.renderer.buildText(this);
|
|
800
784
|
}
|
|
801
785
|
// Apply text outline after added
|
|
802
|
-
if (styles
|
|
786
|
+
if (styles.textOutline) {
|
|
803
787
|
this.applyTextOutline(styles.textOutline);
|
|
804
788
|
}
|
|
805
789
|
}
|
|
@@ -31,10 +31,21 @@ SVGElement3D.base = {
|
|
|
31
31
|
var elem3d = this, renderer = elem3d.renderer, paths = renderer[elem3d.pathType + 'Path'](args), zIndexes = paths.zIndexes;
|
|
32
32
|
// build parts
|
|
33
33
|
elem3d.parts.forEach(function (part) {
|
|
34
|
-
|
|
34
|
+
var attribs = {
|
|
35
35
|
'class': 'highcharts-3d-' + part,
|
|
36
36
|
zIndex: zIndexes[part] || 0
|
|
37
|
-
}
|
|
37
|
+
};
|
|
38
|
+
if (renderer.styledMode) {
|
|
39
|
+
if (part === 'top') {
|
|
40
|
+
attribs.filter = 'url(#highcharts-brighter)';
|
|
41
|
+
}
|
|
42
|
+
else if (part === 'side') {
|
|
43
|
+
attribs.filter = 'url(#highcharts-darker)';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
elem3d[part] = renderer.path(paths[part])
|
|
47
|
+
.attr(attribs)
|
|
48
|
+
.add(elem3d);
|
|
38
49
|
});
|
|
39
50
|
elem3d.attr({
|
|
40
51
|
'stroke-linejoin': 'round',
|
|
@@ -126,11 +137,12 @@ SVGElement3D.cuboid = merge(SVGElement3D.base, {
|
|
|
126
137
|
this.attr({
|
|
127
138
|
zIndex: paths.zIndexes.group
|
|
128
139
|
});
|
|
129
|
-
// If sides that are forced to render changed, recalculate
|
|
130
|
-
// colors.
|
|
140
|
+
// If sides that are forced to render changed, recalculate colors.
|
|
131
141
|
if (forcedSides !== this.forcedSides) {
|
|
132
142
|
this.forcedSides = forcedSides;
|
|
133
|
-
|
|
143
|
+
if (!this.renderer.styledMode) {
|
|
144
|
+
SVGElement3D.cuboid.fillSetter.call(this, this.fill);
|
|
145
|
+
}
|
|
134
146
|
}
|
|
135
147
|
}
|
|
136
148
|
else {
|
|
@@ -193,7 +193,7 @@ var SVGRenderer = /** @class */ (function () {
|
|
|
193
193
|
this.url = this.getReferenceURL();
|
|
194
194
|
// Add description
|
|
195
195
|
var desc = this.createElement('desc').add();
|
|
196
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts
|
|
196
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 10.0.0'));
|
|
197
197
|
renderer.defs = this.createElement('defs').add();
|
|
198
198
|
renderer.allowHTML = allowHTML;
|
|
199
199
|
renderer.forExport = forExport;
|
|
@@ -523,29 +523,26 @@ var SVGRenderer = /** @class */ (function () {
|
|
|
523
523
|
// Make a copy of normalState (#13798)
|
|
524
524
|
// (reference to options.rangeSelector.buttonTheme)
|
|
525
525
|
normalState = theme ? merge(theme) : {};
|
|
526
|
-
var
|
|
526
|
+
var normalStyle = merge({
|
|
527
|
+
color: "#333333" /* neutralColor80 */,
|
|
528
|
+
cursor: 'pointer',
|
|
529
|
+
fontWeight: 'normal'
|
|
530
|
+
}, normalState.style);
|
|
531
|
+
delete normalState.style;
|
|
527
532
|
// Remove stylable attributes
|
|
528
533
|
normalState = AST.filterUserAttributes(normalState);
|
|
529
534
|
// Default, non-stylable attributes
|
|
530
535
|
label.attr(merge({ padding: 8, r: 2 }, normalState));
|
|
531
|
-
// Presentational
|
|
532
|
-
|
|
536
|
+
// Presentational. The string type is a mistake, it is just for
|
|
537
|
+
// compliance with SVGAttribute and is not used in button theme.
|
|
538
|
+
var hoverStyle, pressedStyle, disabledStyle;
|
|
533
539
|
if (!styledMode) {
|
|
534
540
|
// Normal state - prepare the attributes
|
|
535
541
|
normalState = merge({
|
|
536
542
|
fill: "#f7f7f7" /* neutralColor3 */,
|
|
537
543
|
stroke: "#cccccc" /* neutralColor20 */,
|
|
538
|
-
'stroke-width': 1
|
|
539
|
-
style: {
|
|
540
|
-
color: "#333333" /* neutralColor80 */,
|
|
541
|
-
cursor: 'pointer',
|
|
542
|
-
fontWeight: 'normal'
|
|
543
|
-
}
|
|
544
|
-
}, {
|
|
545
|
-
style: userNormalStyle
|
|
544
|
+
'stroke-width': 1
|
|
546
545
|
}, normalState);
|
|
547
|
-
normalStyle = normalState.style;
|
|
548
|
-
delete normalState.style;
|
|
549
546
|
// Hover state
|
|
550
547
|
hoverState = merge(normalState, {
|
|
551
548
|
fill: "#e6e6e6" /* neutralColor10 */
|
|
@@ -600,13 +597,16 @@ var SVGRenderer = /** @class */ (function () {
|
|
|
600
597
|
hoverState,
|
|
601
598
|
pressedState,
|
|
602
599
|
disabledState
|
|
603
|
-
][state || 0])
|
|
604
|
-
|
|
600
|
+
][state || 0]);
|
|
601
|
+
var css_1 = [
|
|
605
602
|
normalStyle,
|
|
606
603
|
hoverStyle,
|
|
607
604
|
pressedStyle,
|
|
608
605
|
disabledStyle
|
|
609
|
-
][state || 0]
|
|
606
|
+
][state || 0];
|
|
607
|
+
if (isObject(css_1)) {
|
|
608
|
+
label.css(css_1);
|
|
609
|
+
}
|
|
610
610
|
}
|
|
611
611
|
};
|
|
612
612
|
// Presentational attributes
|
|
@@ -12,7 +12,7 @@ import AST from '../HTML/AST.js';
|
|
|
12
12
|
import H from '../../Globals.js';
|
|
13
13
|
var doc = H.doc, SVG_NS = H.SVG_NS, win = H.win;
|
|
14
14
|
import U from '../../Utilities.js';
|
|
15
|
-
var attr = U.attr, isString = U.isString, objectEach = U.objectEach, pick = U.pick;
|
|
15
|
+
var attr = U.attr, extend = U.extend, isString = U.isString, objectEach = U.objectEach, pick = U.pick;
|
|
16
16
|
/* *
|
|
17
17
|
*
|
|
18
18
|
* Class
|
|
@@ -280,27 +280,29 @@ var TextBuilder = /** @class */ (function () {
|
|
|
280
280
|
TextBuilder.prototype.modifyTree = function (nodes) {
|
|
281
281
|
var _this = this;
|
|
282
282
|
var modifyChild = function (node, i) {
|
|
283
|
-
var _a = node.attributes, attributes = _a === void 0 ? {} : _a, children = node.children, tagName = node.tagName, styledMode = _this.renderer.styledMode;
|
|
283
|
+
var _a = node.attributes, attributes = _a === void 0 ? {} : _a, children = node.children, _b = node.style, style = _b === void 0 ? {} : _b, tagName = node.tagName, styledMode = _this.renderer.styledMode;
|
|
284
284
|
// Apply styling to text tags
|
|
285
285
|
if (tagName === 'b' || tagName === 'strong') {
|
|
286
286
|
if (styledMode) {
|
|
287
|
-
|
|
287
|
+
// eslint-disable-next-line dot-notation
|
|
288
|
+
attributes['class'] = 'highcharts-strong';
|
|
288
289
|
}
|
|
289
290
|
else {
|
|
290
|
-
|
|
291
|
+
style.fontWeight = 'bold';
|
|
291
292
|
}
|
|
292
293
|
}
|
|
293
294
|
else if (tagName === 'i' || tagName === 'em') {
|
|
294
295
|
if (styledMode) {
|
|
295
|
-
|
|
296
|
+
// eslint-disable-next-line dot-notation
|
|
297
|
+
attributes['class'] = 'highcharts-emphasized';
|
|
296
298
|
}
|
|
297
299
|
else {
|
|
298
|
-
|
|
300
|
+
style.fontStyle = 'italic';
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
|
-
// Modify
|
|
302
|
-
if (
|
|
303
|
-
|
|
303
|
+
// Modify styling
|
|
304
|
+
if (style && style.color) {
|
|
305
|
+
style.fill = style.color;
|
|
304
306
|
}
|
|
305
307
|
// Handle breaks
|
|
306
308
|
if (tagName === 'br') {
|
|
@@ -325,7 +327,7 @@ var TextBuilder = /** @class */ (function () {
|
|
|
325
327
|
if (tagName !== '#text' && tagName !== 'a') {
|
|
326
328
|
node.tagName = 'tspan';
|
|
327
329
|
}
|
|
328
|
-
node
|
|
330
|
+
extend(node, { attributes: attributes, style: style });
|
|
329
331
|
// Recurse
|
|
330
332
|
if (children) {
|
|
331
333
|
children
|
|
@@ -259,8 +259,8 @@ var DataLabel;
|
|
|
259
259
|
point.connectors[i] :
|
|
260
260
|
point.connector;
|
|
261
261
|
var labelConfig, formatString, labelText, style, rotation, attr, dataLabel = point.dataLabels ?
|
|
262
|
-
point.dataLabels[i] : point.dataLabel;
|
|
263
|
-
var labelDistance = pick(labelOptions.distance, point.labelDistance)
|
|
262
|
+
point.dataLabels[i] : point.dataLabel, isNew = !dataLabel;
|
|
263
|
+
var labelDistance = pick(labelOptions.distance, point.labelDistance);
|
|
264
264
|
if (labelEnabled) {
|
|
265
265
|
// Create individual options structure that can be
|
|
266
266
|
// extended without affecting others
|
|
@@ -314,7 +314,15 @@ var DataLabel;
|
|
|
314
314
|
// #820
|
|
315
315
|
if (dataLabel && (!labelEnabled ||
|
|
316
316
|
!defined(labelText) ||
|
|
317
|
-
!!dataLabel.div !== !!labelOptions.useHTML
|
|
317
|
+
!!dataLabel.div !== !!labelOptions.useHTML ||
|
|
318
|
+
(
|
|
319
|
+
// Change from no rotation to rotation and
|
|
320
|
+
// vice versa. Don't use defined() because
|
|
321
|
+
// rotation = 0 means also rotation = undefined
|
|
322
|
+
(!dataLabel.rotation ||
|
|
323
|
+
!labelOptions.rotation) &&
|
|
324
|
+
dataLabel.rotation !== labelOptions.rotation))) {
|
|
325
|
+
isNew = true;
|
|
318
326
|
point.dataLabel = dataLabel =
|
|
319
327
|
point.dataLabel && point.dataLabel.destroy();
|
|
320
328
|
if (point.dataLabels) {
|
|
@@ -1133,7 +1133,7 @@ export default Point;
|
|
|
1133
1133
|
* @type {Highcharts.Point}
|
|
1134
1134
|
*/
|
|
1135
1135
|
/**
|
|
1136
|
-
* Configuration
|
|
1136
|
+
* Configuration for the data label and tooltip formatters.
|
|
1137
1137
|
*
|
|
1138
1138
|
* @interface Highcharts.PointLabelObject
|
|
1139
1139
|
*/ /**
|
|
@@ -1175,7 +1175,7 @@ export default Point;
|
|
|
1175
1175
|
*/ /**
|
|
1176
1176
|
* The y value of the point.
|
|
1177
1177
|
* @name Highcharts.PointLabelObject#y
|
|
1178
|
-
* @type {number|undefined}
|
|
1178
|
+
* @type {number|null|undefined}
|
|
1179
1179
|
*/
|
|
1180
1180
|
/**
|
|
1181
1181
|
* Gets fired when the mouse leaves the area close to the point.
|