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
|
@@ -20,9 +20,11 @@ var downloadURL = DownloadURL.downloadURL;
|
|
|
20
20
|
import Exporting from '../Exporting/Exporting.js';
|
|
21
21
|
import H from '../../Core/Globals.js';
|
|
22
22
|
var win = H.win, doc = H.doc;
|
|
23
|
+
import HU from '../../Core/HttpUtilities.js';
|
|
24
|
+
var ajax = HU.ajax;
|
|
23
25
|
import OfflineExportingDefaults from './OfflineExportingDefaults.js';
|
|
24
26
|
import U from '../../Core/Utilities.js';
|
|
25
|
-
var addEvent = U.addEvent, error = U.error, extend = U.extend, fireEvent = U.fireEvent, merge = U.merge;
|
|
27
|
+
var addEvent = U.addEvent, error = U.error, extend = U.extend, fireEvent = U.fireEvent, pick = U.pick, merge = U.merge;
|
|
26
28
|
AST.allowedAttributes.push('data-z-index', 'fill-opacity', 'rx', 'ry', 'stroke-dasharray', 'stroke-linejoin', 'text-anchor', 'transform', 'version', 'viewBox', 'visibility', 'xmlns', 'xmlns:xlink');
|
|
27
29
|
AST.allowedTags.push('desc', 'clippath', 'g');
|
|
28
30
|
/* *
|
|
@@ -110,9 +112,82 @@ var OfflineExporting;
|
|
|
110
112
|
'.' +
|
|
111
113
|
(imageType === 'image/svg+xml' ?
|
|
112
114
|
'svg' : imageType.split('/')[1])), scale = options.scale || 1;
|
|
113
|
-
var svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true;
|
|
115
|
+
var svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true, pdfFont = options.pdfFont;
|
|
114
116
|
// Allow libURL to end with or without fordward slash
|
|
115
117
|
libURL = libURL.slice(-1) !== '/' ? libURL + '/' : libURL;
|
|
118
|
+
/*
|
|
119
|
+
* Detect if we need to load TTF fonts for the PDF, then load them and
|
|
120
|
+
* proceed.
|
|
121
|
+
*
|
|
122
|
+
* @private
|
|
123
|
+
*/
|
|
124
|
+
var loadPdfFonts = function (svgElement, callback) {
|
|
125
|
+
var hasNonASCII = function (s) { return (
|
|
126
|
+
// eslint-disable-next-line no-control-regex
|
|
127
|
+
/[^\u0000-\u007F\u200B]+/.test(s)); };
|
|
128
|
+
// Register an event in order to add the font once jsPDF is
|
|
129
|
+
// initialized
|
|
130
|
+
var addFont = function (variant, base64) {
|
|
131
|
+
win.jspdf.jsPDF.API.events.push([
|
|
132
|
+
'initialized',
|
|
133
|
+
function () {
|
|
134
|
+
this.addFileToVFS(variant, base64);
|
|
135
|
+
this.addFont(variant, 'HighchartsFont', variant);
|
|
136
|
+
if (!this.getFontList().HighchartsFont) {
|
|
137
|
+
this.setFont('HighchartsFont');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
]);
|
|
141
|
+
};
|
|
142
|
+
// If there are no non-ASCII characters in the SVG, do not use
|
|
143
|
+
// bother downloading the font files
|
|
144
|
+
if (pdfFont && !hasNonASCII(svgElement.textContent || '')) {
|
|
145
|
+
pdfFont = void 0;
|
|
146
|
+
}
|
|
147
|
+
// Add new font if the URL is declared, #6417.
|
|
148
|
+
var variants = ['normal', 'italic', 'bold', 'bolditalic'];
|
|
149
|
+
// Shift the first element off the variants and add as a font.
|
|
150
|
+
// Then asynchronously trigger the next variant until calling the
|
|
151
|
+
// callback when the variants are empty.
|
|
152
|
+
var normalBase64;
|
|
153
|
+
var shiftAndLoadVariant = function () {
|
|
154
|
+
var variant = variants.shift();
|
|
155
|
+
// All variants shifted and possibly loaded, proceed
|
|
156
|
+
if (!variant) {
|
|
157
|
+
return callback();
|
|
158
|
+
}
|
|
159
|
+
var url = pdfFont && pdfFont[variant];
|
|
160
|
+
if (url) {
|
|
161
|
+
ajax({
|
|
162
|
+
url: url,
|
|
163
|
+
responseType: 'blob',
|
|
164
|
+
success: function (data, xhr) {
|
|
165
|
+
var reader = new FileReader();
|
|
166
|
+
reader.onloadend = function () {
|
|
167
|
+
if (typeof this.result === 'string') {
|
|
168
|
+
var base64 = this.result.split(',')[1];
|
|
169
|
+
addFont(variant, base64);
|
|
170
|
+
if (variant === 'normal') {
|
|
171
|
+
normalBase64 = base64;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
shiftAndLoadVariant();
|
|
175
|
+
};
|
|
176
|
+
reader.readAsDataURL(xhr.response);
|
|
177
|
+
},
|
|
178
|
+
error: shiftAndLoadVariant
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// For other variants, fall back to normal text weight/style
|
|
183
|
+
if (normalBase64) {
|
|
184
|
+
addFont(variant, normalBase64);
|
|
185
|
+
}
|
|
186
|
+
shiftAndLoadVariant();
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
shiftAndLoadVariant();
|
|
190
|
+
};
|
|
116
191
|
/*
|
|
117
192
|
* @private
|
|
118
193
|
*/
|
|
@@ -137,13 +212,17 @@ var OfflineExporting;
|
|
|
137
212
|
// Workaround for the text styling. Making sure it does pick up
|
|
138
213
|
// settings for parent elements.
|
|
139
214
|
[].forEach.call(textElements, function (el) {
|
|
140
|
-
// Workaround for the text styling. making sure it does pick up
|
|
215
|
+
// Workaround for the text styling. making sure it does pick up
|
|
141
216
|
// the root element
|
|
142
217
|
['font-family', 'font-size'].forEach(function (property) {
|
|
143
218
|
setStylePropertyFromParents(el, property);
|
|
144
219
|
});
|
|
145
|
-
el.style
|
|
146
|
-
|
|
220
|
+
el.style.fontFamily = pdfFont && pdfFont.normal ?
|
|
221
|
+
// Custom PDF font
|
|
222
|
+
'HighchartsFont' :
|
|
223
|
+
// Generic font (serif, sans-serif etc)
|
|
224
|
+
String(el.style.fontFamily &&
|
|
225
|
+
el.style.fontFamily.split(' ').splice(-1));
|
|
147
226
|
// Workaround for plotband with width, removing title from text
|
|
148
227
|
// nodes
|
|
149
228
|
titleElements = el.getElementsByTagName('title');
|
|
@@ -151,15 +230,21 @@ var OfflineExporting;
|
|
|
151
230
|
el.removeChild(titleElement);
|
|
152
231
|
});
|
|
153
232
|
});
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
233
|
+
var svgNode = dummySVGContainer.querySelector('svg');
|
|
234
|
+
if (svgNode) {
|
|
235
|
+
loadPdfFonts(svgNode, function () {
|
|
236
|
+
svgToPdf(svgNode, 0, function (pdfData) {
|
|
237
|
+
try {
|
|
238
|
+
downloadURL(pdfData, filename);
|
|
239
|
+
if (successCallback) {
|
|
240
|
+
successCallback();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
failCallback(e);
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
});
|
|
163
248
|
}
|
|
164
249
|
};
|
|
165
250
|
// Initiate download depending on file type
|
|
@@ -185,7 +270,7 @@ var OfflineExporting;
|
|
|
185
270
|
}
|
|
186
271
|
}
|
|
187
272
|
else if (imageType === 'application/pdf') {
|
|
188
|
-
if (win.
|
|
273
|
+
if (win.jspdf && win.jspdf.jsPDF) {
|
|
189
274
|
downloadPDF();
|
|
190
275
|
}
|
|
191
276
|
else {
|
|
@@ -194,9 +279,7 @@ var OfflineExporting;
|
|
|
194
279
|
// solution would be nice, but this will do for now.
|
|
195
280
|
objectURLRevoke = true;
|
|
196
281
|
getScript(libURL + 'jspdf.js', function () {
|
|
197
|
-
getScript(libURL + 'svg2pdf.js',
|
|
198
|
-
downloadPDF();
|
|
199
|
-
});
|
|
282
|
+
getScript(libURL + 'svg2pdf.js', downloadPDF);
|
|
200
283
|
});
|
|
201
284
|
}
|
|
202
285
|
}
|
|
@@ -571,8 +654,8 @@ var OfflineExporting;
|
|
|
571
654
|
/**
|
|
572
655
|
* @private
|
|
573
656
|
*/
|
|
574
|
-
function svgToPdf(svgElement, margin) {
|
|
575
|
-
var width = svgElement.width
|
|
657
|
+
function svgToPdf(svgElement, margin, callback) {
|
|
658
|
+
var width = Number(svgElement.getAttribute('width')) + 2 * margin, height = Number(svgElement.getAttribute('height')) + 2 * margin, pdfDoc = new win.jspdf.jsPDF(// eslint-disable-line new-cap
|
|
576
659
|
// setting orientation to portrait if height exceeds width
|
|
577
660
|
height > width ? 'p' : 'l', 'pt', [width, height]);
|
|
578
661
|
// Workaround for #7090, hidden elements were drawn anyway. It comes
|
|
@@ -604,8 +687,13 @@ var OfflineExporting;
|
|
|
604
687
|
tspan.setAttribute('dx', -5);
|
|
605
688
|
}
|
|
606
689
|
});
|
|
607
|
-
|
|
608
|
-
|
|
690
|
+
pdfDoc.svg(svgElement, {
|
|
691
|
+
x: 0,
|
|
692
|
+
y: 0,
|
|
693
|
+
width: width,
|
|
694
|
+
height: height,
|
|
695
|
+
removeInvalid: true
|
|
696
|
+
}).then(function () { return callback(pdfDoc.output('datauristring')); });
|
|
609
697
|
}
|
|
610
698
|
OfflineExporting.svgToPdf = svgToPdf;
|
|
611
699
|
})(OfflineExporting || (OfflineExporting = {}));
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* */
|
|
16
16
|
var OfflineExportingDefaults = {
|
|
17
|
-
libURL: 'https://code.highcharts.com/
|
|
17
|
+
libURL: 'https://code.highcharts.com/10.1.0/lib/',
|
|
18
18
|
// When offline-exporting is loaded, redefine the menu item definitions
|
|
19
19
|
// related to download.
|
|
20
20
|
menuItemDefinitions: {
|
|
@@ -36,7 +36,7 @@ var VMLRenderer, VMLElement;
|
|
|
36
36
|
* @apioption global.VMLRadialGradientURL
|
|
37
37
|
*/
|
|
38
38
|
getOptions().global.VMLRadialGradientURL =
|
|
39
|
-
'http://code.highcharts.com/
|
|
39
|
+
'http://code.highcharts.com/10.1.0/gfx/vml-radial-gradient.png';
|
|
40
40
|
// Utilites
|
|
41
41
|
if (doc && !doc.defaultView) {
|
|
42
42
|
H.getStyle = U.getStyle = function getStyle(el, prop) {
|
|
@@ -34,9 +34,7 @@ addEvent(Chart, 'render', function collectAndHide() {
|
|
|
34
34
|
!yAxis.options.stackLabels.allowOverlap) {
|
|
35
35
|
objectEach(yAxis.stacking.stacks, function (stack) {
|
|
36
36
|
objectEach(stack, function (stackItem) {
|
|
37
|
-
if (stackItem.label
|
|
38
|
-
stackItem.label.visibility !== 'hidden' // #15607
|
|
39
|
-
) {
|
|
37
|
+
if (stackItem.label) {
|
|
40
38
|
labels.push(stackItem.label);
|
|
41
39
|
}
|
|
42
40
|
});
|
|
@@ -162,7 +160,10 @@ Chart.prototype.hideOverlappingLabels = function (labels) {
|
|
|
162
160
|
box2 &&
|
|
163
161
|
label1 !== label2 && // #6465, polar chart with connectEnds
|
|
164
162
|
label1.newOpacity !== 0 &&
|
|
165
|
-
label2.newOpacity !== 0
|
|
163
|
+
label2.newOpacity !== 0 &&
|
|
164
|
+
// #15863 dataLabels are no longer hidden by translation
|
|
165
|
+
label1.visibility !== 'hidden' &&
|
|
166
|
+
label2.visibility !== 'hidden') {
|
|
166
167
|
if (isIntersectRect(box1, box2)) {
|
|
167
168
|
(label1.labelrank < label2.labelrank ? label1 : label2)
|
|
168
169
|
.newOpacity = 0;
|
|
@@ -652,7 +652,10 @@ if (seriesTypes.column) {
|
|
|
652
652
|
// visible y range
|
|
653
653
|
if (this.isRadialBar && point.shapeArgs &&
|
|
654
654
|
point.shapeArgs.start === point.shapeArgs.end) {
|
|
655
|
-
dataLabel.hide(
|
|
655
|
+
dataLabel.hide();
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
dataLabel.show();
|
|
656
659
|
}
|
|
657
660
|
}
|
|
658
661
|
else {
|
|
@@ -227,7 +227,7 @@ Chart.prototype.applyFixed = function () {
|
|
|
227
227
|
.addClass('highcharts-scrollable-mask')
|
|
228
228
|
.add();
|
|
229
229
|
addEvent(this, 'afterShowResetZoom', this.moveFixedElements);
|
|
230
|
-
addEvent(this, '
|
|
230
|
+
addEvent(this, 'afterApplyDrilldown', this.moveFixedElements);
|
|
231
231
|
addEvent(this, 'afterLayOutTitles', this.moveFixedElements);
|
|
232
232
|
}
|
|
233
233
|
else {
|
|
@@ -348,6 +348,7 @@ addEvent(Series, 'show', function () {
|
|
|
348
348
|
* area will become scrollable.
|
|
349
349
|
*
|
|
350
350
|
* @type {number}
|
|
351
|
+
* @since 7.1.2
|
|
351
352
|
* @apioption chart.scrollablePlotArea.minHeight
|
|
352
353
|
*/
|
|
353
354
|
/**
|
|
@@ -355,6 +356,7 @@ addEvent(Series, 'show', function () {
|
|
|
355
356
|
* area will become scrollable.
|
|
356
357
|
*
|
|
357
358
|
* @type {number}
|
|
359
|
+
* @since 6.1.0
|
|
358
360
|
* @apioption chart.scrollablePlotArea.minWidth
|
|
359
361
|
*/
|
|
360
362
|
/**
|
|
@@ -363,6 +365,7 @@ addEvent(Series, 'show', function () {
|
|
|
363
365
|
* Typically we would use 1 if the chart has right aligned Y axes.
|
|
364
366
|
*
|
|
365
367
|
* @type {number}
|
|
368
|
+
* @since 6.1.0
|
|
366
369
|
* @apioption chart.scrollablePlotArea.scrollPositionX
|
|
367
370
|
*/
|
|
368
371
|
/**
|
|
@@ -370,6 +373,7 @@ addEvent(Series, 'show', function () {
|
|
|
370
373
|
* 1, where 0 aligns the plot area to the top and 1 aligns it to the bottom.
|
|
371
374
|
*
|
|
372
375
|
* @type {number}
|
|
376
|
+
* @since 7.1.2
|
|
373
377
|
* @apioption chart.scrollablePlotArea.scrollPositionY
|
|
374
378
|
*/
|
|
375
379
|
/**
|
|
@@ -179,7 +179,7 @@ var StackItem = /** @class */ (function () {
|
|
|
179
179
|
}
|
|
180
180
|
else {
|
|
181
181
|
// Move label away to avoid the overlapping issues
|
|
182
|
-
label.
|
|
182
|
+
label.hide();
|
|
183
183
|
isJustify = false;
|
|
184
184
|
}
|
|
185
185
|
if (isJustify) {
|
|
@@ -453,11 +453,12 @@ Series.prototype.getStackIndicator = function (stackIndicator, x, index, key) {
|
|
|
453
453
|
// changed:
|
|
454
454
|
if (!defined(stackIndicator) ||
|
|
455
455
|
stackIndicator.x !== x ||
|
|
456
|
-
(key && stackIndicator.
|
|
456
|
+
(key && stackIndicator.stackKey !== key)) {
|
|
457
457
|
stackIndicator = {
|
|
458
458
|
x: x,
|
|
459
459
|
index: 0,
|
|
460
|
-
key: key
|
|
460
|
+
key: key,
|
|
461
|
+
stackKey: key
|
|
461
462
|
};
|
|
462
463
|
}
|
|
463
464
|
else {
|
|
@@ -31,16 +31,16 @@ var HighContrastDarkTheme;
|
|
|
31
31
|
var textBright = '#F0F0F3';
|
|
32
32
|
HighContrastDarkTheme.options = {
|
|
33
33
|
colors: [
|
|
34
|
-
'#
|
|
35
|
-
'#
|
|
36
|
-
'#
|
|
37
|
-
'#
|
|
38
|
-
'#
|
|
39
|
-
'#
|
|
40
|
-
'#
|
|
41
|
-
'#
|
|
42
|
-
'#
|
|
43
|
-
'#
|
|
34
|
+
'#67B9EE',
|
|
35
|
+
'#CEEDA5',
|
|
36
|
+
'#9F6AE1',
|
|
37
|
+
'#FEA26E',
|
|
38
|
+
'#6BA48F',
|
|
39
|
+
'#EA3535',
|
|
40
|
+
'#8D96B7',
|
|
41
|
+
'#ECCA15',
|
|
42
|
+
'#20AA09',
|
|
43
|
+
'#E0C3E4'
|
|
44
44
|
],
|
|
45
45
|
chart: {
|
|
46
46
|
backgroundColor: '#1f1f20',
|
|
@@ -30,16 +30,16 @@ var HighContrastLightTheme;
|
|
|
30
30
|
* */
|
|
31
31
|
HighContrastLightTheme.options = {
|
|
32
32
|
colors: [
|
|
33
|
-
'#
|
|
34
|
-
'#
|
|
35
|
-
'#
|
|
36
|
-
'#
|
|
37
|
-
'#
|
|
38
|
-
'#
|
|
39
|
-
'#
|
|
40
|
-
'#
|
|
41
|
-
'#
|
|
42
|
-
'#
|
|
33
|
+
'#265FB5',
|
|
34
|
+
'#222',
|
|
35
|
+
'#698F01',
|
|
36
|
+
'#F4693E',
|
|
37
|
+
'#4C0684',
|
|
38
|
+
'#0FA388',
|
|
39
|
+
'#B7104A',
|
|
40
|
+
'#AF9023',
|
|
41
|
+
'#1A704C',
|
|
42
|
+
'#B02FDD'
|
|
43
43
|
],
|
|
44
44
|
navigator: {
|
|
45
45
|
series: {
|
|
@@ -12,7 +12,7 @@ import Chart from '../Core/Chart/Chart.js';
|
|
|
12
12
|
import H from '../Core/Globals.js';
|
|
13
13
|
var doc = H.doc;
|
|
14
14
|
import U from '../Core/Utilities.js';
|
|
15
|
-
var addEvent = U.addEvent, extend = U.extend, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
|
|
15
|
+
var addEvent = U.addEvent, defined = U.defined, extend = U.extend, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
|
|
16
16
|
import './MapNavigationOptionsDefault.js';
|
|
17
17
|
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
18
18
|
/**
|
|
@@ -41,6 +41,7 @@ function stopEvent(e) {
|
|
|
41
41
|
* The Chart instance.
|
|
42
42
|
*/
|
|
43
43
|
function MapNavigation(chart) {
|
|
44
|
+
this.navButtons = [];
|
|
44
45
|
this.init(chart);
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
@@ -55,7 +56,6 @@ function MapNavigation(chart) {
|
|
|
55
56
|
*/
|
|
56
57
|
MapNavigation.prototype.init = function (chart) {
|
|
57
58
|
this.chart = chart;
|
|
58
|
-
chart.mapNavButtons = [];
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
61
|
* Update the map navigation with new options. Calling this is the same as
|
|
@@ -69,10 +69,10 @@ MapNavigation.prototype.init = function (chart) {
|
|
|
69
69
|
* @return {void}
|
|
70
70
|
*/
|
|
71
71
|
MapNavigation.prototype.update = function (options) {
|
|
72
|
-
var chart = this.chart, o = chart.options.mapNavigation, attr, states, hoverStates, selectStates, outerHandler = function (e) {
|
|
72
|
+
var mapNav = this, chart = this.chart, o = chart.options.mapNavigation, attr, states, hoverStates, selectStates, outerHandler = function (e) {
|
|
73
73
|
this.handler.call(chart, e);
|
|
74
74
|
stopEvent(e); // Stop default click event (#4444)
|
|
75
|
-
},
|
|
75
|
+
}, navButtons = mapNav.navButtons;
|
|
76
76
|
// Merge in new options in case of update, and register back to chart
|
|
77
77
|
// options.
|
|
78
78
|
if (options) {
|
|
@@ -80,10 +80,15 @@ MapNavigation.prototype.update = function (options) {
|
|
|
80
80
|
merge(chart.options.mapNavigation, options);
|
|
81
81
|
}
|
|
82
82
|
// Destroy buttons in case of dynamic update
|
|
83
|
-
while (
|
|
84
|
-
|
|
83
|
+
while (navButtons.length) {
|
|
84
|
+
navButtons.pop().destroy();
|
|
85
85
|
}
|
|
86
86
|
if (pick(o.enableButtons, o.enabled) && !chart.renderer.forExport) {
|
|
87
|
+
if (!mapNav.navButtonsGroup) {
|
|
88
|
+
mapNav.navButtonsGroup = chart.renderer.g().attr({
|
|
89
|
+
zIndex: 4 // #4955, // #8392
|
|
90
|
+
}).add();
|
|
91
|
+
}
|
|
87
92
|
objectEach(o.buttons, function (buttonOptions, n) {
|
|
88
93
|
buttonOptions = merge(o.buttonOptions, buttonOptions);
|
|
89
94
|
// Presentational
|
|
@@ -91,13 +96,9 @@ MapNavigation.prototype.update = function (options) {
|
|
|
91
96
|
attr = buttonOptions.theme;
|
|
92
97
|
attr.style = merge(buttonOptions.theme.style, buttonOptions.style // #3203
|
|
93
98
|
);
|
|
94
|
-
states = attr.states;
|
|
95
|
-
hoverStates = states && states.hover;
|
|
96
|
-
selectStates = states && states.select;
|
|
97
|
-
delete attr.states;
|
|
98
99
|
}
|
|
99
100
|
var button = chart.renderer
|
|
100
|
-
.button(buttonOptions.text || '', 0, 0, outerHandler, attr,
|
|
101
|
+
.button(buttonOptions.text || '', 0, 0, outerHandler, attr, void 0, void 0, void 0, n === 'zoomIn' ? 'topbutton' : 'bottombutton')
|
|
101
102
|
.addClass('highcharts-map-navigation highcharts-' + {
|
|
102
103
|
zoomIn: 'zoom-in',
|
|
103
104
|
zoomOut: 'zoom-out'
|
|
@@ -109,11 +110,11 @@ MapNavigation.prototype.update = function (options) {
|
|
|
109
110
|
padding: buttonOptions.padding,
|
|
110
111
|
zIndex: 5
|
|
111
112
|
})
|
|
112
|
-
.add();
|
|
113
|
+
.add(mapNav.navButtonsGroup);
|
|
113
114
|
button.handler = buttonOptions.onclick;
|
|
114
115
|
// Stop double click event (#4444)
|
|
115
116
|
addEvent(button.element, 'dblclick', stopEvent);
|
|
116
|
-
|
|
117
|
+
navButtons.push(button);
|
|
117
118
|
extend(buttonOptions, {
|
|
118
119
|
width: button.width,
|
|
119
120
|
height: 2 * button.height
|
|
@@ -132,6 +133,41 @@ MapNavigation.prototype.update = function (options) {
|
|
|
132
133
|
button.align(buttonOptions, false, buttonOptions.alignTo);
|
|
133
134
|
}
|
|
134
135
|
});
|
|
136
|
+
// Borrowed from overlapping-datalabels. Consider a shared module.
|
|
137
|
+
var isIntersectRect_1 = function (box1, box2) { return !(box2.x >= box1.x + box1.width ||
|
|
138
|
+
box2.x + box2.width <= box1.x ||
|
|
139
|
+
box2.y >= box1.y + box1.height ||
|
|
140
|
+
box2.y + box2.height <= box1.y); };
|
|
141
|
+
// Check the mapNavigation buttons collision with exporting button
|
|
142
|
+
// and translate the mapNavigation button if they overlap.
|
|
143
|
+
var adjustMapNavBtn = function () {
|
|
144
|
+
var expBtnBBox = chart.exportingGroup && chart.exportingGroup.getBBox();
|
|
145
|
+
if (expBtnBBox) {
|
|
146
|
+
var navBtnsBBox = mapNav.navButtonsGroup.getBBox();
|
|
147
|
+
// If buttons overlap
|
|
148
|
+
if (isIntersectRect_1(expBtnBBox, navBtnsBBox)) {
|
|
149
|
+
// Adjust the mapNav buttons' position by translating them
|
|
150
|
+
// above or below the exporting button
|
|
151
|
+
var aboveExpBtn = -navBtnsBBox.y - navBtnsBBox.height +
|
|
152
|
+
expBtnBBox.y - 5, belowExpBtn = expBtnBBox.y + expBtnBBox.height -
|
|
153
|
+
navBtnsBBox.y + 5, mapNavVerticalAlign = o.buttonOptions && o.buttonOptions.verticalAlign;
|
|
154
|
+
// If bottom aligned and adjusting the mapNav button would
|
|
155
|
+
// translate it out of the plotBox, translate it up
|
|
156
|
+
// instead of down
|
|
157
|
+
mapNav.navButtonsGroup.attr({
|
|
158
|
+
translateY: mapNavVerticalAlign === 'bottom' ?
|
|
159
|
+
aboveExpBtn :
|
|
160
|
+
belowExpBtn
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
if (!chart.hasLoaded) {
|
|
166
|
+
// Align it after the plotBox is known (#12776) and after the
|
|
167
|
+
// hamburger button's position is known so they don't overlap
|
|
168
|
+
// (#15782)
|
|
169
|
+
addEvent(chart, 'render', adjustMapNavBtn);
|
|
170
|
+
}
|
|
135
171
|
}
|
|
136
172
|
this.updateEvents(o);
|
|
137
173
|
};
|
|
@@ -229,6 +265,7 @@ extend(Chart.prototype, /** @lends Chart.prototype */ {
|
|
|
229
265
|
*
|
|
230
266
|
* Deprecated as of v9.3 in favor of [MapView.zoomBy](https://api.highcharts.com/class-reference/Highcharts.MapView#zoomBy).
|
|
231
267
|
*
|
|
268
|
+
* @deprecated
|
|
232
269
|
* @function Highcharts.Chart#mapZoom
|
|
233
270
|
*
|
|
234
271
|
* @param {number} [howMuch]
|
|
@@ -12,10 +12,26 @@ import Pointer from '../Core/Pointer.js';
|
|
|
12
12
|
import U from '../Core/Utilities.js';
|
|
13
13
|
var defined = U.defined, extend = U.extend, pick = U.pick, wrap = U.wrap;
|
|
14
14
|
/* eslint-disable no-invalid-this */
|
|
15
|
+
var normalize = Pointer.prototype.normalize;
|
|
15
16
|
var totalWheelDelta = 0;
|
|
16
17
|
var totalWheelDeltaTimer;
|
|
17
18
|
// Extend the Pointer
|
|
18
19
|
extend(Pointer.prototype, {
|
|
20
|
+
// Add lon and lat information to pointer events
|
|
21
|
+
normalize: function (e, chartPosition) {
|
|
22
|
+
var chart = this.chart;
|
|
23
|
+
e = normalize.call(this, e, chartPosition);
|
|
24
|
+
if (chart && chart.mapView) {
|
|
25
|
+
var lonLat = chart.mapView.pixelsToLonLat({
|
|
26
|
+
x: e.chartX - chart.plotLeft,
|
|
27
|
+
y: e.chartY - chart.plotTop
|
|
28
|
+
});
|
|
29
|
+
if (lonLat) {
|
|
30
|
+
extend(e, lonLat);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return e;
|
|
34
|
+
},
|
|
19
35
|
// The event handler for the doubleclick event
|
|
20
36
|
onContainerDblClick: function (e) {
|
|
21
37
|
var chart = this.chart;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
// Compute bounds from a path element
|
|
12
|
+
var boundsFromPath = function (path) {
|
|
13
|
+
var x2 = -Number.MAX_VALUE, x1 = Number.MAX_VALUE, y2 = -Number.MAX_VALUE, y1 = Number.MAX_VALUE, validBounds;
|
|
14
|
+
path.forEach(function (seg) {
|
|
15
|
+
var x = seg[seg.length - 2], y = seg[seg.length - 1];
|
|
16
|
+
if (typeof x === 'number' &&
|
|
17
|
+
typeof y === 'number') {
|
|
18
|
+
x1 = Math.min(x1, x);
|
|
19
|
+
x2 = Math.max(x2, x);
|
|
20
|
+
y1 = Math.min(y1, y);
|
|
21
|
+
y2 = Math.max(y2, y);
|
|
22
|
+
validBounds = true;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
if (validBounds) {
|
|
26
|
+
return { x1: x1, y1: y1, x2: x2, y2: y2 };
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Test for point in polygon. Polygon defined as array of [x,y] points.
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
var pointInPolygon = function (point, polygon) {
|
|
34
|
+
var i, j, rel1, rel2, c = false, x = point.x, y = point.y;
|
|
35
|
+
for (i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
36
|
+
rel1 = polygon[i][1] > y;
|
|
37
|
+
rel2 = polygon[j][1] > y;
|
|
38
|
+
if (rel1 !== rel2 &&
|
|
39
|
+
(x < (polygon[j][0] - polygon[i][0]) * (y - polygon[i][1]) /
|
|
40
|
+
(polygon[j][1] - polygon[i][1]) +
|
|
41
|
+
polygon[i][0])) {
|
|
42
|
+
c = !c;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return c;
|
|
46
|
+
};
|
|
47
|
+
/* *
|
|
48
|
+
*
|
|
49
|
+
* Default Export
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
var MapUtilities = {
|
|
53
|
+
boundsFromPath: boundsFromPath,
|
|
54
|
+
pointInPolygon: pointInPolygon
|
|
55
|
+
};
|
|
56
|
+
export default MapUtilities;
|