highcharts 11.4.7 → 11.4.9
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/SECURITY.md +41 -0
- package/bower.json +14 -2
- package/css/annotations/popup.css +224 -46
- package/css/highcharts-palette.css +99 -0
- package/css/highcharts.css +130 -72
- package/css/stocktools/gui.css +28 -11
- package/css/themes/dark-unica.css +4 -69
- package/css/themes/grid-light.css +14 -4
- package/css/themes/sand-signika.css +16 -29
- package/es-modules/Accessibility/Accessibility.js +15 -3
- package/es-modules/Accessibility/AccessibilityComponent.js +38 -30
- package/es-modules/Core/Axis/Axis.js +15 -12
- package/es-modules/Core/Axis/AxisDefaults.js +4 -2
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -3
- package/es-modules/Core/Axis/GridAxis.js +2 -2
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
- package/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
- package/es-modules/Core/Axis/Tick.js +1 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
- package/es-modules/Core/Chart/Chart.js +38 -10
- package/es-modules/Core/Color/Color.js +1 -0
- package/es-modules/Core/Defaults.js +13 -7
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/LegendSymbol.js +1 -1
- package/es-modules/Core/Renderer/HTML/AST.js +6 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -1
- package/es-modules/Core/Series/DataLabel.js +9 -0
- package/es-modules/Core/Series/Point.js +8 -1
- package/es-modules/Core/Series/Series.js +1 -1
- package/es-modules/Core/Tooltip.js +9 -0
- package/es-modules/Extensions/Annotations/Annotation.js +4 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
- package/es-modules/Extensions/Boost/BoostSeries.js +2 -0
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -4
- package/es-modules/Extensions/Breadcrumbs/BreadcrumbsDefaults.js +1 -1
- package/es-modules/Extensions/Data.js +125 -98
- package/es-modules/Extensions/Exporting/Exporting.js +5 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Maps/GeoJSONComposition.js +0 -5
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
- package/es-modules/Stock/Navigator/Navigator.js +7 -2
- package/es-modules/Stock/StockTools/StockToolbar.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 +2 -2
- 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 +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data-tools.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 +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/flowmap.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/geoheatmap.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 +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.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/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/pictorial.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/series-on-point.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/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.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/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/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/es-modules/tsconfig.tsbuildinfo +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +3 -3
- package/highcharts-gantt.src.js +202 -87
- package/highcharts-more.js +1 -1
- package/highcharts-more.src.js +1 -1
- package/highcharts.d.ts +64 -79
- package/highcharts.js +3 -3
- package/highcharts.src.d.ts +64 -79
- package/highcharts.src.js +173 -70
- package/highmaps.js +3 -3
- package/highmaps.src.js +176 -78
- package/highstock.js +3 -3
- package/highstock.src.js +192 -74
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +1 -1
- package/indicators/indicators-all.src.js +1 -1
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +11 -5
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +11 -5
- package/modules/accessibility.src.js +74 -38
- package/modules/annotations-advanced.js +2 -2
- package/modules/annotations-advanced.src.js +7 -3
- package/modules/annotations.js +2 -2
- package/modules/annotations.src.js +7 -3
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +5 -4
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +7 -2
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +7 -2
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +1 -1
- package/modules/coloraxis.src.js +1 -1
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data-tools.js +1 -1
- package/modules/data-tools.src.js +1 -1
- package/modules/data.d.ts +10 -1
- package/modules/data.js +2 -2
- package/modules/data.src.d.ts +10 -1
- package/modules/data.src.js +126 -100
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +8 -6
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +1 -1
- package/modules/export-data.src.js +1 -1
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.js +6 -2
- package/modules/flowmap.js +1 -1
- package/modules/flowmap.src.js +1 -1
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +2 -1
- package/modules/gantt.js +2 -2
- package/modules/gantt.src.js +30 -18
- package/modules/geoheatmap.js +1 -1
- package/modules/geoheatmap.src.js +1 -1
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +3 -3
- package/modules/heatmap.js +1 -1
- package/modules/heatmap.src.js +1 -1
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +2 -2
- package/modules/map.src.js +4 -9
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +1 -1
- package/modules/mouse-wheel-zoom.src.js +1 -1
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +20 -5
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +6 -3
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/pictorial.js +1 -1
- package/modules/pictorial.src.js +3 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +2 -1
- package/modules/sankey.js +1 -1
- package/modules/sankey.src.js +1 -1
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +2 -2
- package/modules/stock-tools.src.js +3 -3
- package/modules/stock.js +2 -2
- package/modules/stock.src.js +20 -5
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +8 -6
- package/modules/textpath.js +1 -1
- package/modules/textpath.src.js +1 -1
- package/modules/tiledwebmap.js +1 -1
- package/modules/tiledwebmap.src.js +1 -1
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +1 -1
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +2 -2
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +11 -14
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +8 -6
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +1 -1
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/options/sunburst.d.ts +1 -1
- package/options/sunburst.src.d.ts +1 -1
- package/package.json +14 -2
- package/standalone-navigator.js +2 -2
- package/standalone-navigator.src.js +191 -73
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
- package/lib/jspdf.js +0 -398
- package/lib/jspdf.src.js +0 -28833
- package/lib/svg2pdf.js +0 -42
- package/lib/svg2pdf.src.js +0 -5983
package/highstock.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v11.4.
|
|
2
|
+
* @license Highstock JS v11.4.9 (2026-09-25)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2024 Torstein Honsi
|
|
5
5
|
*
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
* Constants
|
|
63
63
|
*
|
|
64
64
|
* */
|
|
65
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '11.4.
|
|
65
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '11.4.9', Globals.win = (typeof window !== 'undefined' ?
|
|
66
66
|
window :
|
|
67
67
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
68
68
|
Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
@@ -6448,8 +6448,9 @@
|
|
|
6448
6448
|
* @apioption tooltip.positioner
|
|
6449
6449
|
*/
|
|
6450
6450
|
/**
|
|
6451
|
-
*
|
|
6452
|
-
*
|
|
6451
|
+
* Shows tooltip for all points with the same X value. Splits the
|
|
6452
|
+
* tooltip into one label per series, with the header close to the axis.
|
|
6453
|
+
* This is recommended over [shared](#tooltip.shared)
|
|
6453
6454
|
* tooltips for charts with multiple line series, generally making them
|
|
6454
6455
|
* easier to read. This option takes precedence over `tooltip.shared`.
|
|
6455
6456
|
*
|
|
@@ -6687,11 +6688,12 @@
|
|
|
6687
6688
|
*/
|
|
6688
6689
|
shape: 'callout',
|
|
6689
6690
|
/**
|
|
6690
|
-
*
|
|
6691
|
-
*
|
|
6692
|
-
*
|
|
6693
|
-
*
|
|
6694
|
-
*
|
|
6691
|
+
* Shows information in the tooltip for all points with the same X
|
|
6692
|
+
* value. When the tooltip is shared, the entire plot area will capture
|
|
6693
|
+
* mouse movement or touch events. Tooltip texts for series types with
|
|
6694
|
+
* ordered data (not pie, scatter, flags etc) will be shown in a single
|
|
6695
|
+
* bubble. This is recommended for single series charts and for
|
|
6696
|
+
* tablet/mobile optimized charts.
|
|
6695
6697
|
*
|
|
6696
6698
|
* See also [tooltip.split](#tooltip.split), that is better suited for
|
|
6697
6699
|
* charts with many series, especially line-type series. The
|
|
@@ -6942,6 +6944,10 @@
|
|
|
6942
6944
|
/**
|
|
6943
6945
|
* The URL for the credits label.
|
|
6944
6946
|
*
|
|
6947
|
+
* * URLs that do not start with one of the
|
|
6948
|
+
* [AST.allowedReferences](https://api.highcharts.com/class-reference/Highcharts.AST#.allowedReferences),
|
|
6949
|
+
* for example `javascript:` URLs, are ignored.
|
|
6950
|
+
*
|
|
6945
6951
|
* @sample {highcharts} highcharts/credits/href/
|
|
6946
6952
|
* Custom URL and text
|
|
6947
6953
|
* @sample {highmaps} maps/credits/customized/
|
|
@@ -7467,6 +7473,7 @@
|
|
|
7467
7473
|
/**
|
|
7468
7474
|
* Collection of parsers. This can be extended from the outside by pushing
|
|
7469
7475
|
* parsers to `Color.parsers`.
|
|
7476
|
+
* @private
|
|
7470
7477
|
*/
|
|
7471
7478
|
Color.parsers = [{
|
|
7472
7479
|
// RGBA color
|
|
@@ -8215,7 +8222,7 @@
|
|
|
8215
8222
|
*
|
|
8216
8223
|
* */
|
|
8217
8224
|
const { SVG_NS, win } = H;
|
|
8218
|
-
const { attr,
|
|
8225
|
+
const { attr, css, error, isFunction, isString, objectEach, splat } = U;
|
|
8219
8226
|
const { trustedTypes } = win;
|
|
8220
8227
|
/* *
|
|
8221
8228
|
*
|
|
@@ -8280,7 +8287,7 @@
|
|
|
8280
8287
|
if (AST.allowedAttributes.indexOf(key) === -1) {
|
|
8281
8288
|
valid = false;
|
|
8282
8289
|
}
|
|
8283
|
-
if (['background', 'dynsrc', 'href', 'lowsrc', 'src']
|
|
8290
|
+
if (['background', 'dynsrc', 'href', 'lowsrc', 'src', 'xlink:href']
|
|
8284
8291
|
.indexOf(key) !== -1) {
|
|
8285
8292
|
valid = isString(val) && AST.allowedReferences.some((ref) => val.indexOf(ref) === 0);
|
|
8286
8293
|
}
|
|
@@ -8456,9 +8463,10 @@
|
|
|
8456
8463
|
markup, 'text/html');
|
|
8457
8464
|
}
|
|
8458
8465
|
else {
|
|
8459
|
-
|
|
8460
|
-
|
|
8461
|
-
doc =
|
|
8466
|
+
// Never assign untrusted markup to a live document's innerHTML.
|
|
8467
|
+
// Parse into a detached, inert document instead.
|
|
8468
|
+
doc = H.doc.implementation.createHTMLDocument('');
|
|
8469
|
+
doc.body.innerHTML = markup;
|
|
8462
8470
|
}
|
|
8463
8471
|
const appendChildNodes = (node, addTo) => {
|
|
8464
8472
|
const tagName = node.nodeName.toLowerCase();
|
|
@@ -12530,7 +12538,7 @@
|
|
|
12530
12538
|
this.url = this.getReferenceURL();
|
|
12531
12539
|
// Add description
|
|
12532
12540
|
const desc = this.createElement('desc').add();
|
|
12533
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts 11.4.
|
|
12541
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 11.4.9'));
|
|
12534
12542
|
this.defs = this.createElement('defs').add();
|
|
12535
12543
|
this.allowHTML = allowHTML;
|
|
12536
12544
|
this.forExport = forExport;
|
|
@@ -13495,6 +13503,7 @@
|
|
|
13495
13503
|
});
|
|
13496
13504
|
}
|
|
13497
13505
|
img.isImg = true;
|
|
13506
|
+
img.symbolUrl = symbol;
|
|
13498
13507
|
if (defined(img.imgwidth) && defined(img.imgheight)) {
|
|
13499
13508
|
centerImage(img);
|
|
13500
13509
|
}
|
|
@@ -16593,9 +16602,10 @@
|
|
|
16593
16602
|
* Logarithmic with extension to emulate negative values
|
|
16594
16603
|
*
|
|
16595
16604
|
* @type {Highcharts.AxisTypeValue}
|
|
16605
|
+
* @default linear
|
|
16596
16606
|
* @product highcharts gantt
|
|
16607
|
+
* @apioption xAxis.type
|
|
16597
16608
|
*/
|
|
16598
|
-
type: 'linear',
|
|
16599
16609
|
/**
|
|
16600
16610
|
* If there are multiple axes on the same side of the chart, the pixel
|
|
16601
16611
|
* margin between the axes. Defaults to 0 on vertical axes, 15 on
|
|
@@ -16621,8 +16631,9 @@
|
|
|
16621
16631
|
*
|
|
16622
16632
|
* @since 4.2.7
|
|
16623
16633
|
* @product highcharts gantt
|
|
16634
|
+
* @type {boolean}
|
|
16635
|
+
* @default true
|
|
16624
16636
|
*/
|
|
16625
|
-
uniqueNames: true,
|
|
16626
16637
|
/**
|
|
16627
16638
|
* Datetime axis only. An array determining what time intervals the
|
|
16628
16639
|
* ticks are allowed to fall on. Each array item is an array where the
|
|
@@ -18010,7 +18021,7 @@
|
|
|
18010
18021
|
axis.transB)
|
|
18011
18022
|
};
|
|
18012
18023
|
// Chrome workaround for #10516
|
|
18013
|
-
pos.y = clamp(pos.y, -
|
|
18024
|
+
pos.y = clamp(pos.y, -1e9, 1e9);
|
|
18014
18025
|
fireEvent(this, 'afterGetPosition', { pos: pos });
|
|
18015
18026
|
return pos;
|
|
18016
18027
|
}
|
|
@@ -18586,7 +18597,11 @@
|
|
|
18586
18597
|
* @type {Highcharts.AxisOptions}
|
|
18587
18598
|
*/
|
|
18588
18599
|
axis.setOptions(userOptions);
|
|
18589
|
-
const options =
|
|
18600
|
+
const options = axis.options, labelsOptions = options.labels;
|
|
18601
|
+
// Set the type and fire an event
|
|
18602
|
+
axis.type ?? (axis.type = options.type || 'linear');
|
|
18603
|
+
axis.uniqueNames ?? (axis.uniqueNames = options.uniqueNames ?? true);
|
|
18604
|
+
fireEvent(axis, 'afterSetType');
|
|
18590
18605
|
/**
|
|
18591
18606
|
* User's options for this axis without defaults.
|
|
18592
18607
|
*
|
|
@@ -18606,7 +18621,7 @@
|
|
|
18606
18621
|
axis.visible = options.visible;
|
|
18607
18622
|
axis.zoomEnabled = options.zoomEnabled;
|
|
18608
18623
|
// Initial categories
|
|
18609
|
-
axis.hasNames = type === 'category' || options.categories === true;
|
|
18624
|
+
axis.hasNames = this.type === 'category' || options.categories === true;
|
|
18610
18625
|
/**
|
|
18611
18626
|
* If categories are present for the axis, names are used instead of
|
|
18612
18627
|
* numbers for that axis.
|
|
@@ -18979,7 +18994,7 @@
|
|
|
18979
18994
|
* @param {number} value
|
|
18980
18995
|
* A value in terms of axis units.
|
|
18981
18996
|
*
|
|
18982
|
-
* @param {boolean} paneCoordinates
|
|
18997
|
+
* @param {boolean} [paneCoordinates=false]
|
|
18983
18998
|
* Whether to return the pixel coordinate relative to the chart or just the
|
|
18984
18999
|
* axis/pane itself.
|
|
18985
19000
|
*
|
|
@@ -19054,7 +19069,7 @@
|
|
|
19054
19069
|
translatedValue = pick(translatedValue, axis.translate(value, void 0, void 0, old));
|
|
19055
19070
|
// Keep the translated value within sane bounds, and avoid Infinity
|
|
19056
19071
|
// to fail the isNumber test (#7709).
|
|
19057
|
-
translatedValue = clamp(translatedValue, -
|
|
19072
|
+
translatedValue = clamp(translatedValue, -1e9, 1e9);
|
|
19058
19073
|
x1 = x2 = translatedValue + transB;
|
|
19059
19074
|
y1 = y2 = cHeight - translatedValue - transB;
|
|
19060
19075
|
if (!isNumber(translatedValue)) { // No min or max
|
|
@@ -19329,7 +19344,7 @@
|
|
|
19329
19344
|
let nameX = point.options.x, x;
|
|
19330
19345
|
point.series.requireSorting = false;
|
|
19331
19346
|
if (!defined(nameX)) {
|
|
19332
|
-
nameX = this.
|
|
19347
|
+
nameX = this.uniqueNames && names ?
|
|
19333
19348
|
(explicitCategories ?
|
|
19334
19349
|
names.indexOf(point.name) :
|
|
19335
19350
|
pick(names.keys[point.name], -1)) :
|
|
@@ -19515,7 +19530,7 @@
|
|
|
19515
19530
|
linkedParentExtremes = linkedParent.getExtremes();
|
|
19516
19531
|
axis.min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin);
|
|
19517
19532
|
axis.max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax);
|
|
19518
|
-
if (
|
|
19533
|
+
if (this.type !== linkedParent.type) {
|
|
19519
19534
|
// Can't link axes of different type
|
|
19520
19535
|
error(11, true, chart);
|
|
19521
19536
|
}
|
|
@@ -19722,12 +19737,6 @@
|
|
|
19722
19737
|
this.tickmarkOffset = (this.categories &&
|
|
19723
19738
|
options.tickmarkPlacement === 'between' &&
|
|
19724
19739
|
this.tickInterval === 1) ? 0.5 : 0; // #3202
|
|
19725
|
-
// Get minorTickInterval
|
|
19726
|
-
this.minorTickInterval =
|
|
19727
|
-
minorTickIntervalOption === 'auto' &&
|
|
19728
|
-
this.tickInterval ?
|
|
19729
|
-
this.tickInterval / options.minorTicksPerMajor :
|
|
19730
|
-
minorTickIntervalOption;
|
|
19731
19740
|
// When there is only one point, or all points have the same value on
|
|
19732
19741
|
// this axis, then min and max are equal and tickPositions.length is 0
|
|
19733
19742
|
// or 1. In this case, add some padding in order to center the point,
|
|
@@ -19815,6 +19824,11 @@
|
|
|
19815
19824
|
}
|
|
19816
19825
|
}
|
|
19817
19826
|
this.tickPositions = tickPositions;
|
|
19827
|
+
// Get minorTickInterval
|
|
19828
|
+
this.minorTickInterval =
|
|
19829
|
+
minorTickIntervalOption === 'auto' && this.tickInterval ?
|
|
19830
|
+
this.tickInterval / options.minorTicksPerMajor :
|
|
19831
|
+
minorTickIntervalOption;
|
|
19818
19832
|
// Reset min/max or remove extremes based on start/end on tick
|
|
19819
19833
|
this.paddedTicks = tickPositions.slice(0); // Used for logarithmic minor
|
|
19820
19834
|
this.trimTicks(tickPositions, startOnTick, endOnTick);
|
|
@@ -21749,7 +21763,7 @@
|
|
|
21749
21763
|
AxisClass.keepProps.push('dateTime');
|
|
21750
21764
|
const axisProto = AxisClass.prototype;
|
|
21751
21765
|
axisProto.getTimeTicks = getTimeTicks;
|
|
21752
|
-
addEvent(AxisClass, '
|
|
21766
|
+
addEvent(AxisClass, 'afterSetType', onAfterSetType);
|
|
21753
21767
|
}
|
|
21754
21768
|
return AxisClass;
|
|
21755
21769
|
}
|
|
@@ -21775,8 +21789,8 @@
|
|
|
21775
21789
|
/**
|
|
21776
21790
|
* @private
|
|
21777
21791
|
*/
|
|
21778
|
-
function
|
|
21779
|
-
if (this.
|
|
21792
|
+
function onAfterSetType() {
|
|
21793
|
+
if (this.type !== 'datetime') {
|
|
21780
21794
|
this.dateTime = void 0;
|
|
21781
21795
|
return;
|
|
21782
21796
|
}
|
|
@@ -21938,7 +21952,7 @@
|
|
|
21938
21952
|
function compose(AxisClass) {
|
|
21939
21953
|
if (!AxisClass.keepProps.includes('logarithmic')) {
|
|
21940
21954
|
AxisClass.keepProps.push('logarithmic');
|
|
21941
|
-
addEvent(AxisClass, '
|
|
21955
|
+
addEvent(AxisClass, 'afterSetType', onAfterSetType);
|
|
21942
21956
|
addEvent(AxisClass, 'afterInit', onAfterInit);
|
|
21943
21957
|
}
|
|
21944
21958
|
return AxisClass;
|
|
@@ -21947,17 +21961,12 @@
|
|
|
21947
21961
|
/**
|
|
21948
21962
|
* @private
|
|
21949
21963
|
*/
|
|
21950
|
-
function
|
|
21951
|
-
|
|
21952
|
-
|
|
21953
|
-
let logarithmic = axis.logarithmic;
|
|
21954
|
-
if (options.type !== 'logarithmic') {
|
|
21955
|
-
axis.logarithmic = void 0;
|
|
21964
|
+
function onAfterSetType() {
|
|
21965
|
+
if (this.type !== 'logarithmic') {
|
|
21966
|
+
this.logarithmic = void 0;
|
|
21956
21967
|
}
|
|
21957
21968
|
else {
|
|
21958
|
-
|
|
21959
|
-
logarithmic = axis.logarithmic = new Additions(axis);
|
|
21960
|
-
}
|
|
21969
|
+
this.logarithmic ?? (this.logarithmic = new Additions(this));
|
|
21961
21970
|
}
|
|
21962
21971
|
}
|
|
21963
21972
|
/**
|
|
@@ -22367,7 +22376,7 @@
|
|
|
22367
22376
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
22368
22377
|
*
|
|
22369
22378
|
* */
|
|
22370
|
-
const { arrayMax, arrayMin, defined, destroyObjectProperties, erase, fireEvent, merge, objectEach, pick } = U;
|
|
22379
|
+
const { addEvent, arrayMax, arrayMin, defined, destroyObjectProperties, erase, fireEvent, merge, objectEach, pick } = U;
|
|
22371
22380
|
/* *
|
|
22372
22381
|
*
|
|
22373
22382
|
* Class
|
|
@@ -22391,7 +22400,20 @@
|
|
|
22391
22400
|
* Static Functions
|
|
22392
22401
|
*
|
|
22393
22402
|
* */
|
|
22394
|
-
static compose(AxisClass) {
|
|
22403
|
+
static compose(ChartClass, AxisClass) {
|
|
22404
|
+
addEvent(ChartClass, 'afterInit', function () {
|
|
22405
|
+
this.labelCollectors.push(() => {
|
|
22406
|
+
const labels = [];
|
|
22407
|
+
for (const axis of this.axes) {
|
|
22408
|
+
for (const { label, options } of axis.plotLinesAndBands) {
|
|
22409
|
+
if (label && !options?.label?.allowOverlap) {
|
|
22410
|
+
labels.push(label);
|
|
22411
|
+
}
|
|
22412
|
+
}
|
|
22413
|
+
}
|
|
22414
|
+
return labels;
|
|
22415
|
+
});
|
|
22416
|
+
});
|
|
22395
22417
|
return PlotLineOrBandAxis.compose(PlotLineOrBand, AxisClass);
|
|
22396
22418
|
}
|
|
22397
22419
|
/* *
|
|
@@ -22530,7 +22552,8 @@
|
|
|
22530
22552
|
x: horiz ? !isBand && 4 : 10,
|
|
22531
22553
|
verticalAlign: !horiz && isBand ? 'middle' : void 0,
|
|
22532
22554
|
y: horiz ? isBand ? 16 : 10 : isBand ? 6 : -4,
|
|
22533
|
-
rotation: horiz && !isBand ? 90 : 0
|
|
22555
|
+
rotation: horiz && !isBand ? 90 : 0,
|
|
22556
|
+
...(isBand ? { inside: true } : {})
|
|
22534
22557
|
}, optionsLabel);
|
|
22535
22558
|
this.renderLabel(optionsLabel, path, isBand, zIndex);
|
|
22536
22559
|
// Move out of sight
|
|
@@ -22547,7 +22570,7 @@
|
|
|
22547
22570
|
* @function Highcharts.PlotLineOrBand#renderLabel
|
|
22548
22571
|
*/
|
|
22549
22572
|
renderLabel(optionsLabel, path, isBand, zIndex) {
|
|
22550
|
-
const plotLine = this, axis = plotLine.axis, renderer = axis.chart.renderer;
|
|
22573
|
+
const plotLine = this, axis = plotLine.axis, renderer = axis.chart.renderer, inside = optionsLabel.inside;
|
|
22551
22574
|
let label = plotLine.label;
|
|
22552
22575
|
// Add the SVG element
|
|
22553
22576
|
if (!label) {
|
|
@@ -22569,7 +22592,7 @@
|
|
|
22569
22592
|
if (!axis.chart.styledMode) {
|
|
22570
22593
|
label.css(merge({
|
|
22571
22594
|
fontSize: '0.8em',
|
|
22572
|
-
textOverflow: 'ellipsis'
|
|
22595
|
+
textOverflow: (isBand && !inside) ? '' : 'ellipsis'
|
|
22573
22596
|
}, optionsLabel.style));
|
|
22574
22597
|
}
|
|
22575
22598
|
label.add();
|
|
@@ -22578,20 +22601,24 @@
|
|
|
22578
22601
|
// #3000 changed to better handle choice between plotband or plotline
|
|
22579
22602
|
const xBounds = path.xBounds ||
|
|
22580
22603
|
[path[0][1], path[1][1], (isBand ? path[2][1] : path[0][1])], yBounds = path.yBounds ||
|
|
22581
|
-
[path[0][2], path[1][2], (isBand ? path[2][2] : path[0][2])], x = arrayMin(xBounds), y = arrayMin(yBounds);
|
|
22604
|
+
[path[0][2], path[1][2], (isBand ? path[2][2] : path[0][2])], x = arrayMin(xBounds), y = arrayMin(yBounds), bBoxWidth = arrayMax(xBounds) - x;
|
|
22582
22605
|
label.align(optionsLabel, false, {
|
|
22583
22606
|
x,
|
|
22584
22607
|
y,
|
|
22585
|
-
width:
|
|
22608
|
+
width: bBoxWidth,
|
|
22586
22609
|
height: arrayMax(yBounds) - y
|
|
22587
22610
|
});
|
|
22588
|
-
if (!label.alignValue ||
|
|
22589
|
-
|
|
22590
|
-
|
|
22611
|
+
if (!label.alignValue ||
|
|
22612
|
+
label.alignValue === 'left' ||
|
|
22613
|
+
defined(inside)) {
|
|
22591
22614
|
label.css({
|
|
22592
|
-
width: (
|
|
22593
|
-
|
|
22594
|
-
|
|
22615
|
+
width: (optionsLabel.style?.width || ((!isBand ||
|
|
22616
|
+
!inside) ? (label.rotation === 90 ?
|
|
22617
|
+
axis.height - (label.alignAttr.y -
|
|
22618
|
+
axis.top) : (optionsLabel.clip ?
|
|
22619
|
+
axis.width :
|
|
22620
|
+
axis.chart.chartWidth) - (label.alignAttr.x - axis.left)) :
|
|
22621
|
+
bBoxWidth)) + 'px'
|
|
22595
22622
|
});
|
|
22596
22623
|
}
|
|
22597
22624
|
label.show(true);
|
|
@@ -22830,6 +22857,29 @@
|
|
|
22830
22857
|
* @since 2.1
|
|
22831
22858
|
* @apioption xAxis.plotBands.label.align
|
|
22832
22859
|
*/
|
|
22860
|
+
/**
|
|
22861
|
+
* Whether or not the label can be hidden if it overlaps with another label.
|
|
22862
|
+
*
|
|
22863
|
+
* @sample {highcharts} highcharts/xaxis/plotbands-label-allowoverlap/
|
|
22864
|
+
* A Plotband label overlapping another
|
|
22865
|
+
*
|
|
22866
|
+
* @type {boolean}
|
|
22867
|
+
* @default undefined
|
|
22868
|
+
* @since 11.4.8
|
|
22869
|
+
* @apioption xAxis.plotBands.label.allowOverlap
|
|
22870
|
+
*/
|
|
22871
|
+
/**
|
|
22872
|
+
* Wether or not the text of the label can exceed the width of the label.
|
|
22873
|
+
*
|
|
22874
|
+
* @type {boolean}
|
|
22875
|
+
* @product highcharts highstock gantt
|
|
22876
|
+
* @sample {highcharts} highcharts/xaxis/plotbands-label-textwidth/
|
|
22877
|
+
* Displaying text with text-wrapping/ellipsis, or the full text.
|
|
22878
|
+
*
|
|
22879
|
+
* @default true
|
|
22880
|
+
* @since 11.4.6
|
|
22881
|
+
* @apioption xAxis.plotBands.label.inside
|
|
22882
|
+
*/
|
|
22833
22883
|
/**
|
|
22834
22884
|
* Rotation of the text label in degrees .
|
|
22835
22885
|
*
|
|
@@ -23977,6 +24027,15 @@
|
|
|
23977
24027
|
text.join('') :
|
|
23978
24028
|
text
|
|
23979
24029
|
});
|
|
24030
|
+
// When the length of the label has increased, immediately
|
|
24031
|
+
// update the x position to prevent tooltip from flowing
|
|
24032
|
+
// outside the viewport during animation (#21371)
|
|
24033
|
+
if (this.outside) {
|
|
24034
|
+
label.attr({
|
|
24035
|
+
x: clamp(label.x || 0, 0, this.getPlayingField().width -
|
|
24036
|
+
(label.width || 0))
|
|
24037
|
+
});
|
|
24038
|
+
}
|
|
23980
24039
|
if (!styledMode) {
|
|
23981
24040
|
label.attr({
|
|
23982
24041
|
stroke: (options.borderColor ||
|
|
@@ -25253,11 +25312,18 @@
|
|
|
25253
25312
|
*/
|
|
25254
25313
|
setNestedProperty(object, value, key) {
|
|
25255
25314
|
const nestedKeys = key.split('.');
|
|
25315
|
+
// Reject nested keys that would allow prototype pollution
|
|
25316
|
+
if (nestedKeys.some((nestedKey) => (nestedKey === '__proto__' || nestedKey === 'constructor'))) {
|
|
25317
|
+
return object;
|
|
25318
|
+
}
|
|
25256
25319
|
nestedKeys.reduce(function (result, key, i, arr) {
|
|
25257
25320
|
const isLastKey = arr.length - 1 === i;
|
|
25258
25321
|
result[key] = (isLastKey ?
|
|
25259
25322
|
value :
|
|
25260
|
-
|
|
25323
|
+
// Inherited objects are shared with everything else on
|
|
25324
|
+
// that prototype, so start a fresh one instead
|
|
25325
|
+
isObject(result[key], true) &&
|
|
25326
|
+
Object.hasOwnProperty.call(result, key) ?
|
|
25261
25327
|
result[key] :
|
|
25262
25328
|
{});
|
|
25263
25329
|
return result[key];
|
|
@@ -27607,7 +27673,7 @@
|
|
|
27607
27673
|
* The legend object.
|
|
27608
27674
|
*/
|
|
27609
27675
|
function lineMarker(legend, item, hasArea) {
|
|
27610
|
-
const legendItem = this.legendItem = this.legendItem || {}, { chart, options } = this, { baseline = 0, symbolWidth, symbolHeight } = legend, symbol = this.symbol || 'circle', generalRadius = symbolHeight / 2, renderer = chart.renderer, legendItemGroup = legendItem.group, verticalCenter = baseline - Math.round(symbolHeight *
|
|
27676
|
+
const legendItem = this.legendItem = this.legendItem || {}, { chart, options } = this, { baseline = 0, symbolWidth, symbolHeight } = legend, symbol = this.symbol || 'circle', generalRadius = symbolHeight / 2, renderer = chart.renderer, legendItemGroup = legendItem.group, verticalCenter = baseline - Math.round((legend.fontMetrics?.b || symbolHeight) *
|
|
27611
27677
|
// Render line and marker slightly higher to make room for the
|
|
27612
27678
|
// area
|
|
27613
27679
|
(hasArea ? 0.4 : 0.3)), attr = {};
|
|
@@ -31593,7 +31659,7 @@
|
|
|
31593
31659
|
* @private
|
|
31594
31660
|
*/
|
|
31595
31661
|
function limitedRange(val) {
|
|
31596
|
-
return clamp(val, -
|
|
31662
|
+
return clamp(val, -1e9, 1e9);
|
|
31597
31663
|
}
|
|
31598
31664
|
// Translate each point
|
|
31599
31665
|
for (i = 0; i < dataLength; i++) {
|
|
@@ -36122,10 +36188,22 @@
|
|
|
36122
36188
|
* @function Highcharts.Chart#getContainerBox
|
|
36123
36189
|
*/
|
|
36124
36190
|
getContainerBox() {
|
|
36125
|
-
|
|
36191
|
+
// Temporarily hide support divs from a11y and others, #21888
|
|
36192
|
+
const nonContainers = [].map.call(this.renderTo.children, (child) => {
|
|
36193
|
+
if (child !== this.container) {
|
|
36194
|
+
const display = child.style.display;
|
|
36195
|
+
child.style.display = 'none';
|
|
36196
|
+
return [child, display];
|
|
36197
|
+
}
|
|
36198
|
+
}), box = {
|
|
36126
36199
|
width: getStyle(this.renderTo, 'width', true) || 0,
|
|
36127
|
-
height: getStyle(this.renderTo, 'height', true) || 0
|
|
36200
|
+
height: (getStyle(this.renderTo, 'height', true) || 0)
|
|
36128
36201
|
};
|
|
36202
|
+
// Restore the non-containers
|
|
36203
|
+
nonContainers.filter(Boolean).forEach(([div, display]) => {
|
|
36204
|
+
div.style.display = display;
|
|
36205
|
+
});
|
|
36206
|
+
return box;
|
|
36129
36207
|
}
|
|
36130
36208
|
/**
|
|
36131
36209
|
* Internal function to get the chart width and height according to options
|
|
@@ -36136,7 +36214,10 @@
|
|
|
36136
36214
|
* @function Highcharts.Chart#getChartSize
|
|
36137
36215
|
*/
|
|
36138
36216
|
getChartSize() {
|
|
36139
|
-
const chart = this, optionsChart = chart.options.chart, widthOption = optionsChart.width, heightOption = optionsChart.height, containerBox = chart.getContainerBox()
|
|
36217
|
+
const chart = this, optionsChart = chart.options.chart, widthOption = optionsChart.width, heightOption = optionsChart.height, containerBox = chart.getContainerBox(), enableDefaultHeight = containerBox.height > 1 &&
|
|
36218
|
+
!( // #21510, prevent infinite reflow
|
|
36219
|
+
!chart.renderTo.parentElement?.style.height &&
|
|
36220
|
+
chart.renderTo.style.height === '100%');
|
|
36140
36221
|
/**
|
|
36141
36222
|
* The current pixel width of the chart.
|
|
36142
36223
|
*
|
|
@@ -36153,7 +36234,7 @@
|
|
|
36153
36234
|
* @type {number}
|
|
36154
36235
|
*/
|
|
36155
36236
|
chart.chartHeight = Math.max(0, relativeLength(heightOption, chart.chartWidth) ||
|
|
36156
|
-
(
|
|
36237
|
+
(enableDefaultHeight ? containerBox.height : 400));
|
|
36157
36238
|
chart.containerBox = containerBox;
|
|
36158
36239
|
}
|
|
36159
36240
|
/**
|
|
@@ -36301,7 +36382,8 @@
|
|
|
36301
36382
|
'-webkit-tap-highlight-color': 'rgba(0,0,0,0)',
|
|
36302
36383
|
userSelect: 'none', // #13503
|
|
36303
36384
|
'touch-action': 'manipulation',
|
|
36304
|
-
outline: 'none'
|
|
36385
|
+
outline: 'none',
|
|
36386
|
+
padding: '0px'
|
|
36305
36387
|
}, optionsChart.style || {});
|
|
36306
36388
|
}
|
|
36307
36389
|
/**
|
|
@@ -37022,6 +37104,12 @@
|
|
|
37022
37104
|
addCredits(credits) {
|
|
37023
37105
|
const chart = this, creds = merge(true, this.options.credits, credits);
|
|
37024
37106
|
if (creds.enabled && !this.credits) {
|
|
37107
|
+
// Run the user-supplied URL through the allow list, so that
|
|
37108
|
+
// references like `javascript:` can't be executed from the
|
|
37109
|
+
// credits label
|
|
37110
|
+
const href = creds.href ?
|
|
37111
|
+
AST.filterUserAttributes({ href: creds.href }).href :
|
|
37112
|
+
void 0;
|
|
37025
37113
|
/**
|
|
37026
37114
|
* The chart's credits label. The label has an `update` method that
|
|
37027
37115
|
* allows setting new options as per the
|
|
@@ -37033,8 +37121,8 @@
|
|
|
37033
37121
|
this.credits = this.renderer.text(creds.text + (this.mapCredits || ''), 0, 0)
|
|
37034
37122
|
.addClass('highcharts-credits')
|
|
37035
37123
|
.on('click', function () {
|
|
37036
|
-
if (
|
|
37037
|
-
win.location.href =
|
|
37124
|
+
if (href) {
|
|
37125
|
+
win.location.href = href;
|
|
37038
37126
|
}
|
|
37039
37127
|
})
|
|
37040
37128
|
.attr({
|
|
@@ -37869,8 +37957,11 @@
|
|
|
37869
37957
|
}
|
|
37870
37958
|
let newMin = axis.toValue(minPx, true) +
|
|
37871
37959
|
// Don't apply offset for selection (#20784)
|
|
37872
|
-
(selection
|
|
37873
|
-
|
|
37960
|
+
(selection || axis.isOrdinal ?
|
|
37961
|
+
0 : minPointOffset * pointRangeDirection), newMax = axis.toValue(minPx + len / scale, true) -
|
|
37962
|
+
(
|
|
37963
|
+
// Don't apply offset for selection (#20784)
|
|
37964
|
+
selection || axis.isOrdinal ?
|
|
37874
37965
|
0 :
|
|
37875
37966
|
((minPointOffset * pointRangeDirection) ||
|
|
37876
37967
|
// Polar zoom tests failed when this was not
|
|
@@ -37915,7 +38006,10 @@
|
|
|
37915
38006
|
// It is not necessary to calculate extremes on ordinal axis,
|
|
37916
38007
|
// because they are already calculated, so we don't want to override
|
|
37917
38008
|
// them.
|
|
37918
|
-
if (!axis.isOrdinal ||
|
|
38009
|
+
if (!axis.isOrdinal ||
|
|
38010
|
+
axis.options.overscroll || // #21316
|
|
38011
|
+
scale !== 1 ||
|
|
38012
|
+
reset) {
|
|
37919
38013
|
// If the new range spills over, either to the min or max,
|
|
37920
38014
|
// adjust it.
|
|
37921
38015
|
if (newMin < floor) {
|
|
@@ -42280,6 +42374,15 @@
|
|
|
42280
42374
|
// read text bounding box
|
|
42281
42375
|
dataLabel.css(style).shadow(labelOptions.shadow);
|
|
42282
42376
|
}
|
|
42377
|
+
else if (style.width) {
|
|
42378
|
+
// In styled mode with a width property set,
|
|
42379
|
+
// the width should be applied to the
|
|
42380
|
+
// dataLabel. (#20499)
|
|
42381
|
+
dataLabel.css({
|
|
42382
|
+
width: style.width,
|
|
42383
|
+
textOverflow: style.textOverflow
|
|
42384
|
+
});
|
|
42385
|
+
}
|
|
42283
42386
|
fireEvent(dataLabel, 'beforeAddingDataLabel', { labelOptions, point });
|
|
42284
42387
|
if (!dataLabel.added) {
|
|
42285
42388
|
dataLabel.add(dataLabelsGroup);
|
|
@@ -45941,7 +46044,7 @@
|
|
|
45941
46044
|
LogarithmicAxis.compose(G.Axis);
|
|
45942
46045
|
OverlappingDataLabels.compose(G.Chart);
|
|
45943
46046
|
PieDataLabel.compose(G.Series.types.pie);
|
|
45944
|
-
PlotLineOrBand.compose(G.Axis);
|
|
46047
|
+
PlotLineOrBand.compose(G.Chart, G.Axis);
|
|
45945
46048
|
Pointer.compose(G.Chart);
|
|
45946
46049
|
Responsive.compose(G.Chart);
|
|
45947
46050
|
ScrollablePlotArea.compose(G.Axis, G.Chart, G.Series);
|
|
@@ -47674,13 +47777,23 @@
|
|
|
47674
47777
|
isNaN(scrollMax) ||
|
|
47675
47778
|
!defined(axis.min) ||
|
|
47676
47779
|
!defined(axis.max) ||
|
|
47677
|
-
axis.
|
|
47780
|
+
axis.dataMin === axis.dataMax // #10733
|
|
47678
47781
|
) {
|
|
47679
|
-
// Default action: when extremes are the same or there is
|
|
47782
|
+
// Default action: when data extremes are the same or there is
|
|
47680
47783
|
// not extremes on the axis, but scrollbar exists, make it
|
|
47681
47784
|
// full size
|
|
47682
47785
|
scrollbar.setRange(0, 1);
|
|
47683
47786
|
}
|
|
47787
|
+
else if (axis.min === axis.max) { // #20359
|
|
47788
|
+
// When the extremes are the same, set the scrollbar to a point
|
|
47789
|
+
// within the extremes range. Utilize pointRange to perform the
|
|
47790
|
+
// calculations. (#20359)
|
|
47791
|
+
const interval = axis.pointRange / (axis.dataMax +
|
|
47792
|
+
1);
|
|
47793
|
+
from = interval * axis.min;
|
|
47794
|
+
to = interval * (axis.max + 1);
|
|
47795
|
+
scrollbar.setRange(from, to);
|
|
47796
|
+
}
|
|
47684
47797
|
else {
|
|
47685
47798
|
from = ((axis.min - scrollMin) /
|
|
47686
47799
|
(scrollMax - scrollMin));
|
|
@@ -48890,7 +49003,10 @@
|
|
|
48890
49003
|
const handlesOptions = navigatorOptions.handles, { height, width } = handlesOptions;
|
|
48891
49004
|
[0, 1].forEach((index) => {
|
|
48892
49005
|
const symbolName = handlesOptions.symbols[index];
|
|
48893
|
-
if (!navigator.handles[index]
|
|
49006
|
+
if (!navigator.handles[index] ||
|
|
49007
|
+
navigator.handles[index].symbolUrl !== symbolName) {
|
|
49008
|
+
// Generate symbol from scratch if we're dealing with an URL
|
|
49009
|
+
navigator.handles[index]?.destroy();
|
|
48894
49010
|
navigator.handles[index] = renderer.symbol(symbolName, -width / 2 - 1, 0, width, height, handlesOptions);
|
|
48895
49011
|
// Z index is 6 for right handle, 7 for left. Can't be 10,
|
|
48896
49012
|
// because of the tooltip in inverted chart (#2908).
|
|
@@ -48898,9 +49014,11 @@
|
|
|
48898
49014
|
.addClass('highcharts-navigator-handle ' +
|
|
48899
49015
|
'highcharts-navigator-handle-' +
|
|
48900
49016
|
['left', 'right'][index]).add(navigatorGroup);
|
|
49017
|
+
navigator.addMouseEvents();
|
|
48901
49018
|
// If the navigator symbol changed, update its path and name
|
|
48902
49019
|
}
|
|
48903
|
-
else if (
|
|
49020
|
+
else if (!navigator.handles[index].isImg &&
|
|
49021
|
+
navigator.handles[index].symbolName !== symbolName) {
|
|
48904
49022
|
const symbolFn = symbols[symbolName], path = symbolFn.call(symbols, -width / 2 - 1, 0, width, height);
|
|
48905
49023
|
navigator.handles[index].attr({
|
|
48906
49024
|
d: path
|