highcharts 13.0.0 → 13.0.1
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 +3 -2
- package/css/highcharts.css +2 -1
- package/es-modules/Accessibility/Accessibility.js +38 -1
- package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
- package/es-modules/Accessibility/Components/NavigatorComponent.js +1 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
- package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
- package/es-modules/Accessibility/ProxyElement.js +1 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +31 -41
- package/es-modules/Core/Animation/Fx.js +16 -19
- package/es-modules/Core/Axis/Axis.js +1 -2
- package/es-modules/Core/Axis/AxisDefaults.js +12 -2
- package/es-modules/Core/Axis/Color/ColorAxis.js +7 -2
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +1 -1
- package/es-modules/Core/Axis/GridAxis.js +8 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +12 -4
- package/es-modules/Core/Axis/RadialAxis.js +9 -14
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +1 -2
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
- package/es-modules/Core/Chart/Chart.js +44 -39
- package/es-modules/Core/Chart/ChartDefaults.js +1 -1
- package/es-modules/Core/Chart/MapChart.js +0 -5
- package/es-modules/Core/Defaults.js +9 -2
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +4 -5
- package/es-modules/Core/Pointer.js +11 -1
- package/es-modules/Core/Renderer/HTML/AST.js +5 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
- package/es-modules/Core/Renderer/SVG/SVGElement.js +1 -2
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +2 -3
- package/es-modules/Core/Series/DataLabel.js +1 -2
- package/es-modules/Core/Series/Point.js +28 -21
- package/es-modules/Core/Series/Series.js +89 -62
- package/es-modules/Core/Series/SeriesDefaults.js +33 -0
- package/es-modules/Core/Templating.js +16 -13
- package/es-modules/Core/Tooltip.js +1 -2
- package/es-modules/Data/DataTableCore.js +1 -1
- package/es-modules/Extensions/Annotations/Annotation.js +1 -2
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/MockPoint.js +7 -9
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +30 -3
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +2 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
- package/es-modules/Extensions/Annotations/Types/Measure.js +25 -7
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
- package/es-modules/Extensions/Boost/Boost.js +13 -0
- package/es-modules/Extensions/Boost/BoostSeries.js +9 -2
- package/es-modules/Extensions/BorderRadius.js +12 -10
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +1 -1
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +1 -2
- package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
- package/es-modules/Extensions/ExportData/ExportData.js +5 -1
- package/es-modules/Extensions/Exporting/Exporting.js +21 -21
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
- package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +1 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +1 -1
- package/es-modules/Maps/GeoJSONComposition.js +14 -1
- package/es-modules/Maps/MapView.js +1 -1
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
- package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +27 -28
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +15 -0
- package/es-modules/Series/Bullet/BulletSeries.js +1 -1
- package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
- package/es-modules/Series/CenteredUtilities.js +5 -4
- package/es-modules/Series/ColorMapComposition.js +7 -4
- package/es-modules/Series/Column/ColumnPoint.js +2 -0
- package/es-modules/Series/Column/ColumnSeries.js +12 -12
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
- package/es-modules/Series/Column3D/Column3DComposition.js +16 -14
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
- package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +9 -142
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
- package/es-modules/Series/Contour/ContourPoint.js +2 -0
- package/es-modules/Series/Contour/ContourSeries.js +1 -0
- package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
- package/es-modules/Series/Contour/ContourShader.js +9 -1
- package/es-modules/Series/CrossSymbol.js +3 -2
- package/es-modules/Series/Cylinder/CylinderComposition.js +10 -10
- package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
- package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
- package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
- package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
- package/es-modules/Series/DerivedComposition.js +9 -8
- package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
- package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -2
- package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
- package/es-modules/Series/DragNodesComposition.js +11 -8
- package/es-modules/Series/DrawPointUtilities.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -3
- package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +9 -8
- package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
- package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
- package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
- package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
- package/es-modules/Series/Flags/FlagsSeries.js +5 -14
- package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
- package/es-modules/Series/Funnel/FunnelSeries.js +23 -24
- package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
- package/es-modules/Series/Gantt/GanttSeries.js +2 -1
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
- package/es-modules/Series/GraphLayoutComposition.js +3 -3
- package/es-modules/Series/Histogram/HistogramSeries.js +1 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
- package/es-modules/Series/Map/MapSeries.js +1 -2
- package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +10 -7
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
- package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
- package/es-modules/Series/Pie/PiePoint.js +1 -2
- package/es-modules/Series/PolarComposition.js +5 -7
- package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
- package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
- package/es-modules/Series/RangeDataLabel.js +128 -0
- package/es-modules/Series/Sankey/SankeySeries.js +2 -2
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
- package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
- package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +12 -6
- package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +9 -3
- package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
- package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
- package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
- package/es-modules/Series/Vector/VectorSeries.js +7 -9
- package/es-modules/Series/Venn/VennSeries.js +3 -4
- package/es-modules/Series/Waterfall/WaterfallSeries.js +1 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +6 -8
- package/es-modules/Series/XRange/XRangeSeries.js +8 -8
- package/es-modules/Shared/TimeBase.js +5 -6
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -2
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
- package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +51 -10
- package/es-modules/Stock/StockTools/StockToolbar.js +1 -1
- package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
- package/es-modules/Stock/StockTools/StockToolsGui.js +2 -2
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-autoload.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 +7 -7
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
- package/es-modules/masters/i18n/fr-FR.src.js +1 -1
- package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
- package/es-modules/masters/i18n/nb-NO.src.js +1 -1
- package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
- package/es-modules/masters/i18n/zh-CN.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/contour.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-sorting.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 +2 -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/non-cartesian-zoom.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/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/pointandfigure.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/renko.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 +3 -2
- 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/standalone-navigator.src.js +1 -1
- package/es-modules/masters/themes/adaptive.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/high-contrast.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/esm/highcharts-3d.js +2 -2
- package/esm/highcharts-3d.src.js +40 -25
- package/esm/highcharts-autoload.js +2 -2
- package/esm/highcharts-autoload.src.js +22 -8
- package/esm/highcharts-gantt.js +2 -2
- package/esm/highcharts-gantt.src.js +1 -24
- package/esm/highcharts-more.js +2 -2
- package/esm/highcharts-more.src.js +1109 -926
- package/esm/highcharts.js +5 -5
- package/esm/highcharts.src.js +396 -314
- package/esm/highmaps.js +2 -2
- package/esm/highmaps.src.js +1 -24
- package/esm/highstock.js +2 -2
- package/esm/highstock.src.js +1 -24
- package/esm/i18n/fr-FR.js +2 -2
- package/esm/i18n/fr-FR.src.js +22 -8
- package/esm/i18n/nb-NO.js +2 -2
- package/esm/i18n/nb-NO.src.js +22 -8
- package/esm/i18n/zh-CN.js +2 -2
- package/esm/i18n/zh-CN.src.js +22 -8
- package/esm/indicators/acceleration-bands.js +2 -2
- package/esm/indicators/acceleration-bands.src.js +22 -8
- package/esm/indicators/accumulation-distribution.js +2 -2
- package/esm/indicators/accumulation-distribution.src.js +22 -8
- package/esm/indicators/ao.js +2 -2
- package/esm/indicators/ao.src.js +22 -8
- package/esm/indicators/apo.js +2 -2
- package/esm/indicators/apo.src.js +22 -8
- package/esm/indicators/aroon-oscillator.js +2 -2
- package/esm/indicators/aroon-oscillator.src.js +22 -8
- package/esm/indicators/aroon.js +2 -2
- package/esm/indicators/aroon.src.js +22 -8
- package/esm/indicators/atr.js +2 -2
- package/esm/indicators/atr.src.js +22 -8
- package/esm/indicators/bollinger-bands.js +2 -2
- package/esm/indicators/bollinger-bands.src.js +22 -8
- package/esm/indicators/cci.js +2 -2
- package/esm/indicators/cci.src.js +22 -8
- package/esm/indicators/chaikin.js +2 -2
- package/esm/indicators/chaikin.src.js +22 -8
- package/esm/indicators/cmf.js +2 -2
- package/esm/indicators/cmf.src.js +22 -8
- package/esm/indicators/cmo.js +2 -2
- package/esm/indicators/cmo.src.js +22 -8
- package/esm/indicators/dema.js +2 -2
- package/esm/indicators/dema.src.js +22 -8
- package/esm/indicators/disparity-index.js +2 -2
- package/esm/indicators/disparity-index.src.js +22 -8
- package/esm/indicators/dmi.js +2 -2
- package/esm/indicators/dmi.src.js +22 -8
- package/esm/indicators/dpo.js +2 -2
- package/esm/indicators/dpo.src.js +22 -8
- package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
- package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +24 -11
- package/esm/indicators/indicators.js +2 -2
- package/esm/indicators/indicators.src.js +23 -9
- package/esm/indicators/keltner-channels.js +2 -2
- package/esm/indicators/keltner-channels.src.js +22 -8
- package/esm/indicators/klinger.js +2 -2
- package/esm/indicators/klinger.src.js +22 -8
- package/esm/indicators/macd.js +2 -2
- package/esm/indicators/macd.src.js +22 -8
- package/esm/indicators/mfi.js +2 -2
- package/esm/indicators/mfi.src.js +22 -8
- package/esm/indicators/momentum.js +2 -2
- package/esm/indicators/momentum.src.js +22 -8
- package/esm/indicators/natr.js +2 -2
- package/esm/indicators/natr.src.js +22 -8
- package/esm/indicators/obv.js +2 -2
- package/esm/indicators/obv.src.js +22 -8
- package/esm/indicators/pivot-points.js +2 -2
- package/esm/indicators/pivot-points.src.js +22 -8
- package/esm/indicators/ppo.js +2 -2
- package/esm/indicators/ppo.src.js +22 -8
- package/esm/indicators/price-channel.js +2 -2
- package/esm/indicators/price-channel.src.js +22 -8
- package/esm/indicators/price-envelopes.js +2 -2
- package/esm/indicators/price-envelopes.src.js +22 -8
- package/esm/indicators/psar.js +2 -2
- package/esm/indicators/psar.src.js +22 -8
- package/esm/indicators/regressions.js +2 -2
- package/esm/indicators/regressions.src.js +22 -8
- package/esm/indicators/roc.js +2 -2
- package/esm/indicators/roc.src.js +22 -8
- package/esm/indicators/rsi.js +2 -2
- package/esm/indicators/rsi.src.js +22 -8
- package/esm/indicators/slow-stochastic.js +2 -2
- package/esm/indicators/slow-stochastic.src.js +22 -8
- package/esm/indicators/stochastic.js +2 -2
- package/esm/indicators/stochastic.src.js +22 -8
- package/esm/indicators/supertrend.js +2 -2
- package/esm/indicators/supertrend.src.js +22 -8
- package/esm/indicators/tema.js +2 -2
- package/esm/indicators/tema.src.js +22 -8
- package/esm/indicators/trendline.js +2 -2
- package/esm/indicators/trendline.src.js +22 -8
- package/esm/indicators/trix.js +2 -2
- package/esm/indicators/trix.src.js +22 -8
- package/esm/indicators/volume-by-price.js +2 -2
- package/esm/indicators/volume-by-price.src.js +23 -10
- package/esm/indicators/vwap.js +2 -2
- package/esm/indicators/vwap.src.js +22 -8
- package/esm/indicators/williams-r.js +2 -2
- package/esm/indicators/williams-r.src.js +22 -8
- package/esm/indicators/wma.js +2 -2
- package/esm/indicators/wma.src.js +22 -8
- package/esm/indicators/zigzag.js +2 -2
- package/esm/indicators/zigzag.src.js +22 -8
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +498 -32
- package/esm/modules/annotations-advanced.js +11 -11
- package/esm/modules/annotations-advanced.src.js +201 -141
- package/esm/modules/annotations.js +11 -11
- package/esm/modules/annotations.src.js +165 -127
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +22 -8
- package/esm/modules/arrow-symbols.js +3 -3
- package/esm/modules/arrow-symbols.src.js +22 -8
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +32 -11
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +45 -11
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +22 -8
- package/esm/modules/bullet.js +2 -2
- package/esm/modules/bullet.src.js +23 -9
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +30 -11
- package/esm/modules/contour.js +3 -3
- package/esm/modules/contour.src.js +46 -13
- package/esm/modules/current-date-indicator.js +2 -2
- package/esm/modules/current-date-indicator.src.js +22 -8
- package/esm/modules/cylinder.js +2 -2
- package/esm/modules/cylinder.src.js +38 -19
- package/esm/modules/data-sorting.js +2 -2
- package/esm/modules/data-sorting.src.js +22 -8
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +25 -11
- package/esm/modules/data.js +4 -4
- package/esm/modules/data.src.js +23 -9
- package/esm/modules/datagrouping.js +2 -2
- package/esm/modules/datagrouping.src.js +23 -9
- package/esm/modules/debugger.js +2 -2
- package/esm/modules/debugger.src.js +22 -8
- package/esm/modules/dependency-wheel.js +2 -2
- package/esm/modules/dependency-wheel.src.js +428 -17
- package/esm/modules/dotplot.js +2 -2
- package/esm/modules/dotplot.src.js +25 -10
- package/esm/modules/drag-panes.js +2 -2
- package/esm/modules/drag-panes.src.js +22 -8
- package/esm/modules/draggable-points.js +2 -2
- package/esm/modules/draggable-points.src.js +23 -10
- package/esm/modules/drilldown.js +2 -2
- package/esm/modules/drilldown.src.js +34 -22
- package/esm/modules/dumbbell.js +2 -2
- package/esm/modules/dumbbell.src.js +36 -19
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +27 -9
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +77 -31
- package/esm/modules/flowmap.js +3 -2
- package/esm/modules/flowmap.src.js +23 -8
- package/esm/modules/full-screen.js +2 -2
- package/esm/modules/full-screen.src.js +22 -8
- package/esm/modules/funnel.js +2 -2
- package/esm/modules/funnel.src.js +72 -41
- package/esm/modules/funnel3d.js +2 -2
- package/esm/modules/funnel3d.src.js +22 -8
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +450 -25
- package/esm/modules/geoheatmap.js +2 -2
- package/esm/modules/geoheatmap.src.js +28 -14
- package/esm/modules/grid-axis.js +2 -2
- package/esm/modules/grid-axis.src.js +30 -9
- package/esm/modules/heatmap.js +2 -2
- package/esm/modules/heatmap.src.js +29 -12
- package/esm/modules/heikinashi.js +2 -2
- package/esm/modules/heikinashi.src.js +22 -8
- package/esm/modules/histogram-bellcurve.js +2 -2
- package/esm/modules/histogram-bellcurve.src.js +42 -23
- package/esm/modules/hollowcandlestick.js +2 -2
- package/esm/modules/hollowcandlestick.src.js +31 -17
- package/esm/modules/item-series.js +2 -2
- package/esm/modules/item-series.src.js +55 -8
- package/esm/modules/lollipop.js +2 -2
- package/esm/modules/lollipop.src.js +22 -8
- package/esm/modules/map.js +2 -2
- package/esm/modules/map.src.js +84 -35
- package/esm/modules/marker-clusters.js +2 -2
- package/esm/modules/marker-clusters.src.js +25 -13
- package/esm/modules/mouse-wheel-zoom.js +2 -2
- package/esm/modules/mouse-wheel-zoom.src.js +52 -11
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +488 -30
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +57 -26
- package/esm/modules/no-data-to-display.js +2 -2
- package/esm/modules/no-data-to-display.src.js +22 -8
- package/esm/modules/non-cartesian-zoom.js +2 -2
- package/esm/modules/non-cartesian-zoom.src.js +22 -8
- package/esm/modules/offline-exporting.js +2 -2
- package/esm/modules/offline-exporting.src.js +53 -12
- package/esm/modules/organization.js +4 -2
- package/esm/modules/organization.src.js +61 -18
- package/esm/modules/parallel-coordinates.js +2 -2
- package/esm/modules/parallel-coordinates.src.js +25 -8
- package/esm/modules/pareto.js +2 -2
- package/esm/modules/pareto.src.js +31 -16
- package/esm/modules/pathfinder.js +2 -2
- package/esm/modules/pathfinder.src.js +22 -8
- package/esm/modules/pattern-fill.js +2 -2
- package/esm/modules/pattern-fill.src.js +22 -8
- package/esm/modules/pictorial.js +2 -2
- package/esm/modules/pictorial.src.js +27 -14
- package/esm/modules/pointandfigure.js +2 -2
- package/esm/modules/pointandfigure.src.js +26 -11
- package/esm/modules/price-indicator.js +2 -2
- package/esm/modules/price-indicator.src.js +22 -8
- package/esm/modules/pyramid3d.js +2 -2
- package/esm/modules/pyramid3d.src.js +22 -8
- package/esm/modules/renko.js +2 -2
- package/esm/modules/renko.src.js +22 -8
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +26 -12
- package/esm/modules/series-label.js +2 -2
- package/esm/modules/series-label.src.js +25 -12
- package/esm/modules/series-on-point.js +2 -2
- package/esm/modules/series-on-point.src.js +23 -9
- package/esm/modules/solid-gauge.js +2 -2
- package/esm/modules/solid-gauge.src.js +39 -19
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +27 -12
- package/esm/modules/static-scale.js +2 -2
- package/esm/modules/static-scale.src.js +22 -8
- package/esm/modules/stock-tools.js +3 -3
- package/esm/modules/stock-tools.src.js +59 -18
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +465 -47
- package/esm/modules/streamgraph.js +2 -2
- package/esm/modules/streamgraph.src.js +22 -8
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +70 -20
- package/esm/modules/textpath.js +2 -2
- package/esm/modules/textpath.src.js +22 -8
- package/esm/modules/tiledwebmap.js +3 -3
- package/esm/modules/tiledwebmap.src.js +37 -14
- package/esm/modules/tilemap.js +2 -2
- package/esm/modules/tilemap.src.js +25 -10
- package/esm/modules/timeline.js +2 -2
- package/esm/modules/timeline.src.js +31 -11
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +43 -20
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +31 -10
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +55 -15
- package/esm/modules/variable-pie.js +2 -2
- package/esm/modules/variable-pie.src.js +25 -10
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +22 -8
- package/esm/modules/vector.js +2 -2
- package/esm/modules/vector.src.js +28 -16
- package/esm/modules/venn.js +2 -2
- package/esm/modules/venn.src.js +28 -13
- package/esm/modules/windbarb.js +2 -2
- package/esm/modules/windbarb.src.js +28 -16
- package/esm/modules/wordcloud.js +2 -2
- package/esm/modules/wordcloud.src.js +25 -9
- package/esm/modules/xrange.js +2 -2
- package/esm/modules/xrange.src.js +29 -15
- package/esm/standalone-navigator.js +5 -5
- package/esm/standalone-navigator.src.js +461 -329
- package/esm/themes/adaptive.js +3 -3
- package/esm/themes/adaptive.src.js +22 -8
- package/esm/themes/avocado.js +2 -2
- package/esm/themes/avocado.src.js +22 -8
- package/esm/themes/dark-unica.js +2 -2
- package/esm/themes/dark-unica.src.js +22 -8
- package/esm/themes/grid-light.js +2 -2
- package/esm/themes/grid-light.src.js +22 -8
- package/esm/themes/high-contrast.js +2 -2
- package/esm/themes/high-contrast.src.js +22 -8
- package/esm/themes/sand-signika.js +2 -2
- package/esm/themes/sand-signika.src.js +22 -8
- package/esm/themes/sunset.js +2 -2
- package/esm/themes/sunset.src.js +22 -8
- package/highcharts-3d.js +2 -2
- package/highcharts-3d.src.js +78 -62
- package/highcharts-autoload.d.ts +7 -3
- package/highcharts-autoload.js +4 -4
- package/highcharts-autoload.src.d.ts +7 -3
- package/highcharts-autoload.src.js +418 -298
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +458 -318
- package/highcharts-more.d.ts +7 -3
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.d.ts +7 -3
- package/highcharts-more.src.js +1224 -1040
- package/highcharts.d.ts +34734 -25643
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +34734 -25643
- package/highcharts.src.js +417 -297
- package/highmaps.js +4 -4
- package/highmaps.src.js +482 -320
- package/highstock.js +4 -4
- package/highstock.src.js +497 -337
- package/i18n/fr-FR.js +2 -2
- package/i18n/fr-FR.src.js +32 -16
- package/i18n/nb-NO.js +2 -2
- package/i18n/nb-NO.src.js +32 -16
- package/i18n/zh-CN.js +2 -2
- package/i18n/zh-CN.src.js +32 -16
- package/indicators/acceleration-bands.js +2 -2
- package/indicators/acceleration-bands.src.js +31 -16
- package/indicators/accumulation-distribution.js +2 -2
- package/indicators/accumulation-distribution.src.js +31 -16
- package/indicators/ao.js +2 -2
- package/indicators/ao.src.js +31 -16
- package/indicators/apo.js +2 -2
- package/indicators/apo.src.js +31 -16
- package/indicators/aroon-oscillator.js +2 -2
- package/indicators/aroon-oscillator.src.js +31 -16
- package/indicators/aroon.js +2 -2
- package/indicators/aroon.src.js +31 -16
- package/indicators/atr.js +2 -2
- package/indicators/atr.src.js +31 -16
- package/indicators/bollinger-bands.js +2 -2
- package/indicators/bollinger-bands.src.js +31 -16
- package/indicators/cci.js +2 -2
- package/indicators/cci.src.js +31 -16
- package/indicators/chaikin.js +2 -2
- package/indicators/chaikin.src.js +31 -16
- package/indicators/cmf.js +2 -2
- package/indicators/cmf.src.js +31 -16
- package/indicators/cmo.js +2 -2
- package/indicators/cmo.src.js +31 -16
- package/indicators/dema.js +2 -2
- package/indicators/dema.src.js +31 -16
- package/indicators/disparity-index.js +2 -2
- package/indicators/disparity-index.src.js +31 -16
- package/indicators/dmi.js +2 -2
- package/indicators/dmi.src.js +31 -16
- package/indicators/dpo.js +2 -2
- package/indicators/dpo.src.js +31 -16
- package/indicators/ichimoku-kinko-hyo.js +2 -2
- package/indicators/ichimoku-kinko-hyo.src.js +41 -26
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +45 -31
- package/indicators/indicators.js +2 -2
- package/indicators/indicators.src.js +38 -23
- package/indicators/keltner-channels.js +2 -2
- package/indicators/keltner-channels.src.js +31 -16
- package/indicators/klinger.js +2 -2
- package/indicators/klinger.src.js +31 -16
- package/indicators/macd.js +2 -2
- package/indicators/macd.src.js +31 -16
- package/indicators/mfi.js +2 -2
- package/indicators/mfi.src.js +31 -16
- package/indicators/momentum.js +2 -2
- package/indicators/momentum.src.js +31 -16
- package/indicators/natr.js +2 -2
- package/indicators/natr.src.js +31 -16
- package/indicators/obv.js +2 -2
- package/indicators/obv.src.js +31 -16
- package/indicators/pivot-points.js +2 -2
- package/indicators/pivot-points.src.js +31 -16
- package/indicators/ppo.js +2 -2
- package/indicators/ppo.src.js +31 -16
- package/indicators/price-channel.js +2 -2
- package/indicators/price-channel.src.js +31 -16
- package/indicators/price-envelopes.js +2 -2
- package/indicators/price-envelopes.src.js +31 -16
- package/indicators/psar.js +2 -2
- package/indicators/psar.src.js +31 -16
- package/indicators/regressions.js +2 -2
- package/indicators/regressions.src.js +31 -16
- package/indicators/roc.js +2 -2
- package/indicators/roc.src.js +31 -16
- package/indicators/rsi.js +2 -2
- package/indicators/rsi.src.js +31 -16
- package/indicators/slow-stochastic.js +2 -2
- package/indicators/slow-stochastic.src.js +31 -16
- package/indicators/stochastic.js +2 -2
- package/indicators/stochastic.src.js +31 -16
- package/indicators/supertrend.js +2 -2
- package/indicators/supertrend.src.js +31 -16
- package/indicators/tema.js +2 -2
- package/indicators/tema.src.js +31 -16
- package/indicators/trendline.js +2 -2
- package/indicators/trendline.src.js +31 -16
- package/indicators/trix.js +2 -2
- package/indicators/trix.src.js +31 -16
- package/indicators/volume-by-price.js +2 -2
- package/indicators/volume-by-price.src.js +32 -18
- package/indicators/vwap.js +2 -2
- package/indicators/vwap.src.js +31 -16
- package/indicators/williams-r.js +2 -2
- package/indicators/williams-r.src.js +31 -16
- package/indicators/wma.js +2 -2
- package/indicators/wma.src.js +31 -16
- package/indicators/zigzag.js +2 -2
- package/indicators/zigzag.src.js +31 -16
- package/modules/accessibility.d.ts +47 -0
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +47 -0
- package/modules/accessibility.src.js +537 -70
- package/modules/annotations-advanced.js +11 -11
- package/modules/annotations-advanced.src.js +223 -162
- package/modules/annotations.js +11 -11
- package/modules/annotations.src.js +187 -148
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +43 -28
- package/modules/arrow-symbols.js +2 -2
- package/modules/arrow-symbols.src.js +28 -13
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +41 -19
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +54 -19
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +31 -16
- package/modules/bullet.js +2 -2
- package/modules/bullet.src.js +35 -20
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +48 -28
- package/modules/contour.js +5 -5
- package/modules/contour.src.js +74 -34
- package/modules/current-date-indicator.js +2 -2
- package/modules/current-date-indicator.src.js +28 -13
- package/modules/cylinder.js +2 -2
- package/modules/cylinder.src.js +59 -39
- package/modules/data-sorting.js +2 -2
- package/modules/data-sorting.src.js +28 -13
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +31 -16
- package/modules/data.js +2 -2
- package/modules/data.src.js +50 -35
- package/modules/datagrouping.js +2 -2
- package/modules/datagrouping.src.js +37 -22
- package/modules/debugger.js +2 -2
- package/modules/debugger.src.js +28 -13
- package/modules/dependency-wheel.d.ts +7 -1
- package/modules/dependency-wheel.js +2 -2
- package/modules/dependency-wheel.src.d.ts +7 -1
- package/modules/dependency-wheel.src.js +440 -28
- package/modules/dotplot.js +2 -2
- package/modules/dotplot.src.js +34 -18
- package/modules/drag-panes.js +2 -2
- package/modules/drag-panes.src.js +28 -13
- package/modules/draggable-points.js +2 -2
- package/modules/draggable-points.src.js +29 -15
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +45 -32
- package/modules/dumbbell.js +2 -2
- package/modules/dumbbell.src.js +50 -32
- package/modules/export-data.d.ts +66 -1
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.d.ts +66 -1
- package/modules/export-data.src.js +41 -22
- package/modules/exporting.d.ts +0 -103
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.d.ts +0 -103
- package/modules/exporting.src.js +91 -44
- package/modules/flowmap.js +3 -2
- package/modules/flowmap.src.js +32 -16
- package/modules/full-screen.js +2 -2
- package/modules/full-screen.src.js +31 -16
- package/modules/funnel.d.ts +3 -3
- package/modules/funnel.js +2 -2
- package/modules/funnel.src.d.ts +3 -3
- package/modules/funnel.src.js +81 -49
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.src.js +43 -28
- package/modules/gantt.d.ts +47 -0
- package/modules/gantt.js +8 -8
- package/modules/gantt.src.d.ts +47 -0
- package/modules/gantt.src.js +510 -81
- package/modules/geoheatmap.d.ts +13 -0
- package/modules/geoheatmap.js +2 -2
- package/modules/geoheatmap.src.d.ts +13 -0
- package/modules/geoheatmap.src.js +37 -22
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +39 -17
- package/modules/heatmap.js +4 -4
- package/modules/heatmap.src.js +64 -40
- package/modules/heikinashi.js +2 -2
- package/modules/heikinashi.src.js +31 -16
- package/modules/histogram-bellcurve.js +2 -2
- package/modules/histogram-bellcurve.src.js +56 -36
- package/modules/hollowcandlestick.js +2 -2
- package/modules/hollowcandlestick.src.js +45 -30
- package/modules/item-series.js +2 -2
- package/modules/item-series.src.js +64 -16
- package/modules/lollipop.js +2 -2
- package/modules/lollipop.src.js +36 -21
- package/modules/map.d.ts +0 -8
- package/modules/map.js +4 -4
- package/modules/map.src.d.ts +0 -8
- package/modules/map.src.js +131 -74
- package/modules/marker-clusters.js +2 -2
- package/modules/marker-clusters.src.js +31 -18
- package/modules/mouse-wheel-zoom.js +2 -2
- package/modules/mouse-wheel-zoom.src.js +58 -16
- package/modules/navigator.d.ts +47 -0
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.d.ts +47 -0
- package/modules/navigator.src.js +510 -51
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +69 -37
- package/modules/no-data-to-display.js +2 -2
- package/modules/no-data-to-display.src.js +31 -16
- package/modules/non-cartesian-zoom.js +2 -2
- package/modules/non-cartesian-zoom.src.js +28 -13
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +67 -25
- package/modules/organization.js +4 -2
- package/modules/organization.src.js +73 -29
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.src.js +36 -18
- package/modules/pareto.js +2 -2
- package/modules/pareto.src.js +45 -29
- package/modules/pathfinder.js +2 -2
- package/modules/pathfinder.src.js +31 -16
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.src.js +28 -13
- package/modules/pictorial.js +2 -2
- package/modules/pictorial.src.js +53 -38
- package/modules/pointandfigure.js +2 -2
- package/modules/pointandfigure.src.js +35 -19
- package/modules/price-indicator.js +2 -2
- package/modules/price-indicator.src.js +28 -13
- package/modules/pyramid3d.js +2 -2
- package/modules/pyramid3d.src.js +31 -16
- package/modules/renko.js +2 -2
- package/modules/renko.src.js +34 -19
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +47 -32
- package/modules/series-label.js +2 -2
- package/modules/series-label.src.js +36 -22
- package/modules/series-on-point.js +2 -2
- package/modules/series-on-point.src.js +40 -25
- package/modules/solid-gauge.d.ts +3 -3
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.src.d.ts +3 -3
- package/modules/solid-gauge.src.js +53 -32
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +38 -22
- package/modules/static-scale.js +2 -2
- package/modules/static-scale.src.js +28 -13
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +76 -34
- package/modules/stock.d.ts +47 -0
- package/modules/stock.js +6 -6
- package/modules/stock.src.d.ts +47 -0
- package/modules/stock.src.js +549 -100
- package/modules/streamgraph.js +2 -2
- package/modules/streamgraph.src.js +31 -16
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +97 -46
- package/modules/textpath.js +2 -2
- package/modules/textpath.src.js +28 -13
- package/modules/tiledwebmap.js +3 -3
- package/modules/tiledwebmap.src.js +58 -27
- package/modules/tilemap.js +2 -2
- package/modules/tilemap.src.js +39 -23
- package/modules/timeline.js +2 -2
- package/modules/timeline.src.js +43 -22
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +67 -43
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +49 -27
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +82 -41
- package/modules/variable-pie.js +2 -2
- package/modules/variable-pie.src.js +34 -18
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +31 -16
- package/modules/vector.js +2 -2
- package/modules/vector.src.js +37 -24
- package/modules/venn.js +2 -2
- package/modules/venn.src.js +42 -26
- package/modules/windbarb.js +2 -2
- package/modules/windbarb.src.js +50 -37
- package/modules/wordcloud.js +2 -2
- package/modules/wordcloud.src.js +34 -17
- package/modules/xrange.js +2 -2
- package/modules/xrange.src.js +43 -28
- package/options/abands.d.ts +722 -83
- package/options/abands.src.d.ts +722 -83
- package/options/ad.d.ts +381 -26
- package/options/ad.src.d.ts +381 -26
- package/options/ao.d.ts +744 -70
- package/options/ao.src.d.ts +744 -70
- package/options/apo.d.ts +381 -26
- package/options/apo.src.d.ts +381 -26
- package/options/arcdiagram.d.ts +80 -534
- package/options/arcdiagram.src.d.ts +80 -534
- package/options/area.d.ts +432 -129
- package/options/area.src.d.ts +432 -129
- package/options/arearange.d.ts +46 -4
- package/options/arearange.src.d.ts +46 -4
- package/options/areaspline.d.ts +141 -866
- package/options/areaspline.src.d.ts +141 -866
- package/options/areasplinerange.d.ts +221 -871
- package/options/areasplinerange.src.d.ts +221 -871
- package/options/aroon.d.ts +432 -124
- package/options/aroon.src.d.ts +432 -124
- package/options/aroonoscillator.d.ts +127 -689
- package/options/aroonoscillator.src.d.ts +127 -689
- package/options/atr.d.ts +381 -71
- package/options/atr.src.d.ts +381 -71
- package/options/bar.d.ts +103 -12
- package/options/bar.src.d.ts +103 -12
- package/options/bb.d.ts +87 -762
- package/options/bb.src.d.ts +87 -762
- package/options/bellcurve.d.ts +87 -364
- package/options/bellcurve.src.d.ts +87 -364
- package/options/boxplot.d.ts +82 -13
- package/options/boxplot.src.d.ts +82 -13
- package/options/bubble.d.ts +83 -874
- package/options/bubble.src.d.ts +83 -874
- package/options/bullet.d.ts +354 -717
- package/options/bullet.src.d.ts +354 -717
- package/options/candlestick.d.ts +99 -1214
- package/options/candlestick.src.d.ts +99 -1214
- package/options/cci.d.ts +381 -26
- package/options/cci.src.d.ts +381 -26
- package/options/chaikin.d.ts +728 -83
- package/options/chaikin.src.d.ts +728 -83
- package/options/cmf.d.ts +381 -26
- package/options/cmf.src.d.ts +381 -26
- package/options/cmo.d.ts +730 -79
- package/options/cmo.src.d.ts +730 -79
- package/options/column.d.ts +1265 -99
- package/options/column.src.d.ts +1265 -99
- package/options/columnpyramid.d.ts +102 -1158
- package/options/columnpyramid.src.d.ts +102 -1158
- package/options/columnrange.d.ts +952 -95
- package/options/columnrange.src.d.ts +952 -95
- package/options/contour.d.ts +31 -443
- package/options/contour.src.d.ts +31 -443
- package/options/cylinder.d.ts +100 -12
- package/options/cylinder.src.d.ts +100 -12
- package/options/dema.d.ts +80 -736
- package/options/dema.src.d.ts +80 -736
- package/options/dependencywheel.d.ts +599 -218
- package/options/dependencywheel.src.d.ts +599 -218
- package/options/disparityindex.d.ts +84 -365
- package/options/disparityindex.src.d.ts +84 -365
- package/options/dmi.d.ts +86 -775
- package/options/dmi.src.d.ts +86 -775
- package/options/dpo.d.ts +83 -365
- package/options/dpo.src.d.ts +83 -365
- package/options/dumbbell.d.ts +27 -4
- package/options/dumbbell.src.d.ts +27 -4
- package/options/ema.d.ts +81 -703
- package/options/ema.src.d.ts +81 -703
- package/options/errorbar.d.ts +91 -1161
- package/options/errorbar.src.d.ts +91 -1161
- package/options/flags.d.ts +98 -1192
- package/options/flags.src.d.ts +98 -1192
- package/options/flowmap.d.ts +48 -373
- package/options/flowmap.src.d.ts +48 -373
- package/options/funnel.d.ts +40 -3
- package/options/funnel.src.d.ts +40 -3
- package/options/gantt.d.ts +37 -40
- package/options/gantt.src.d.ts +37 -40
- package/options/gauge.d.ts +398 -472
- package/options/gauge.src.d.ts +398 -472
- package/options/geoheatmap.d.ts +462 -63
- package/options/geoheatmap.src.d.ts +462 -63
- package/options/heatmap.d.ts +31 -380
- package/options/heatmap.src.d.ts +31 -380
- package/options/heikinashi.d.ts +20 -2
- package/options/heikinashi.src.d.ts +20 -2
- package/options/hlc.d.ts +20 -2
- package/options/hlc.src.d.ts +20 -2
- package/options/ikh.d.ts +750 -103
- package/options/ikh.src.d.ts +750 -103
- package/options/item.d.ts +34 -74
- package/options/item.src.d.ts +34 -74
- package/options/keltnerchannels.d.ts +87 -708
- package/options/keltnerchannels.src.d.ts +87 -708
- package/options/klinger.d.ts +34 -365
- package/options/klinger.src.d.ts +34 -365
- package/options/line.d.ts +151 -851
- package/options/line.src.d.ts +151 -851
- package/options/linearregression.d.ts +960 -85
- package/options/linearregression.src.d.ts +960 -85
- package/options/linearregressionangle.d.ts +96 -699
- package/options/linearregressionangle.src.d.ts +96 -699
- package/options/linearregressionintercept.d.ts +381 -26
- package/options/linearregressionintercept.src.d.ts +381 -26
- package/options/linearregressionslope.d.ts +381 -26
- package/options/linearregressionslope.src.d.ts +381 -26
- package/options/lollipop.d.ts +214 -851
- package/options/lollipop.src.d.ts +214 -851
- package/options/macd.d.ts +386 -83
- package/options/macd.src.d.ts +386 -83
- package/options/map.d.ts +470 -36
- package/options/map.src.d.ts +470 -36
- package/options/mapbubble.d.ts +43 -532
- package/options/mapbubble.src.d.ts +43 -532
- package/options/mapline.d.ts +135 -58
- package/options/mapline.src.d.ts +135 -58
- package/options/mappoint.d.ts +205 -283
- package/options/mappoint.src.d.ts +205 -283
- package/options/mfi.d.ts +772 -82
- package/options/mfi.src.d.ts +772 -82
- package/options/momentum.d.ts +381 -71
- package/options/momentum.src.d.ts +381 -71
- package/options/natr.d.ts +776 -75
- package/options/natr.src.d.ts +776 -75
- package/options/networkgraph.d.ts +184 -207
- package/options/networkgraph.src.d.ts +184 -207
- package/options/obv.d.ts +426 -26
- package/options/obv.src.d.ts +426 -26
- package/options/ohlc.d.ts +77 -14
- package/options/ohlc.src.d.ts +77 -14
- package/options/packedbubble.d.ts +76 -696
- package/options/packedbubble.src.d.ts +76 -696
- package/options/pareto.d.ts +28 -364
- package/options/pareto.src.d.ts +28 -364
- package/options/pc.d.ts +724 -85
- package/options/pc.src.d.ts +724 -85
- package/options/pictorial.d.ts +1093 -58
- package/options/pictorial.src.d.ts +1093 -58
- package/options/pie.d.ts +595 -129
- package/options/pie.src.d.ts +595 -129
- package/options/pivotpoints.d.ts +34 -365
- package/options/pivotpoints.src.d.ts +34 -365
- package/options/pointandfigure.d.ts +10 -50
- package/options/pointandfigure.src.d.ts +10 -50
- package/options/polygon.d.ts +803 -74
- package/options/polygon.src.d.ts +803 -74
- package/options/ppo.d.ts +34 -365
- package/options/ppo.src.d.ts +34 -365
- package/options/priceenvelopes.d.ts +93 -719
- package/options/priceenvelopes.src.d.ts +93 -719
- package/options/psar.d.ts +34 -365
- package/options/psar.src.d.ts +34 -365
- package/options/pyramid.d.ts +35 -3
- package/options/pyramid.src.d.ts +35 -3
- package/options/renko.d.ts +25 -2
- package/options/renko.src.d.ts +25 -2
- package/options/roc.d.ts +78 -712
- package/options/roc.src.d.ts +78 -712
- package/options/rsi.d.ts +34 -365
- package/options/rsi.src.d.ts +34 -365
- package/options/sankey.d.ts +27 -5
- package/options/sankey.src.d.ts +27 -5
- package/options/scatter.d.ts +896 -290
- package/options/scatter.src.d.ts +896 -290
- package/options/series.d.ts +938 -83
- package/options/series.src.d.ts +938 -83
- package/options/slowstochastic.d.ts +381 -26
- package/options/slowstochastic.src.d.ts +381 -26
- package/options/sma.d.ts +729 -79
- package/options/sma.src.d.ts +729 -79
- package/options/solidgauge.d.ts +882 -105
- package/options/solidgauge.src.d.ts +882 -105
- package/options/spline.d.ts +389 -90
- package/options/spline.src.d.ts +389 -90
- package/options/stochastic.d.ts +83 -716
- package/options/stochastic.src.d.ts +83 -716
- package/options/streamgraph.d.ts +97 -364
- package/options/streamgraph.src.d.ts +97 -364
- package/options/sunburst.d.ts +87 -19
- package/options/sunburst.src.d.ts +87 -19
- package/options/supertrend.d.ts +77 -749
- package/options/supertrend.src.d.ts +77 -749
- package/options/tema.d.ts +83 -365
- package/options/tema.src.d.ts +83 -365
- package/options/tiledwebmap.d.ts +13 -72
- package/options/tiledwebmap.src.d.ts +13 -72
- package/options/tilemap.d.ts +372 -533
- package/options/tilemap.src.d.ts +372 -533
- package/options/timeline.d.ts +49 -154
- package/options/timeline.src.d.ts +49 -154
- package/options/treegraph.d.ts +174 -696
- package/options/treegraph.src.d.ts +174 -696
- package/options/treemap.d.ts +468 -1079
- package/options/treemap.src.d.ts +468 -1079
- package/options/trendline.d.ts +381 -26
- package/options/trendline.src.d.ts +381 -26
- package/options/trix.d.ts +712 -82
- package/options/trix.src.d.ts +712 -82
- package/options/variablepie.d.ts +130 -587
- package/options/variablepie.src.d.ts +130 -587
- package/options/variwide.d.ts +1123 -94
- package/options/variwide.src.d.ts +1123 -94
- package/options/vbp.d.ts +57 -383
- package/options/vbp.src.d.ts +57 -383
- package/options/vector.d.ts +22 -58
- package/options/vector.src.d.ts +22 -58
- package/options/venn.d.ts +32 -78
- package/options/venn.src.d.ts +32 -78
- package/options/vwap.d.ts +122 -703
- package/options/vwap.src.d.ts +122 -703
- package/options/waterfall.d.ts +139 -1150
- package/options/waterfall.src.d.ts +139 -1150
- package/options/williamsr.d.ts +381 -76
- package/options/williamsr.src.d.ts +381 -76
- package/options/windbarb.d.ts +39 -2
- package/options/windbarb.src.d.ts +39 -2
- package/options/wma.d.ts +78 -704
- package/options/wma.src.d.ts +78 -704
- package/options/wordcloud.d.ts +98 -595
- package/options/wordcloud.src.d.ts +98 -595
- package/options/xrange.d.ts +166 -1056
- package/options/xrange.src.d.ts +166 -1056
- package/options/zigzag.d.ts +34 -410
- package/options/zigzag.src.d.ts +34 -410
- package/package.json +3 -2
- package/standalone-navigator.js +4 -4
- package/standalone-navigator.src.js +482 -312
- package/themes/adaptive.js +2 -2
- package/themes/adaptive.src.js +33 -18
- package/themes/avocado.js +2 -2
- package/themes/avocado.src.js +28 -13
- package/themes/dark-unica.js +2 -2
- package/themes/dark-unica.src.js +28 -13
- package/themes/grid-light.js +2 -2
- package/themes/grid-light.src.js +28 -13
- package/themes/high-contrast.js +2 -2
- package/themes/high-contrast.src.js +28 -13
- package/themes/sand-signika.js +2 -2
- package/themes/sand-signika.src.js +28 -13
- package/themes/sunset.js +2 -2
- package/themes/sunset.src.js +28 -13
- package/css/.stylelintrc.json +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.1 (2026-08-17)
|
|
4
4
|
* @module highcharts/standalone-navigator
|
|
5
5
|
*
|
|
6
6
|
* Standalone Navigator for Highcharts.
|
|
@@ -10,29 +10,6 @@
|
|
|
10
10
|
* A commercial license may be required depending on use,
|
|
11
11
|
* see www.highcharts.com/license
|
|
12
12
|
*/
|
|
13
|
-
/******/ // The require scope
|
|
14
|
-
/******/ var __webpack_require__ = {};
|
|
15
|
-
/******/
|
|
16
|
-
/************************************************************************/
|
|
17
|
-
/******/ /* webpack/runtime/define property getters */
|
|
18
|
-
/******/ (() => {
|
|
19
|
-
/******/ // define getter functions for harmony exports
|
|
20
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
21
|
-
/******/ for(var key in definition) {
|
|
22
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
23
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
24
|
-
/******/ }
|
|
25
|
-
/******/ }
|
|
26
|
-
/******/ };
|
|
27
|
-
/******/ })();
|
|
28
|
-
/******/
|
|
29
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
30
|
-
/******/ (() => {
|
|
31
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
32
|
-
/******/ })();
|
|
33
|
-
/******/
|
|
34
|
-
/************************************************************************/
|
|
35
|
-
var __webpack_exports__ = {};
|
|
36
13
|
|
|
37
14
|
;// ./code/es-modules/Core/Globals.js
|
|
38
15
|
/* *
|
|
@@ -63,7 +40,7 @@ var Globals;
|
|
|
63
40
|
* Constants
|
|
64
41
|
*
|
|
65
42
|
* */
|
|
66
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.
|
|
43
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.1', Globals.win = (typeof window !== 'undefined' ?
|
|
67
44
|
window :
|
|
68
45
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
69
46
|
Globals.doc = Globals.win.document, Globals.svg = !!Globals.doc?.createElementNS?.(Globals.SVG_NS, 'svg')?.createSVGRect, Globals.pageLang = Globals.doc?.documentElement?.closest('[lang]')?.lang, Globals.userAgent = Globals.win.navigator?.userAgent || '', Globals.isChrome = Globals.win.chrome, 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.marginNames = [
|
|
@@ -978,7 +955,7 @@ const ChartDefaults = {
|
|
|
978
955
|
* @type {Highcharts.ColorType}
|
|
979
956
|
* @since 2.1.7
|
|
980
957
|
*/
|
|
981
|
-
selectionMarkerFill: 'color-mix(var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
|
|
958
|
+
selectionMarkerFill: 'color-mix(in srgb, var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
|
|
982
959
|
/**
|
|
983
960
|
* Whether to apply a drop shadow to the global series group. This causes
|
|
984
961
|
* all the series to have the same shadow. Contrary to the `series.shadow`
|
|
@@ -3941,17 +3918,16 @@ class TimeBase {
|
|
|
3941
3918
|
// eslint-disable-next-line new-cap
|
|
3942
3919
|
let d = this.Date.UTC(year, month, date, hours, minutes || 0, seconds || 0, milliseconds || 0);
|
|
3943
3920
|
if (this.timezone !== 'UTC') {
|
|
3944
|
-
const offset = this.getTimezoneOffset(d);
|
|
3921
|
+
const offset = this.getTimezoneOffset(d), localHours = (hours - offset / timeUnits.hour + 24) % 24;
|
|
3945
3922
|
d += offset;
|
|
3946
|
-
// Adjustments close to DST transitions
|
|
3947
3923
|
if (
|
|
3948
|
-
//
|
|
3949
|
-
//
|
|
3924
|
+
// Limit the number of calls to `getTimezoneOffset` to months
|
|
3925
|
+
// where DST changes may occur. According to
|
|
3950
3926
|
// https://en.wikipedia.org/wiki/Daylight_saving_time_by_country,
|
|
3951
3927
|
// DST change may only occur in these months.
|
|
3952
3928
|
[2, 3, 8, 9, 10, 11].indexOf(month) !== -1 &&
|
|
3953
|
-
// DST
|
|
3954
|
-
(
|
|
3929
|
+
// DST changes only occur at night (#24420)
|
|
3930
|
+
(localHours < 5 || localHours > 20)) {
|
|
3955
3931
|
const newOffset = this.getTimezoneOffset(d);
|
|
3956
3932
|
if (offset !== newOffset) {
|
|
3957
3933
|
d += newOffset - offset;
|
|
@@ -6688,6 +6664,9 @@ const defaultOptions = {
|
|
|
6688
6664
|
* below the column, but as `followTouchMove` is true, the tooltip will
|
|
6689
6665
|
* jump from column to column as the user swipes across the plot area.
|
|
6690
6666
|
*
|
|
6667
|
+
* @sample {highcharts} highcharts/tooltip/followtouchmove/
|
|
6668
|
+
* Tooltip follows touch move
|
|
6669
|
+
*
|
|
6691
6670
|
* @type {boolean}
|
|
6692
6671
|
* @default {highcharts} true
|
|
6693
6672
|
* @default {highstock} true
|
|
@@ -7470,10 +7449,14 @@ const defaultOptions = {
|
|
|
7470
7449
|
* @type {Highcharts.CSSObject}
|
|
7471
7450
|
*/
|
|
7472
7451
|
style: {
|
|
7473
|
-
/**
|
|
7452
|
+
/**
|
|
7453
|
+
* @type {Highcharts.ColorType}
|
|
7454
|
+
*/
|
|
7474
7455
|
color: 'var(--highcharts-neutral-color-80)',
|
|
7475
7456
|
cursor: 'default',
|
|
7476
|
-
/**
|
|
7457
|
+
/**
|
|
7458
|
+
* @type {number|string}
|
|
7459
|
+
*/
|
|
7477
7460
|
fontSize: '0.8em'
|
|
7478
7461
|
},
|
|
7479
7462
|
/**
|
|
@@ -8396,24 +8379,22 @@ class Fx {
|
|
|
8396
8379
|
*/
|
|
8397
8380
|
update() {
|
|
8398
8381
|
const elem = this.elem, prop = this.prop, // If destroyed, it is null
|
|
8399
|
-
now = this.now, step = this.options.step;
|
|
8382
|
+
now = this.now ?? 1, step = this.options.step;
|
|
8400
8383
|
// Animation setter defined from outside
|
|
8401
8384
|
if (this[prop + 'Setter']) {
|
|
8402
8385
|
this[prop + 'Setter']();
|
|
8403
8386
|
// Other animations on SVGElement
|
|
8404
8387
|
}
|
|
8405
|
-
else if (elem.attr) {
|
|
8388
|
+
else if (elem && elem.attr) {
|
|
8406
8389
|
if (elem.element) {
|
|
8407
|
-
elem.attr(prop, now,
|
|
8390
|
+
elem.attr(prop, now, void 0, true);
|
|
8408
8391
|
}
|
|
8409
8392
|
// HTML styles, raw HTML content like container size
|
|
8410
8393
|
}
|
|
8411
|
-
else {
|
|
8412
|
-
elem.style[prop] = now + this.unit;
|
|
8413
|
-
}
|
|
8414
|
-
if (step) {
|
|
8415
|
-
step.call(elem, now, this);
|
|
8394
|
+
else if (elem) {
|
|
8395
|
+
elem.style[prop] = now + (this.unit || '');
|
|
8416
8396
|
}
|
|
8397
|
+
step?.call(elem, now, this);
|
|
8417
8398
|
}
|
|
8418
8399
|
/**
|
|
8419
8400
|
* Run an animation.
|
|
@@ -8431,12 +8412,10 @@ class Fx {
|
|
|
8431
8412
|
*
|
|
8432
8413
|
*/
|
|
8433
8414
|
run(from, to, unit) {
|
|
8434
|
-
const
|
|
8435
|
-
return timer.stopped ? false : self.step(gotoEnd);
|
|
8436
|
-
}, requestAnimationFrame = Fx_win.requestAnimationFrame ||
|
|
8415
|
+
const { elem, options } = this, { complete, curAnim = {} } = options, timer = (gotoEnd) => (timer.stopped ? false : this.step(gotoEnd)), requestAnimationFrame = Fx_win.requestAnimationFrame ||
|
|
8437
8416
|
function (step) {
|
|
8438
8417
|
setTimeout(step, 13);
|
|
8439
|
-
}, step =
|
|
8418
|
+
}, step = () => {
|
|
8440
8419
|
for (let i = 0; i < Fx.timers.length; i++) {
|
|
8441
8420
|
if (!Fx.timers[i]()) {
|
|
8442
8421
|
Fx.timers.splice(i--, 1);
|
|
@@ -8446,11 +8425,11 @@ class Fx {
|
|
|
8446
8425
|
requestAnimationFrame(step);
|
|
8447
8426
|
}
|
|
8448
8427
|
};
|
|
8449
|
-
if (from === to && !
|
|
8450
|
-
delete
|
|
8451
|
-
if (
|
|
8452
|
-
Object.keys(
|
|
8453
|
-
|
|
8428
|
+
if (from === to && !elem['forceAnimate:' + this.prop]) {
|
|
8429
|
+
delete curAnim[this.prop];
|
|
8430
|
+
if (complete &&
|
|
8431
|
+
Object.keys(curAnim).length === 0) {
|
|
8432
|
+
complete.call(elem);
|
|
8454
8433
|
}
|
|
8455
8434
|
}
|
|
8456
8435
|
else { // #7166
|
|
@@ -8460,7 +8439,7 @@ class Fx {
|
|
|
8460
8439
|
this.unit = unit;
|
|
8461
8440
|
this.now = this.start;
|
|
8462
8441
|
this.pos = 0;
|
|
8463
|
-
timer.elem =
|
|
8442
|
+
timer.elem = elem;
|
|
8464
8443
|
timer.prop = this.prop;
|
|
8465
8444
|
if (timer() && Fx.timers.push(timer) === 1) {
|
|
8466
8445
|
requestAnimationFrame(step);
|
|
@@ -8481,7 +8460,8 @@ class Fx {
|
|
|
8481
8460
|
step(gotoEnd) {
|
|
8482
8461
|
const t = +new Date(), options = this.options, elem = this.elem, complete = options.complete, duration = options.duration, curAnim = options.curAnim;
|
|
8483
8462
|
let ret, done;
|
|
8484
|
-
|
|
8463
|
+
// #2616, element is destroyed
|
|
8464
|
+
if (elem?.attr && !elem.element) {
|
|
8485
8465
|
ret = false;
|
|
8486
8466
|
}
|
|
8487
8467
|
else if (gotoEnd || t >= duration + this.startTime) {
|
|
@@ -8771,6 +8751,11 @@ function getDeferredAnimation(chart, animation, series) {
|
|
|
8771
8751
|
/**
|
|
8772
8752
|
* The global animate method, which uses Fx to create individual animators.
|
|
8773
8753
|
*
|
|
8754
|
+
* @sample highcharts/members/renderer-basic
|
|
8755
|
+
* SVG elements with animation
|
|
8756
|
+
* @sample highcharts/members/animate
|
|
8757
|
+
* Animation without an owner element
|
|
8758
|
+
*
|
|
8774
8759
|
* @function Highcharts.animate
|
|
8775
8760
|
*
|
|
8776
8761
|
* @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
|
|
@@ -8786,14 +8771,12 @@ function getDeferredAnimation(chart, animation, series) {
|
|
|
8786
8771
|
*
|
|
8787
8772
|
* @return {void}
|
|
8788
8773
|
*/
|
|
8789
|
-
function animate(el, params, opt) {
|
|
8790
|
-
let start, unit = '', end, fx, args;
|
|
8774
|
+
function animate(el, params = { pos: 1 }, opt) {
|
|
8791
8775
|
if (!isObject(opt)) { // Number or undefined/null
|
|
8792
|
-
args = arguments;
|
|
8793
8776
|
opt = {
|
|
8794
|
-
duration:
|
|
8795
|
-
easing:
|
|
8796
|
-
complete:
|
|
8777
|
+
duration: arguments[2],
|
|
8778
|
+
easing: arguments[3],
|
|
8779
|
+
complete: arguments[4]
|
|
8797
8780
|
};
|
|
8798
8781
|
}
|
|
8799
8782
|
if (!isNumber(opt.duration)) {
|
|
@@ -8803,22 +8786,23 @@ function animate(el, params, opt) {
|
|
|
8803
8786
|
opt.easing :
|
|
8804
8787
|
(Math[opt.easing] || Math.easeInOutSine);
|
|
8805
8788
|
opt.curAnim = merge(params);
|
|
8806
|
-
objectEach(params,
|
|
8789
|
+
objectEach(params, (val, prop) => {
|
|
8807
8790
|
// Stop current running animation of this property
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8791
|
+
if (el) {
|
|
8792
|
+
stop(el, prop);
|
|
8793
|
+
}
|
|
8794
|
+
const fx = new Animation_Fx(el, opt, prop), d = params.d;
|
|
8795
|
+
let start = 0, end = void 0, unit = '';
|
|
8796
|
+
if (prop === 'd' && isArray(d)) {
|
|
8797
|
+
fx.paths = fx.initPath(el, el.pathArray, d);
|
|
8798
|
+
fx.toD = d;
|
|
8815
8799
|
end = 1;
|
|
8816
8800
|
}
|
|
8817
|
-
else if (el
|
|
8801
|
+
else if (el?.attr) {
|
|
8818
8802
|
start = el.attr(prop);
|
|
8819
8803
|
}
|
|
8820
|
-
else {
|
|
8821
|
-
start =
|
|
8804
|
+
else if (el) {
|
|
8805
|
+
start = +(getStyle(el, prop) || 0);
|
|
8822
8806
|
if (prop !== 'opacity') {
|
|
8823
8807
|
unit = 'px';
|
|
8824
8808
|
}
|
|
@@ -8829,7 +8813,10 @@ function animate(el, params, opt) {
|
|
|
8829
8813
|
if (typeof end === 'string' && end.match('px')) {
|
|
8830
8814
|
end = end.replace(/px/g, ''); // #4351
|
|
8831
8815
|
}
|
|
8832
|
-
|
|
8816
|
+
// Empty dashstyle animation crashes treemap on hover
|
|
8817
|
+
if (defined(end)) {
|
|
8818
|
+
fx.run(start, end, unit);
|
|
8819
|
+
}
|
|
8833
8820
|
});
|
|
8834
8821
|
}
|
|
8835
8822
|
/**
|
|
@@ -8853,28 +8840,11 @@ function animate(el, params, opt) {
|
|
|
8853
8840
|
* improvement in all cases where we stop the animation from .attr. Instead of
|
|
8854
8841
|
* stopping everything, we can just stop the actual attributes we're setting.
|
|
8855
8842
|
*/
|
|
8856
|
-
|
|
8857
|
-
|
|
8858
|
-
|
|
8859
|
-
while (i--) {
|
|
8860
|
-
if (Animation_Fx.timers[i].elem === el && (!prop || prop === Animation_Fx.timers[i].prop)) {
|
|
8861
|
-
Animation_Fx.timers[i].stopped = true; // #4667
|
|
8862
|
-
}
|
|
8843
|
+
const stop = (el, prop) => Animation_Fx.timers.forEach((timer) => {
|
|
8844
|
+
if (timer.elem === el && (!prop || prop === timer.prop)) {
|
|
8845
|
+
timer.stopped = true; // #4667
|
|
8863
8846
|
}
|
|
8864
|
-
}
|
|
8865
|
-
const animationExports = {
|
|
8866
|
-
animate,
|
|
8867
|
-
animObject,
|
|
8868
|
-
getDeferredAnimation,
|
|
8869
|
-
setAnimation,
|
|
8870
|
-
stop
|
|
8871
|
-
};
|
|
8872
|
-
/* *
|
|
8873
|
-
*
|
|
8874
|
-
* Default Export
|
|
8875
|
-
*
|
|
8876
|
-
* */
|
|
8877
|
-
/* harmony default export */ const AnimationUtilities = (animationExports);
|
|
8847
|
+
});
|
|
8878
8848
|
/* *
|
|
8879
8849
|
*
|
|
8880
8850
|
* API Options
|
|
@@ -9179,7 +9149,9 @@ class AST {
|
|
|
9179
9149
|
doc = { body };
|
|
9180
9150
|
}
|
|
9181
9151
|
const appendChildNodes = (node, addTo) => {
|
|
9182
|
-
|
|
9152
|
+
// Preserve the camelCase of SVG tags via localName (#24702).
|
|
9153
|
+
const tagName = node.localName ||
|
|
9154
|
+
node.nodeName.toLowerCase();
|
|
9183
9155
|
// Add allowed tags
|
|
9184
9156
|
const astNode = {
|
|
9185
9157
|
tagName
|
|
@@ -9293,6 +9265,8 @@ AST.allowedAttributes = [
|
|
|
9293
9265
|
'src',
|
|
9294
9266
|
'startOffset',
|
|
9295
9267
|
'stdDeviation',
|
|
9268
|
+
'stop-color',
|
|
9269
|
+
'stop-opacity',
|
|
9296
9270
|
'stroke-linecap',
|
|
9297
9271
|
'stroke-width',
|
|
9298
9272
|
'stroke',
|
|
@@ -9896,9 +9870,7 @@ const Templating = {
|
|
|
9896
9870
|
* API Declarations
|
|
9897
9871
|
* */
|
|
9898
9872
|
/**
|
|
9899
|
-
*
|
|
9900
|
-
*
|
|
9901
|
-
* The Highcharts.Templating interface provides a structure for defining
|
|
9873
|
+
* The Highcharts.TemplatingObject interface provides a structure for defining
|
|
9902
9874
|
* helpers. Helpers can be used as conditional blocks or functions within
|
|
9903
9875
|
* expressions. Highcharts includes several built-in helpers and supports
|
|
9904
9876
|
* the addition of custom helpers.
|
|
@@ -9906,16 +9878,21 @@ const Templating = {
|
|
|
9906
9878
|
* @see [More information](
|
|
9907
9879
|
* https://www.highcharts.com/docs/chart-concepts/templating#helpers)
|
|
9908
9880
|
*
|
|
9909
|
-
* @
|
|
9910
|
-
|
|
9911
|
-
|
|
9912
|
-
|
|
9913
|
-
|
|
9914
|
-
|
|
9915
|
-
|
|
9916
|
-
|
|
9917
|
-
|
|
9918
|
-
|
|
9881
|
+
* @interface Highcharts.TemplatingObject
|
|
9882
|
+
*/ /**
|
|
9883
|
+
* @example
|
|
9884
|
+
* // Define a custom helper to return the absolute value of a number
|
|
9885
|
+
* Highcharts.Templating.helpers.abs = value => Math.abs(value);
|
|
9886
|
+
*
|
|
9887
|
+
* // Usage in a format string
|
|
9888
|
+
* format: 'Absolute value: {abs point.y}'
|
|
9889
|
+
*
|
|
9890
|
+
* @name Highcharts.TemplatingObject#helpers
|
|
9891
|
+
* @type {Record<string, Function>}
|
|
9892
|
+
*/ /**
|
|
9893
|
+
* @name Highcharts.Templating
|
|
9894
|
+
* @type {Highcharts.TemplatingObject}
|
|
9895
|
+
*/
|
|
9919
9896
|
(''); // Keeps doclets above in file
|
|
9920
9897
|
|
|
9921
9898
|
;// ./code/es-modules/Core/Renderer/RendererUtilities.js
|
|
@@ -10124,7 +10101,6 @@ var RendererUtilities;
|
|
|
10124
10101
|
* */
|
|
10125
10102
|
|
|
10126
10103
|
|
|
10127
|
-
const { animate: SVGElement_animate, animObject: SVGElement_animObject, stop: SVGElement_stop } = AnimationUtilities;
|
|
10128
10104
|
|
|
10129
10105
|
|
|
10130
10106
|
const { deg2rad, doc: SVGElement_doc, svg, SVG_NS: SVGElement_SVG_NS, win: SVGElement_win, isFirefox } = Core_Globals;
|
|
@@ -10408,7 +10384,7 @@ class SVGElement {
|
|
|
10408
10384
|
* Returns the SVGElement for chaining.
|
|
10409
10385
|
*/
|
|
10410
10386
|
animate(params, options, complete) {
|
|
10411
|
-
const animOptions =
|
|
10387
|
+
const animOptions = animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
|
|
10412
10388
|
// When the page is hidden save resources in the background by not
|
|
10413
10389
|
// running animation at all (#9749).
|
|
10414
10390
|
if (SVGElement_doc.hidden) {
|
|
@@ -10423,7 +10399,7 @@ class SVGElement {
|
|
|
10423
10399
|
// If defer option is defined delay the animation #12901
|
|
10424
10400
|
syncTimeout(() => {
|
|
10425
10401
|
if (this.element) {
|
|
10426
|
-
|
|
10402
|
+
animate(this, params, animOptions);
|
|
10427
10403
|
}
|
|
10428
10404
|
}, deferTime);
|
|
10429
10405
|
}
|
|
@@ -10597,7 +10573,7 @@ class SVGElement {
|
|
|
10597
10573
|
// Unless .attr is from the animator update, stop current
|
|
10598
10574
|
// running animation of this property
|
|
10599
10575
|
if (!continueAnimation) {
|
|
10600
|
-
|
|
10576
|
+
stop(this, key);
|
|
10601
10577
|
}
|
|
10602
10578
|
// Special handling of symbol attributes
|
|
10603
10579
|
if (this.symbolName &&
|
|
@@ -10917,7 +10893,7 @@ class SVGElement {
|
|
|
10917
10893
|
// Remove events
|
|
10918
10894
|
element.onclick = element.onmouseout = element.onmouseover =
|
|
10919
10895
|
element.onmousemove = element.point = null;
|
|
10920
|
-
|
|
10896
|
+
stop(wrapper); // Stop running animations
|
|
10921
10897
|
if (wrapper.clipPath && ownerSVGElement) {
|
|
10922
10898
|
const clipPath = wrapper.clipPath;
|
|
10923
10899
|
// Look for existing references to this clipPath and remove them
|
|
@@ -13829,7 +13805,7 @@ class SVGRenderer {
|
|
|
13829
13805
|
this.url = this.getReferenceURL();
|
|
13830
13806
|
// Add description
|
|
13831
13807
|
const desc = this.createElement('desc').add();
|
|
13832
|
-
desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.
|
|
13808
|
+
desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.1'));
|
|
13833
13809
|
this.defs = this.createElement('defs').add();
|
|
13834
13810
|
this.allowHTML = allowHTML;
|
|
13835
13811
|
this.forExport = forExport;
|
|
@@ -15620,7 +15596,11 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15620
15596
|
.attr({
|
|
15621
15597
|
text: str,
|
|
15622
15598
|
x: Math.round(x),
|
|
15623
|
-
y: Math.round(y)
|
|
15599
|
+
y: Math.round(y),
|
|
15600
|
+
// The namespace attribute is required for serialization
|
|
15601
|
+
// (export and side-by-side comparison), otherwise it
|
|
15602
|
+
// inherits the SVG namespace from foreignObject.
|
|
15603
|
+
xmlns: 'http://www.w3.org/1999/xhtml'
|
|
15624
15604
|
});
|
|
15625
15605
|
};
|
|
15626
15606
|
}
|
|
@@ -15800,8 +15780,10 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15800
15780
|
foreignObject.attr({
|
|
15801
15781
|
x: x + (this.xCorr || 0),
|
|
15802
15782
|
y: y + (this.yCorr || 0),
|
|
15803
|
-
// Add 4px to avoid ellipsis
|
|
15804
|
-
//
|
|
15783
|
+
// Add 4px to avoid ellipsis. In v13.0.0 we had a body inside
|
|
15784
|
+
// the foreignObject with a 3px right margin. This was later
|
|
15785
|
+
// removed, but we still need to add a few pixels to avoid
|
|
15786
|
+
// ellipsis.
|
|
15805
15787
|
width: element.offsetWidth + 4,
|
|
15806
15788
|
// Add 1px to account for subpixel bounding boxes
|
|
15807
15789
|
height: element.offsetHeight + 1,
|
|
@@ -15821,25 +15803,16 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15821
15803
|
this.cTT = currentTextTransform;
|
|
15822
15804
|
}
|
|
15823
15805
|
/**
|
|
15824
|
-
* Add the element to
|
|
15825
|
-
* will be created for each ancestor SVG `g` element.
|
|
15806
|
+
* Add the element to the foreign object
|
|
15826
15807
|
*
|
|
15827
15808
|
* @internal
|
|
15828
15809
|
*/
|
|
15829
15810
|
add(parentGroup) {
|
|
15830
|
-
const { foreignObject
|
|
15811
|
+
const { foreignObject } = this;
|
|
15831
15812
|
// Foreign object
|
|
15832
15813
|
foreignObject.add(parentGroup);
|
|
15833
|
-
|
|
15834
|
-
|
|
15835
|
-
renderer.createElement('body')
|
|
15836
|
-
.attr({ xmlns: 'http://www.w3.org/1999/xhtml' })
|
|
15837
|
-
.css({
|
|
15838
|
-
background: 'transparent',
|
|
15839
|
-
// 3px is to avoid clipping on the right
|
|
15840
|
-
margin: '0 3px 0 0'
|
|
15841
|
-
})
|
|
15842
|
-
.add(foreignObject));
|
|
15814
|
+
// Add this.element to the foreign objct
|
|
15815
|
+
super.add(foreignObject);
|
|
15843
15816
|
if (this.alignOnAdd) {
|
|
15844
15817
|
this.updateTransform();
|
|
15845
15818
|
}
|
|
@@ -15874,10 +15847,20 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15874
15847
|
this[key] = value;
|
|
15875
15848
|
this.doTransform = true;
|
|
15876
15849
|
}
|
|
15850
|
+
/**
|
|
15851
|
+
* Apply visibility/opacity to the foreignObject; the HTML element
|
|
15852
|
+
* ignores them.
|
|
15853
|
+
* @internal
|
|
15854
|
+
*/
|
|
15855
|
+
visibilitySetter(value, key) {
|
|
15856
|
+
this.foreignObject.attr({ [key]: value });
|
|
15857
|
+
this[key] = value;
|
|
15858
|
+
}
|
|
15877
15859
|
}
|
|
15878
15860
|
// Some shared setters
|
|
15879
15861
|
const proto = HTMLElement.prototype;
|
|
15880
15862
|
proto.ySetter = proto.xSetter;
|
|
15863
|
+
proto.opacitySetter = proto.visibilitySetter;
|
|
15881
15864
|
/* *
|
|
15882
15865
|
*
|
|
15883
15866
|
* Default Export
|
|
@@ -16418,6 +16401,7 @@ var AxisDefaults;
|
|
|
16418
16401
|
*/
|
|
16419
16402
|
dateTimeLabelFormats: {
|
|
16420
16403
|
/**
|
|
16404
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16421
16405
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16422
16406
|
*/
|
|
16423
16407
|
millisecond: {
|
|
@@ -16443,6 +16427,7 @@ var AxisDefaults;
|
|
|
16443
16427
|
range: false
|
|
16444
16428
|
},
|
|
16445
16429
|
/**
|
|
16430
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16446
16431
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16447
16432
|
*/
|
|
16448
16433
|
second: {
|
|
@@ -16468,6 +16453,7 @@ var AxisDefaults;
|
|
|
16468
16453
|
range: false
|
|
16469
16454
|
},
|
|
16470
16455
|
/**
|
|
16456
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16471
16457
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16472
16458
|
*/
|
|
16473
16459
|
minute: {
|
|
@@ -16493,6 +16479,7 @@ var AxisDefaults;
|
|
|
16493
16479
|
range: false
|
|
16494
16480
|
},
|
|
16495
16481
|
/**
|
|
16482
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16496
16483
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16497
16484
|
*/
|
|
16498
16485
|
hour: {
|
|
@@ -16525,6 +16512,7 @@ var AxisDefaults;
|
|
|
16525
16512
|
range: false
|
|
16526
16513
|
},
|
|
16527
16514
|
/**
|
|
16515
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16528
16516
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16529
16517
|
*/
|
|
16530
16518
|
day: {
|
|
@@ -16547,6 +16535,7 @@ var AxisDefaults;
|
|
|
16547
16535
|
boundary: '%[eb]'
|
|
16548
16536
|
},
|
|
16549
16537
|
/**
|
|
16538
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16550
16539
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16551
16540
|
*/
|
|
16552
16541
|
week: {
|
|
@@ -16562,6 +16551,7 @@ var AxisDefaults;
|
|
|
16562
16551
|
main: '%[eb]'
|
|
16563
16552
|
},
|
|
16564
16553
|
/**
|
|
16554
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16565
16555
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16566
16556
|
*/
|
|
16567
16557
|
month: {
|
|
@@ -16584,6 +16574,7 @@ var AxisDefaults;
|
|
|
16584
16574
|
boundary: void 0
|
|
16585
16575
|
},
|
|
16586
16576
|
/**
|
|
16577
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16587
16578
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16588
16579
|
*/
|
|
16589
16580
|
year: {
|
|
@@ -17399,7 +17390,7 @@ var AxisDefaults;
|
|
|
17399
17390
|
* @sample {highstock} stock/xaxis/offset/
|
|
17400
17391
|
* Y axis offset by 70 px
|
|
17401
17392
|
*
|
|
17402
|
-
* @type {number}
|
|
17393
|
+
* @type {number|string}
|
|
17403
17394
|
*/
|
|
17404
17395
|
offset: void 0,
|
|
17405
17396
|
/**
|
|
@@ -19049,7 +19040,9 @@ var AxisDefaults;
|
|
|
19049
19040
|
* @product highcharts
|
|
19050
19041
|
*/
|
|
19051
19042
|
style: {
|
|
19052
|
-
/**
|
|
19043
|
+
/**
|
|
19044
|
+
* @type {Highcharts.ColorType}
|
|
19045
|
+
*/
|
|
19053
19046
|
color: 'var(--highcharts-neutral-color-100)',
|
|
19054
19047
|
/**
|
|
19055
19048
|
* @type {number|string}
|
|
@@ -19832,7 +19825,6 @@ class Tick {
|
|
|
19832
19825
|
* */
|
|
19833
19826
|
|
|
19834
19827
|
|
|
19835
|
-
const { animObject: Axis_animObject } = AnimationUtilities;
|
|
19836
19828
|
|
|
19837
19829
|
const { xAxis, yAxis } = Axis_AxisDefaults;
|
|
19838
19830
|
|
|
@@ -22438,7 +22430,7 @@ class Axis {
|
|
|
22438
22430
|
* @emits Highcharts.Axis#event:afterRender
|
|
22439
22431
|
*/
|
|
22440
22432
|
render() {
|
|
22441
|
-
const axis = this, chart = axis.chart, log = axis.logarithmic, renderer = chart.renderer, options = axis.options, isLinked = axis.isLinked, tickPositions = axis.tickPositions, axisTitle = axis.axisTitle, ticks = axis.ticks, minorTicks = axis.minorTicks, alternateBands = axis.alternateBands, stackLabelOptions = options.stackLabels, alternateGridColor = options.alternateGridColor, crossing = options.crossing, tickmarkOffset = axis.tickmarkOffset, axisLine = axis.axisLine, showAxis = axis.showAxis, animation =
|
|
22433
|
+
const axis = this, chart = axis.chart, log = axis.logarithmic, renderer = chart.renderer, options = axis.options, isLinked = axis.isLinked, tickPositions = axis.tickPositions, axisTitle = axis.axisTitle, ticks = axis.ticks, minorTicks = axis.minorTicks, alternateBands = axis.alternateBands, stackLabelOptions = options.stackLabels, alternateGridColor = options.alternateGridColor, crossing = options.crossing, tickmarkOffset = axis.tickmarkOffset, axisLine = axis.axisLine, showAxis = axis.showAxis, animation = animObject(renderer.globalAnimation);
|
|
22442
22434
|
let from, to;
|
|
22443
22435
|
// Reset
|
|
22444
22436
|
axis.labelEdge.length = 0;
|
|
@@ -22789,7 +22781,7 @@ class Axis {
|
|
|
22789
22781
|
}
|
|
22790
22782
|
cross
|
|
22791
22783
|
.show()
|
|
22792
|
-
.animate({ d: path },
|
|
22784
|
+
.animate({ d: path }, animObject(options?.animation));
|
|
22793
22785
|
if (categorized && !options.width) {
|
|
22794
22786
|
cross.attr({
|
|
22795
22787
|
'stroke-width': this.transA
|
|
@@ -24827,7 +24819,6 @@ class PlotLineOrBand {
|
|
|
24827
24819
|
* */
|
|
24828
24820
|
|
|
24829
24821
|
|
|
24830
|
-
const { animObject: Tooltip_animObject } = AnimationUtilities;
|
|
24831
24822
|
|
|
24832
24823
|
const { format: Tooltip_format } = Core_Templating;
|
|
24833
24824
|
|
|
@@ -25528,7 +25519,7 @@ class Tooltip {
|
|
|
25528
25519
|
* @param {number} anchorY
|
|
25529
25520
|
*/
|
|
25530
25521
|
move(x, y, anchorX, anchorY) {
|
|
25531
|
-
const { followPointer, options } = this, animation =
|
|
25522
|
+
const { followPointer, options } = this, animation = animObject(!followPointer &&
|
|
25532
25523
|
!this.isHidden &&
|
|
25533
25524
|
!options.fixed &&
|
|
25534
25525
|
options.animation), skipAnchor = followPointer || (this.len || 0) > 1, attr = { x, y };
|
|
@@ -26276,7 +26267,6 @@ class Tooltip {
|
|
|
26276
26267
|
|
|
26277
26268
|
|
|
26278
26269
|
|
|
26279
|
-
const { animObject: Point_animObject } = AnimationUtilities;
|
|
26280
26270
|
|
|
26281
26271
|
const { defaultOptions: Point_defaultOptions } = Defaults;
|
|
26282
26272
|
|
|
@@ -26616,10 +26606,15 @@ class Point {
|
|
|
26616
26606
|
*
|
|
26617
26607
|
* @internal
|
|
26618
26608
|
* @function Highcharts.Point#destroy
|
|
26609
|
+
*
|
|
26610
|
+
* @param {boolean} [sync]
|
|
26611
|
+
* Whether to destroy the point synchronously. Used internally from
|
|
26612
|
+
* series.destroy, where condemned points may cause animation errors
|
|
26613
|
+
* (#24976).
|
|
26619
26614
|
*/
|
|
26620
|
-
destroy() {
|
|
26621
|
-
if (!this.condemned) {
|
|
26622
|
-
const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } =
|
|
26615
|
+
destroy(sync) {
|
|
26616
|
+
if (!this.destroyed && !this.condemned) {
|
|
26617
|
+
const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = animObject(globalAnimation);
|
|
26623
26618
|
/**
|
|
26624
26619
|
* Allow to call after animation.
|
|
26625
26620
|
* @internal
|
|
@@ -26636,6 +26631,7 @@ class Point {
|
|
|
26636
26631
|
for (const prop in point) { // eslint-disable-line guard-for-in
|
|
26637
26632
|
delete point[prop];
|
|
26638
26633
|
}
|
|
26634
|
+
this.destroyed = true;
|
|
26639
26635
|
};
|
|
26640
26636
|
if (point.legendItem) {
|
|
26641
26637
|
// Pies have legend items
|
|
@@ -26652,7 +26648,7 @@ class Point {
|
|
|
26652
26648
|
point.onMouseOut();
|
|
26653
26649
|
}
|
|
26654
26650
|
// Remove properties after animation
|
|
26655
|
-
if (duration && series.condemnedPoints) {
|
|
26651
|
+
if (duration && !sync && series.condemnedPoints) {
|
|
26656
26652
|
series.condemnedPoints.push(this);
|
|
26657
26653
|
this.graphic?.addClass('highcharts-point-condemned');
|
|
26658
26654
|
setTimeout(destroyPoint, duration);
|
|
@@ -26775,14 +26771,15 @@ class Point {
|
|
|
26775
26771
|
*
|
|
26776
26772
|
* @function Highcharts.Point#getZone
|
|
26777
26773
|
*
|
|
26778
|
-
* @return {Highcharts.SeriesZonesOptionsObject}
|
|
26779
|
-
* The zone item.
|
|
26774
|
+
* @return {Highcharts.SeriesZonesOptionsObject|undefined}
|
|
26775
|
+
* The zone item, or `undefined` if the series has no zones.
|
|
26780
26776
|
*/
|
|
26781
26777
|
getZone() {
|
|
26782
26778
|
const series = this.series, zones = series.zones, zoneAxis = series.zoneAxis || 'y';
|
|
26783
26779
|
let zone, i = 0;
|
|
26784
26780
|
zone = zones[i];
|
|
26785
|
-
while (
|
|
26781
|
+
while (i < zones.length &&
|
|
26782
|
+
this[zoneAxis] >= zone.value) {
|
|
26786
26783
|
zone = zones[++i];
|
|
26787
26784
|
}
|
|
26788
26785
|
// For resetting or reusing the point (#8100)
|
|
@@ -27322,9 +27319,8 @@ class Point {
|
|
|
27322
27319
|
* @emits Highcharts.Point#event:afterSetState
|
|
27323
27320
|
*/
|
|
27324
27321
|
setState(state, move) {
|
|
27325
|
-
const point = this, series = point.series, previousState = point.state, stateOptions =
|
|
27326
|
-
|
|
27327
|
-
series.options.marker), normalDisabled = (markerOptions && markerOptions.enabled === false), markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
|
|
27322
|
+
const point = this, series = point.series, previousState = point.state, stateOptions = series.options.states?.[state || 'normal'] || {}, markerOptions = (Point_defaultOptions.plotOptions?.[series.type]?.marker &&
|
|
27323
|
+
series.options.marker), normalDisabled = markerOptions?.enabled === false, markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
|
|
27328
27324
|
{}, stateDisabled = markerStateOptions.enabled === false, pointMarker = point.marker || {}, chart = series.chart, hasMarkers = (markerOptions && series.markerAttribs);
|
|
27329
27325
|
let halo = series.halo, markerAttribs, pointAttribs, pointAttribsAnimation, stateMarkerGraphic = series.stateMarkerGraphic, newSymbol;
|
|
27330
27326
|
state = state || ''; // Empty string
|
|
@@ -27337,13 +27333,10 @@ class Point {
|
|
|
27337
27333
|
(stateOptions.enabled === false) ||
|
|
27338
27334
|
// General point marker's state options is disabled
|
|
27339
27335
|
(state && (stateDisabled ||
|
|
27340
|
-
(normalDisabled &&
|
|
27341
|
-
markerStateOptions.enabled === false))) ||
|
|
27336
|
+
(normalDisabled && markerStateOptions.enabled === false))) ||
|
|
27342
27337
|
// Individual point marker's state options is disabled
|
|
27343
27338
|
(state &&
|
|
27344
|
-
pointMarker.states
|
|
27345
|
-
pointMarker.states[state] &&
|
|
27346
|
-
pointMarker.states[state].enabled === false) // #1610
|
|
27339
|
+
pointMarker.states?.[state]?.enabled === false) // #1610
|
|
27347
27340
|
) {
|
|
27348
27341
|
return;
|
|
27349
27342
|
}
|
|
@@ -27362,7 +27355,8 @@ class Point {
|
|
|
27362
27355
|
}
|
|
27363
27356
|
if (!chart.styledMode) {
|
|
27364
27357
|
pointAttribs = series.pointAttribs(point, state);
|
|
27365
|
-
pointAttribsAnimation =
|
|
27358
|
+
pointAttribsAnimation = (chart.options.chart.animation ??
|
|
27359
|
+
stateOptions.animation);
|
|
27366
27360
|
const opacity = pointAttribs.opacity;
|
|
27367
27361
|
// Some inactive points (e.g. slices in pie) should apply
|
|
27368
27362
|
// opacity also for their labels
|
|
@@ -27380,9 +27374,11 @@ class Point {
|
|
|
27380
27374
|
point.graphic.animate(pointAttribs, pointAttribsAnimation);
|
|
27381
27375
|
}
|
|
27382
27376
|
if (markerAttribs) {
|
|
27383
|
-
point.graphic.animate(markerAttribs,
|
|
27377
|
+
point.graphic.animate(markerAttribs, (
|
|
27384
27378
|
// Turn off globally:
|
|
27385
|
-
chart.options.chart.animation
|
|
27379
|
+
chart.options.chart.animation ??
|
|
27380
|
+
markerStateOptions.animation ??
|
|
27381
|
+
markerOptions.animation));
|
|
27386
27382
|
}
|
|
27387
27383
|
// Zooming in from a range with no markers to a range with markers
|
|
27388
27384
|
if (stateMarkerGraphic) {
|
|
@@ -27431,10 +27427,12 @@ class Point {
|
|
|
27431
27427
|
}
|
|
27432
27428
|
}
|
|
27433
27429
|
// Show me your halo
|
|
27434
|
-
const haloOptions = stateOptions.halo
|
|
27430
|
+
const haloOptions = isObject(stateOptions.halo) ?
|
|
27431
|
+
stateOptions.halo :
|
|
27432
|
+
{};
|
|
27435
27433
|
const markerGraphic = (point.graphic || stateMarkerGraphic);
|
|
27436
27434
|
const markerVisibility = markerGraphic?.visibility || 'inherit';
|
|
27437
|
-
if (haloOptions
|
|
27435
|
+
if (haloOptions.size &&
|
|
27438
27436
|
markerGraphic &&
|
|
27439
27437
|
markerVisibility !== 'hidden' &&
|
|
27440
27438
|
!point.isCluster) {
|
|
@@ -27964,6 +27962,11 @@ class Pointer {
|
|
|
27964
27962
|
}
|
|
27965
27963
|
}
|
|
27966
27964
|
}
|
|
27965
|
+
// Run a final transform with a drop trigger to display the reset
|
|
27966
|
+
// zoom button after a pinch gesture (#22128)
|
|
27967
|
+
if (e?.type === 'touchend' && this.hasDragged) {
|
|
27968
|
+
chart.transform({ trigger: 'drop' });
|
|
27969
|
+
}
|
|
27967
27970
|
if (redraw) {
|
|
27968
27971
|
chart.redraw();
|
|
27969
27972
|
}
|
|
@@ -28607,6 +28610,9 @@ class Pointer {
|
|
|
28607
28610
|
from: boxFromTouches(lastTouches),
|
|
28608
28611
|
trigger: e.type
|
|
28609
28612
|
});
|
|
28613
|
+
// Record a truthy value in order to trigger the final transform
|
|
28614
|
+
// in the drop function
|
|
28615
|
+
pointer.hasDragged = 1;
|
|
28610
28616
|
});
|
|
28611
28617
|
if (pointer.res) {
|
|
28612
28618
|
pointer.res = false;
|
|
@@ -29098,7 +29104,9 @@ class Pointer {
|
|
|
29098
29104
|
// If inside, capture touch-drag and display tooltip. If not inside,
|
|
29099
29105
|
// allow dragging the finger to scroll the page
|
|
29100
29106
|
if ((chart.tooltip?.options.followTouchMove ?? true) &&
|
|
29101
|
-
isInside
|
|
29107
|
+
isInside &&
|
|
29108
|
+
e.type === 'touchmove' &&
|
|
29109
|
+
!(chart.scrollablePixelsX || chart.scrollablePixelsY)) {
|
|
29102
29110
|
e.preventDefault();
|
|
29103
29111
|
}
|
|
29104
29112
|
}
|
|
@@ -29570,7 +29578,7 @@ class DataTableCore {
|
|
|
29570
29578
|
* Fetches the given column by the canonical column ID. Simplified version
|
|
29571
29579
|
* of the full `DataTable.getRow` method, always returning by reference.
|
|
29572
29580
|
*
|
|
29573
|
-
* @function Highcharts.DataTable#
|
|
29581
|
+
* @function Highcharts.DataTable#getColumn
|
|
29574
29582
|
*
|
|
29575
29583
|
* @param {string} columnId
|
|
29576
29584
|
* ID of the column to get.
|
|
@@ -30306,6 +30314,10 @@ const seriesDefaults = {
|
|
|
30306
30314
|
* ```
|
|
30307
30315
|
*
|
|
30308
30316
|
* @type {Highcharts.DataMappingOptionsObject}
|
|
30317
|
+
* @sample highcharts/datatable/datamapping
|
|
30318
|
+
* Basic data mapping
|
|
30319
|
+
* @sample highcharts/datatable/datamapping-dynamic
|
|
30320
|
+
* Data mapping with dynamic updates
|
|
30309
30321
|
* @sample {highcharts} highcharts/datatable/series-datatable-multiple
|
|
30310
30322
|
* Series with two data tables
|
|
30311
30323
|
* @sample {highcharts} highcharts/datatable/nested-keys
|
|
@@ -30316,6 +30328,29 @@ const seriesDefaults = {
|
|
|
30316
30328
|
* @since 13.0.0
|
|
30317
30329
|
* @apioption plotOptions.series.dataMapping
|
|
30318
30330
|
*/
|
|
30331
|
+
/**
|
|
30332
|
+
* Options for a specific series-level data table or an array of data
|
|
30333
|
+
* tables. The `dataTable` option can be either a configuration object or an
|
|
30334
|
+
* instance of the `DataTable` class. If a `DataTable` instance is passed,
|
|
30335
|
+
* it will be used directly. If a configuration object or an array is
|
|
30336
|
+
* passed, a new `DataTable` instance will be created based on the provided
|
|
30337
|
+
* configuration.
|
|
30338
|
+
*
|
|
30339
|
+
* @type {Highcharts.DataTable|Highcharts.DataTableOptionsObject|Array<Highcharts.DataTable|Highcharts.DataTableOptionsObject>}
|
|
30340
|
+
* @sample {highcharts} highcharts/datatable/series-datatable/
|
|
30341
|
+
* Series with one data table each
|
|
30342
|
+
* @sample {highcharts} highcharts/datatable/series-datatable-multiple/
|
|
30343
|
+
* Series with two data tables
|
|
30344
|
+
* @sample {highstock} stock/datatable/series-datatable/
|
|
30345
|
+
* Series with one data table each
|
|
30346
|
+
* @sample {highstock} stock/datatable/series-datatable-multiple/
|
|
30347
|
+
* Series with two data tables
|
|
30348
|
+
* @sample {highmaps} maps/datatable/series-datatable
|
|
30349
|
+
* Series-level data table
|
|
30350
|
+
*
|
|
30351
|
+
* @since 13.0.0
|
|
30352
|
+
* @apioption plotOptions.series.dataTable
|
|
30353
|
+
*/
|
|
30319
30354
|
/**
|
|
30320
30355
|
* Enable or disable the mouse tracking for a specific series. This
|
|
30321
30356
|
* includes point tooltips and click events on graphs and points. For
|
|
@@ -31199,6 +31234,7 @@ const seriesDefaults = {
|
|
|
31199
31234
|
* `series.allowPointSelect` option to true.
|
|
31200
31235
|
*
|
|
31201
31236
|
* @declare Highcharts.PointStatesSelectOptionsObject
|
|
31237
|
+
* @extends plotOptions.series.marker.states.hover
|
|
31202
31238
|
*/
|
|
31203
31239
|
select: {
|
|
31204
31240
|
/**
|
|
@@ -31775,6 +31811,7 @@ const seriesDefaults = {
|
|
|
31775
31811
|
* @sample {highmaps} maps/plotoptions/series-datalabels-box/
|
|
31776
31812
|
* Data labels box options
|
|
31777
31813
|
*
|
|
31814
|
+
* @type {number|Array<number>}
|
|
31778
31815
|
* @since 2.2.1
|
|
31779
31816
|
*/
|
|
31780
31817
|
padding: [1, 3],
|
|
@@ -31976,6 +32013,9 @@ const seriesDefaults = {
|
|
|
31976
32013
|
/**
|
|
31977
32014
|
* A collection of options for different series states.
|
|
31978
32015
|
*
|
|
32016
|
+
* In addition to the options documented under each state, any option from
|
|
32017
|
+
* the parent series type can be set, with exception of `data` and `states`.
|
|
32018
|
+
*
|
|
31979
32019
|
* @declare Highcharts.SeriesStatesOptionsObject
|
|
31980
32020
|
*/
|
|
31981
32021
|
states: {
|
|
@@ -32149,6 +32189,7 @@ const seriesDefaults = {
|
|
|
32149
32189
|
* Disabled inactive state
|
|
32150
32190
|
*
|
|
32151
32191
|
* @declare Highcharts.SeriesStatesInactiveOptionsObject
|
|
32192
|
+
* @extends plotOptions.series.states.hover
|
|
32152
32193
|
*/
|
|
32153
32194
|
inactive: {
|
|
32154
32195
|
/**
|
|
@@ -32549,7 +32590,6 @@ var SeriesRegistry;
|
|
|
32549
32590
|
* */
|
|
32550
32591
|
|
|
32551
32592
|
|
|
32552
|
-
const { animObject: Series_animObject, setAnimation: Series_setAnimation } = AnimationUtilities;
|
|
32553
32593
|
|
|
32554
32594
|
|
|
32555
32595
|
const { defaultOptions: Series_defaultOptions } = Defaults;
|
|
@@ -32687,6 +32727,13 @@ class Series {
|
|
|
32687
32727
|
* @type {number|undefined}
|
|
32688
32728
|
* @readonly
|
|
32689
32729
|
*/
|
|
32730
|
+
/**
|
|
32731
|
+
* The main group for the series' graphics.
|
|
32732
|
+
*
|
|
32733
|
+
* @name Highcharts.Series#group
|
|
32734
|
+
* @type {Highcharts.SVGElement}
|
|
32735
|
+
* @readonly
|
|
32736
|
+
*/
|
|
32690
32737
|
/**
|
|
32691
32738
|
* Contains the series' index in the `Chart.series` array.
|
|
32692
32739
|
*
|
|
@@ -32819,10 +32866,12 @@ class Series {
|
|
|
32819
32866
|
*/
|
|
32820
32867
|
series.options = series.setOptions(userOptions);
|
|
32821
32868
|
const options = series.options, visible = options.visible !== false;
|
|
32822
|
-
// Create the data table
|
|
32823
|
-
this.dataTable ?? (this.dataTable = options.dataTable
|
|
32824
|
-
|
|
32825
|
-
|
|
32869
|
+
// Create the data table or use the one passed as option
|
|
32870
|
+
this.dataTable ?? (this.dataTable = isArray(options.dataTable) ?
|
|
32871
|
+
new Data_DataTableCore() :
|
|
32872
|
+
options.dataTable?.isDataTable ?
|
|
32873
|
+
options.dataTable :
|
|
32874
|
+
new Data_DataTableCore(options.dataTable));
|
|
32826
32875
|
/**
|
|
32827
32876
|
* All child series that are linked to the current series through the
|
|
32828
32877
|
* [linkedTo](https://api.highcharts.com/highcharts/series.line.linkedTo)
|
|
@@ -33204,7 +33253,7 @@ class Series {
|
|
|
33204
33253
|
*/
|
|
33205
33254
|
getSymbol() {
|
|
33206
33255
|
const seriesMarkerOption = this.options.marker;
|
|
33207
|
-
this.getCyclic('symbol', seriesMarkerOption
|
|
33256
|
+
this.getCyclic('symbol', seriesMarkerOption?.symbol, this.chart.options.symbols);
|
|
33208
33257
|
}
|
|
33209
33258
|
/**
|
|
33210
33259
|
* Shorthand to get one of the series' data columns from `Series.dataTable`.
|
|
@@ -33400,9 +33449,10 @@ class Series {
|
|
|
33400
33449
|
if (!oldData[i].destroyed && !oldData[i].condemned) {
|
|
33401
33450
|
const pOptions = dataTable.getRowObject(i);
|
|
33402
33451
|
if (pOptions) {
|
|
33452
|
+
// Remove undefined properties, but preserve explicit
|
|
33453
|
+
// nulls (#24872)
|
|
33403
33454
|
Object.keys(pOptions).forEach((key) => {
|
|
33404
|
-
if (
|
|
33405
|
-
pOptions[key] === oldData[i].options[key]*/) {
|
|
33455
|
+
if (pOptions[key] === void 0) {
|
|
33406
33456
|
delete pOptions[key];
|
|
33407
33457
|
}
|
|
33408
33458
|
});
|
|
@@ -33807,8 +33857,12 @@ class Series {
|
|
|
33807
33857
|
}
|
|
33808
33858
|
}
|
|
33809
33859
|
}
|
|
33810
|
-
// Find the closest distance between processed points
|
|
33811
|
-
|
|
33860
|
+
// Find the closest distance between processed points. When the data was
|
|
33861
|
+
// cropped (or set out of range), read x from the freshly cropped local
|
|
33862
|
+
// `modified` table, #24858.
|
|
33863
|
+
if (modified !== table) {
|
|
33864
|
+
xData = modified.getColumn('x', true) || [];
|
|
33865
|
+
}
|
|
33812
33866
|
const closestPointRange = getClosestDistance([
|
|
33813
33867
|
logarithmic ?
|
|
33814
33868
|
xData.map(logarithmic.log2lin) :
|
|
@@ -34013,9 +34067,9 @@ class Series {
|
|
|
34013
34067
|
* Force getting extremes of a total series data range.
|
|
34014
34068
|
*/
|
|
34015
34069
|
getExtremes(yData, forceExtremesFromAll) {
|
|
34016
|
-
const { xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
|
|
34070
|
+
const { options, xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
|
|
34017
34071
|
this.getExtremesFromAll ||
|
|
34018
|
-
|
|
34072
|
+
options.getExtremesFromAll, // #4599, #21003
|
|
34019
34073
|
table = getExtremesFromAll && this.cropped ?
|
|
34020
34074
|
this.dataTable :
|
|
34021
34075
|
this.dataTable.getModified(), rowCount = table.rowCount, customData = yData || this.stackedYData, yAxisData = customData ?
|
|
@@ -34025,7 +34079,12 @@ class Series {
|
|
|
34025
34079
|
// non-sorted data like scatter (#7639).
|
|
34026
34080
|
shoulder = this.requireSorting && !this.is('column') ?
|
|
34027
34081
|
1 : 0,
|
|
34028
|
-
//
|
|
34082
|
+
// Used only for `cumulativeStart` (#24608)
|
|
34083
|
+
excludeShoulder = options.cumulative &&
|
|
34084
|
+
options.cumulativeStart &&
|
|
34085
|
+
shoulder &&
|
|
34086
|
+
!getExtremesFromAll,
|
|
34087
|
+
// Compensate for log X axis (#2117)
|
|
34029
34088
|
positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false, doAll = getExtremesFromAll ||
|
|
34030
34089
|
this.cropped ||
|
|
34031
34090
|
!xAxis; // For colorAxis support
|
|
@@ -34037,10 +34096,10 @@ class Series {
|
|
|
34037
34096
|
}
|
|
34038
34097
|
for (i = 0; i < rowCount; i++) {
|
|
34039
34098
|
x = xData[i];
|
|
34040
|
-
// Check if it is within the selected x
|
|
34041
|
-
if (doAll ||
|
|
34099
|
+
// Check if it is within the selected x-axis range
|
|
34100
|
+
if ((doAll ||
|
|
34042
34101
|
((xData[i + shoulder] || x) >= xMin &&
|
|
34043
|
-
(xData[i - shoulder] || x) <= xMax)) {
|
|
34102
|
+
(xData[i - shoulder] || x) <= xMax)) && (!excludeShoulder || x >= xMin)) {
|
|
34044
34103
|
for (const values of yAxisData) {
|
|
34045
34104
|
const val = values[i];
|
|
34046
34105
|
// For points within the visible range, including the
|
|
@@ -34109,7 +34168,7 @@ class Series {
|
|
|
34109
34168
|
*/
|
|
34110
34169
|
translate() {
|
|
34111
34170
|
this.generatePoints();
|
|
34112
|
-
const series = this, { options, xAxis, yAxis } = series, { stacking, threshold } = options, {
|
|
34171
|
+
const series = this, { hasRendered, options, xAxis, yAxis } = series, { stacking, threshold } = options, { polar } = series.chart, points = series.points.concat(series.condemnedPoints), dataLength = points.length, pointPlacement = series.pointPlacementToXValue(), // #7860
|
|
34113
34172
|
dynamicallyPlaced = Boolean(pointPlacement), stackThreshold = options.startFromThreshold ? threshold : 0, nullYSubstitute = (options?.nullInteraction &&
|
|
34114
34173
|
yAxis.len);
|
|
34115
34174
|
let i, plotX, lastPlotX, stackIndicator, closestPointRangePx = Number.MAX_VALUE;
|
|
@@ -34302,7 +34361,7 @@ class Series {
|
|
|
34302
34361
|
* Initialize the animation.
|
|
34303
34362
|
*/
|
|
34304
34363
|
animate(init) {
|
|
34305
|
-
const { chart, group, markerGroup } = this, inverted = chart.inverted, animation =
|
|
34364
|
+
const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = animObject(this.options.animation),
|
|
34306
34365
|
// The key for temporary animation clips
|
|
34307
34366
|
animationClipKey = [
|
|
34308
34367
|
this.getSharedClipKey(),
|
|
@@ -34398,10 +34457,11 @@ class Series {
|
|
|
34398
34457
|
*/
|
|
34399
34458
|
drawPoints(points) {
|
|
34400
34459
|
points || (points = this.points.concat(this.condemnedPoints));
|
|
34401
|
-
const series = this, chart = series.chart, styledMode = chart.styledMode, { colorAxis, options } = series, seriesMarkerOptions = options.marker, nullInteraction = options.nullInteraction, markerGroup = series[series.specialGroup || 'markerGroup'], xAxis = series.xAxis, globallyEnabled =
|
|
34402
|
-
|
|
34403
|
-
|
|
34404
|
-
seriesMarkerOptions.
|
|
34460
|
+
const series = this, chart = series.chart, styledMode = chart.styledMode, { colorAxis, options } = series, seriesMarkerOptions = options.marker || {}, nullInteraction = options.nullInteraction, markerGroup = series[series.specialGroup || 'markerGroup'], xAxis = series.xAxis, globallyEnabled = seriesMarkerOptions.enabled ??
|
|
34461
|
+
(!xAxis || xAxis.isRadial ? true : null) ??
|
|
34462
|
+
// Use larger or equal as radius is null in bubbles (#6321)
|
|
34463
|
+
((series.closestPointRangePx ?? -Infinity) >= ((seriesMarkerOptions.enabledThreshold ?? 2) *
|
|
34464
|
+
seriesMarkerOptions.radius));
|
|
34405
34465
|
let i, point, graphic, verb, pointMarkerOptions, hasPointMarker, markerAttribs;
|
|
34406
34466
|
if (seriesMarkerOptions.enabled !== false ||
|
|
34407
34467
|
series._hasPointMarkers) {
|
|
@@ -34419,7 +34479,7 @@ class Series {
|
|
|
34419
34479
|
if (shouldDrawMarker) {
|
|
34420
34480
|
// Shortcuts
|
|
34421
34481
|
const symbol = pick(pointMarkerOptions.symbol, series.symbol, 'rect');
|
|
34422
|
-
markerAttribs = series.markerAttribs(point,
|
|
34482
|
+
markerAttribs = series.markerAttribs(point, point.selected ? 'select' : '');
|
|
34423
34483
|
const isInside = point.isInside !== false;
|
|
34424
34484
|
if (!graphic &&
|
|
34425
34485
|
isInside &&
|
|
@@ -34484,15 +34544,17 @@ class Series {
|
|
|
34484
34544
|
* A hash containing those attributes that are not settable from CSS.
|
|
34485
34545
|
*/
|
|
34486
34546
|
markerAttribs(point, state) {
|
|
34487
|
-
const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
|
|
34547
|
+
const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker ?? {}, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
|
|
34488
34548
|
seriesMarkerOptions.symbol), attribs = {};
|
|
34489
|
-
let seriesStateOptions, pointStateOptions, radius =
|
|
34549
|
+
let seriesStateOptions, pointStateOptions, radius = pointMarkerOptions.radius ??
|
|
34550
|
+
seriesMarkerOptions.radius;
|
|
34490
34551
|
// Handle hover and select states
|
|
34491
34552
|
if (state) {
|
|
34492
|
-
seriesStateOptions = seriesMarkerOptions
|
|
34553
|
+
seriesStateOptions = seriesMarkerOptions.states?.[state];
|
|
34493
34554
|
pointStateOptions = pointMarkerOptions.states?.[state];
|
|
34494
|
-
radius =
|
|
34495
|
-
|
|
34555
|
+
radius = pointStateOptions?.radius ??
|
|
34556
|
+
seriesStateOptions?.radius ??
|
|
34557
|
+
(radius && radius + (seriesStateOptions?.radiusPlus || 0));
|
|
34496
34558
|
}
|
|
34497
34559
|
point.hasImage = symbol && symbol.indexOf('url') === 0;
|
|
34498
34560
|
if (point.hasImage) {
|
|
@@ -34505,7 +34567,7 @@ class Series {
|
|
|
34505
34567
|
0 :
|
|
34506
34568
|
symbol === 'rect' ?
|
|
34507
34569
|
// Rectangle symbols need crisp edges, others don't
|
|
34508
|
-
seriesMarkerOptions
|
|
34570
|
+
seriesMarkerOptions.lineWidth || 0 :
|
|
34509
34571
|
1);
|
|
34510
34572
|
}
|
|
34511
34573
|
attribs.x = pos[0] - radius;
|
|
@@ -34536,8 +34598,9 @@ class Series {
|
|
|
34536
34598
|
* The presentational attributes to be set on the point.
|
|
34537
34599
|
*/
|
|
34538
34600
|
pointAttribs(point, state) {
|
|
34539
|
-
const options = this.options, seriesMarkerOptions = options.marker, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
|
|
34540
|
-
let
|
|
34601
|
+
const options = this.options, seriesMarkerOptions = options.marker ?? {}, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
|
|
34602
|
+
let color = this.color, fill, stroke, strokeWidth = pointMarkerOptions.lineWidth ??
|
|
34603
|
+
seriesMarkerOptions.lineWidth, opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
|
|
34541
34604
|
color = (pointColorOption ||
|
|
34542
34605
|
zoneColor ||
|
|
34543
34606
|
pointColor ||
|
|
@@ -34550,19 +34613,22 @@ class Series {
|
|
|
34550
34613
|
color);
|
|
34551
34614
|
// Handle hover and select states
|
|
34552
34615
|
state = state || 'normal';
|
|
34553
|
-
|
|
34554
|
-
|
|
34555
|
-
|
|
34556
|
-
|
|
34557
|
-
strokeWidth
|
|
34558
|
-
|
|
34559
|
-
|
|
34560
|
-
|
|
34561
|
-
|
|
34562
|
-
|
|
34563
|
-
|
|
34564
|
-
|
|
34565
|
-
|
|
34616
|
+
const seriesStateOptions = seriesMarkerOptions.states?.[state] || {};
|
|
34617
|
+
const pointStateOptions = pointMarkerOptions.states?.[state] || {};
|
|
34618
|
+
strokeWidth = pointStateOptions.lineWidth ??
|
|
34619
|
+
seriesStateOptions.lineWidth ??
|
|
34620
|
+
(strokeWidth || 0) + (pointStateOptions.lineWidthPlus ??
|
|
34621
|
+
seriesStateOptions.lineWidthPlus ??
|
|
34622
|
+
0);
|
|
34623
|
+
fill = (pointStateOptions.fillColor ||
|
|
34624
|
+
seriesStateOptions.fillColor ||
|
|
34625
|
+
fill);
|
|
34626
|
+
stroke = (pointStateOptions.lineColor ||
|
|
34627
|
+
seriesStateOptions.lineColor ||
|
|
34628
|
+
stroke);
|
|
34629
|
+
opacity = (pointStateOptions.opacity ??
|
|
34630
|
+
seriesStateOptions.opacity ??
|
|
34631
|
+
opacity);
|
|
34566
34632
|
return {
|
|
34567
34633
|
'stroke': stroke,
|
|
34568
34634
|
'stroke-width': strokeWidth,
|
|
@@ -34601,7 +34667,7 @@ class Series {
|
|
|
34601
34667
|
// Destroy all points with their elements
|
|
34602
34668
|
i = data.length;
|
|
34603
34669
|
while (i--) {
|
|
34604
|
-
data[i]?.destroy?.();
|
|
34670
|
+
data[i]?.destroy?.(true);
|
|
34605
34671
|
}
|
|
34606
34672
|
for (const zone of series.zones || []) {
|
|
34607
34673
|
// Destroy SVGElement's but preserve primitive props (#20426)
|
|
@@ -34628,7 +34694,7 @@ class Series {
|
|
|
34628
34694
|
erase(chart.series, series);
|
|
34629
34695
|
chart.orderItems('series');
|
|
34630
34696
|
// Clear all members
|
|
34631
|
-
objectEach(series, function (
|
|
34697
|
+
objectEach(series, function (_val, prop) {
|
|
34632
34698
|
if (!keepEventsForUpdate || prop !== 'hcEvents') {
|
|
34633
34699
|
delete series[prop];
|
|
34634
34700
|
}
|
|
@@ -34904,7 +34970,7 @@ class Series {
|
|
|
34904
34970
|
* @emits Highcharts.Series#event:afterRender
|
|
34905
34971
|
*/
|
|
34906
34972
|
render() {
|
|
34907
|
-
const series = this, { chart, options, hasRendered } = series, animOptions =
|
|
34973
|
+
const series = this, { chart, options, hasRendered } = series, animOptions = animObject(options.animation), visibility = series.visible ?
|
|
34908
34974
|
'inherit' : 'hidden', // #2597
|
|
34909
34975
|
zIndex = options.zIndex, chartSeriesGroup = chart.seriesGroup;
|
|
34910
34976
|
let animDuration = series.finishedAnimating ?
|
|
@@ -35006,7 +35072,7 @@ class Series {
|
|
|
35006
35072
|
*
|
|
35007
35073
|
* @function Highcharts.Series#searchPoint
|
|
35008
35074
|
*
|
|
35009
|
-
* @param {
|
|
35075
|
+
* @param {PointerEvent} e
|
|
35010
35076
|
* The normalized pointer event
|
|
35011
35077
|
* @param {boolean} [compareX=false]
|
|
35012
35078
|
* Search only by the X value, not Y
|
|
@@ -35038,7 +35104,7 @@ class Series {
|
|
|
35038
35104
|
// Prevent multiple k-d-trees from being built simultaneously
|
|
35039
35105
|
// (#6235)
|
|
35040
35106
|
this.buildingKdTree = true;
|
|
35041
|
-
const series = this, seriesOptions = series.options, dimensions = seriesOptions.findNearestPointBy
|
|
35107
|
+
const series = this, seriesOptions = series.options, dimensions = (seriesOptions.findNearestPointBy ?? '')
|
|
35042
35108
|
.indexOf('y') > -1 ? 2 : 1;
|
|
35043
35109
|
/**
|
|
35044
35110
|
* Internal function
|
|
@@ -35088,7 +35154,7 @@ class Series {
|
|
|
35088
35154
|
* The point to search for.
|
|
35089
35155
|
* @param {boolean} [compareX=false]
|
|
35090
35156
|
* Search only by the X value, not Y.
|
|
35091
|
-
* @param {
|
|
35157
|
+
* @param {PointerEvent} [e]
|
|
35092
35158
|
* The normalized pointer event.
|
|
35093
35159
|
* @param {Function} [suppliedPointEvaluator]
|
|
35094
35160
|
* A custom point evaluator function.
|
|
@@ -35294,11 +35360,13 @@ class Series {
|
|
|
35294
35360
|
* Both X and Y values given
|
|
35295
35361
|
* @sample highcharts/members/series-addpoint-pie/
|
|
35296
35362
|
* Append pie slice
|
|
35297
|
-
* @sample
|
|
35363
|
+
* @sample highcharts/datatable/datamapping-dynamic
|
|
35364
|
+
* Alternative approach with data table
|
|
35365
|
+
* @sample {highstock} stock/members/series-addpoint/
|
|
35298
35366
|
* Append 100 points in Highcharts Stock
|
|
35299
|
-
* @sample stock/members/series-addpoint-shift/
|
|
35367
|
+
* @sample {highstock} stock/members/series-addpoint-shift/
|
|
35300
35368
|
* Append and shift in Highcharts Stock
|
|
35301
|
-
* @sample maps/members/series-addpoint/
|
|
35369
|
+
* @sample {highmaps} maps/members/series-addpoint/
|
|
35302
35370
|
* Add a point in Highmaps
|
|
35303
35371
|
*
|
|
35304
35372
|
* @function Highcharts.Series#addPoint
|
|
@@ -35444,7 +35512,7 @@ class Series {
|
|
|
35444
35512
|
chart.redraw();
|
|
35445
35513
|
}
|
|
35446
35514
|
};
|
|
35447
|
-
|
|
35515
|
+
setAnimation(animation, chart);
|
|
35448
35516
|
redraw = pick(redraw, true);
|
|
35449
35517
|
// Fire the event with a default handler of removing the point
|
|
35450
35518
|
if (point) {
|
|
@@ -35798,10 +35866,10 @@ class Series {
|
|
|
35798
35866
|
* Determines if state should be inherited by points too.
|
|
35799
35867
|
*/
|
|
35800
35868
|
setState(state, inherit) {
|
|
35801
|
-
const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions } = options,
|
|
35869
|
+
const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions = {} } = options,
|
|
35802
35870
|
// By default a quick animation to hover/inactive,
|
|
35803
35871
|
// slower to un-hover
|
|
35804
|
-
stateAnimation = pick(stateOptions
|
|
35872
|
+
stateAnimation = pick(stateOptions[state || 'normal']?.animation, series.chart.options.chart.animation);
|
|
35805
35873
|
let { lineWidth, opacity } = options;
|
|
35806
35874
|
state = state || '';
|
|
35807
35875
|
if (series.state !== state) {
|
|
@@ -35828,9 +35896,13 @@ class Series {
|
|
|
35828
35896
|
return;
|
|
35829
35897
|
}
|
|
35830
35898
|
if (state) {
|
|
35831
|
-
lineWidth =
|
|
35832
|
-
|
|
35833
|
-
|
|
35899
|
+
lineWidth = stateOptions[state]?.lineWidth ?? (!isNumber(lineWidth) ?
|
|
35900
|
+
void 0 :
|
|
35901
|
+
// Increase by lineWidthPlus only when lineWidth
|
|
35902
|
+
// is a number.
|
|
35903
|
+
(lineWidth +
|
|
35904
|
+
(stateOptions?.[state]?.lineWidthPlus || 0))); // #4035
|
|
35905
|
+
opacity = stateOptions[state]?.opacity ?? opacity;
|
|
35834
35906
|
}
|
|
35835
35907
|
if (graph && !graph.dashstyle && isNumber(lineWidth)) {
|
|
35836
35908
|
// Animate the graph stroke-width
|
|
@@ -35874,11 +35946,7 @@ class Series {
|
|
|
35874
35946
|
* Can be either `hover` or undefined to set to normal state.
|
|
35875
35947
|
*/
|
|
35876
35948
|
setAllPointsToState(state) {
|
|
35877
|
-
this.points.forEach(
|
|
35878
|
-
if (point.setState) {
|
|
35879
|
-
point.setState(state);
|
|
35880
|
-
}
|
|
35881
|
-
});
|
|
35949
|
+
this.points.forEach((point) => point.setState?.(state));
|
|
35882
35950
|
}
|
|
35883
35951
|
/**
|
|
35884
35952
|
* Show or hide the series.
|
|
@@ -36559,7 +36627,6 @@ Series_SeriesRegistry.series = Series;
|
|
|
36559
36627
|
* */
|
|
36560
36628
|
|
|
36561
36629
|
|
|
36562
|
-
const { animObject: Legend_animObject, setAnimation: Legend_setAnimation } = AnimationUtilities;
|
|
36563
36630
|
|
|
36564
36631
|
const { registerEventOptions: Legend_registerEventOptions } = Core_Foundation;
|
|
36565
36632
|
|
|
@@ -37562,7 +37629,7 @@ class Legend {
|
|
|
37562
37629
|
}
|
|
37563
37630
|
if (currentPage > 0) {
|
|
37564
37631
|
if (typeof animation !== 'undefined') {
|
|
37565
|
-
|
|
37632
|
+
setAnimation(animation, chart);
|
|
37566
37633
|
}
|
|
37567
37634
|
this.nav.attr({
|
|
37568
37635
|
translateX: padding,
|
|
@@ -37619,7 +37686,7 @@ class Legend {
|
|
|
37619
37686
|
this.currentPage = currentPage;
|
|
37620
37687
|
this.positionCheckboxes();
|
|
37621
37688
|
// Fire event after scroll animation is complete
|
|
37622
|
-
const animOptions =
|
|
37689
|
+
const animOptions = animObject(pick(animation, chart.renderer.globalAnimation, true));
|
|
37623
37690
|
syncTimeout(() => {
|
|
37624
37691
|
fireEvent(this, 'afterScroll', { currentPage });
|
|
37625
37692
|
}, animOptions.duration);
|
|
@@ -37829,7 +37896,7 @@ class Legend {
|
|
|
37829
37896
|
*/ /**
|
|
37830
37897
|
* Related browser event.
|
|
37831
37898
|
* @name Highcharts.LegendItemClickEventObject#browserEvent
|
|
37832
|
-
* @type {
|
|
37899
|
+
* @type {PointerEvent}
|
|
37833
37900
|
*/ /**
|
|
37834
37901
|
* Prevent the default action of toggle the visibility of the series or point.
|
|
37835
37902
|
* @name Highcharts.LegendItemClickEventObject#preventDefault
|
|
@@ -37880,7 +37947,7 @@ class Legend {
|
|
|
37880
37947
|
*/ /**
|
|
37881
37948
|
* Related browser event.
|
|
37882
37949
|
* @name Highcharts.PointLegendItemClickEventObject#browserEvent
|
|
37883
|
-
* @type {
|
|
37950
|
+
* @type {PointerEvent}
|
|
37884
37951
|
*/ /**
|
|
37885
37952
|
* Whether the default action has been prevented (`true`) or not.
|
|
37886
37953
|
* @name Highcharts.PointLegendItemClickEventObject#defaultPrevented
|
|
@@ -37936,7 +38003,7 @@ class Legend {
|
|
|
37936
38003
|
*/ /**
|
|
37937
38004
|
* Related browser event.
|
|
37938
38005
|
* @name Highcharts.SeriesLegendItemClickEventObject#browserEvent
|
|
37939
|
-
* @type {
|
|
38006
|
+
* @type {PointerEvent}
|
|
37940
38007
|
*/ /**
|
|
37941
38008
|
* Whether the default action has been prevented (`true`) or not.
|
|
37942
38009
|
* @name Highcharts.SeriesLegendItemClickEventObject#defaultPrevented
|
|
@@ -37970,7 +38037,6 @@ class Legend {
|
|
|
37970
38037
|
* */
|
|
37971
38038
|
|
|
37972
38039
|
|
|
37973
|
-
const { animate: Chart_animate, animObject: Chart_animObject, setAnimation: Chart_setAnimation } = AnimationUtilities;
|
|
37974
38040
|
|
|
37975
38041
|
|
|
37976
38042
|
const { defaultOptions: Chart_defaultOptions } = Defaults;
|
|
@@ -38448,7 +38514,7 @@ class Chart {
|
|
|
38448
38514
|
redraw(animation) {
|
|
38449
38515
|
fireEvent(this, 'beforeRedraw');
|
|
38450
38516
|
const chart = this, axes = chart.hasCartesianSeries ? chart.axes : chart.colorAxis || [], series = chart.series, pointer = chart.pointer, legend = chart.legend, legendUserOptions = chart.userOptions.legend, renderer = chart.renderer, isHiddenChart = renderer.isHidden(), afterRedraw = [];
|
|
38451
|
-
let hasDirtyStacks, hasStackedSeries, i,
|
|
38517
|
+
let hasDirtyStacks, hasStackedSeries, i, redrawLegend = chart.isDirtyLegend, serie;
|
|
38452
38518
|
renderer.rootFontSize = renderer.boxWrapper.getStyle('font-size');
|
|
38453
38519
|
// Handle responsive rules, not only on resize (#6130)
|
|
38454
38520
|
if (chart.setResponsive) {
|
|
@@ -38457,7 +38523,7 @@ class Chart {
|
|
|
38457
38523
|
// Set the global animation. When chart.hasRendered is not true, the
|
|
38458
38524
|
// redraw call comes from a responsive rule and animation should not
|
|
38459
38525
|
// occur.
|
|
38460
|
-
|
|
38526
|
+
setAnimation(chart.hasRendered ? animation : false, chart);
|
|
38461
38527
|
if (isHiddenChart) {
|
|
38462
38528
|
chart.temporaryDisplay();
|
|
38463
38529
|
}
|
|
@@ -38520,6 +38586,7 @@ class Chart {
|
|
|
38520
38586
|
});
|
|
38521
38587
|
chart.getMargins(); // #3098
|
|
38522
38588
|
// If one axis is dirty, all axes must be redrawn (#792, #2169)
|
|
38589
|
+
let isDirtyBox = chart.isDirtyBox;
|
|
38523
38590
|
axes.forEach(function (axis) {
|
|
38524
38591
|
if (axis.isDirty) {
|
|
38525
38592
|
isDirtyBox = true;
|
|
@@ -39055,11 +39122,8 @@ class Chart {
|
|
|
39055
39122
|
const chartHeight = chart.chartHeight;
|
|
39056
39123
|
let chartWidth = chart.chartWidth;
|
|
39057
39124
|
// Allow table cells and flex-boxes to shrink without the chart
|
|
39058
|
-
// blocking them out (#6427)
|
|
39059
|
-
|
|
39060
|
-
if (!chart.styledMode) {
|
|
39061
|
-
css(renderTo, { overflow: 'hidden' });
|
|
39062
|
-
}
|
|
39125
|
+
// blocking them out (#6427)
|
|
39126
|
+
css(renderTo, { overflow: 'hidden' });
|
|
39063
39127
|
// Create the inner container
|
|
39064
39128
|
if (!chart.styledMode) {
|
|
39065
39129
|
containerStyle = extend({
|
|
@@ -39116,7 +39180,7 @@ class Chart {
|
|
|
39116
39180
|
// first ResizeObserver reflow
|
|
39117
39181
|
chart.containerBox = chart.getContainerBox();
|
|
39118
39182
|
// Set the initial animation from the options
|
|
39119
|
-
|
|
39183
|
+
setAnimation(void 0, chart);
|
|
39120
39184
|
chart.setClassName(optionsChart.className);
|
|
39121
39185
|
if (!chart.styledMode) {
|
|
39122
39186
|
chart.renderer.setStyle(optionsChart.style);
|
|
@@ -39311,7 +39375,7 @@ class Chart {
|
|
|
39311
39375
|
// Handle the isResizing counter
|
|
39312
39376
|
chart.isResizing += 1;
|
|
39313
39377
|
// Set the animation for the current process
|
|
39314
|
-
|
|
39378
|
+
setAnimation(animation, chart);
|
|
39315
39379
|
const globalAnimation = renderer.globalAnimation;
|
|
39316
39380
|
chart.oldChartHeight = chart.chartHeight;
|
|
39317
39381
|
chart.oldChartWidth = chart.chartWidth;
|
|
@@ -39330,7 +39394,7 @@ class Chart {
|
|
|
39330
39394
|
// Resize the container with the global animation applied if enabled
|
|
39331
39395
|
// (#2503)
|
|
39332
39396
|
if (!chart.styledMode) {
|
|
39333
|
-
(globalAnimation ?
|
|
39397
|
+
(globalAnimation ? animate : css)(chart.container, {
|
|
39334
39398
|
width: `${chartWidth + scrollablePixelsX}px`,
|
|
39335
39399
|
height: `${chartHeight + scrollablePixelsY}px`
|
|
39336
39400
|
}, globalAnimation);
|
|
@@ -39356,7 +39420,7 @@ class Chart {
|
|
|
39356
39420
|
if (chart) {
|
|
39357
39421
|
fireEvent(chart, 'endResize');
|
|
39358
39422
|
}
|
|
39359
|
-
},
|
|
39423
|
+
}, animObject(globalAnimation).duration);
|
|
39360
39424
|
}
|
|
39361
39425
|
// Handle resizing counter even if we've re-rendered or not (#20548).
|
|
39362
39426
|
chart.isResizing -= 1;
|
|
@@ -40225,7 +40289,7 @@ class Chart {
|
|
|
40225
40289
|
opacity: 0,
|
|
40226
40290
|
display: ''
|
|
40227
40291
|
});
|
|
40228
|
-
|
|
40292
|
+
animate(loadingDiv, {
|
|
40229
40293
|
opacity: loadingStyle.opacity ?? 0.5
|
|
40230
40294
|
}, {
|
|
40231
40295
|
duration: loadingOptions?.showDuration ?? 0
|
|
@@ -40253,7 +40317,7 @@ class Chart {
|
|
|
40253
40317
|
loadingDiv.className =
|
|
40254
40318
|
'highcharts-loading highcharts-loading-hidden';
|
|
40255
40319
|
if (!this.styledMode) {
|
|
40256
|
-
|
|
40320
|
+
animate(loadingDiv, {
|
|
40257
40321
|
opacity: 0
|
|
40258
40322
|
}, {
|
|
40259
40323
|
duration: options.loading?.hideDuration ?? 100,
|
|
@@ -40285,6 +40349,9 @@ class Chart {
|
|
|
40285
40349
|
* Note that when changing series data, `chart.update` may mutate the passed
|
|
40286
40350
|
* data options.
|
|
40287
40351
|
*
|
|
40352
|
+
* If the given options don't differ from the current chart options, the
|
|
40353
|
+
* update is skipped and the `afterUpdate` event is not emitted.
|
|
40354
|
+
*
|
|
40288
40355
|
* See also the
|
|
40289
40356
|
* [responsive option set](https://api.highcharts.com/highcharts/responsive).
|
|
40290
40357
|
* Switching between `responsive.rules` basically runs `chart.update` under
|
|
@@ -40329,14 +40396,24 @@ class Chart {
|
|
|
40329
40396
|
caption: 'setCaption'
|
|
40330
40397
|
}, isResponsiveOptions = options.isResponsiveOptions, itemsForRemoval = [];
|
|
40331
40398
|
let updateAllAxes, updateAllSeries, runSetSize;
|
|
40332
|
-
|
|
40399
|
+
options = diffObjects(options, chart.options);
|
|
40400
|
+
const e = {
|
|
40401
|
+
options,
|
|
40402
|
+
// Event handlers can turn this on or off to control further
|
|
40403
|
+
// processing
|
|
40404
|
+
hasChanged: !!Object.keys(options).length
|
|
40405
|
+
};
|
|
40406
|
+
fireEvent(chart, 'update', e);
|
|
40407
|
+
// If no changes are detected, stop further processing (#24805).
|
|
40408
|
+
if (!e.hasChanged) {
|
|
40409
|
+
return;
|
|
40410
|
+
}
|
|
40333
40411
|
// If there are responsive rules in action, undo the responsive rules
|
|
40334
40412
|
// before we apply the updated options and replay the responsive rules
|
|
40335
40413
|
// on top from the chart.redraw function (#9617).
|
|
40336
40414
|
if (!isResponsiveOptions) {
|
|
40337
40415
|
chart.setResponsive(false, true);
|
|
40338
40416
|
}
|
|
40339
|
-
options = diffObjects(options, chart.options);
|
|
40340
40417
|
chart.userOptions = merge(chart.userOptions, options);
|
|
40341
40418
|
// If the top-level chart option is present, some special updates are
|
|
40342
40419
|
// required
|
|
@@ -40515,7 +40592,7 @@ class Chart {
|
|
|
40515
40592
|
(isNumber(newHeight) && newHeight !== chart.chartHeight)) {
|
|
40516
40593
|
chart.setSize(newWidth, newHeight, animation);
|
|
40517
40594
|
}
|
|
40518
|
-
else if (
|
|
40595
|
+
else if (redraw ?? true) {
|
|
40519
40596
|
chart.redraw(animation);
|
|
40520
40597
|
}
|
|
40521
40598
|
fireEvent(chart, 'afterUpdate', {
|
|
@@ -40564,15 +40641,11 @@ class Chart {
|
|
|
40564
40641
|
showResetZoom() {
|
|
40565
40642
|
const chart = this, lang = chart.options.lang, btnOptions = chart.zooming.resetButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
|
|
40566
40643
|
btnOptions.relativeTo === 'spacingBox' ?
|
|
40567
|
-
|
|
40644
|
+
void 0 :
|
|
40568
40645
|
'plotBox');
|
|
40569
|
-
|
|
40570
|
-
function zoomOut() {
|
|
40571
|
-
chart.zoomOut();
|
|
40572
|
-
}
|
|
40573
|
-
fireEvent(this, 'beforeShowResetZoom', null, function () {
|
|
40646
|
+
fireEvent(this, 'beforeShowResetZoom', void 0, () => {
|
|
40574
40647
|
chart.resetZoomButton = chart.renderer
|
|
40575
|
-
.button(lang.resetZoom,
|
|
40648
|
+
.button(lang.resetZoom, 0, 0, () => chart.zoomOut(), theme)
|
|
40576
40649
|
.attr({
|
|
40577
40650
|
align: btnOptions.position.align,
|
|
40578
40651
|
title: lang.resetZoomTitle
|
|
@@ -40650,7 +40723,7 @@ class Chart {
|
|
|
40650
40723
|
* @function Highcharts.Chart#transform
|
|
40651
40724
|
*/
|
|
40652
40725
|
transform(params) {
|
|
40653
|
-
const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, {
|
|
40726
|
+
const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { time } = this;
|
|
40654
40727
|
// Remove active points for shared tooltip
|
|
40655
40728
|
this.hoverPoints?.forEach((point) => point.setState());
|
|
40656
40729
|
fireEvent(this, 'transform', params);
|
|
@@ -40661,10 +40734,10 @@ class Chart {
|
|
|
40661
40734
|
scale = Math.abs(toLength) < 10 ?
|
|
40662
40735
|
1 :
|
|
40663
40736
|
toLength / fromLength, fromCenter = (from[xy] || 0) + fromLength / 2 - axis.pos, toCenter = (to[xy] ?? axis.pos) +
|
|
40664
|
-
toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = (
|
|
40665
|
-
(!
|
|
40666
|
-
|
|
40667
|
-
1, minPx = move;
|
|
40737
|
+
toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = ((horiz && !reversed) ||
|
|
40738
|
+
(!horiz && reversed)) ?
|
|
40739
|
+
1 :
|
|
40740
|
+
-1, minPx = move;
|
|
40668
40741
|
// Zooming in multiple panes, zoom only in the pane that receives
|
|
40669
40742
|
// the input
|
|
40670
40743
|
if (!reset && (fromCenter < 0 || fromCenter > axis.len)) {
|
|
@@ -40673,17 +40746,11 @@ class Chart {
|
|
|
40673
40746
|
// Adjust offset to ensure selection zoom triggers correctly
|
|
40674
40747
|
// (#22945)
|
|
40675
40748
|
// Set offset to 0 for ordinal axis only when zooming out, (#24545).
|
|
40676
|
-
const offset = (axis.chart.polar ||
|
|
40749
|
+
const offset = (selection || axis.chart.polar ||
|
|
40750
|
+
(axis.isOrdinal && scale <= 1)) ?
|
|
40677
40751
|
0 :
|
|
40678
40752
|
(minPointOffset * pointRangeDirection || 0), eventMin = axis.toValue(minPx, true), eventMax = axis.toValue(minPx + len / scale, true);
|
|
40679
40753
|
let newMin = eventMin + offset, newMax = eventMax - offset, allExtremes = axis.allExtremes;
|
|
40680
|
-
if (selection) {
|
|
40681
|
-
selection[axis.coll].push({
|
|
40682
|
-
axis,
|
|
40683
|
-
min: Math.min(eventMin, eventMax),
|
|
40684
|
-
max: Math.max(eventMin, eventMax)
|
|
40685
|
-
});
|
|
40686
|
-
}
|
|
40687
40754
|
if (newMin > newMax) {
|
|
40688
40755
|
[newMin, newMax] = [newMax, newMin];
|
|
40689
40756
|
}
|
|
@@ -40740,14 +40807,15 @@ class Chart {
|
|
|
40740
40807
|
}
|
|
40741
40808
|
// Set new extremes if they are actually new
|
|
40742
40809
|
if (reset || (axis.series.length &&
|
|
40743
|
-
(
|
|
40744
|
-
|
|
40745
|
-
|
|
40810
|
+
(selection ||
|
|
40811
|
+
((newMin !== min || newMax !== max) &&
|
|
40812
|
+
newMin >= floor &&
|
|
40813
|
+
newMax <= ceiling)))) {
|
|
40746
40814
|
if (selection) {
|
|
40747
40815
|
selection[axis.coll].push({
|
|
40748
40816
|
axis,
|
|
40749
|
-
min:
|
|
40750
|
-
max:
|
|
40817
|
+
min: Math.min(eventMin, eventMax),
|
|
40818
|
+
max: Math.max(eventMin, eventMax)
|
|
40751
40819
|
});
|
|
40752
40820
|
}
|
|
40753
40821
|
else {
|
|
@@ -40755,11 +40823,14 @@ class Chart {
|
|
|
40755
40823
|
// disallow certain axis padding options that would make
|
|
40756
40824
|
// panning/zooming hard. Reset and redraw after the
|
|
40757
40825
|
// operation has finished.
|
|
40758
|
-
axis.isPanning = trigger !== 'zoom'
|
|
40826
|
+
axis.isPanning = trigger !== 'zoom' &&
|
|
40827
|
+
trigger !== 'drop';
|
|
40759
40828
|
if (axis.isPanning && trigger !== 'mousewheel') {
|
|
40760
40829
|
isAnyAxisPanning = true; // #21319
|
|
40761
40830
|
}
|
|
40762
|
-
|
|
40831
|
+
if (trigger !== 'drop') {
|
|
40832
|
+
axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
|
|
40833
|
+
}
|
|
40763
40834
|
if (!reset &&
|
|
40764
40835
|
(newMin > floor || newMax < ceiling)) {
|
|
40765
40836
|
displayButton = allowResetButton;
|
|
@@ -40790,7 +40861,8 @@ class Chart {
|
|
|
40790
40861
|
});
|
|
40791
40862
|
}
|
|
40792
40863
|
else {
|
|
40793
|
-
// Show or hide the Reset zoom button, but not while
|
|
40864
|
+
// Show or hide the Reset zoom button, but not while
|
|
40865
|
+
// panning.
|
|
40794
40866
|
if (displayButton &&
|
|
40795
40867
|
!isAnyAxisPanning &&
|
|
40796
40868
|
!this.resetZoomButton) {
|
|
@@ -41032,7 +41104,6 @@ extend(Chart.prototype, {
|
|
|
41032
41104
|
*/
|
|
41033
41105
|
|
|
41034
41106
|
|
|
41035
|
-
const { stop: ScrollablePlotArea_stop } = AnimationUtilities;
|
|
41036
41107
|
|
|
41037
41108
|
const { composed: ScrollablePlotArea_composed } = Core_Globals;
|
|
41038
41109
|
|
|
@@ -41198,7 +41269,7 @@ class ScrollablePlotArea {
|
|
|
41198
41269
|
this.moveFixedElements();
|
|
41199
41270
|
}
|
|
41200
41271
|
// Increase the size of the scrollable renderer and background
|
|
41201
|
-
|
|
41272
|
+
stop(chart.container);
|
|
41202
41273
|
css(container, {
|
|
41203
41274
|
width: `${scrollableWidth}px`,
|
|
41204
41275
|
height: `${scrollableHeight}px`
|
|
@@ -41355,6 +41426,13 @@ ScrollablePlotArea.fixedSelectors = [
|
|
|
41355
41426
|
* vertical scrolling, depending on whether the `minWidth` or `minHeight`
|
|
41356
41427
|
* option is set.
|
|
41357
41428
|
*
|
|
41429
|
+
* **Note:** Because native browser scrollbars are used, they may
|
|
41430
|
+
* overlap with fixed chart elements such as credits or the chart
|
|
41431
|
+
* border. To avoid this collision, it is recommended to manually add
|
|
41432
|
+
* extra space to the corresponding side using `chart.spacingBottom`
|
|
41433
|
+
* (for horizontal scrollbars) or `chart.spacingRight` (for vertical
|
|
41434
|
+
* scrollbars).
|
|
41435
|
+
*
|
|
41358
41436
|
* @sample highcharts/chart/scrollable-plotarea
|
|
41359
41437
|
* Scrollable plot area
|
|
41360
41438
|
* @sample highcharts/chart/scrollable-plotarea-vertical
|
|
@@ -41705,7 +41783,6 @@ class StackItem {
|
|
|
41705
41783
|
* */
|
|
41706
41784
|
|
|
41707
41785
|
|
|
41708
|
-
const { getDeferredAnimation: StackingAxis_getDeferredAnimation } = AnimationUtilities;
|
|
41709
41786
|
|
|
41710
41787
|
const { series: { prototype: seriesProto } } = Series_SeriesRegistry;
|
|
41711
41788
|
|
|
@@ -42049,7 +42126,7 @@ class AxisAdditions {
|
|
|
42049
42126
|
}
|
|
42050
42127
|
/** @internal */
|
|
42051
42128
|
renderStackTotals() {
|
|
42052
|
-
const stacking = this, axis = stacking.axis, chart = axis.chart, renderer = chart.renderer, stacks = stacking.stacks, stackLabelsAnim = axis.options.stackLabels?.animation, animationConfig =
|
|
42129
|
+
const stacking = this, axis = stacking.axis, chart = axis.chart, renderer = chart.renderer, stacks = stacking.stacks, stackLabelsAnim = axis.options.stackLabels?.animation, animationConfig = getDeferredAnimation(chart, stackLabelsAnim || false), stackTotalGroup = stacking.stackTotalGroup = (stacking.stackTotalGroup ||
|
|
42053
42130
|
renderer
|
|
42054
42131
|
.g('stack-labels')
|
|
42055
42132
|
.attr({
|
|
@@ -43802,6 +43879,8 @@ const ColumnSeriesDefaults = {
|
|
|
43802
43879
|
* 0.25
|
|
43803
43880
|
* @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/
|
|
43804
43881
|
* 0 for tightly packed columns
|
|
43882
|
+
* @sample {highcharts} highcharts/plotoptions/pie-pointpadding/
|
|
43883
|
+
* Pie point padding plugin
|
|
43805
43884
|
*
|
|
43806
43885
|
* @product highcharts highstock gantt
|
|
43807
43886
|
*/
|
|
@@ -44133,12 +44212,12 @@ const ColumnSeriesDefaults = {
|
|
|
44133
44212
|
*/
|
|
44134
44213
|
/**
|
|
44135
44214
|
* @excluding halo, lineWidth, lineWidthPlus, marker
|
|
44136
|
-
* @product highcharts highstock
|
|
44215
|
+
* @product highcharts highstock gantt
|
|
44137
44216
|
* @apioption series.column.states.hover
|
|
44138
44217
|
*/
|
|
44139
44218
|
/**
|
|
44140
44219
|
* @excluding halo, lineWidth, lineWidthPlus, marker
|
|
44141
|
-
* @product highcharts highstock
|
|
44220
|
+
* @product highcharts highstock gantt
|
|
44142
44221
|
* @apioption series.column.states.select
|
|
44143
44222
|
*/
|
|
44144
44223
|
/**
|
|
@@ -44168,7 +44247,6 @@ const ColumnSeriesDefaults = {
|
|
|
44168
44247
|
* */
|
|
44169
44248
|
|
|
44170
44249
|
|
|
44171
|
-
const { animObject: ColumnSeries_animObject } = AnimationUtilities;
|
|
44172
44250
|
|
|
44173
44251
|
const { parse: ColumnSeries_color } = Color_Color;
|
|
44174
44252
|
|
|
@@ -44239,7 +44317,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44239
44317
|
}
|
|
44240
44318
|
else { // Run the animation
|
|
44241
44319
|
translateStart = Number(series.group.attr(translateProp));
|
|
44242
|
-
series.group.animate({ scaleY: 1 }, extend(
|
|
44320
|
+
series.group.animate({ scaleY: 1 }, extend(animObject(series.options.animation), {
|
|
44243
44321
|
// Do the scale synchronously to ensure smooth
|
|
44244
44322
|
// updating (#5030, #7228)
|
|
44245
44323
|
step: function (val, fx) {
|
|
@@ -44575,11 +44653,11 @@ class ColumnSeries extends Series_Series {
|
|
|
44575
44653
|
*/
|
|
44576
44654
|
pointAttribs(point, state) {
|
|
44577
44655
|
const options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
|
|
44578
|
-
let stateOptions, zone, brightness, fill =
|
|
44656
|
+
let stateOptions, zone, brightness, fill = point?.color || this.color,
|
|
44579
44657
|
// Set to fill when borderColor null:
|
|
44580
|
-
stroke = (
|
|
44658
|
+
stroke = (point?.[strokeOption] ||
|
|
44581
44659
|
options[strokeOption] ||
|
|
44582
|
-
fill), dashstyle =
|
|
44660
|
+
fill), dashstyle = point?.options.dashStyle || options.dashStyle, strokeWidth = point?.[strokeWidthOption] ??
|
|
44583
44661
|
options[strokeWidthOption] ??
|
|
44584
44662
|
this[strokeWidthOption] ?? 1, opacity = (point?.isNull && options.nullInteraction) ?
|
|
44585
44663
|
0 :
|
|
@@ -44600,7 +44678,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44600
44678
|
}
|
|
44601
44679
|
// Select or hover states
|
|
44602
44680
|
if (state && point) {
|
|
44603
|
-
stateOptions = merge(options.states[state],
|
|
44681
|
+
stateOptions = merge(options.states?.[state],
|
|
44604
44682
|
// #6401
|
|
44605
44683
|
point.options.states?.[state] || {});
|
|
44606
44684
|
brightness = stateOptions.brightness;
|
|
@@ -44610,14 +44688,13 @@ class ColumnSeries extends Series_Series {
|
|
|
44610
44688
|
.brighten(stateOptions.brightness)
|
|
44611
44689
|
.get()) || fill;
|
|
44612
44690
|
stroke = stateOptions[strokeOption] || stroke;
|
|
44613
|
-
strokeWidth =
|
|
44614
|
-
stateOptions[strokeWidthOption] || strokeWidth;
|
|
44691
|
+
strokeWidth = stateOptions[strokeWidthOption] || strokeWidth;
|
|
44615
44692
|
dashstyle = stateOptions.dashStyle || dashstyle;
|
|
44616
|
-
opacity =
|
|
44693
|
+
opacity = stateOptions.opacity ?? opacity;
|
|
44617
44694
|
}
|
|
44618
44695
|
const ret = {
|
|
44619
|
-
fill
|
|
44620
|
-
stroke
|
|
44696
|
+
fill,
|
|
44697
|
+
stroke,
|
|
44621
44698
|
'stroke-width': strokeWidth,
|
|
44622
44699
|
opacity: point?.condemned ? 0 : opacity
|
|
44623
44700
|
};
|
|
@@ -44658,6 +44735,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44658
44735
|
initialAttr = merge(shapeArgs, point.getOrigin(point.origin, shapeArgs));
|
|
44659
44736
|
if (!styledMode) {
|
|
44660
44737
|
initialAttr.opacity = 0;
|
|
44738
|
+
initialAttr['stroke-width'] = 0;
|
|
44661
44739
|
}
|
|
44662
44740
|
shouldUpdate = true;
|
|
44663
44741
|
verb = 'animate';
|
|
@@ -44673,7 +44751,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44673
44751
|
}
|
|
44674
44752
|
// Presentational
|
|
44675
44753
|
if (!styledMode) {
|
|
44676
|
-
graphic[verb](series.pointAttribs(point,
|
|
44754
|
+
graphic[verb](series.pointAttribs(point, point.selected ? 'select' : ''))
|
|
44677
44755
|
.shadow(point.allowShadow !== false && options.shadow);
|
|
44678
44756
|
}
|
|
44679
44757
|
graphic
|
|
@@ -44797,6 +44875,7 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
|
|
|
44797
44875
|
* Default Export
|
|
44798
44876
|
*
|
|
44799
44877
|
* */
|
|
44878
|
+
/** @internal */
|
|
44800
44879
|
/* harmony default export */ const Column_ColumnSeries = (ColumnSeries);
|
|
44801
44880
|
/* *
|
|
44802
44881
|
*
|
|
@@ -44833,7 +44912,6 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
|
|
|
44833
44912
|
* */
|
|
44834
44913
|
|
|
44835
44914
|
|
|
44836
|
-
const { getDeferredAnimation: DataLabel_getDeferredAnimation } = AnimationUtilities;
|
|
44837
44915
|
|
|
44838
44916
|
const { format: DataLabel_format } = Core_Templating;
|
|
44839
44917
|
|
|
@@ -45150,7 +45228,7 @@ var DataLabel;
|
|
|
45150
45228
|
'var(--highcharts-background-color)'), groupByIndex = [], seriesDlOptions = mergedDataLabelOptions(series);
|
|
45151
45229
|
// Resolve the animation
|
|
45152
45230
|
const { animation, defer } = seriesDlOptions[0], animationConfig = defer ?
|
|
45153
|
-
|
|
45231
|
+
getDeferredAnimation(chart, animation, series) :
|
|
45154
45232
|
{ defer: 0, duration: 0 };
|
|
45155
45233
|
fireEvent(this, 'drawDataLabels');
|
|
45156
45234
|
if (series.hasDataLabels?.()) {
|
|
@@ -45916,6 +45994,8 @@ const ScatterSeriesDefaults = {
|
|
|
45916
45994
|
* Arrays of datetime x and y
|
|
45917
45995
|
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
|
45918
45996
|
* Arrays of point.name and y
|
|
45997
|
+
* @sample {highcharts} highcharts/series-scatter/scatter-cluster/
|
|
45998
|
+
* Computed clusters
|
|
45919
45999
|
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
|
45920
46000
|
* Config objects
|
|
45921
46001
|
*
|
|
@@ -46064,7 +46144,7 @@ Series_SeriesRegistry.registerSeriesType('scatter', ScatterSeries);
|
|
|
46064
46144
|
const { deg2rad: CenteredUtilities_deg2rad } = Core_Globals;
|
|
46065
46145
|
|
|
46066
46146
|
/**
|
|
46067
|
-
* @
|
|
46147
|
+
* @internal
|
|
46068
46148
|
*/
|
|
46069
46149
|
var CenteredUtilities;
|
|
46070
46150
|
(function (CenteredUtilities) {
|
|
@@ -46082,7 +46162,7 @@ var CenteredUtilities;
|
|
|
46082
46162
|
* Get the center of the pie based on the size and center options relative
|
|
46083
46163
|
* to the plot area. Borrowed by the polar and gauge series types.
|
|
46084
46164
|
*
|
|
46085
|
-
* @
|
|
46165
|
+
* @internal
|
|
46086
46166
|
* @function Highcharts.CenteredSeriesMixin.getCenter
|
|
46087
46167
|
*/
|
|
46088
46168
|
function getCenter() {
|
|
@@ -46127,7 +46207,7 @@ var CenteredUtilities;
|
|
|
46127
46207
|
* GetStartAndEndRadians - Calculates start and end angles in radians.
|
|
46128
46208
|
* Used in series types such as pie and sunburst.
|
|
46129
46209
|
*
|
|
46130
|
-
* @
|
|
46210
|
+
* @internal
|
|
46131
46211
|
* @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
|
|
46132
46212
|
*
|
|
46133
46213
|
* @param {number} [start]
|
|
@@ -46159,6 +46239,7 @@ var CenteredUtilities;
|
|
|
46159
46239
|
* Default Export
|
|
46160
46240
|
*
|
|
46161
46241
|
* */
|
|
46242
|
+
/** @internal */
|
|
46162
46243
|
/* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
|
|
46163
46244
|
/* *
|
|
46164
46245
|
*
|
|
@@ -46166,7 +46247,7 @@ var CenteredUtilities;
|
|
|
46166
46247
|
*
|
|
46167
46248
|
* */
|
|
46168
46249
|
/**
|
|
46169
|
-
* @
|
|
46250
|
+
* @internal
|
|
46170
46251
|
* @interface Highcharts.RadianAngles
|
|
46171
46252
|
*/ /**
|
|
46172
46253
|
* @name Highcharts.RadianAngles#end
|
|
@@ -46191,7 +46272,6 @@ var CenteredUtilities;
|
|
|
46191
46272
|
* */
|
|
46192
46273
|
|
|
46193
46274
|
|
|
46194
|
-
const { setAnimation: PiePoint_setAnimation } = AnimationUtilities;
|
|
46195
46275
|
|
|
46196
46276
|
|
|
46197
46277
|
/* *
|
|
@@ -46299,7 +46379,7 @@ class PiePoint extends Series_Point {
|
|
|
46299
46379
|
*/
|
|
46300
46380
|
slice(sliced, redraw, animation) {
|
|
46301
46381
|
const series = this.series, chart = series.chart;
|
|
46302
|
-
|
|
46382
|
+
setAnimation(animation, chart);
|
|
46303
46383
|
// Redraw is true by default
|
|
46304
46384
|
redraw = pick(redraw, true);
|
|
46305
46385
|
this.sliced = this.options.sliced = sliced ?? !this.sliced;
|
|
@@ -48437,7 +48517,7 @@ function BorderRadius_arc(x, y, w, h, options = {}) {
|
|
|
48437
48517
|
if (options.open || !options.borderRadius) {
|
|
48438
48518
|
return path;
|
|
48439
48519
|
}
|
|
48440
|
-
const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius
|
|
48520
|
+
const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
|
|
48441
48521
|
// Cap to half the sector radius
|
|
48442
48522
|
(r - innerR) / 2,
|
|
48443
48523
|
// For smaller pie slices, cap to the largest small circle that
|
|
@@ -48463,7 +48543,7 @@ function seriesOnAfterColumnTranslate() {
|
|
|
48463
48543
|
if (this.options.borderRadius &&
|
|
48464
48544
|
!(this.chart.is3d && this.chart.is3d())) {
|
|
48465
48545
|
const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
|
|
48466
|
-
?.borderRadius, borderRadius =
|
|
48546
|
+
?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
|
|
48467
48547
|
for (const point of this.points) {
|
|
48468
48548
|
const { shapeArgs } = point;
|
|
48469
48549
|
if (point.shapeType === 'roundedRect' && shapeArgs) {
|
|
@@ -48535,8 +48615,12 @@ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
|
|
|
48535
48615
|
symbols.roundedRect = BorderRadius_roundedRect;
|
|
48536
48616
|
}
|
|
48537
48617
|
}
|
|
48538
|
-
/**
|
|
48539
|
-
function
|
|
48618
|
+
/**
|
|
48619
|
+
* Utility function to get the full border radius options object, from a simple
|
|
48620
|
+
* number or a partial options object.
|
|
48621
|
+
* @internal
|
|
48622
|
+
*/
|
|
48623
|
+
function borderRadiusObject(options, seriesBROptions) {
|
|
48540
48624
|
if (!isObject(options)) {
|
|
48541
48625
|
options = { radius: options || 0 };
|
|
48542
48626
|
}
|
|
@@ -48544,7 +48628,7 @@ function optionsToObject(options, seriesBROptions) {
|
|
|
48544
48628
|
}
|
|
48545
48629
|
/** @internal */
|
|
48546
48630
|
function pieSeriesOnAfterTranslate() {
|
|
48547
|
-
const borderRadius =
|
|
48631
|
+
const borderRadius = borderRadiusObject(this.options.borderRadius);
|
|
48548
48632
|
for (const point of this.points) {
|
|
48549
48633
|
const shapeArgs = point.shapeArgs;
|
|
48550
48634
|
if (shapeArgs) {
|
|
@@ -48663,7 +48747,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48663
48747
|
* Column and pie with rounded border
|
|
48664
48748
|
*
|
|
48665
48749
|
* @name Highcharts.BorderRadiusOptionsObject#radius
|
|
48666
|
-
* @type {string|number}
|
|
48750
|
+
* @type {string|number|undefined}
|
|
48667
48751
|
*/ /**
|
|
48668
48752
|
* The scope of the rounding for column charts or plot bands. In a stacked
|
|
48669
48753
|
* column chart, the value `point` means each single point will get rounded
|
|
@@ -48678,8 +48762,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48678
48762
|
* Rounded columns
|
|
48679
48763
|
*
|
|
48680
48764
|
* @name Highcharts.BorderRadiusOptionsObject#scope
|
|
48681
|
-
* @
|
|
48682
|
-
* @type {string}
|
|
48765
|
+
* @type {"individual"|"point"|"stack"|undefined}
|
|
48683
48766
|
*/ /**
|
|
48684
48767
|
* For column charts, where in the point or stack to apply rounding. The `end`
|
|
48685
48768
|
* value means only those corners at the point value will be rounded, leaving
|
|
@@ -48690,8 +48773,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48690
48773
|
* Rounding on all corners
|
|
48691
48774
|
*
|
|
48692
48775
|
* @name Highcharts.BorderRadiusOptionsObject#where
|
|
48693
|
-
* @
|
|
48694
|
-
* @type {string}
|
|
48776
|
+
* @type {"all"|"end"|undefined}
|
|
48695
48777
|
* @default end
|
|
48696
48778
|
*/
|
|
48697
48779
|
(''); // Keeps doclets above in JS file
|
|
@@ -48967,7 +49049,7 @@ var Responsive;
|
|
|
48967
49049
|
;// ./code/es-modules/masters/highcharts.src.js
|
|
48968
49050
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
48969
49051
|
/**
|
|
48970
|
-
* @license Highcharts JS v13.0.
|
|
49052
|
+
* @license Highcharts JS v13.0.1 (2026-08-17)
|
|
48971
49053
|
* @module highcharts/highcharts
|
|
48972
49054
|
*
|
|
48973
49055
|
* (c) 2009-2026 Highsoft AS
|
|
@@ -49048,8 +49130,8 @@ G.Time = Core_Time;
|
|
|
49048
49130
|
G.Tooltip = Core_Tooltip;
|
|
49049
49131
|
// Utilities
|
|
49050
49132
|
G.addEvent = addEvent;
|
|
49051
|
-
G.animObject =
|
|
49052
|
-
G.animate =
|
|
49133
|
+
G.animObject = animObject;
|
|
49134
|
+
G.animate = animate;
|
|
49053
49135
|
G.arrayMax = arrayMax;
|
|
49054
49136
|
G.arrayMin = arrayMin;
|
|
49055
49137
|
G.attr = attr;
|
|
@@ -49076,7 +49158,7 @@ G.fireEvent = fireEvent;
|
|
|
49076
49158
|
G.format = Core_Templating.format;
|
|
49077
49159
|
G.getAlignFactor = getAlignFactor;
|
|
49078
49160
|
G.getClosestDistance = getClosestDistance;
|
|
49079
|
-
G.getDeferredAnimation =
|
|
49161
|
+
G.getDeferredAnimation = getDeferredAnimation;
|
|
49080
49162
|
G.getMagnitude = getMagnitude;
|
|
49081
49163
|
G.getNestedProperty = getNestedProperty;
|
|
49082
49164
|
G.getOptions = Defaults.getOptions;
|
|
@@ -49103,11 +49185,11 @@ G.relativeLength = relativeLength;
|
|
|
49103
49185
|
G.removeEvent = removeEvent;
|
|
49104
49186
|
G.replaceNested = replaceNested;
|
|
49105
49187
|
G.seriesType = Series_SeriesRegistry.seriesType;
|
|
49106
|
-
G.setAnimation =
|
|
49188
|
+
G.setAnimation = setAnimation;
|
|
49107
49189
|
G.setOptions = Defaults.setOptions;
|
|
49108
49190
|
G.splat = splat;
|
|
49109
49191
|
G.stableSort = stableSort;
|
|
49110
|
-
G.stop =
|
|
49192
|
+
G.stop = stop;
|
|
49111
49193
|
G.syncTimeout = syncTimeout;
|
|
49112
49194
|
G.time = Defaults.defaultTime;
|
|
49113
49195
|
G.ucfirst = ucfirst;
|
|
@@ -49659,7 +49741,7 @@ const NavigatorDefaults = {
|
|
|
49659
49741
|
*
|
|
49660
49742
|
* @type {Highcharts.ColorType}
|
|
49661
49743
|
*/
|
|
49662
|
-
maskFill: 'color-mix(var(--highcharts-highlight-color-60) 30%, transparent)',
|
|
49744
|
+
maskFill: 'color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)', // eslint-disable-line max-len
|
|
49663
49745
|
/**
|
|
49664
49746
|
* The color of the line marking the currently zoomed area in the
|
|
49665
49747
|
* navigator.
|
|
@@ -49798,11 +49880,18 @@ const NavigatorDefaults = {
|
|
|
49798
49880
|
id: 'highcharts-navigator-series',
|
|
49799
49881
|
className: 'highcharts-navigator-series',
|
|
49800
49882
|
/**
|
|
49801
|
-
* Sets the
|
|
49883
|
+
* Sets the color of the navigator series.
|
|
49802
49884
|
*
|
|
49803
49885
|
* @type {Highcharts.ColorType}
|
|
49804
49886
|
* @apioption navigator.series.color
|
|
49805
49887
|
*/
|
|
49888
|
+
/**
|
|
49889
|
+
* Sets the fill color of the navigator series. Applies to series
|
|
49890
|
+
* types with a filled area, like the default `areaspline`.
|
|
49891
|
+
*
|
|
49892
|
+
* @type {Highcharts.ColorType}
|
|
49893
|
+
* @apioption navigator.series.fillColor
|
|
49894
|
+
*/
|
|
49806
49895
|
/**
|
|
49807
49896
|
* Line color for the navigator series. Allows setting the color
|
|
49808
49897
|
* while disallowing the default candlestick setting.
|
|
@@ -50002,6 +50091,7 @@ const NavigatorDefaults = {
|
|
|
50002
50091
|
|
|
50003
50092
|
|
|
50004
50093
|
|
|
50094
|
+
|
|
50005
50095
|
/* *
|
|
50006
50096
|
*
|
|
50007
50097
|
* Constants
|
|
@@ -50012,7 +50102,7 @@ const NavigatorDefaults = {
|
|
|
50012
50102
|
* @internal
|
|
50013
50103
|
*/
|
|
50014
50104
|
function navigatorHandle(_x, _y, width, height, options = {}) {
|
|
50015
|
-
const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(options.borderRadius
|
|
50105
|
+
const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(borderRadiusObject(options.borderRadius).radius, Math.min(halfWidth * 2, height));
|
|
50016
50106
|
height = options.height || height;
|
|
50017
50107
|
return [
|
|
50018
50108
|
['M', -markerPosition, height / 2 - 3.5],
|
|
@@ -52942,7 +53032,7 @@ class StandaloneNavigator {
|
|
|
52942
53032
|
if (!(axis instanceof Axis_Axis)) {
|
|
52943
53033
|
return;
|
|
52944
53034
|
}
|
|
52945
|
-
const { min, max } =
|
|
53035
|
+
const navigator = this.navigator, { min, max } = navigator.xAxis, removeEventCallbacks = [];
|
|
52946
53036
|
if (twoWay) {
|
|
52947
53037
|
const removeSetExtremesEvent = addEvent(axis, 'setExtremes', (e) => {
|
|
52948
53038
|
if (e.trigger === 'pan' ||
|
|
@@ -52955,7 +53045,7 @@ class StandaloneNavigator {
|
|
|
52955
53045
|
});
|
|
52956
53046
|
removeEventCallbacks.push(removeSetExtremesEvent);
|
|
52957
53047
|
}
|
|
52958
|
-
const removeSetRangeEvent = addEvent(
|
|
53048
|
+
const removeSetRangeEvent = addEvent(navigator, 'setRange', (e) => {
|
|
52959
53049
|
axis.setExtremes(e.min, e.max, e.redraw, e.animation);
|
|
52960
53050
|
});
|
|
52961
53051
|
removeEventCallbacks.push(removeSetRangeEvent);
|
|
@@ -52964,6 +53054,13 @@ class StandaloneNavigator {
|
|
|
52964
53054
|
})[0];
|
|
52965
53055
|
if (!boundAxis) {
|
|
52966
53056
|
boundAxis = { axis, callbacks: [] };
|
|
53057
|
+
// A navigator bound to a yAxis defines the full range the axis
|
|
53058
|
+
// should cover. Stash the axis' own bounds before overriding them,
|
|
53059
|
+
// so `unbind` can restore them, #24716
|
|
53060
|
+
if (axis.coll === 'yAxis') {
|
|
53061
|
+
boundAxis.oldMin = axis.options.min ?? axis.min;
|
|
53062
|
+
boundAxis.oldMax = axis.options.max ?? axis.max;
|
|
53063
|
+
}
|
|
52967
53064
|
this.boundAxes.push(boundAxis);
|
|
52968
53065
|
}
|
|
52969
53066
|
boundAxis.callbacks = removeEventCallbacks;
|
|
@@ -52973,6 +53070,12 @@ class StandaloneNavigator {
|
|
|
52973
53070
|
nav.addSeries(series.options);
|
|
52974
53071
|
}
|
|
52975
53072
|
});
|
|
53073
|
+
// Bind a yAxis to the navigator's full range so vertical panning isn't
|
|
53074
|
+
// capped at the series' data extremes, #24716
|
|
53075
|
+
if (axis.coll === 'yAxis') {
|
|
53076
|
+
const { dataMin, dataMax } = navigator.xAxis.getExtremes();
|
|
53077
|
+
axis.update({ min: dataMin, max: dataMax }, false);
|
|
53078
|
+
}
|
|
52976
53079
|
// Set extremes to match the navigator's extremes
|
|
52977
53080
|
axis.setExtremes(min, max);
|
|
52978
53081
|
// Unbind the axis before it's destroyed
|
|
@@ -52994,12 +53097,15 @@ class StandaloneNavigator {
|
|
|
52994
53097
|
* Passing a Chart object unbinds the first X axis of the chart,
|
|
52995
53098
|
* an Axis object unbinds that specific axis,
|
|
52996
53099
|
* and undefined unbinds all axes bound to the navigator.
|
|
53100
|
+
* @param {boolean} restoreExtremes
|
|
53101
|
+
* Whether to restore the axis' original min/max that were
|
|
53102
|
+
* overridden when binding a yAxis.
|
|
52997
53103
|
*/
|
|
52998
|
-
unbind(axisOrChart) {
|
|
53104
|
+
unbind(axisOrChart, restoreExtremes) {
|
|
52999
53105
|
// If no axis or chart is provided, unbind all bound axes
|
|
53000
53106
|
if (!axisOrChart) {
|
|
53001
|
-
this.boundAxes.forEach((
|
|
53002
|
-
|
|
53107
|
+
this.boundAxes.forEach((boundAxis) => {
|
|
53108
|
+
this.releaseAxis(boundAxis, restoreExtremes);
|
|
53003
53109
|
});
|
|
53004
53110
|
this.boundAxes.length = 0;
|
|
53005
53111
|
return;
|
|
@@ -53009,20 +53115,45 @@ class StandaloneNavigator {
|
|
|
53009
53115
|
axisOrChart.xAxis[0];
|
|
53010
53116
|
for (let i = this.boundAxes.length - 1; i >= 0; i--) {
|
|
53011
53117
|
if (this.boundAxes[i].axis === axis) {
|
|
53012
|
-
this.boundAxes[i]
|
|
53118
|
+
this.releaseAxis(this.boundAxes[i], restoreExtremes);
|
|
53013
53119
|
this.boundAxes.splice(i, 1);
|
|
53014
53120
|
}
|
|
53015
53121
|
}
|
|
53016
53122
|
}
|
|
53123
|
+
/**
|
|
53124
|
+
* Disconnect a bound axis' events and restore the axis' own bounds that
|
|
53125
|
+
* were overridden when binding a yAxis.
|
|
53126
|
+
*
|
|
53127
|
+
* @internal
|
|
53128
|
+
*
|
|
53129
|
+
* @param {BoundAxis} boundAxis
|
|
53130
|
+
* The bound axis entry to release.
|
|
53131
|
+
* @param {boolean} [restoreExtremes=false]
|
|
53132
|
+
* Whether to restore the axis' original min/max that were
|
|
53133
|
+
* overridden when binding a yAxis.
|
|
53134
|
+
*/
|
|
53135
|
+
releaseAxis(boundAxis, restoreExtremes = false) {
|
|
53136
|
+
// Disconnect events
|
|
53137
|
+
boundAxis.callbacks.forEach((removeCallback) => removeCallback());
|
|
53138
|
+
// Restore the axis' original min/max that were overridden in `bind`
|
|
53139
|
+
if (boundAxis.axis.coll === 'yAxis' && restoreExtremes) {
|
|
53140
|
+
const min = boundAxis.oldMin ?? void 0, max = boundAxis.oldMax ?? void 0;
|
|
53141
|
+
boundAxis.axis.update({ min, max }, false);
|
|
53142
|
+
boundAxis.axis.setExtremes(min, max);
|
|
53143
|
+
}
|
|
53144
|
+
}
|
|
53017
53145
|
/**
|
|
53018
53146
|
* Destroys allocated standalone navigator elements.
|
|
53019
53147
|
*
|
|
53020
53148
|
* @function Highcharts.StandaloneNavigator#destroy
|
|
53149
|
+
*
|
|
53150
|
+
* @param {boolean} restoreExtremes
|
|
53151
|
+
* Whether to restore the axis' original min/max that were
|
|
53152
|
+
* overridden when binding a yAxis.
|
|
53021
53153
|
*/
|
|
53022
|
-
destroy() {
|
|
53023
|
-
|
|
53024
|
-
|
|
53025
|
-
callbacks.forEach((removeCallback) => removeCallback());
|
|
53154
|
+
destroy(restoreExtremes) {
|
|
53155
|
+
this.boundAxes.forEach((boundAxis) => {
|
|
53156
|
+
this.releaseAxis(boundAxis, restoreExtremes);
|
|
53026
53157
|
});
|
|
53027
53158
|
this.boundAxes.length = 0;
|
|
53028
53159
|
this.navigator.destroy();
|
|
@@ -53169,9 +53300,10 @@ class StandaloneNavigator {
|
|
|
53169
53300
|
''; // Detach doclets above
|
|
53170
53301
|
|
|
53171
53302
|
;// ./code/es-modules/masters/modules/navigator.src.js
|
|
53303
|
+
/* unused harmony import specifier */ var Highcharts;
|
|
53172
53304
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
53173
53305
|
/**
|
|
53174
|
-
* @license Highcharts JS v13.0.
|
|
53306
|
+
* @license Highcharts JS v13.0.1 (2026-08-17)
|
|
53175
53307
|
* @module highcharts/modules/navigator
|
|
53176
53308
|
* @requires highcharts
|
|
53177
53309
|
*
|