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,18 +20,19 @@
|
|
|
20
20
|
*/
|
|
21
21
|
var ChartDefaults = {
|
|
22
22
|
/**
|
|
23
|
-
* Default `mapData` for all series
|
|
24
|
-
* as an index into the
|
|
25
|
-
*
|
|
23
|
+
* Default `mapData` for all series, in terms of a GeoJSON or TopoJSON
|
|
24
|
+
* object. If set to a string, it functions as an index into the
|
|
25
|
+
* `Highcharts.maps` array.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* For picking out individual shapes and geometries to use for each series
|
|
28
|
+
* of the map, see [series.mapData](#series.map.mapData).
|
|
28
29
|
*
|
|
29
30
|
* @sample maps/demo/geojson
|
|
30
|
-
* Loading
|
|
31
|
+
* Loading GeoJSON data
|
|
31
32
|
* @sample maps/chart/topojson
|
|
32
|
-
* Loading
|
|
33
|
+
* Loading TopoJSON data
|
|
33
34
|
*
|
|
34
|
-
* @type {string|Array<*>|Highcharts.GeoJSON}
|
|
35
|
+
* @type {string|Array<*>|Highcharts.GeoJSON|Highcharts.TopoJSON}
|
|
35
36
|
* @since 5.0.0
|
|
36
37
|
* @product highmaps
|
|
37
38
|
* @apioption chart.map
|
|
@@ -46,7 +47,7 @@ var ChartDefaults = {
|
|
|
46
47
|
* @apioption chart.mapTransforms
|
|
47
48
|
*/
|
|
48
49
|
/**
|
|
49
|
-
* When using multiple
|
|
50
|
+
* When using multiple axes, the ticks of two or more opposite axes
|
|
50
51
|
* will automatically be aligned by adding ticks to the axis or axes
|
|
51
52
|
* with the least ticks, as if `tickAmount` were specified.
|
|
52
53
|
*
|
|
@@ -54,8 +55,8 @@ var ChartDefaults = {
|
|
|
54
55
|
* lines look messy, it's a good idea to hide them for the secondary
|
|
55
56
|
* axis by setting `gridLineWidth` to 0.
|
|
56
57
|
*
|
|
57
|
-
* If `startOnTick` or `endOnTick` in
|
|
58
|
-
* then the `alignTicks ` will be disabled for the
|
|
58
|
+
* If `startOnTick` or `endOnTick` in the axis options are set to false,
|
|
59
|
+
* then the `alignTicks ` will be disabled for the axis.
|
|
59
60
|
*
|
|
60
61
|
* Disabled for logarithmic axes.
|
|
61
62
|
*
|
|
@@ -73,6 +74,25 @@ var ChartDefaults = {
|
|
|
73
74
|
* @product highcharts highstock gantt
|
|
74
75
|
* @apioption chart.alignTicks
|
|
75
76
|
*/
|
|
77
|
+
/**
|
|
78
|
+
* When using multiple axes, align the thresholds. When this is true, other
|
|
79
|
+
* ticks will also be aligned.
|
|
80
|
+
*
|
|
81
|
+
* Note that for line series and some other series types, the `threshold`
|
|
82
|
+
* option is set to `null` by default. This will in turn cause their y-axis
|
|
83
|
+
* to not have a threshold. In order to avoid that, set the series
|
|
84
|
+
* `threshold` to 0 or another number.
|
|
85
|
+
*
|
|
86
|
+
* If `startOnTick` or `endOnTick` in the axis options are set to false, or
|
|
87
|
+
* if the axis is logarithmic, the threshold will not be aligned.
|
|
88
|
+
*
|
|
89
|
+
* @sample {highcharts} highcharts/chart/alignthresholds/ Set to true
|
|
90
|
+
*
|
|
91
|
+
* @since 10.0.0
|
|
92
|
+
* @product highcharts highstock gantt
|
|
93
|
+
* @apioption chart.alignThresholds
|
|
94
|
+
*/
|
|
95
|
+
alignThresholds: false,
|
|
76
96
|
/**
|
|
77
97
|
* Set the overall animation for all chart updating. Animation can be
|
|
78
98
|
* disabled throughout the chart by setting it to false here. It can
|
|
@@ -464,6 +484,17 @@ var ChartDefaults = {
|
|
|
464
484
|
* @since 5.0.0
|
|
465
485
|
*/
|
|
466
486
|
colorCount: 10,
|
|
487
|
+
/**
|
|
488
|
+
* By default, (because of memory and performance reasons) the chart does
|
|
489
|
+
* not copy the data but keeps it as a reference. In some cases, this might
|
|
490
|
+
* result in mutating the original data source. In order to prevent that,
|
|
491
|
+
* set that property to false. Please note that changing that might decrease
|
|
492
|
+
* performance, especially with bigger sets of data.
|
|
493
|
+
*
|
|
494
|
+
* @type {boolean}
|
|
495
|
+
* @since 10.1.0
|
|
496
|
+
*/
|
|
497
|
+
allowMutatingData: true,
|
|
467
498
|
/**
|
|
468
499
|
* Alias of `type`.
|
|
469
500
|
*
|
|
@@ -876,9 +907,10 @@ var ChartDefaults = {
|
|
|
876
907
|
* Y
|
|
877
908
|
* @sample {highstock} stock/chart/zoomtype-xy/
|
|
878
909
|
* Xy
|
|
910
|
+
* @sample {highmaps} maps/chart/zoomtype-xy/
|
|
911
|
+
* Map with selection zoom
|
|
879
912
|
*
|
|
880
913
|
* @type {string}
|
|
881
|
-
* @product highcharts highstock gantt
|
|
882
914
|
* @validvalue ["x", "y", "xy"]
|
|
883
915
|
* @apioption chart.zoomType
|
|
884
916
|
*/
|
|
@@ -24,10 +24,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
24
24
|
import Chart from './Chart.js';
|
|
25
25
|
import D from '../DefaultOptions.js';
|
|
26
26
|
var getOptions = D.getOptions;
|
|
27
|
-
import MapView from '../../Maps/MapView.js';
|
|
28
27
|
import SVGRenderer from '../Renderer/SVG/SVGRenderer.js';
|
|
29
28
|
import U from '../Utilities.js';
|
|
30
|
-
var
|
|
29
|
+
var merge = U.merge, pick = U.pick;
|
|
31
30
|
import '../../Maps/MapSymbols.js';
|
|
32
31
|
/**
|
|
33
32
|
* Map-optimized chart. Use {@link Highcharts.Chart|Chart} for common charts.
|
|
@@ -61,10 +60,6 @@ var MapChart = /** @class */ (function (_super) {
|
|
|
61
60
|
* @emits Highcharts.MapChart#event:afterInit
|
|
62
61
|
*/
|
|
63
62
|
MapChart.prototype.init = function (userOptions, callback) {
|
|
64
|
-
// Initialize the MapView after initialization, but before firstRender
|
|
65
|
-
addEvent(this, 'afterInit', function () {
|
|
66
|
-
this.mapView = new MapView(this, this.options.mapView);
|
|
67
|
-
});
|
|
68
63
|
var defaultCreditsOptions = getOptions().credits;
|
|
69
64
|
var options = merge({
|
|
70
65
|
chart: {
|
|
@@ -562,7 +562,7 @@ addEvent(Axis, 'afterDrawCrosshair', function (event) {
|
|
|
562
562
|
text: text,
|
|
563
563
|
x: posx,
|
|
564
564
|
y: posy,
|
|
565
|
-
visibility: isInside ? '
|
|
565
|
+
visibility: isInside ? 'inherit' : 'hidden'
|
|
566
566
|
});
|
|
567
567
|
crossBox = crossLabel.getBBox();
|
|
568
568
|
// now it is placed we can correct its position
|
|
@@ -1917,18 +1917,20 @@ var defaultOptions = {
|
|
|
1917
1917
|
* @apioption tooltip.pointFormatter
|
|
1918
1918
|
*/
|
|
1919
1919
|
/**
|
|
1920
|
-
* A callback function to place the tooltip in a
|
|
1920
|
+
* A callback function to place the tooltip in a custom position. The
|
|
1921
1921
|
* callback receives three parameters: `labelWidth`, `labelHeight` and
|
|
1922
1922
|
* `point`, where point contains values for `plotX` and `plotY` telling
|
|
1923
1923
|
* where the reference point is in the plot area. Add `chart.plotLeft`
|
|
1924
1924
|
* and `chart.plotTop` to get the full coordinates.
|
|
1925
1925
|
*
|
|
1926
|
+
* To find the actual hovered `Point` instance, use
|
|
1927
|
+
* `this.chart.hoverPoint`. For shared or split tooltips, all the hover
|
|
1928
|
+
* points are available in `this.chart.hoverPoints`.
|
|
1929
|
+
*
|
|
1926
1930
|
* Since v7, when [tooltip.split](#tooltip.split) option is enabled,
|
|
1927
1931
|
* positioner is called for each of the boxes separately, including
|
|
1928
1932
|
* xAxis header. xAxis header is not a point, instead `point` argument
|
|
1929
|
-
* contains info:
|
|
1930
|
-
* `{ plotX: Number, plotY: Number, isHeader: Boolean }`
|
|
1931
|
-
*
|
|
1933
|
+
* contains info: `{ plotX: Number, plotY: Number, isHeader: Boolean }`
|
|
1932
1934
|
*
|
|
1933
1935
|
* The return should be an object containing x and y values, for example
|
|
1934
1936
|
* `{ x: 100, y: 100 }`.
|
|
@@ -2271,6 +2273,8 @@ var defaultOptions = {
|
|
|
2271
2273
|
*
|
|
2272
2274
|
* @sample {highcharts} highcharts/tooltip/pointformat/
|
|
2273
2275
|
* A different point format with value suffix
|
|
2276
|
+
* @sample {highcharts|highstock} highcharts/tooltip/pointformat-extra-information/
|
|
2277
|
+
* Show extra information about points in the tooltip
|
|
2274
2278
|
* @sample {highmaps} maps/tooltip/format/
|
|
2275
2279
|
* Format demo
|
|
2276
2280
|
*
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Highsoft AS
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
var isInside = function (clipEdge1, clipEdge2, p) {
|
|
12
|
+
return (clipEdge2[0] - clipEdge1[0]) * (p[1] - clipEdge1[1]) >
|
|
13
|
+
(clipEdge2[1] - clipEdge1[1]) * (p[0] - clipEdge1[0]);
|
|
14
|
+
};
|
|
15
|
+
var intersection = function (clipEdge1, clipEdge2, prevPoint, currentPoint) {
|
|
16
|
+
var dc = [
|
|
17
|
+
clipEdge1[0] - clipEdge2[0],
|
|
18
|
+
clipEdge1[1] - clipEdge2[1]
|
|
19
|
+
], dp = [
|
|
20
|
+
prevPoint[0] - currentPoint[0],
|
|
21
|
+
prevPoint[1] - currentPoint[1]
|
|
22
|
+
], n1 = clipEdge1[0] * clipEdge2[1] - clipEdge1[1] * clipEdge2[0], n2 = prevPoint[0] * currentPoint[1] - prevPoint[1] * currentPoint[0], n3 = 1 / (dc[0] * dp[1] - dc[1] * dp[0]), intersection = [
|
|
23
|
+
(n1 * dp[0] - n2 * dc[0]) * n3,
|
|
24
|
+
(n1 * dp[1] - n2 * dc[1]) * n3
|
|
25
|
+
];
|
|
26
|
+
intersection.isIntersection = true;
|
|
27
|
+
return intersection;
|
|
28
|
+
};
|
|
29
|
+
var PolygonClip;
|
|
30
|
+
(function (PolygonClip) {
|
|
31
|
+
// Simple line string clipping. Clip to bounds and insert intersection
|
|
32
|
+
// points.
|
|
33
|
+
PolygonClip.clipLineString = function (line, boundsPolygon) {
|
|
34
|
+
var ret = [], l = PolygonClip.clipPolygon(line, boundsPolygon, false);
|
|
35
|
+
for (var i = 1; i < l.length; i++) {
|
|
36
|
+
// Insert gap where two intersections follow each other
|
|
37
|
+
if (l[i].isIntersection && l[i - 1].isIntersection) {
|
|
38
|
+
ret.push(l.splice(0, i));
|
|
39
|
+
i = 0;
|
|
40
|
+
}
|
|
41
|
+
// Push the rest
|
|
42
|
+
if (i === l.length - 1) {
|
|
43
|
+
ret.push(l);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return ret;
|
|
47
|
+
};
|
|
48
|
+
// Clip a polygon to another polygon using the Sutherland/Hodgman algorithm.
|
|
49
|
+
PolygonClip.clipPolygon = function (subjectPolygon, boundsPolygon, closed) {
|
|
50
|
+
if (closed === void 0) { closed = true; }
|
|
51
|
+
var clipEdge1 = boundsPolygon[boundsPolygon.length - 1], clipEdge2, prevPoint, currentPoint, outputList = subjectPolygon;
|
|
52
|
+
for (var j = 0; j < boundsPolygon.length; j++) {
|
|
53
|
+
var inputList = outputList;
|
|
54
|
+
clipEdge2 = boundsPolygon[j];
|
|
55
|
+
outputList = [];
|
|
56
|
+
prevPoint = closed ?
|
|
57
|
+
// Polygon, wrap around
|
|
58
|
+
inputList[inputList.length - 1] :
|
|
59
|
+
// Open line string, don't wrap
|
|
60
|
+
inputList[0];
|
|
61
|
+
for (var i = 0; i < inputList.length; i++) {
|
|
62
|
+
currentPoint = inputList[i];
|
|
63
|
+
if (isInside(clipEdge1, clipEdge2, currentPoint)) {
|
|
64
|
+
if (!isInside(clipEdge1, clipEdge2, prevPoint)) {
|
|
65
|
+
outputList.push(intersection(clipEdge1, clipEdge2, prevPoint, currentPoint));
|
|
66
|
+
}
|
|
67
|
+
outputList.push(currentPoint);
|
|
68
|
+
}
|
|
69
|
+
else if (isInside(clipEdge1, clipEdge2, prevPoint)) {
|
|
70
|
+
outputList.push(intersection(clipEdge1, clipEdge2, prevPoint, currentPoint));
|
|
71
|
+
}
|
|
72
|
+
prevPoint = currentPoint;
|
|
73
|
+
}
|
|
74
|
+
clipEdge1 = clipEdge2;
|
|
75
|
+
}
|
|
76
|
+
return outputList;
|
|
77
|
+
};
|
|
78
|
+
})(PolygonClip || (PolygonClip = {}));
|
|
79
|
+
/* *
|
|
80
|
+
*
|
|
81
|
+
* Default Export
|
|
82
|
+
*
|
|
83
|
+
* */
|
|
84
|
+
export default PolygonClip;
|
|
@@ -8,23 +8,6 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
-
/* *
|
|
12
|
-
*
|
|
13
|
-
* Constants
|
|
14
|
-
*
|
|
15
|
-
* */
|
|
16
|
-
/**
|
|
17
|
-
* @private
|
|
18
|
-
* @deprecated
|
|
19
|
-
* @todo Rename UMD argument `win` to `window`; move code to `Globals.win`
|
|
20
|
-
*/
|
|
21
|
-
var w = (typeof win !== 'undefined' ?
|
|
22
|
-
win :
|
|
23
|
-
typeof window !== 'undefined' ?
|
|
24
|
-
window :
|
|
25
|
-
{}
|
|
26
|
-
// eslint-disable-next-line node/no-unsupported-features/es-builtins
|
|
27
|
-
);
|
|
28
11
|
/* *
|
|
29
12
|
*
|
|
30
13
|
* Namespace
|
|
@@ -40,7 +23,10 @@ var Globals;
|
|
|
40
23
|
* Constants
|
|
41
24
|
*
|
|
42
25
|
* */
|
|
43
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '
|
|
26
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '10.1.0', Globals.win = (typeof window !== 'undefined' ?
|
|
27
|
+
window :
|
|
28
|
+
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
29
|
+
Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
44
30
|
Globals.doc.createElementNS &&
|
|
45
31
|
!!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
|
|
46
32
|
parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
|
|
@@ -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);
|
|
@@ -1008,7 +1010,7 @@ var Legend = /** @class */ (function () {
|
|
|
1008
1010
|
this.nav.attr({
|
|
1009
1011
|
translateX: padding,
|
|
1010
1012
|
translateY: clipHeight + this.padding + 7 + this.titleHeight,
|
|
1011
|
-
visibility: '
|
|
1013
|
+
visibility: 'inherit'
|
|
1012
1014
|
});
|
|
1013
1015
|
[this.up, this.upTracker].forEach(function (elem) {
|
|
1014
1016
|
elem.attr({
|
|
@@ -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()
|
|
@@ -902,7 +904,7 @@ var Navigator = /** @class */ (function () {
|
|
|
902
904
|
zoomedMin = Math.round(navigator.zoomedMin);
|
|
903
905
|
if (navigatorEnabled) {
|
|
904
906
|
navigator.navigatorGroup.attr({
|
|
905
|
-
visibility: '
|
|
907
|
+
visibility: 'inherit'
|
|
906
908
|
});
|
|
907
909
|
// Place elements
|
|
908
910
|
verb = rendered && !navigator.hasDragged ? 'animate' : 'attr';
|
|
@@ -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
|
*
|
|
@@ -91,12 +91,25 @@ var AST = /** @class */ (function () {
|
|
|
91
91
|
valid = isString(val) && AST.allowedReferences.some(function (ref) { return val.indexOf(ref) === 0; });
|
|
92
92
|
}
|
|
93
93
|
if (!valid) {
|
|
94
|
-
error(
|
|
94
|
+
error(33, false, void 0, {
|
|
95
|
+
'Invalid attribute in config': "" + key
|
|
96
|
+
});
|
|
95
97
|
delete attributes[key];
|
|
96
98
|
}
|
|
97
99
|
});
|
|
98
100
|
return attributes;
|
|
99
101
|
};
|
|
102
|
+
AST.parseStyle = function (style) {
|
|
103
|
+
return style
|
|
104
|
+
.split(';')
|
|
105
|
+
.reduce(function (styles, line) {
|
|
106
|
+
var pair = line.split(':').map(function (s) { return s.trim(); }), key = pair.shift();
|
|
107
|
+
if (key && pair.length) {
|
|
108
|
+
styles[key.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); })] = pair.join(':'); // #17146
|
|
109
|
+
}
|
|
110
|
+
return styles;
|
|
111
|
+
}, {});
|
|
112
|
+
};
|
|
100
113
|
/**
|
|
101
114
|
* Utility function to set html content for an element by passing in a
|
|
102
115
|
* markup string. The markup is safely parsed by the AST class to avoid
|
|
@@ -152,12 +165,15 @@ var AST = /** @class */ (function () {
|
|
|
152
165
|
var textNode = item.textContent ?
|
|
153
166
|
H.doc.createTextNode(item.textContent) :
|
|
154
167
|
void 0;
|
|
168
|
+
// Whether to ignore the AST filtering totally, #15345
|
|
169
|
+
var bypassHTMLFiltering = AST.bypassHTMLFiltering;
|
|
155
170
|
var node;
|
|
156
171
|
if (tagName) {
|
|
157
172
|
if (tagName === '#text') {
|
|
158
173
|
node = textNode;
|
|
159
174
|
}
|
|
160
|
-
else if (AST.allowedTags.indexOf(tagName) !== -1
|
|
175
|
+
else if (AST.allowedTags.indexOf(tagName) !== -1 ||
|
|
176
|
+
bypassHTMLFiltering) {
|
|
161
177
|
var NS = tagName === 'svg' ?
|
|
162
178
|
SVG_NS :
|
|
163
179
|
(subParent.namespaceURI || SVG_NS);
|
|
@@ -169,11 +185,17 @@ var AST = /** @class */ (function () {
|
|
|
169
185
|
if (key !== 'tagName' &&
|
|
170
186
|
key !== 'attributes' &&
|
|
171
187
|
key !== 'children' &&
|
|
188
|
+
key !== 'style' &&
|
|
172
189
|
key !== 'textContent') {
|
|
173
190
|
attributes_1[key] = val;
|
|
174
191
|
}
|
|
175
192
|
});
|
|
176
|
-
attr(element,
|
|
193
|
+
attr(element, bypassHTMLFiltering ?
|
|
194
|
+
attributes_1 :
|
|
195
|
+
AST.filterUserAttributes(attributes_1));
|
|
196
|
+
if (item.style) {
|
|
197
|
+
css(element, item.style);
|
|
198
|
+
}
|
|
177
199
|
// Add text content
|
|
178
200
|
if (textNode) {
|
|
179
201
|
element.appendChild(textNode);
|
|
@@ -183,8 +205,9 @@ var AST = /** @class */ (function () {
|
|
|
183
205
|
node = element;
|
|
184
206
|
}
|
|
185
207
|
else {
|
|
186
|
-
error(
|
|
187
|
-
tagName
|
|
208
|
+
error(33, false, void 0, {
|
|
209
|
+
'Invalid tagName in config': tagName
|
|
210
|
+
});
|
|
188
211
|
}
|
|
189
212
|
}
|
|
190
213
|
// Add to the tree
|
|
@@ -212,7 +235,11 @@ var AST = /** @class */ (function () {
|
|
|
212
235
|
*/
|
|
213
236
|
AST.prototype.parseMarkup = function (markup) {
|
|
214
237
|
var nodes = [];
|
|
215
|
-
markup = markup
|
|
238
|
+
markup = markup
|
|
239
|
+
.trim()
|
|
240
|
+
// The style attribute throws a warning when parsing when CSP is
|
|
241
|
+
// enabled (#6884), so use an alias and pick it up below
|
|
242
|
+
.replace(/ style="/g, ' data-style="');
|
|
216
243
|
var doc;
|
|
217
244
|
if (hasValidDOMParser) {
|
|
218
245
|
doc = new DOMParser().parseFromString(trustedTypesPolicy ?
|
|
@@ -238,7 +265,12 @@ var AST = /** @class */ (function () {
|
|
|
238
265
|
if (parsedAttributes) {
|
|
239
266
|
var attributes_2 = {};
|
|
240
267
|
[].forEach.call(parsedAttributes, function (attrib) {
|
|
241
|
-
|
|
268
|
+
if (attrib.name === 'data-style') {
|
|
269
|
+
astNode.style = AST.parseStyle(attrib.value);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
attributes_2[attrib.name] = attrib.value;
|
|
273
|
+
}
|
|
242
274
|
});
|
|
243
275
|
astNode.attributes = attributes_2;
|
|
244
276
|
}
|
|
@@ -442,6 +474,34 @@ var AST = /** @class */ (function () {
|
|
|
442
474
|
'#text'
|
|
443
475
|
];
|
|
444
476
|
AST.emptyHTML = emptyHTML;
|
|
477
|
+
/**
|
|
478
|
+
* Allow all custom SVG and HTML attributes, references and tags (together
|
|
479
|
+
* with potentially harmful ones) to be added to the DOM from the chart
|
|
480
|
+
* configuration. In other words, disable the the allow-listing which is the
|
|
481
|
+
* primary functionality of the AST.
|
|
482
|
+
*
|
|
483
|
+
* WARNING: Setting this property to `true` while allowing untrusted user
|
|
484
|
+
* data in the chart configuration will expose your application to XSS
|
|
485
|
+
* security risks!
|
|
486
|
+
*
|
|
487
|
+
* Note that in case you want to allow a known set of tags or attributes,
|
|
488
|
+
* you should allow-list them instead of disabling the filtering totally.
|
|
489
|
+
* See [allowedAttributes](Highcharts.AST#.allowedAttributes),
|
|
490
|
+
* [allowedReferences](Highcharts.AST#.allowedReferences) and
|
|
491
|
+
* [allowedTags](Highcharts.AST#.allowedTags). The `bypassHTMLFiltering`
|
|
492
|
+
* setting is intended only for those cases where allow-listing is not
|
|
493
|
+
* practical, and the chart configuration already comes from a secure
|
|
494
|
+
* source.
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* // Allow all custom attributes, references and tags (disable DOM XSS
|
|
498
|
+
* // filtering)
|
|
499
|
+
* Highcharts.AST.bypassHTMLFiltering = true;
|
|
500
|
+
*
|
|
501
|
+
* @name Highcharts.AST.bypassHTMLFiltering
|
|
502
|
+
* @static
|
|
503
|
+
*/
|
|
504
|
+
AST.bypassHTMLFiltering = false;
|
|
445
505
|
return AST;
|
|
446
506
|
}());
|
|
447
507
|
/* *
|