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
package/highcharts.src.js
CHANGED
|
@@ -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/highcharts
|
|
5
5
|
*
|
|
6
6
|
* (c) 2009-2026 Highsoft AS
|
|
@@ -21,16 +21,31 @@
|
|
|
21
21
|
return /******/ (() => { // webpackBootstrap
|
|
22
22
|
/******/ "use strict";
|
|
23
23
|
/******/ // The require scope
|
|
24
|
-
/******/
|
|
24
|
+
/******/ const __webpack_require__ = {};
|
|
25
25
|
/******/
|
|
26
26
|
/************************************************************************/
|
|
27
27
|
/******/ /* webpack/runtime/define property getters */
|
|
28
28
|
/******/ (() => {
|
|
29
|
-
/******/ // define getter functions for harmony exports
|
|
29
|
+
/******/ // define getter/value functions for harmony exports
|
|
30
30
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
31
|
-
/******/
|
|
32
|
-
/******/
|
|
33
|
-
/******/
|
|
31
|
+
/******/ if(Array.isArray(definition)) {
|
|
32
|
+
/******/ var i = 0;
|
|
33
|
+
/******/ while(i < definition.length) {
|
|
34
|
+
/******/ var key = definition[i++];
|
|
35
|
+
/******/ var binding = definition[i++];
|
|
36
|
+
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
37
|
+
/******/ if(binding === 0) {
|
|
38
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
39
|
+
/******/ } else {
|
|
40
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
41
|
+
/******/ }
|
|
42
|
+
/******/ } else if(binding === 0) { i++; }
|
|
43
|
+
/******/ }
|
|
44
|
+
/******/ } else {
|
|
45
|
+
/******/ for(var key in definition) {
|
|
46
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
47
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
48
|
+
/******/ }
|
|
34
49
|
/******/ }
|
|
35
50
|
/******/ }
|
|
36
51
|
/******/ };
|
|
@@ -42,7 +57,7 @@ return /******/ (() => { // webpackBootstrap
|
|
|
42
57
|
/******/ })();
|
|
43
58
|
/******/
|
|
44
59
|
/************************************************************************/
|
|
45
|
-
|
|
60
|
+
let __webpack_exports__ = {};
|
|
46
61
|
|
|
47
62
|
// EXPORTS
|
|
48
63
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -78,7 +93,7 @@ var Globals;
|
|
|
78
93
|
* Constants
|
|
79
94
|
*
|
|
80
95
|
* */
|
|
81
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.
|
|
96
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.1', Globals.win = (typeof window !== 'undefined' ?
|
|
82
97
|
window :
|
|
83
98
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
84
99
|
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 = [
|
|
@@ -993,7 +1008,7 @@ const ChartDefaults = {
|
|
|
993
1008
|
* @type {Highcharts.ColorType}
|
|
994
1009
|
* @since 2.1.7
|
|
995
1010
|
*/
|
|
996
|
-
selectionMarkerFill: 'color-mix(var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
|
|
1011
|
+
selectionMarkerFill: 'color-mix(in srgb, var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
|
|
997
1012
|
/**
|
|
998
1013
|
* Whether to apply a drop shadow to the global series group. This causes
|
|
999
1014
|
* all the series to have the same shadow. Contrary to the `series.shadow`
|
|
@@ -3956,17 +3971,16 @@ class TimeBase {
|
|
|
3956
3971
|
// eslint-disable-next-line new-cap
|
|
3957
3972
|
let d = this.Date.UTC(year, month, date, hours, minutes || 0, seconds || 0, milliseconds || 0);
|
|
3958
3973
|
if (this.timezone !== 'UTC') {
|
|
3959
|
-
const offset = this.getTimezoneOffset(d);
|
|
3974
|
+
const offset = this.getTimezoneOffset(d), localHours = (hours - offset / timeUnits.hour + 24) % 24;
|
|
3960
3975
|
d += offset;
|
|
3961
|
-
// Adjustments close to DST transitions
|
|
3962
3976
|
if (
|
|
3963
|
-
//
|
|
3964
|
-
//
|
|
3977
|
+
// Limit the number of calls to `getTimezoneOffset` to months
|
|
3978
|
+
// where DST changes may occur. According to
|
|
3965
3979
|
// https://en.wikipedia.org/wiki/Daylight_saving_time_by_country,
|
|
3966
3980
|
// DST change may only occur in these months.
|
|
3967
3981
|
[2, 3, 8, 9, 10, 11].indexOf(month) !== -1 &&
|
|
3968
|
-
// DST
|
|
3969
|
-
(
|
|
3982
|
+
// DST changes only occur at night (#24420)
|
|
3983
|
+
(localHours < 5 || localHours > 20)) {
|
|
3970
3984
|
const newOffset = this.getTimezoneOffset(d);
|
|
3971
3985
|
if (offset !== newOffset) {
|
|
3972
3986
|
d += newOffset - offset;
|
|
@@ -6703,6 +6717,9 @@ const defaultOptions = {
|
|
|
6703
6717
|
* below the column, but as `followTouchMove` is true, the tooltip will
|
|
6704
6718
|
* jump from column to column as the user swipes across the plot area.
|
|
6705
6719
|
*
|
|
6720
|
+
* @sample {highcharts} highcharts/tooltip/followtouchmove/
|
|
6721
|
+
* Tooltip follows touch move
|
|
6722
|
+
*
|
|
6706
6723
|
* @type {boolean}
|
|
6707
6724
|
* @default {highcharts} true
|
|
6708
6725
|
* @default {highstock} true
|
|
@@ -7485,10 +7502,14 @@ const defaultOptions = {
|
|
|
7485
7502
|
* @type {Highcharts.CSSObject}
|
|
7486
7503
|
*/
|
|
7487
7504
|
style: {
|
|
7488
|
-
/**
|
|
7505
|
+
/**
|
|
7506
|
+
* @type {Highcharts.ColorType}
|
|
7507
|
+
*/
|
|
7489
7508
|
color: 'var(--highcharts-neutral-color-80)',
|
|
7490
7509
|
cursor: 'default',
|
|
7491
|
-
/**
|
|
7510
|
+
/**
|
|
7511
|
+
* @type {number|string}
|
|
7512
|
+
*/
|
|
7492
7513
|
fontSize: '0.8em'
|
|
7493
7514
|
},
|
|
7494
7515
|
/**
|
|
@@ -8411,24 +8432,22 @@ class Fx {
|
|
|
8411
8432
|
*/
|
|
8412
8433
|
update() {
|
|
8413
8434
|
const elem = this.elem, prop = this.prop, // If destroyed, it is null
|
|
8414
|
-
now = this.now, step = this.options.step;
|
|
8435
|
+
now = this.now ?? 1, step = this.options.step;
|
|
8415
8436
|
// Animation setter defined from outside
|
|
8416
8437
|
if (this[prop + 'Setter']) {
|
|
8417
8438
|
this[prop + 'Setter']();
|
|
8418
8439
|
// Other animations on SVGElement
|
|
8419
8440
|
}
|
|
8420
|
-
else if (elem.attr) {
|
|
8441
|
+
else if (elem && elem.attr) {
|
|
8421
8442
|
if (elem.element) {
|
|
8422
|
-
elem.attr(prop, now,
|
|
8443
|
+
elem.attr(prop, now, void 0, true);
|
|
8423
8444
|
}
|
|
8424
8445
|
// HTML styles, raw HTML content like container size
|
|
8425
8446
|
}
|
|
8426
|
-
else {
|
|
8427
|
-
elem.style[prop] = now + this.unit;
|
|
8428
|
-
}
|
|
8429
|
-
if (step) {
|
|
8430
|
-
step.call(elem, now, this);
|
|
8447
|
+
else if (elem) {
|
|
8448
|
+
elem.style[prop] = now + (this.unit || '');
|
|
8431
8449
|
}
|
|
8450
|
+
step?.call(elem, now, this);
|
|
8432
8451
|
}
|
|
8433
8452
|
/**
|
|
8434
8453
|
* Run an animation.
|
|
@@ -8446,12 +8465,10 @@ class Fx {
|
|
|
8446
8465
|
*
|
|
8447
8466
|
*/
|
|
8448
8467
|
run(from, to, unit) {
|
|
8449
|
-
const
|
|
8450
|
-
return timer.stopped ? false : self.step(gotoEnd);
|
|
8451
|
-
}, requestAnimationFrame = Fx_win.requestAnimationFrame ||
|
|
8468
|
+
const { elem, options } = this, { complete, curAnim = {} } = options, timer = (gotoEnd) => (timer.stopped ? false : this.step(gotoEnd)), requestAnimationFrame = Fx_win.requestAnimationFrame ||
|
|
8452
8469
|
function (step) {
|
|
8453
8470
|
setTimeout(step, 13);
|
|
8454
|
-
}, step =
|
|
8471
|
+
}, step = () => {
|
|
8455
8472
|
for (let i = 0; i < Fx.timers.length; i++) {
|
|
8456
8473
|
if (!Fx.timers[i]()) {
|
|
8457
8474
|
Fx.timers.splice(i--, 1);
|
|
@@ -8461,11 +8478,11 @@ class Fx {
|
|
|
8461
8478
|
requestAnimationFrame(step);
|
|
8462
8479
|
}
|
|
8463
8480
|
};
|
|
8464
|
-
if (from === to && !
|
|
8465
|
-
delete
|
|
8466
|
-
if (
|
|
8467
|
-
Object.keys(
|
|
8468
|
-
|
|
8481
|
+
if (from === to && !elem['forceAnimate:' + this.prop]) {
|
|
8482
|
+
delete curAnim[this.prop];
|
|
8483
|
+
if (complete &&
|
|
8484
|
+
Object.keys(curAnim).length === 0) {
|
|
8485
|
+
complete.call(elem);
|
|
8469
8486
|
}
|
|
8470
8487
|
}
|
|
8471
8488
|
else { // #7166
|
|
@@ -8475,7 +8492,7 @@ class Fx {
|
|
|
8475
8492
|
this.unit = unit;
|
|
8476
8493
|
this.now = this.start;
|
|
8477
8494
|
this.pos = 0;
|
|
8478
|
-
timer.elem =
|
|
8495
|
+
timer.elem = elem;
|
|
8479
8496
|
timer.prop = this.prop;
|
|
8480
8497
|
if (timer() && Fx.timers.push(timer) === 1) {
|
|
8481
8498
|
requestAnimationFrame(step);
|
|
@@ -8496,7 +8513,8 @@ class Fx {
|
|
|
8496
8513
|
step(gotoEnd) {
|
|
8497
8514
|
const t = +new Date(), options = this.options, elem = this.elem, complete = options.complete, duration = options.duration, curAnim = options.curAnim;
|
|
8498
8515
|
let ret, done;
|
|
8499
|
-
|
|
8516
|
+
// #2616, element is destroyed
|
|
8517
|
+
if (elem?.attr && !elem.element) {
|
|
8500
8518
|
ret = false;
|
|
8501
8519
|
}
|
|
8502
8520
|
else if (gotoEnd || t >= duration + this.startTime) {
|
|
@@ -8786,6 +8804,11 @@ function getDeferredAnimation(chart, animation, series) {
|
|
|
8786
8804
|
/**
|
|
8787
8805
|
* The global animate method, which uses Fx to create individual animators.
|
|
8788
8806
|
*
|
|
8807
|
+
* @sample highcharts/members/renderer-basic
|
|
8808
|
+
* SVG elements with animation
|
|
8809
|
+
* @sample highcharts/members/animate
|
|
8810
|
+
* Animation without an owner element
|
|
8811
|
+
*
|
|
8789
8812
|
* @function Highcharts.animate
|
|
8790
8813
|
*
|
|
8791
8814
|
* @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
|
|
@@ -8801,14 +8824,12 @@ function getDeferredAnimation(chart, animation, series) {
|
|
|
8801
8824
|
*
|
|
8802
8825
|
* @return {void}
|
|
8803
8826
|
*/
|
|
8804
|
-
function animate(el, params, opt) {
|
|
8805
|
-
let start, unit = '', end, fx, args;
|
|
8827
|
+
function animate(el, params = { pos: 1 }, opt) {
|
|
8806
8828
|
if (!isObject(opt)) { // Number or undefined/null
|
|
8807
|
-
args = arguments;
|
|
8808
8829
|
opt = {
|
|
8809
|
-
duration:
|
|
8810
|
-
easing:
|
|
8811
|
-
complete:
|
|
8830
|
+
duration: arguments[2],
|
|
8831
|
+
easing: arguments[3],
|
|
8832
|
+
complete: arguments[4]
|
|
8812
8833
|
};
|
|
8813
8834
|
}
|
|
8814
8835
|
if (!isNumber(opt.duration)) {
|
|
@@ -8818,22 +8839,23 @@ function animate(el, params, opt) {
|
|
|
8818
8839
|
opt.easing :
|
|
8819
8840
|
(Math[opt.easing] || Math.easeInOutSine);
|
|
8820
8841
|
opt.curAnim = merge(params);
|
|
8821
|
-
objectEach(params,
|
|
8842
|
+
objectEach(params, (val, prop) => {
|
|
8822
8843
|
// Stop current running animation of this property
|
|
8823
|
-
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
|
|
8844
|
+
if (el) {
|
|
8845
|
+
stop(el, prop);
|
|
8846
|
+
}
|
|
8847
|
+
const fx = new Animation_Fx(el, opt, prop), d = params.d;
|
|
8848
|
+
let start = 0, end = void 0, unit = '';
|
|
8849
|
+
if (prop === 'd' && isArray(d)) {
|
|
8850
|
+
fx.paths = fx.initPath(el, el.pathArray, d);
|
|
8851
|
+
fx.toD = d;
|
|
8830
8852
|
end = 1;
|
|
8831
8853
|
}
|
|
8832
|
-
else if (el
|
|
8854
|
+
else if (el?.attr) {
|
|
8833
8855
|
start = el.attr(prop);
|
|
8834
8856
|
}
|
|
8835
|
-
else {
|
|
8836
|
-
start =
|
|
8857
|
+
else if (el) {
|
|
8858
|
+
start = +(getStyle(el, prop) || 0);
|
|
8837
8859
|
if (prop !== 'opacity') {
|
|
8838
8860
|
unit = 'px';
|
|
8839
8861
|
}
|
|
@@ -8844,7 +8866,10 @@ function animate(el, params, opt) {
|
|
|
8844
8866
|
if (typeof end === 'string' && end.match('px')) {
|
|
8845
8867
|
end = end.replace(/px/g, ''); // #4351
|
|
8846
8868
|
}
|
|
8847
|
-
|
|
8869
|
+
// Empty dashstyle animation crashes treemap on hover
|
|
8870
|
+
if (defined(end)) {
|
|
8871
|
+
fx.run(start, end, unit);
|
|
8872
|
+
}
|
|
8848
8873
|
});
|
|
8849
8874
|
}
|
|
8850
8875
|
/**
|
|
@@ -8868,28 +8893,11 @@ function animate(el, params, opt) {
|
|
|
8868
8893
|
* improvement in all cases where we stop the animation from .attr. Instead of
|
|
8869
8894
|
* stopping everything, we can just stop the actual attributes we're setting.
|
|
8870
8895
|
*/
|
|
8871
|
-
|
|
8872
|
-
|
|
8873
|
-
|
|
8874
|
-
while (i--) {
|
|
8875
|
-
if (Animation_Fx.timers[i].elem === el && (!prop || prop === Animation_Fx.timers[i].prop)) {
|
|
8876
|
-
Animation_Fx.timers[i].stopped = true; // #4667
|
|
8877
|
-
}
|
|
8896
|
+
const stop = (el, prop) => Animation_Fx.timers.forEach((timer) => {
|
|
8897
|
+
if (timer.elem === el && (!prop || prop === timer.prop)) {
|
|
8898
|
+
timer.stopped = true; // #4667
|
|
8878
8899
|
}
|
|
8879
|
-
}
|
|
8880
|
-
const animationExports = {
|
|
8881
|
-
animate,
|
|
8882
|
-
animObject,
|
|
8883
|
-
getDeferredAnimation,
|
|
8884
|
-
setAnimation,
|
|
8885
|
-
stop
|
|
8886
|
-
};
|
|
8887
|
-
/* *
|
|
8888
|
-
*
|
|
8889
|
-
* Default Export
|
|
8890
|
-
*
|
|
8891
|
-
* */
|
|
8892
|
-
/* harmony default export */ const AnimationUtilities = (animationExports);
|
|
8900
|
+
});
|
|
8893
8901
|
/* *
|
|
8894
8902
|
*
|
|
8895
8903
|
* API Options
|
|
@@ -9194,7 +9202,9 @@ class AST {
|
|
|
9194
9202
|
doc = { body };
|
|
9195
9203
|
}
|
|
9196
9204
|
const appendChildNodes = (node, addTo) => {
|
|
9197
|
-
|
|
9205
|
+
// Preserve the camelCase of SVG tags via localName (#24702).
|
|
9206
|
+
const tagName = node.localName ||
|
|
9207
|
+
node.nodeName.toLowerCase();
|
|
9198
9208
|
// Add allowed tags
|
|
9199
9209
|
const astNode = {
|
|
9200
9210
|
tagName
|
|
@@ -9308,6 +9318,8 @@ AST.allowedAttributes = [
|
|
|
9308
9318
|
'src',
|
|
9309
9319
|
'startOffset',
|
|
9310
9320
|
'stdDeviation',
|
|
9321
|
+
'stop-color',
|
|
9322
|
+
'stop-opacity',
|
|
9311
9323
|
'stroke-linecap',
|
|
9312
9324
|
'stroke-width',
|
|
9313
9325
|
'stroke',
|
|
@@ -9911,9 +9923,7 @@ const Templating = {
|
|
|
9911
9923
|
* API Declarations
|
|
9912
9924
|
* */
|
|
9913
9925
|
/**
|
|
9914
|
-
*
|
|
9915
|
-
*
|
|
9916
|
-
* The Highcharts.Templating interface provides a structure for defining
|
|
9926
|
+
* The Highcharts.TemplatingObject interface provides a structure for defining
|
|
9917
9927
|
* helpers. Helpers can be used as conditional blocks or functions within
|
|
9918
9928
|
* expressions. Highcharts includes several built-in helpers and supports
|
|
9919
9929
|
* the addition of custom helpers.
|
|
@@ -9921,16 +9931,21 @@ const Templating = {
|
|
|
9921
9931
|
* @see [More information](
|
|
9922
9932
|
* https://www.highcharts.com/docs/chart-concepts/templating#helpers)
|
|
9923
9933
|
*
|
|
9924
|
-
* @
|
|
9925
|
-
|
|
9926
|
-
|
|
9927
|
-
|
|
9928
|
-
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
|
|
9934
|
+
* @interface Highcharts.TemplatingObject
|
|
9935
|
+
*/ /**
|
|
9936
|
+
* @example
|
|
9937
|
+
* // Define a custom helper to return the absolute value of a number
|
|
9938
|
+
* Highcharts.Templating.helpers.abs = value => Math.abs(value);
|
|
9939
|
+
*
|
|
9940
|
+
* // Usage in a format string
|
|
9941
|
+
* format: 'Absolute value: {abs point.y}'
|
|
9942
|
+
*
|
|
9943
|
+
* @name Highcharts.TemplatingObject#helpers
|
|
9944
|
+
* @type {Record<string, Function>}
|
|
9945
|
+
*/ /**
|
|
9946
|
+
* @name Highcharts.Templating
|
|
9947
|
+
* @type {Highcharts.TemplatingObject}
|
|
9948
|
+
*/
|
|
9934
9949
|
(''); // Keeps doclets above in file
|
|
9935
9950
|
|
|
9936
9951
|
;// ./code/es-modules/Core/Renderer/RendererUtilities.js
|
|
@@ -10139,7 +10154,6 @@ var RendererUtilities;
|
|
|
10139
10154
|
* */
|
|
10140
10155
|
|
|
10141
10156
|
|
|
10142
|
-
const { animate: SVGElement_animate, animObject: SVGElement_animObject, stop: SVGElement_stop } = AnimationUtilities;
|
|
10143
10157
|
|
|
10144
10158
|
|
|
10145
10159
|
const { deg2rad, doc: SVGElement_doc, svg, SVG_NS: SVGElement_SVG_NS, win: SVGElement_win, isFirefox } = Core_Globals;
|
|
@@ -10423,7 +10437,7 @@ class SVGElement {
|
|
|
10423
10437
|
* Returns the SVGElement for chaining.
|
|
10424
10438
|
*/
|
|
10425
10439
|
animate(params, options, complete) {
|
|
10426
|
-
const animOptions =
|
|
10440
|
+
const animOptions = animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
|
|
10427
10441
|
// When the page is hidden save resources in the background by not
|
|
10428
10442
|
// running animation at all (#9749).
|
|
10429
10443
|
if (SVGElement_doc.hidden) {
|
|
@@ -10438,7 +10452,7 @@ class SVGElement {
|
|
|
10438
10452
|
// If defer option is defined delay the animation #12901
|
|
10439
10453
|
syncTimeout(() => {
|
|
10440
10454
|
if (this.element) {
|
|
10441
|
-
|
|
10455
|
+
animate(this, params, animOptions);
|
|
10442
10456
|
}
|
|
10443
10457
|
}, deferTime);
|
|
10444
10458
|
}
|
|
@@ -10612,7 +10626,7 @@ class SVGElement {
|
|
|
10612
10626
|
// Unless .attr is from the animator update, stop current
|
|
10613
10627
|
// running animation of this property
|
|
10614
10628
|
if (!continueAnimation) {
|
|
10615
|
-
|
|
10629
|
+
stop(this, key);
|
|
10616
10630
|
}
|
|
10617
10631
|
// Special handling of symbol attributes
|
|
10618
10632
|
if (this.symbolName &&
|
|
@@ -10932,7 +10946,7 @@ class SVGElement {
|
|
|
10932
10946
|
// Remove events
|
|
10933
10947
|
element.onclick = element.onmouseout = element.onmouseover =
|
|
10934
10948
|
element.onmousemove = element.point = null;
|
|
10935
|
-
|
|
10949
|
+
stop(wrapper); // Stop running animations
|
|
10936
10950
|
if (wrapper.clipPath && ownerSVGElement) {
|
|
10937
10951
|
const clipPath = wrapper.clipPath;
|
|
10938
10952
|
// Look for existing references to this clipPath and remove them
|
|
@@ -13844,7 +13858,7 @@ class SVGRenderer {
|
|
|
13844
13858
|
this.url = this.getReferenceURL();
|
|
13845
13859
|
// Add description
|
|
13846
13860
|
const desc = this.createElement('desc').add();
|
|
13847
|
-
desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.
|
|
13861
|
+
desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.1'));
|
|
13848
13862
|
this.defs = this.createElement('defs').add();
|
|
13849
13863
|
this.allowHTML = allowHTML;
|
|
13850
13864
|
this.forExport = forExport;
|
|
@@ -15635,7 +15649,11 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15635
15649
|
.attr({
|
|
15636
15650
|
text: str,
|
|
15637
15651
|
x: Math.round(x),
|
|
15638
|
-
y: Math.round(y)
|
|
15652
|
+
y: Math.round(y),
|
|
15653
|
+
// The namespace attribute is required for serialization
|
|
15654
|
+
// (export and side-by-side comparison), otherwise it
|
|
15655
|
+
// inherits the SVG namespace from foreignObject.
|
|
15656
|
+
xmlns: 'http://www.w3.org/1999/xhtml'
|
|
15639
15657
|
});
|
|
15640
15658
|
};
|
|
15641
15659
|
}
|
|
@@ -15815,8 +15833,10 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15815
15833
|
foreignObject.attr({
|
|
15816
15834
|
x: x + (this.xCorr || 0),
|
|
15817
15835
|
y: y + (this.yCorr || 0),
|
|
15818
|
-
// Add 4px to avoid ellipsis
|
|
15819
|
-
//
|
|
15836
|
+
// Add 4px to avoid ellipsis. In v13.0.0 we had a body inside
|
|
15837
|
+
// the foreignObject with a 3px right margin. This was later
|
|
15838
|
+
// removed, but we still need to add a few pixels to avoid
|
|
15839
|
+
// ellipsis.
|
|
15820
15840
|
width: element.offsetWidth + 4,
|
|
15821
15841
|
// Add 1px to account for subpixel bounding boxes
|
|
15822
15842
|
height: element.offsetHeight + 1,
|
|
@@ -15836,25 +15856,16 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15836
15856
|
this.cTT = currentTextTransform;
|
|
15837
15857
|
}
|
|
15838
15858
|
/**
|
|
15839
|
-
* Add the element to
|
|
15840
|
-
* will be created for each ancestor SVG `g` element.
|
|
15859
|
+
* Add the element to the foreign object
|
|
15841
15860
|
*
|
|
15842
15861
|
* @internal
|
|
15843
15862
|
*/
|
|
15844
15863
|
add(parentGroup) {
|
|
15845
|
-
const { foreignObject
|
|
15864
|
+
const { foreignObject } = this;
|
|
15846
15865
|
// Foreign object
|
|
15847
15866
|
foreignObject.add(parentGroup);
|
|
15848
|
-
|
|
15849
|
-
|
|
15850
|
-
renderer.createElement('body')
|
|
15851
|
-
.attr({ xmlns: 'http://www.w3.org/1999/xhtml' })
|
|
15852
|
-
.css({
|
|
15853
|
-
background: 'transparent',
|
|
15854
|
-
// 3px is to avoid clipping on the right
|
|
15855
|
-
margin: '0 3px 0 0'
|
|
15856
|
-
})
|
|
15857
|
-
.add(foreignObject));
|
|
15867
|
+
// Add this.element to the foreign objct
|
|
15868
|
+
super.add(foreignObject);
|
|
15858
15869
|
if (this.alignOnAdd) {
|
|
15859
15870
|
this.updateTransform();
|
|
15860
15871
|
}
|
|
@@ -15889,10 +15900,20 @@ class HTMLElement extends SVG_SVGElement {
|
|
|
15889
15900
|
this[key] = value;
|
|
15890
15901
|
this.doTransform = true;
|
|
15891
15902
|
}
|
|
15903
|
+
/**
|
|
15904
|
+
* Apply visibility/opacity to the foreignObject; the HTML element
|
|
15905
|
+
* ignores them.
|
|
15906
|
+
* @internal
|
|
15907
|
+
*/
|
|
15908
|
+
visibilitySetter(value, key) {
|
|
15909
|
+
this.foreignObject.attr({ [key]: value });
|
|
15910
|
+
this[key] = value;
|
|
15911
|
+
}
|
|
15892
15912
|
}
|
|
15893
15913
|
// Some shared setters
|
|
15894
15914
|
const proto = HTMLElement.prototype;
|
|
15895
15915
|
proto.ySetter = proto.xSetter;
|
|
15916
|
+
proto.opacitySetter = proto.visibilitySetter;
|
|
15896
15917
|
/* *
|
|
15897
15918
|
*
|
|
15898
15919
|
* Default Export
|
|
@@ -16433,6 +16454,7 @@ var AxisDefaults;
|
|
|
16433
16454
|
*/
|
|
16434
16455
|
dateTimeLabelFormats: {
|
|
16435
16456
|
/**
|
|
16457
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16436
16458
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16437
16459
|
*/
|
|
16438
16460
|
millisecond: {
|
|
@@ -16458,6 +16480,7 @@ var AxisDefaults;
|
|
|
16458
16480
|
range: false
|
|
16459
16481
|
},
|
|
16460
16482
|
/**
|
|
16483
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16461
16484
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16462
16485
|
*/
|
|
16463
16486
|
second: {
|
|
@@ -16483,6 +16506,7 @@ var AxisDefaults;
|
|
|
16483
16506
|
range: false
|
|
16484
16507
|
},
|
|
16485
16508
|
/**
|
|
16509
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16486
16510
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16487
16511
|
*/
|
|
16488
16512
|
minute: {
|
|
@@ -16508,6 +16532,7 @@ var AxisDefaults;
|
|
|
16508
16532
|
range: false
|
|
16509
16533
|
},
|
|
16510
16534
|
/**
|
|
16535
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16511
16536
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16512
16537
|
*/
|
|
16513
16538
|
hour: {
|
|
@@ -16540,6 +16565,7 @@ var AxisDefaults;
|
|
|
16540
16565
|
range: false
|
|
16541
16566
|
},
|
|
16542
16567
|
/**
|
|
16568
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16543
16569
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16544
16570
|
*/
|
|
16545
16571
|
day: {
|
|
@@ -16562,6 +16588,7 @@ var AxisDefaults;
|
|
|
16562
16588
|
boundary: '%[eb]'
|
|
16563
16589
|
},
|
|
16564
16590
|
/**
|
|
16591
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16565
16592
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16566
16593
|
*/
|
|
16567
16594
|
week: {
|
|
@@ -16577,6 +16604,7 @@ var AxisDefaults;
|
|
|
16577
16604
|
main: '%[eb]'
|
|
16578
16605
|
},
|
|
16579
16606
|
/**
|
|
16607
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16580
16608
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16581
16609
|
*/
|
|
16582
16610
|
month: {
|
|
@@ -16599,6 +16627,7 @@ var AxisDefaults;
|
|
|
16599
16627
|
boundary: void 0
|
|
16600
16628
|
},
|
|
16601
16629
|
/**
|
|
16630
|
+
* @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
|
|
16602
16631
|
* @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
|
|
16603
16632
|
*/
|
|
16604
16633
|
year: {
|
|
@@ -17414,7 +17443,7 @@ var AxisDefaults;
|
|
|
17414
17443
|
* @sample {highstock} stock/xaxis/offset/
|
|
17415
17444
|
* Y axis offset by 70 px
|
|
17416
17445
|
*
|
|
17417
|
-
* @type {number}
|
|
17446
|
+
* @type {number|string}
|
|
17418
17447
|
*/
|
|
17419
17448
|
offset: void 0,
|
|
17420
17449
|
/**
|
|
@@ -19064,7 +19093,9 @@ var AxisDefaults;
|
|
|
19064
19093
|
* @product highcharts
|
|
19065
19094
|
*/
|
|
19066
19095
|
style: {
|
|
19067
|
-
/**
|
|
19096
|
+
/**
|
|
19097
|
+
* @type {Highcharts.ColorType}
|
|
19098
|
+
*/
|
|
19068
19099
|
color: 'var(--highcharts-neutral-color-100)',
|
|
19069
19100
|
/**
|
|
19070
19101
|
* @type {number|string}
|
|
@@ -19847,7 +19878,6 @@ class Tick {
|
|
|
19847
19878
|
* */
|
|
19848
19879
|
|
|
19849
19880
|
|
|
19850
|
-
const { animObject: Axis_animObject } = AnimationUtilities;
|
|
19851
19881
|
|
|
19852
19882
|
const { xAxis, yAxis } = Axis_AxisDefaults;
|
|
19853
19883
|
|
|
@@ -22453,7 +22483,7 @@ class Axis {
|
|
|
22453
22483
|
* @emits Highcharts.Axis#event:afterRender
|
|
22454
22484
|
*/
|
|
22455
22485
|
render() {
|
|
22456
|
-
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 =
|
|
22486
|
+
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);
|
|
22457
22487
|
let from, to;
|
|
22458
22488
|
// Reset
|
|
22459
22489
|
axis.labelEdge.length = 0;
|
|
@@ -22804,7 +22834,7 @@ class Axis {
|
|
|
22804
22834
|
}
|
|
22805
22835
|
cross
|
|
22806
22836
|
.show()
|
|
22807
|
-
.animate({ d: path },
|
|
22837
|
+
.animate({ d: path }, animObject(options?.animation));
|
|
22808
22838
|
if (categorized && !options.width) {
|
|
22809
22839
|
cross.attr({
|
|
22810
22840
|
'stroke-width': this.transA
|
|
@@ -24842,7 +24872,6 @@ class PlotLineOrBand {
|
|
|
24842
24872
|
* */
|
|
24843
24873
|
|
|
24844
24874
|
|
|
24845
|
-
const { animObject: Tooltip_animObject } = AnimationUtilities;
|
|
24846
24875
|
|
|
24847
24876
|
const { format: Tooltip_format } = Core_Templating;
|
|
24848
24877
|
|
|
@@ -25543,7 +25572,7 @@ class Tooltip {
|
|
|
25543
25572
|
* @param {number} anchorY
|
|
25544
25573
|
*/
|
|
25545
25574
|
move(x, y, anchorX, anchorY) {
|
|
25546
|
-
const { followPointer, options } = this, animation =
|
|
25575
|
+
const { followPointer, options } = this, animation = animObject(!followPointer &&
|
|
25547
25576
|
!this.isHidden &&
|
|
25548
25577
|
!options.fixed &&
|
|
25549
25578
|
options.animation), skipAnchor = followPointer || (this.len || 0) > 1, attr = { x, y };
|
|
@@ -26291,7 +26320,6 @@ class Tooltip {
|
|
|
26291
26320
|
|
|
26292
26321
|
|
|
26293
26322
|
|
|
26294
|
-
const { animObject: Point_animObject } = AnimationUtilities;
|
|
26295
26323
|
|
|
26296
26324
|
const { defaultOptions: Point_defaultOptions } = Defaults;
|
|
26297
26325
|
|
|
@@ -26631,10 +26659,15 @@ class Point {
|
|
|
26631
26659
|
*
|
|
26632
26660
|
* @internal
|
|
26633
26661
|
* @function Highcharts.Point#destroy
|
|
26662
|
+
*
|
|
26663
|
+
* @param {boolean} [sync]
|
|
26664
|
+
* Whether to destroy the point synchronously. Used internally from
|
|
26665
|
+
* series.destroy, where condemned points may cause animation errors
|
|
26666
|
+
* (#24976).
|
|
26634
26667
|
*/
|
|
26635
|
-
destroy() {
|
|
26636
|
-
if (!this.condemned) {
|
|
26637
|
-
const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } =
|
|
26668
|
+
destroy(sync) {
|
|
26669
|
+
if (!this.destroyed && !this.condemned) {
|
|
26670
|
+
const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = animObject(globalAnimation);
|
|
26638
26671
|
/**
|
|
26639
26672
|
* Allow to call after animation.
|
|
26640
26673
|
* @internal
|
|
@@ -26651,6 +26684,7 @@ class Point {
|
|
|
26651
26684
|
for (const prop in point) { // eslint-disable-line guard-for-in
|
|
26652
26685
|
delete point[prop];
|
|
26653
26686
|
}
|
|
26687
|
+
this.destroyed = true;
|
|
26654
26688
|
};
|
|
26655
26689
|
if (point.legendItem) {
|
|
26656
26690
|
// Pies have legend items
|
|
@@ -26667,7 +26701,7 @@ class Point {
|
|
|
26667
26701
|
point.onMouseOut();
|
|
26668
26702
|
}
|
|
26669
26703
|
// Remove properties after animation
|
|
26670
|
-
if (duration && series.condemnedPoints) {
|
|
26704
|
+
if (duration && !sync && series.condemnedPoints) {
|
|
26671
26705
|
series.condemnedPoints.push(this);
|
|
26672
26706
|
this.graphic?.addClass('highcharts-point-condemned');
|
|
26673
26707
|
setTimeout(destroyPoint, duration);
|
|
@@ -26790,14 +26824,15 @@ class Point {
|
|
|
26790
26824
|
*
|
|
26791
26825
|
* @function Highcharts.Point#getZone
|
|
26792
26826
|
*
|
|
26793
|
-
* @return {Highcharts.SeriesZonesOptionsObject}
|
|
26794
|
-
* The zone item.
|
|
26827
|
+
* @return {Highcharts.SeriesZonesOptionsObject|undefined}
|
|
26828
|
+
* The zone item, or `undefined` if the series has no zones.
|
|
26795
26829
|
*/
|
|
26796
26830
|
getZone() {
|
|
26797
26831
|
const series = this.series, zones = series.zones, zoneAxis = series.zoneAxis || 'y';
|
|
26798
26832
|
let zone, i = 0;
|
|
26799
26833
|
zone = zones[i];
|
|
26800
|
-
while (
|
|
26834
|
+
while (i < zones.length &&
|
|
26835
|
+
this[zoneAxis] >= zone.value) {
|
|
26801
26836
|
zone = zones[++i];
|
|
26802
26837
|
}
|
|
26803
26838
|
// For resetting or reusing the point (#8100)
|
|
@@ -27337,9 +27372,8 @@ class Point {
|
|
|
27337
27372
|
* @emits Highcharts.Point#event:afterSetState
|
|
27338
27373
|
*/
|
|
27339
27374
|
setState(state, move) {
|
|
27340
|
-
const point = this, series = point.series, previousState = point.state, stateOptions =
|
|
27341
|
-
|
|
27342
|
-
series.options.marker), normalDisabled = (markerOptions && markerOptions.enabled === false), markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
|
|
27375
|
+
const point = this, series = point.series, previousState = point.state, stateOptions = series.options.states?.[state || 'normal'] || {}, markerOptions = (Point_defaultOptions.plotOptions?.[series.type]?.marker &&
|
|
27376
|
+
series.options.marker), normalDisabled = markerOptions?.enabled === false, markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
|
|
27343
27377
|
{}, stateDisabled = markerStateOptions.enabled === false, pointMarker = point.marker || {}, chart = series.chart, hasMarkers = (markerOptions && series.markerAttribs);
|
|
27344
27378
|
let halo = series.halo, markerAttribs, pointAttribs, pointAttribsAnimation, stateMarkerGraphic = series.stateMarkerGraphic, newSymbol;
|
|
27345
27379
|
state = state || ''; // Empty string
|
|
@@ -27352,13 +27386,10 @@ class Point {
|
|
|
27352
27386
|
(stateOptions.enabled === false) ||
|
|
27353
27387
|
// General point marker's state options is disabled
|
|
27354
27388
|
(state && (stateDisabled ||
|
|
27355
|
-
(normalDisabled &&
|
|
27356
|
-
markerStateOptions.enabled === false))) ||
|
|
27389
|
+
(normalDisabled && markerStateOptions.enabled === false))) ||
|
|
27357
27390
|
// Individual point marker's state options is disabled
|
|
27358
27391
|
(state &&
|
|
27359
|
-
pointMarker.states
|
|
27360
|
-
pointMarker.states[state] &&
|
|
27361
|
-
pointMarker.states[state].enabled === false) // #1610
|
|
27392
|
+
pointMarker.states?.[state]?.enabled === false) // #1610
|
|
27362
27393
|
) {
|
|
27363
27394
|
return;
|
|
27364
27395
|
}
|
|
@@ -27377,7 +27408,8 @@ class Point {
|
|
|
27377
27408
|
}
|
|
27378
27409
|
if (!chart.styledMode) {
|
|
27379
27410
|
pointAttribs = series.pointAttribs(point, state);
|
|
27380
|
-
pointAttribsAnimation =
|
|
27411
|
+
pointAttribsAnimation = (chart.options.chart.animation ??
|
|
27412
|
+
stateOptions.animation);
|
|
27381
27413
|
const opacity = pointAttribs.opacity;
|
|
27382
27414
|
// Some inactive points (e.g. slices in pie) should apply
|
|
27383
27415
|
// opacity also for their labels
|
|
@@ -27395,9 +27427,11 @@ class Point {
|
|
|
27395
27427
|
point.graphic.animate(pointAttribs, pointAttribsAnimation);
|
|
27396
27428
|
}
|
|
27397
27429
|
if (markerAttribs) {
|
|
27398
|
-
point.graphic.animate(markerAttribs,
|
|
27430
|
+
point.graphic.animate(markerAttribs, (
|
|
27399
27431
|
// Turn off globally:
|
|
27400
|
-
chart.options.chart.animation
|
|
27432
|
+
chart.options.chart.animation ??
|
|
27433
|
+
markerStateOptions.animation ??
|
|
27434
|
+
markerOptions.animation));
|
|
27401
27435
|
}
|
|
27402
27436
|
// Zooming in from a range with no markers to a range with markers
|
|
27403
27437
|
if (stateMarkerGraphic) {
|
|
@@ -27446,10 +27480,12 @@ class Point {
|
|
|
27446
27480
|
}
|
|
27447
27481
|
}
|
|
27448
27482
|
// Show me your halo
|
|
27449
|
-
const haloOptions = stateOptions.halo
|
|
27483
|
+
const haloOptions = isObject(stateOptions.halo) ?
|
|
27484
|
+
stateOptions.halo :
|
|
27485
|
+
{};
|
|
27450
27486
|
const markerGraphic = (point.graphic || stateMarkerGraphic);
|
|
27451
27487
|
const markerVisibility = markerGraphic?.visibility || 'inherit';
|
|
27452
|
-
if (haloOptions
|
|
27488
|
+
if (haloOptions.size &&
|
|
27453
27489
|
markerGraphic &&
|
|
27454
27490
|
markerVisibility !== 'hidden' &&
|
|
27455
27491
|
!point.isCluster) {
|
|
@@ -27979,6 +28015,11 @@ class Pointer {
|
|
|
27979
28015
|
}
|
|
27980
28016
|
}
|
|
27981
28017
|
}
|
|
28018
|
+
// Run a final transform with a drop trigger to display the reset
|
|
28019
|
+
// zoom button after a pinch gesture (#22128)
|
|
28020
|
+
if (e?.type === 'touchend' && this.hasDragged) {
|
|
28021
|
+
chart.transform({ trigger: 'drop' });
|
|
28022
|
+
}
|
|
27982
28023
|
if (redraw) {
|
|
27983
28024
|
chart.redraw();
|
|
27984
28025
|
}
|
|
@@ -28622,6 +28663,9 @@ class Pointer {
|
|
|
28622
28663
|
from: boxFromTouches(lastTouches),
|
|
28623
28664
|
trigger: e.type
|
|
28624
28665
|
});
|
|
28666
|
+
// Record a truthy value in order to trigger the final transform
|
|
28667
|
+
// in the drop function
|
|
28668
|
+
pointer.hasDragged = 1;
|
|
28625
28669
|
});
|
|
28626
28670
|
if (pointer.res) {
|
|
28627
28671
|
pointer.res = false;
|
|
@@ -29113,7 +29157,9 @@ class Pointer {
|
|
|
29113
29157
|
// If inside, capture touch-drag and display tooltip. If not inside,
|
|
29114
29158
|
// allow dragging the finger to scroll the page
|
|
29115
29159
|
if ((chart.tooltip?.options.followTouchMove ?? true) &&
|
|
29116
|
-
isInside
|
|
29160
|
+
isInside &&
|
|
29161
|
+
e.type === 'touchmove' &&
|
|
29162
|
+
!(chart.scrollablePixelsX || chart.scrollablePixelsY)) {
|
|
29117
29163
|
e.preventDefault();
|
|
29118
29164
|
}
|
|
29119
29165
|
}
|
|
@@ -29585,7 +29631,7 @@ class DataTableCore {
|
|
|
29585
29631
|
* Fetches the given column by the canonical column ID. Simplified version
|
|
29586
29632
|
* of the full `DataTable.getRow` method, always returning by reference.
|
|
29587
29633
|
*
|
|
29588
|
-
* @function Highcharts.DataTable#
|
|
29634
|
+
* @function Highcharts.DataTable#getColumn
|
|
29589
29635
|
*
|
|
29590
29636
|
* @param {string} columnId
|
|
29591
29637
|
* ID of the column to get.
|
|
@@ -30321,6 +30367,10 @@ const seriesDefaults = {
|
|
|
30321
30367
|
* ```
|
|
30322
30368
|
*
|
|
30323
30369
|
* @type {Highcharts.DataMappingOptionsObject}
|
|
30370
|
+
* @sample highcharts/datatable/datamapping
|
|
30371
|
+
* Basic data mapping
|
|
30372
|
+
* @sample highcharts/datatable/datamapping-dynamic
|
|
30373
|
+
* Data mapping with dynamic updates
|
|
30324
30374
|
* @sample {highcharts} highcharts/datatable/series-datatable-multiple
|
|
30325
30375
|
* Series with two data tables
|
|
30326
30376
|
* @sample {highcharts} highcharts/datatable/nested-keys
|
|
@@ -30331,6 +30381,29 @@ const seriesDefaults = {
|
|
|
30331
30381
|
* @since 13.0.0
|
|
30332
30382
|
* @apioption plotOptions.series.dataMapping
|
|
30333
30383
|
*/
|
|
30384
|
+
/**
|
|
30385
|
+
* Options for a specific series-level data table or an array of data
|
|
30386
|
+
* tables. The `dataTable` option can be either a configuration object or an
|
|
30387
|
+
* instance of the `DataTable` class. If a `DataTable` instance is passed,
|
|
30388
|
+
* it will be used directly. If a configuration object or an array is
|
|
30389
|
+
* passed, a new `DataTable` instance will be created based on the provided
|
|
30390
|
+
* configuration.
|
|
30391
|
+
*
|
|
30392
|
+
* @type {Highcharts.DataTable|Highcharts.DataTableOptionsObject|Array<Highcharts.DataTable|Highcharts.DataTableOptionsObject>}
|
|
30393
|
+
* @sample {highcharts} highcharts/datatable/series-datatable/
|
|
30394
|
+
* Series with one data table each
|
|
30395
|
+
* @sample {highcharts} highcharts/datatable/series-datatable-multiple/
|
|
30396
|
+
* Series with two data tables
|
|
30397
|
+
* @sample {highstock} stock/datatable/series-datatable/
|
|
30398
|
+
* Series with one data table each
|
|
30399
|
+
* @sample {highstock} stock/datatable/series-datatable-multiple/
|
|
30400
|
+
* Series with two data tables
|
|
30401
|
+
* @sample {highmaps} maps/datatable/series-datatable
|
|
30402
|
+
* Series-level data table
|
|
30403
|
+
*
|
|
30404
|
+
* @since 13.0.0
|
|
30405
|
+
* @apioption plotOptions.series.dataTable
|
|
30406
|
+
*/
|
|
30334
30407
|
/**
|
|
30335
30408
|
* Enable or disable the mouse tracking for a specific series. This
|
|
30336
30409
|
* includes point tooltips and click events on graphs and points. For
|
|
@@ -31214,6 +31287,7 @@ const seriesDefaults = {
|
|
|
31214
31287
|
* `series.allowPointSelect` option to true.
|
|
31215
31288
|
*
|
|
31216
31289
|
* @declare Highcharts.PointStatesSelectOptionsObject
|
|
31290
|
+
* @extends plotOptions.series.marker.states.hover
|
|
31217
31291
|
*/
|
|
31218
31292
|
select: {
|
|
31219
31293
|
/**
|
|
@@ -31790,6 +31864,7 @@ const seriesDefaults = {
|
|
|
31790
31864
|
* @sample {highmaps} maps/plotoptions/series-datalabels-box/
|
|
31791
31865
|
* Data labels box options
|
|
31792
31866
|
*
|
|
31867
|
+
* @type {number|Array<number>}
|
|
31793
31868
|
* @since 2.2.1
|
|
31794
31869
|
*/
|
|
31795
31870
|
padding: [1, 3],
|
|
@@ -31991,6 +32066,9 @@ const seriesDefaults = {
|
|
|
31991
32066
|
/**
|
|
31992
32067
|
* A collection of options for different series states.
|
|
31993
32068
|
*
|
|
32069
|
+
* In addition to the options documented under each state, any option from
|
|
32070
|
+
* the parent series type can be set, with exception of `data` and `states`.
|
|
32071
|
+
*
|
|
31994
32072
|
* @declare Highcharts.SeriesStatesOptionsObject
|
|
31995
32073
|
*/
|
|
31996
32074
|
states: {
|
|
@@ -32164,6 +32242,7 @@ const seriesDefaults = {
|
|
|
32164
32242
|
* Disabled inactive state
|
|
32165
32243
|
*
|
|
32166
32244
|
* @declare Highcharts.SeriesStatesInactiveOptionsObject
|
|
32245
|
+
* @extends plotOptions.series.states.hover
|
|
32167
32246
|
*/
|
|
32168
32247
|
inactive: {
|
|
32169
32248
|
/**
|
|
@@ -32564,7 +32643,6 @@ var SeriesRegistry;
|
|
|
32564
32643
|
* */
|
|
32565
32644
|
|
|
32566
32645
|
|
|
32567
|
-
const { animObject: Series_animObject, setAnimation: Series_setAnimation } = AnimationUtilities;
|
|
32568
32646
|
|
|
32569
32647
|
|
|
32570
32648
|
const { defaultOptions: Series_defaultOptions } = Defaults;
|
|
@@ -32702,6 +32780,13 @@ class Series {
|
|
|
32702
32780
|
* @type {number|undefined}
|
|
32703
32781
|
* @readonly
|
|
32704
32782
|
*/
|
|
32783
|
+
/**
|
|
32784
|
+
* The main group for the series' graphics.
|
|
32785
|
+
*
|
|
32786
|
+
* @name Highcharts.Series#group
|
|
32787
|
+
* @type {Highcharts.SVGElement}
|
|
32788
|
+
* @readonly
|
|
32789
|
+
*/
|
|
32705
32790
|
/**
|
|
32706
32791
|
* Contains the series' index in the `Chart.series` array.
|
|
32707
32792
|
*
|
|
@@ -32834,10 +32919,12 @@ class Series {
|
|
|
32834
32919
|
*/
|
|
32835
32920
|
series.options = series.setOptions(userOptions);
|
|
32836
32921
|
const options = series.options, visible = options.visible !== false;
|
|
32837
|
-
// Create the data table
|
|
32838
|
-
this.dataTable ?? (this.dataTable = options.dataTable
|
|
32839
|
-
|
|
32840
|
-
|
|
32922
|
+
// Create the data table or use the one passed as option
|
|
32923
|
+
this.dataTable ?? (this.dataTable = isArray(options.dataTable) ?
|
|
32924
|
+
new Data_DataTableCore() :
|
|
32925
|
+
options.dataTable?.isDataTable ?
|
|
32926
|
+
options.dataTable :
|
|
32927
|
+
new Data_DataTableCore(options.dataTable));
|
|
32841
32928
|
/**
|
|
32842
32929
|
* All child series that are linked to the current series through the
|
|
32843
32930
|
* [linkedTo](https://api.highcharts.com/highcharts/series.line.linkedTo)
|
|
@@ -33219,7 +33306,7 @@ class Series {
|
|
|
33219
33306
|
*/
|
|
33220
33307
|
getSymbol() {
|
|
33221
33308
|
const seriesMarkerOption = this.options.marker;
|
|
33222
|
-
this.getCyclic('symbol', seriesMarkerOption
|
|
33309
|
+
this.getCyclic('symbol', seriesMarkerOption?.symbol, this.chart.options.symbols);
|
|
33223
33310
|
}
|
|
33224
33311
|
/**
|
|
33225
33312
|
* Shorthand to get one of the series' data columns from `Series.dataTable`.
|
|
@@ -33415,9 +33502,10 @@ class Series {
|
|
|
33415
33502
|
if (!oldData[i].destroyed && !oldData[i].condemned) {
|
|
33416
33503
|
const pOptions = dataTable.getRowObject(i);
|
|
33417
33504
|
if (pOptions) {
|
|
33505
|
+
// Remove undefined properties, but preserve explicit
|
|
33506
|
+
// nulls (#24872)
|
|
33418
33507
|
Object.keys(pOptions).forEach((key) => {
|
|
33419
|
-
if (
|
|
33420
|
-
pOptions[key] === oldData[i].options[key]*/) {
|
|
33508
|
+
if (pOptions[key] === void 0) {
|
|
33421
33509
|
delete pOptions[key];
|
|
33422
33510
|
}
|
|
33423
33511
|
});
|
|
@@ -33822,8 +33910,12 @@ class Series {
|
|
|
33822
33910
|
}
|
|
33823
33911
|
}
|
|
33824
33912
|
}
|
|
33825
|
-
// Find the closest distance between processed points
|
|
33826
|
-
|
|
33913
|
+
// Find the closest distance between processed points. When the data was
|
|
33914
|
+
// cropped (or set out of range), read x from the freshly cropped local
|
|
33915
|
+
// `modified` table, #24858.
|
|
33916
|
+
if (modified !== table) {
|
|
33917
|
+
xData = modified.getColumn('x', true) || [];
|
|
33918
|
+
}
|
|
33827
33919
|
const closestPointRange = getClosestDistance([
|
|
33828
33920
|
logarithmic ?
|
|
33829
33921
|
xData.map(logarithmic.log2lin) :
|
|
@@ -34028,9 +34120,9 @@ class Series {
|
|
|
34028
34120
|
* Force getting extremes of a total series data range.
|
|
34029
34121
|
*/
|
|
34030
34122
|
getExtremes(yData, forceExtremesFromAll) {
|
|
34031
|
-
const { xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
|
|
34123
|
+
const { options, xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
|
|
34032
34124
|
this.getExtremesFromAll ||
|
|
34033
|
-
|
|
34125
|
+
options.getExtremesFromAll, // #4599, #21003
|
|
34034
34126
|
table = getExtremesFromAll && this.cropped ?
|
|
34035
34127
|
this.dataTable :
|
|
34036
34128
|
this.dataTable.getModified(), rowCount = table.rowCount, customData = yData || this.stackedYData, yAxisData = customData ?
|
|
@@ -34040,7 +34132,12 @@ class Series {
|
|
|
34040
34132
|
// non-sorted data like scatter (#7639).
|
|
34041
34133
|
shoulder = this.requireSorting && !this.is('column') ?
|
|
34042
34134
|
1 : 0,
|
|
34043
|
-
//
|
|
34135
|
+
// Used only for `cumulativeStart` (#24608)
|
|
34136
|
+
excludeShoulder = options.cumulative &&
|
|
34137
|
+
options.cumulativeStart &&
|
|
34138
|
+
shoulder &&
|
|
34139
|
+
!getExtremesFromAll,
|
|
34140
|
+
// Compensate for log X axis (#2117)
|
|
34044
34141
|
positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false, doAll = getExtremesFromAll ||
|
|
34045
34142
|
this.cropped ||
|
|
34046
34143
|
!xAxis; // For colorAxis support
|
|
@@ -34052,10 +34149,10 @@ class Series {
|
|
|
34052
34149
|
}
|
|
34053
34150
|
for (i = 0; i < rowCount; i++) {
|
|
34054
34151
|
x = xData[i];
|
|
34055
|
-
// Check if it is within the selected x
|
|
34056
|
-
if (doAll ||
|
|
34152
|
+
// Check if it is within the selected x-axis range
|
|
34153
|
+
if ((doAll ||
|
|
34057
34154
|
((xData[i + shoulder] || x) >= xMin &&
|
|
34058
|
-
(xData[i - shoulder] || x) <= xMax)) {
|
|
34155
|
+
(xData[i - shoulder] || x) <= xMax)) && (!excludeShoulder || x >= xMin)) {
|
|
34059
34156
|
for (const values of yAxisData) {
|
|
34060
34157
|
const val = values[i];
|
|
34061
34158
|
// For points within the visible range, including the
|
|
@@ -34124,7 +34221,7 @@ class Series {
|
|
|
34124
34221
|
*/
|
|
34125
34222
|
translate() {
|
|
34126
34223
|
this.generatePoints();
|
|
34127
|
-
const series = this, { options, xAxis, yAxis } = series, { stacking, threshold } = options, {
|
|
34224
|
+
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
|
|
34128
34225
|
dynamicallyPlaced = Boolean(pointPlacement), stackThreshold = options.startFromThreshold ? threshold : 0, nullYSubstitute = (options?.nullInteraction &&
|
|
34129
34226
|
yAxis.len);
|
|
34130
34227
|
let i, plotX, lastPlotX, stackIndicator, closestPointRangePx = Number.MAX_VALUE;
|
|
@@ -34317,7 +34414,7 @@ class Series {
|
|
|
34317
34414
|
* Initialize the animation.
|
|
34318
34415
|
*/
|
|
34319
34416
|
animate(init) {
|
|
34320
|
-
const { chart, group, markerGroup } = this, inverted = chart.inverted, animation =
|
|
34417
|
+
const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = animObject(this.options.animation),
|
|
34321
34418
|
// The key for temporary animation clips
|
|
34322
34419
|
animationClipKey = [
|
|
34323
34420
|
this.getSharedClipKey(),
|
|
@@ -34413,10 +34510,11 @@ class Series {
|
|
|
34413
34510
|
*/
|
|
34414
34511
|
drawPoints(points) {
|
|
34415
34512
|
points || (points = this.points.concat(this.condemnedPoints));
|
|
34416
|
-
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 =
|
|
34417
|
-
|
|
34418
|
-
|
|
34419
|
-
seriesMarkerOptions.
|
|
34513
|
+
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 ??
|
|
34514
|
+
(!xAxis || xAxis.isRadial ? true : null) ??
|
|
34515
|
+
// Use larger or equal as radius is null in bubbles (#6321)
|
|
34516
|
+
((series.closestPointRangePx ?? -Infinity) >= ((seriesMarkerOptions.enabledThreshold ?? 2) *
|
|
34517
|
+
seriesMarkerOptions.radius));
|
|
34420
34518
|
let i, point, graphic, verb, pointMarkerOptions, hasPointMarker, markerAttribs;
|
|
34421
34519
|
if (seriesMarkerOptions.enabled !== false ||
|
|
34422
34520
|
series._hasPointMarkers) {
|
|
@@ -34434,7 +34532,7 @@ class Series {
|
|
|
34434
34532
|
if (shouldDrawMarker) {
|
|
34435
34533
|
// Shortcuts
|
|
34436
34534
|
const symbol = pick(pointMarkerOptions.symbol, series.symbol, 'rect');
|
|
34437
|
-
markerAttribs = series.markerAttribs(point,
|
|
34535
|
+
markerAttribs = series.markerAttribs(point, point.selected ? 'select' : '');
|
|
34438
34536
|
const isInside = point.isInside !== false;
|
|
34439
34537
|
if (!graphic &&
|
|
34440
34538
|
isInside &&
|
|
@@ -34499,15 +34597,17 @@ class Series {
|
|
|
34499
34597
|
* A hash containing those attributes that are not settable from CSS.
|
|
34500
34598
|
*/
|
|
34501
34599
|
markerAttribs(point, state) {
|
|
34502
|
-
const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
|
|
34600
|
+
const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker ?? {}, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
|
|
34503
34601
|
seriesMarkerOptions.symbol), attribs = {};
|
|
34504
|
-
let seriesStateOptions, pointStateOptions, radius =
|
|
34602
|
+
let seriesStateOptions, pointStateOptions, radius = pointMarkerOptions.radius ??
|
|
34603
|
+
seriesMarkerOptions.radius;
|
|
34505
34604
|
// Handle hover and select states
|
|
34506
34605
|
if (state) {
|
|
34507
|
-
seriesStateOptions = seriesMarkerOptions
|
|
34606
|
+
seriesStateOptions = seriesMarkerOptions.states?.[state];
|
|
34508
34607
|
pointStateOptions = pointMarkerOptions.states?.[state];
|
|
34509
|
-
radius =
|
|
34510
|
-
|
|
34608
|
+
radius = pointStateOptions?.radius ??
|
|
34609
|
+
seriesStateOptions?.radius ??
|
|
34610
|
+
(radius && radius + (seriesStateOptions?.radiusPlus || 0));
|
|
34511
34611
|
}
|
|
34512
34612
|
point.hasImage = symbol && symbol.indexOf('url') === 0;
|
|
34513
34613
|
if (point.hasImage) {
|
|
@@ -34520,7 +34620,7 @@ class Series {
|
|
|
34520
34620
|
0 :
|
|
34521
34621
|
symbol === 'rect' ?
|
|
34522
34622
|
// Rectangle symbols need crisp edges, others don't
|
|
34523
|
-
seriesMarkerOptions
|
|
34623
|
+
seriesMarkerOptions.lineWidth || 0 :
|
|
34524
34624
|
1);
|
|
34525
34625
|
}
|
|
34526
34626
|
attribs.x = pos[0] - radius;
|
|
@@ -34551,8 +34651,9 @@ class Series {
|
|
|
34551
34651
|
* The presentational attributes to be set on the point.
|
|
34552
34652
|
*/
|
|
34553
34653
|
pointAttribs(point, state) {
|
|
34554
|
-
const options = this.options, seriesMarkerOptions = options.marker, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
|
|
34555
|
-
let
|
|
34654
|
+
const options = this.options, seriesMarkerOptions = options.marker ?? {}, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
|
|
34655
|
+
let color = this.color, fill, stroke, strokeWidth = pointMarkerOptions.lineWidth ??
|
|
34656
|
+
seriesMarkerOptions.lineWidth, opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
|
|
34556
34657
|
color = (pointColorOption ||
|
|
34557
34658
|
zoneColor ||
|
|
34558
34659
|
pointColor ||
|
|
@@ -34565,19 +34666,22 @@ class Series {
|
|
|
34565
34666
|
color);
|
|
34566
34667
|
// Handle hover and select states
|
|
34567
34668
|
state = state || 'normal';
|
|
34568
|
-
|
|
34569
|
-
|
|
34570
|
-
|
|
34571
|
-
|
|
34572
|
-
strokeWidth
|
|
34573
|
-
|
|
34574
|
-
|
|
34575
|
-
|
|
34576
|
-
|
|
34577
|
-
|
|
34578
|
-
|
|
34579
|
-
|
|
34580
|
-
|
|
34669
|
+
const seriesStateOptions = seriesMarkerOptions.states?.[state] || {};
|
|
34670
|
+
const pointStateOptions = pointMarkerOptions.states?.[state] || {};
|
|
34671
|
+
strokeWidth = pointStateOptions.lineWidth ??
|
|
34672
|
+
seriesStateOptions.lineWidth ??
|
|
34673
|
+
(strokeWidth || 0) + (pointStateOptions.lineWidthPlus ??
|
|
34674
|
+
seriesStateOptions.lineWidthPlus ??
|
|
34675
|
+
0);
|
|
34676
|
+
fill = (pointStateOptions.fillColor ||
|
|
34677
|
+
seriesStateOptions.fillColor ||
|
|
34678
|
+
fill);
|
|
34679
|
+
stroke = (pointStateOptions.lineColor ||
|
|
34680
|
+
seriesStateOptions.lineColor ||
|
|
34681
|
+
stroke);
|
|
34682
|
+
opacity = (pointStateOptions.opacity ??
|
|
34683
|
+
seriesStateOptions.opacity ??
|
|
34684
|
+
opacity);
|
|
34581
34685
|
return {
|
|
34582
34686
|
'stroke': stroke,
|
|
34583
34687
|
'stroke-width': strokeWidth,
|
|
@@ -34616,7 +34720,7 @@ class Series {
|
|
|
34616
34720
|
// Destroy all points with their elements
|
|
34617
34721
|
i = data.length;
|
|
34618
34722
|
while (i--) {
|
|
34619
|
-
data[i]?.destroy?.();
|
|
34723
|
+
data[i]?.destroy?.(true);
|
|
34620
34724
|
}
|
|
34621
34725
|
for (const zone of series.zones || []) {
|
|
34622
34726
|
// Destroy SVGElement's but preserve primitive props (#20426)
|
|
@@ -34643,7 +34747,7 @@ class Series {
|
|
|
34643
34747
|
erase(chart.series, series);
|
|
34644
34748
|
chart.orderItems('series');
|
|
34645
34749
|
// Clear all members
|
|
34646
|
-
objectEach(series, function (
|
|
34750
|
+
objectEach(series, function (_val, prop) {
|
|
34647
34751
|
if (!keepEventsForUpdate || prop !== 'hcEvents') {
|
|
34648
34752
|
delete series[prop];
|
|
34649
34753
|
}
|
|
@@ -34919,7 +35023,7 @@ class Series {
|
|
|
34919
35023
|
* @emits Highcharts.Series#event:afterRender
|
|
34920
35024
|
*/
|
|
34921
35025
|
render() {
|
|
34922
|
-
const series = this, { chart, options, hasRendered } = series, animOptions =
|
|
35026
|
+
const series = this, { chart, options, hasRendered } = series, animOptions = animObject(options.animation), visibility = series.visible ?
|
|
34923
35027
|
'inherit' : 'hidden', // #2597
|
|
34924
35028
|
zIndex = options.zIndex, chartSeriesGroup = chart.seriesGroup;
|
|
34925
35029
|
let animDuration = series.finishedAnimating ?
|
|
@@ -35021,7 +35125,7 @@ class Series {
|
|
|
35021
35125
|
*
|
|
35022
35126
|
* @function Highcharts.Series#searchPoint
|
|
35023
35127
|
*
|
|
35024
|
-
* @param {
|
|
35128
|
+
* @param {PointerEvent} e
|
|
35025
35129
|
* The normalized pointer event
|
|
35026
35130
|
* @param {boolean} [compareX=false]
|
|
35027
35131
|
* Search only by the X value, not Y
|
|
@@ -35053,7 +35157,7 @@ class Series {
|
|
|
35053
35157
|
// Prevent multiple k-d-trees from being built simultaneously
|
|
35054
35158
|
// (#6235)
|
|
35055
35159
|
this.buildingKdTree = true;
|
|
35056
|
-
const series = this, seriesOptions = series.options, dimensions = seriesOptions.findNearestPointBy
|
|
35160
|
+
const series = this, seriesOptions = series.options, dimensions = (seriesOptions.findNearestPointBy ?? '')
|
|
35057
35161
|
.indexOf('y') > -1 ? 2 : 1;
|
|
35058
35162
|
/**
|
|
35059
35163
|
* Internal function
|
|
@@ -35103,7 +35207,7 @@ class Series {
|
|
|
35103
35207
|
* The point to search for.
|
|
35104
35208
|
* @param {boolean} [compareX=false]
|
|
35105
35209
|
* Search only by the X value, not Y.
|
|
35106
|
-
* @param {
|
|
35210
|
+
* @param {PointerEvent} [e]
|
|
35107
35211
|
* The normalized pointer event.
|
|
35108
35212
|
* @param {Function} [suppliedPointEvaluator]
|
|
35109
35213
|
* A custom point evaluator function.
|
|
@@ -35309,11 +35413,13 @@ class Series {
|
|
|
35309
35413
|
* Both X and Y values given
|
|
35310
35414
|
* @sample highcharts/members/series-addpoint-pie/
|
|
35311
35415
|
* Append pie slice
|
|
35312
|
-
* @sample
|
|
35416
|
+
* @sample highcharts/datatable/datamapping-dynamic
|
|
35417
|
+
* Alternative approach with data table
|
|
35418
|
+
* @sample {highstock} stock/members/series-addpoint/
|
|
35313
35419
|
* Append 100 points in Highcharts Stock
|
|
35314
|
-
* @sample stock/members/series-addpoint-shift/
|
|
35420
|
+
* @sample {highstock} stock/members/series-addpoint-shift/
|
|
35315
35421
|
* Append and shift in Highcharts Stock
|
|
35316
|
-
* @sample maps/members/series-addpoint/
|
|
35422
|
+
* @sample {highmaps} maps/members/series-addpoint/
|
|
35317
35423
|
* Add a point in Highmaps
|
|
35318
35424
|
*
|
|
35319
35425
|
* @function Highcharts.Series#addPoint
|
|
@@ -35459,7 +35565,7 @@ class Series {
|
|
|
35459
35565
|
chart.redraw();
|
|
35460
35566
|
}
|
|
35461
35567
|
};
|
|
35462
|
-
|
|
35568
|
+
setAnimation(animation, chart);
|
|
35463
35569
|
redraw = pick(redraw, true);
|
|
35464
35570
|
// Fire the event with a default handler of removing the point
|
|
35465
35571
|
if (point) {
|
|
@@ -35813,10 +35919,10 @@ class Series {
|
|
|
35813
35919
|
* Determines if state should be inherited by points too.
|
|
35814
35920
|
*/
|
|
35815
35921
|
setState(state, inherit) {
|
|
35816
|
-
const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions } = options,
|
|
35922
|
+
const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions = {} } = options,
|
|
35817
35923
|
// By default a quick animation to hover/inactive,
|
|
35818
35924
|
// slower to un-hover
|
|
35819
|
-
stateAnimation = pick(stateOptions
|
|
35925
|
+
stateAnimation = pick(stateOptions[state || 'normal']?.animation, series.chart.options.chart.animation);
|
|
35820
35926
|
let { lineWidth, opacity } = options;
|
|
35821
35927
|
state = state || '';
|
|
35822
35928
|
if (series.state !== state) {
|
|
@@ -35843,9 +35949,13 @@ class Series {
|
|
|
35843
35949
|
return;
|
|
35844
35950
|
}
|
|
35845
35951
|
if (state) {
|
|
35846
|
-
lineWidth =
|
|
35847
|
-
|
|
35848
|
-
|
|
35952
|
+
lineWidth = stateOptions[state]?.lineWidth ?? (!isNumber(lineWidth) ?
|
|
35953
|
+
void 0 :
|
|
35954
|
+
// Increase by lineWidthPlus only when lineWidth
|
|
35955
|
+
// is a number.
|
|
35956
|
+
(lineWidth +
|
|
35957
|
+
(stateOptions?.[state]?.lineWidthPlus || 0))); // #4035
|
|
35958
|
+
opacity = stateOptions[state]?.opacity ?? opacity;
|
|
35849
35959
|
}
|
|
35850
35960
|
if (graph && !graph.dashstyle && isNumber(lineWidth)) {
|
|
35851
35961
|
// Animate the graph stroke-width
|
|
@@ -35889,11 +35999,7 @@ class Series {
|
|
|
35889
35999
|
* Can be either `hover` or undefined to set to normal state.
|
|
35890
36000
|
*/
|
|
35891
36001
|
setAllPointsToState(state) {
|
|
35892
|
-
this.points.forEach(
|
|
35893
|
-
if (point.setState) {
|
|
35894
|
-
point.setState(state);
|
|
35895
|
-
}
|
|
35896
|
-
});
|
|
36002
|
+
this.points.forEach((point) => point.setState?.(state));
|
|
35897
36003
|
}
|
|
35898
36004
|
/**
|
|
35899
36005
|
* Show or hide the series.
|
|
@@ -36574,7 +36680,6 @@ Series_SeriesRegistry.series = Series;
|
|
|
36574
36680
|
* */
|
|
36575
36681
|
|
|
36576
36682
|
|
|
36577
|
-
const { animObject: Legend_animObject, setAnimation: Legend_setAnimation } = AnimationUtilities;
|
|
36578
36683
|
|
|
36579
36684
|
const { registerEventOptions: Legend_registerEventOptions } = Core_Foundation;
|
|
36580
36685
|
|
|
@@ -37577,7 +37682,7 @@ class Legend {
|
|
|
37577
37682
|
}
|
|
37578
37683
|
if (currentPage > 0) {
|
|
37579
37684
|
if (typeof animation !== 'undefined') {
|
|
37580
|
-
|
|
37685
|
+
setAnimation(animation, chart);
|
|
37581
37686
|
}
|
|
37582
37687
|
this.nav.attr({
|
|
37583
37688
|
translateX: padding,
|
|
@@ -37634,7 +37739,7 @@ class Legend {
|
|
|
37634
37739
|
this.currentPage = currentPage;
|
|
37635
37740
|
this.positionCheckboxes();
|
|
37636
37741
|
// Fire event after scroll animation is complete
|
|
37637
|
-
const animOptions =
|
|
37742
|
+
const animOptions = animObject(pick(animation, chart.renderer.globalAnimation, true));
|
|
37638
37743
|
syncTimeout(() => {
|
|
37639
37744
|
fireEvent(this, 'afterScroll', { currentPage });
|
|
37640
37745
|
}, animOptions.duration);
|
|
@@ -37844,7 +37949,7 @@ class Legend {
|
|
|
37844
37949
|
*/ /**
|
|
37845
37950
|
* Related browser event.
|
|
37846
37951
|
* @name Highcharts.LegendItemClickEventObject#browserEvent
|
|
37847
|
-
* @type {
|
|
37952
|
+
* @type {PointerEvent}
|
|
37848
37953
|
*/ /**
|
|
37849
37954
|
* Prevent the default action of toggle the visibility of the series or point.
|
|
37850
37955
|
* @name Highcharts.LegendItemClickEventObject#preventDefault
|
|
@@ -37895,7 +38000,7 @@ class Legend {
|
|
|
37895
38000
|
*/ /**
|
|
37896
38001
|
* Related browser event.
|
|
37897
38002
|
* @name Highcharts.PointLegendItemClickEventObject#browserEvent
|
|
37898
|
-
* @type {
|
|
38003
|
+
* @type {PointerEvent}
|
|
37899
38004
|
*/ /**
|
|
37900
38005
|
* Whether the default action has been prevented (`true`) or not.
|
|
37901
38006
|
* @name Highcharts.PointLegendItemClickEventObject#defaultPrevented
|
|
@@ -37951,7 +38056,7 @@ class Legend {
|
|
|
37951
38056
|
*/ /**
|
|
37952
38057
|
* Related browser event.
|
|
37953
38058
|
* @name Highcharts.SeriesLegendItemClickEventObject#browserEvent
|
|
37954
|
-
* @type {
|
|
38059
|
+
* @type {PointerEvent}
|
|
37955
38060
|
*/ /**
|
|
37956
38061
|
* Whether the default action has been prevented (`true`) or not.
|
|
37957
38062
|
* @name Highcharts.SeriesLegendItemClickEventObject#defaultPrevented
|
|
@@ -37985,7 +38090,6 @@ class Legend {
|
|
|
37985
38090
|
* */
|
|
37986
38091
|
|
|
37987
38092
|
|
|
37988
|
-
const { animate: Chart_animate, animObject: Chart_animObject, setAnimation: Chart_setAnimation } = AnimationUtilities;
|
|
37989
38093
|
|
|
37990
38094
|
|
|
37991
38095
|
const { defaultOptions: Chart_defaultOptions } = Defaults;
|
|
@@ -38463,7 +38567,7 @@ class Chart {
|
|
|
38463
38567
|
redraw(animation) {
|
|
38464
38568
|
fireEvent(this, 'beforeRedraw');
|
|
38465
38569
|
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 = [];
|
|
38466
|
-
let hasDirtyStacks, hasStackedSeries, i,
|
|
38570
|
+
let hasDirtyStacks, hasStackedSeries, i, redrawLegend = chart.isDirtyLegend, serie;
|
|
38467
38571
|
renderer.rootFontSize = renderer.boxWrapper.getStyle('font-size');
|
|
38468
38572
|
// Handle responsive rules, not only on resize (#6130)
|
|
38469
38573
|
if (chart.setResponsive) {
|
|
@@ -38472,7 +38576,7 @@ class Chart {
|
|
|
38472
38576
|
// Set the global animation. When chart.hasRendered is not true, the
|
|
38473
38577
|
// redraw call comes from a responsive rule and animation should not
|
|
38474
38578
|
// occur.
|
|
38475
|
-
|
|
38579
|
+
setAnimation(chart.hasRendered ? animation : false, chart);
|
|
38476
38580
|
if (isHiddenChart) {
|
|
38477
38581
|
chart.temporaryDisplay();
|
|
38478
38582
|
}
|
|
@@ -38535,6 +38639,7 @@ class Chart {
|
|
|
38535
38639
|
});
|
|
38536
38640
|
chart.getMargins(); // #3098
|
|
38537
38641
|
// If one axis is dirty, all axes must be redrawn (#792, #2169)
|
|
38642
|
+
let isDirtyBox = chart.isDirtyBox;
|
|
38538
38643
|
axes.forEach(function (axis) {
|
|
38539
38644
|
if (axis.isDirty) {
|
|
38540
38645
|
isDirtyBox = true;
|
|
@@ -39070,11 +39175,8 @@ class Chart {
|
|
|
39070
39175
|
const chartHeight = chart.chartHeight;
|
|
39071
39176
|
let chartWidth = chart.chartWidth;
|
|
39072
39177
|
// Allow table cells and flex-boxes to shrink without the chart
|
|
39073
|
-
// blocking them out (#6427)
|
|
39074
|
-
|
|
39075
|
-
if (!chart.styledMode) {
|
|
39076
|
-
css(renderTo, { overflow: 'hidden' });
|
|
39077
|
-
}
|
|
39178
|
+
// blocking them out (#6427)
|
|
39179
|
+
css(renderTo, { overflow: 'hidden' });
|
|
39078
39180
|
// Create the inner container
|
|
39079
39181
|
if (!chart.styledMode) {
|
|
39080
39182
|
containerStyle = extend({
|
|
@@ -39131,7 +39233,7 @@ class Chart {
|
|
|
39131
39233
|
// first ResizeObserver reflow
|
|
39132
39234
|
chart.containerBox = chart.getContainerBox();
|
|
39133
39235
|
// Set the initial animation from the options
|
|
39134
|
-
|
|
39236
|
+
setAnimation(void 0, chart);
|
|
39135
39237
|
chart.setClassName(optionsChart.className);
|
|
39136
39238
|
if (!chart.styledMode) {
|
|
39137
39239
|
chart.renderer.setStyle(optionsChart.style);
|
|
@@ -39326,7 +39428,7 @@ class Chart {
|
|
|
39326
39428
|
// Handle the isResizing counter
|
|
39327
39429
|
chart.isResizing += 1;
|
|
39328
39430
|
// Set the animation for the current process
|
|
39329
|
-
|
|
39431
|
+
setAnimation(animation, chart);
|
|
39330
39432
|
const globalAnimation = renderer.globalAnimation;
|
|
39331
39433
|
chart.oldChartHeight = chart.chartHeight;
|
|
39332
39434
|
chart.oldChartWidth = chart.chartWidth;
|
|
@@ -39345,7 +39447,7 @@ class Chart {
|
|
|
39345
39447
|
// Resize the container with the global animation applied if enabled
|
|
39346
39448
|
// (#2503)
|
|
39347
39449
|
if (!chart.styledMode) {
|
|
39348
|
-
(globalAnimation ?
|
|
39450
|
+
(globalAnimation ? animate : css)(chart.container, {
|
|
39349
39451
|
width: `${chartWidth + scrollablePixelsX}px`,
|
|
39350
39452
|
height: `${chartHeight + scrollablePixelsY}px`
|
|
39351
39453
|
}, globalAnimation);
|
|
@@ -39371,7 +39473,7 @@ class Chart {
|
|
|
39371
39473
|
if (chart) {
|
|
39372
39474
|
fireEvent(chart, 'endResize');
|
|
39373
39475
|
}
|
|
39374
|
-
},
|
|
39476
|
+
}, animObject(globalAnimation).duration);
|
|
39375
39477
|
}
|
|
39376
39478
|
// Handle resizing counter even if we've re-rendered or not (#20548).
|
|
39377
39479
|
chart.isResizing -= 1;
|
|
@@ -40240,7 +40342,7 @@ class Chart {
|
|
|
40240
40342
|
opacity: 0,
|
|
40241
40343
|
display: ''
|
|
40242
40344
|
});
|
|
40243
|
-
|
|
40345
|
+
animate(loadingDiv, {
|
|
40244
40346
|
opacity: loadingStyle.opacity ?? 0.5
|
|
40245
40347
|
}, {
|
|
40246
40348
|
duration: loadingOptions?.showDuration ?? 0
|
|
@@ -40268,7 +40370,7 @@ class Chart {
|
|
|
40268
40370
|
loadingDiv.className =
|
|
40269
40371
|
'highcharts-loading highcharts-loading-hidden';
|
|
40270
40372
|
if (!this.styledMode) {
|
|
40271
|
-
|
|
40373
|
+
animate(loadingDiv, {
|
|
40272
40374
|
opacity: 0
|
|
40273
40375
|
}, {
|
|
40274
40376
|
duration: options.loading?.hideDuration ?? 100,
|
|
@@ -40300,6 +40402,9 @@ class Chart {
|
|
|
40300
40402
|
* Note that when changing series data, `chart.update` may mutate the passed
|
|
40301
40403
|
* data options.
|
|
40302
40404
|
*
|
|
40405
|
+
* If the given options don't differ from the current chart options, the
|
|
40406
|
+
* update is skipped and the `afterUpdate` event is not emitted.
|
|
40407
|
+
*
|
|
40303
40408
|
* See also the
|
|
40304
40409
|
* [responsive option set](https://api.highcharts.com/highcharts/responsive).
|
|
40305
40410
|
* Switching between `responsive.rules` basically runs `chart.update` under
|
|
@@ -40344,14 +40449,24 @@ class Chart {
|
|
|
40344
40449
|
caption: 'setCaption'
|
|
40345
40450
|
}, isResponsiveOptions = options.isResponsiveOptions, itemsForRemoval = [];
|
|
40346
40451
|
let updateAllAxes, updateAllSeries, runSetSize;
|
|
40347
|
-
|
|
40452
|
+
options = diffObjects(options, chart.options);
|
|
40453
|
+
const e = {
|
|
40454
|
+
options,
|
|
40455
|
+
// Event handlers can turn this on or off to control further
|
|
40456
|
+
// processing
|
|
40457
|
+
hasChanged: !!Object.keys(options).length
|
|
40458
|
+
};
|
|
40459
|
+
fireEvent(chart, 'update', e);
|
|
40460
|
+
// If no changes are detected, stop further processing (#24805).
|
|
40461
|
+
if (!e.hasChanged) {
|
|
40462
|
+
return;
|
|
40463
|
+
}
|
|
40348
40464
|
// If there are responsive rules in action, undo the responsive rules
|
|
40349
40465
|
// before we apply the updated options and replay the responsive rules
|
|
40350
40466
|
// on top from the chart.redraw function (#9617).
|
|
40351
40467
|
if (!isResponsiveOptions) {
|
|
40352
40468
|
chart.setResponsive(false, true);
|
|
40353
40469
|
}
|
|
40354
|
-
options = diffObjects(options, chart.options);
|
|
40355
40470
|
chart.userOptions = merge(chart.userOptions, options);
|
|
40356
40471
|
// If the top-level chart option is present, some special updates are
|
|
40357
40472
|
// required
|
|
@@ -40530,7 +40645,7 @@ class Chart {
|
|
|
40530
40645
|
(isNumber(newHeight) && newHeight !== chart.chartHeight)) {
|
|
40531
40646
|
chart.setSize(newWidth, newHeight, animation);
|
|
40532
40647
|
}
|
|
40533
|
-
else if (
|
|
40648
|
+
else if (redraw ?? true) {
|
|
40534
40649
|
chart.redraw(animation);
|
|
40535
40650
|
}
|
|
40536
40651
|
fireEvent(chart, 'afterUpdate', {
|
|
@@ -40579,15 +40694,11 @@ class Chart {
|
|
|
40579
40694
|
showResetZoom() {
|
|
40580
40695
|
const chart = this, lang = chart.options.lang, btnOptions = chart.zooming.resetButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
|
|
40581
40696
|
btnOptions.relativeTo === 'spacingBox' ?
|
|
40582
|
-
|
|
40697
|
+
void 0 :
|
|
40583
40698
|
'plotBox');
|
|
40584
|
-
|
|
40585
|
-
function zoomOut() {
|
|
40586
|
-
chart.zoomOut();
|
|
40587
|
-
}
|
|
40588
|
-
fireEvent(this, 'beforeShowResetZoom', null, function () {
|
|
40699
|
+
fireEvent(this, 'beforeShowResetZoom', void 0, () => {
|
|
40589
40700
|
chart.resetZoomButton = chart.renderer
|
|
40590
|
-
.button(lang.resetZoom,
|
|
40701
|
+
.button(lang.resetZoom, 0, 0, () => chart.zoomOut(), theme)
|
|
40591
40702
|
.attr({
|
|
40592
40703
|
align: btnOptions.position.align,
|
|
40593
40704
|
title: lang.resetZoomTitle
|
|
@@ -40665,7 +40776,7 @@ class Chart {
|
|
|
40665
40776
|
* @function Highcharts.Chart#transform
|
|
40666
40777
|
*/
|
|
40667
40778
|
transform(params) {
|
|
40668
|
-
const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, {
|
|
40779
|
+
const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { time } = this;
|
|
40669
40780
|
// Remove active points for shared tooltip
|
|
40670
40781
|
this.hoverPoints?.forEach((point) => point.setState());
|
|
40671
40782
|
fireEvent(this, 'transform', params);
|
|
@@ -40676,10 +40787,10 @@ class Chart {
|
|
|
40676
40787
|
scale = Math.abs(toLength) < 10 ?
|
|
40677
40788
|
1 :
|
|
40678
40789
|
toLength / fromLength, fromCenter = (from[xy] || 0) + fromLength / 2 - axis.pos, toCenter = (to[xy] ?? axis.pos) +
|
|
40679
|
-
toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = (
|
|
40680
|
-
(!
|
|
40681
|
-
|
|
40682
|
-
1, minPx = move;
|
|
40790
|
+
toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = ((horiz && !reversed) ||
|
|
40791
|
+
(!horiz && reversed)) ?
|
|
40792
|
+
1 :
|
|
40793
|
+
-1, minPx = move;
|
|
40683
40794
|
// Zooming in multiple panes, zoom only in the pane that receives
|
|
40684
40795
|
// the input
|
|
40685
40796
|
if (!reset && (fromCenter < 0 || fromCenter > axis.len)) {
|
|
@@ -40688,17 +40799,11 @@ class Chart {
|
|
|
40688
40799
|
// Adjust offset to ensure selection zoom triggers correctly
|
|
40689
40800
|
// (#22945)
|
|
40690
40801
|
// Set offset to 0 for ordinal axis only when zooming out, (#24545).
|
|
40691
|
-
const offset = (axis.chart.polar ||
|
|
40802
|
+
const offset = (selection || axis.chart.polar ||
|
|
40803
|
+
(axis.isOrdinal && scale <= 1)) ?
|
|
40692
40804
|
0 :
|
|
40693
40805
|
(minPointOffset * pointRangeDirection || 0), eventMin = axis.toValue(minPx, true), eventMax = axis.toValue(minPx + len / scale, true);
|
|
40694
40806
|
let newMin = eventMin + offset, newMax = eventMax - offset, allExtremes = axis.allExtremes;
|
|
40695
|
-
if (selection) {
|
|
40696
|
-
selection[axis.coll].push({
|
|
40697
|
-
axis,
|
|
40698
|
-
min: Math.min(eventMin, eventMax),
|
|
40699
|
-
max: Math.max(eventMin, eventMax)
|
|
40700
|
-
});
|
|
40701
|
-
}
|
|
40702
40807
|
if (newMin > newMax) {
|
|
40703
40808
|
[newMin, newMax] = [newMax, newMin];
|
|
40704
40809
|
}
|
|
@@ -40755,14 +40860,15 @@ class Chart {
|
|
|
40755
40860
|
}
|
|
40756
40861
|
// Set new extremes if they are actually new
|
|
40757
40862
|
if (reset || (axis.series.length &&
|
|
40758
|
-
(
|
|
40759
|
-
|
|
40760
|
-
|
|
40863
|
+
(selection ||
|
|
40864
|
+
((newMin !== min || newMax !== max) &&
|
|
40865
|
+
newMin >= floor &&
|
|
40866
|
+
newMax <= ceiling)))) {
|
|
40761
40867
|
if (selection) {
|
|
40762
40868
|
selection[axis.coll].push({
|
|
40763
40869
|
axis,
|
|
40764
|
-
min:
|
|
40765
|
-
max:
|
|
40870
|
+
min: Math.min(eventMin, eventMax),
|
|
40871
|
+
max: Math.max(eventMin, eventMax)
|
|
40766
40872
|
});
|
|
40767
40873
|
}
|
|
40768
40874
|
else {
|
|
@@ -40770,11 +40876,14 @@ class Chart {
|
|
|
40770
40876
|
// disallow certain axis padding options that would make
|
|
40771
40877
|
// panning/zooming hard. Reset and redraw after the
|
|
40772
40878
|
// operation has finished.
|
|
40773
|
-
axis.isPanning = trigger !== 'zoom'
|
|
40879
|
+
axis.isPanning = trigger !== 'zoom' &&
|
|
40880
|
+
trigger !== 'drop';
|
|
40774
40881
|
if (axis.isPanning && trigger !== 'mousewheel') {
|
|
40775
40882
|
isAnyAxisPanning = true; // #21319
|
|
40776
40883
|
}
|
|
40777
|
-
|
|
40884
|
+
if (trigger !== 'drop') {
|
|
40885
|
+
axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
|
|
40886
|
+
}
|
|
40778
40887
|
if (!reset &&
|
|
40779
40888
|
(newMin > floor || newMax < ceiling)) {
|
|
40780
40889
|
displayButton = allowResetButton;
|
|
@@ -40805,7 +40914,8 @@ class Chart {
|
|
|
40805
40914
|
});
|
|
40806
40915
|
}
|
|
40807
40916
|
else {
|
|
40808
|
-
// Show or hide the Reset zoom button, but not while
|
|
40917
|
+
// Show or hide the Reset zoom button, but not while
|
|
40918
|
+
// panning.
|
|
40809
40919
|
if (displayButton &&
|
|
40810
40920
|
!isAnyAxisPanning &&
|
|
40811
40921
|
!this.resetZoomButton) {
|
|
@@ -41047,7 +41157,6 @@ extend(Chart.prototype, {
|
|
|
41047
41157
|
*/
|
|
41048
41158
|
|
|
41049
41159
|
|
|
41050
|
-
const { stop: ScrollablePlotArea_stop } = AnimationUtilities;
|
|
41051
41160
|
|
|
41052
41161
|
const { composed: ScrollablePlotArea_composed } = Core_Globals;
|
|
41053
41162
|
|
|
@@ -41213,7 +41322,7 @@ class ScrollablePlotArea {
|
|
|
41213
41322
|
this.moveFixedElements();
|
|
41214
41323
|
}
|
|
41215
41324
|
// Increase the size of the scrollable renderer and background
|
|
41216
|
-
|
|
41325
|
+
stop(chart.container);
|
|
41217
41326
|
css(container, {
|
|
41218
41327
|
width: `${scrollableWidth}px`,
|
|
41219
41328
|
height: `${scrollableHeight}px`
|
|
@@ -41370,6 +41479,13 @@ ScrollablePlotArea.fixedSelectors = [
|
|
|
41370
41479
|
* vertical scrolling, depending on whether the `minWidth` or `minHeight`
|
|
41371
41480
|
* option is set.
|
|
41372
41481
|
*
|
|
41482
|
+
* **Note:** Because native browser scrollbars are used, they may
|
|
41483
|
+
* overlap with fixed chart elements such as credits or the chart
|
|
41484
|
+
* border. To avoid this collision, it is recommended to manually add
|
|
41485
|
+
* extra space to the corresponding side using `chart.spacingBottom`
|
|
41486
|
+
* (for horizontal scrollbars) or `chart.spacingRight` (for vertical
|
|
41487
|
+
* scrollbars).
|
|
41488
|
+
*
|
|
41373
41489
|
* @sample highcharts/chart/scrollable-plotarea
|
|
41374
41490
|
* Scrollable plot area
|
|
41375
41491
|
* @sample highcharts/chart/scrollable-plotarea-vertical
|
|
@@ -41720,7 +41836,6 @@ class StackItem {
|
|
|
41720
41836
|
* */
|
|
41721
41837
|
|
|
41722
41838
|
|
|
41723
|
-
const { getDeferredAnimation: StackingAxis_getDeferredAnimation } = AnimationUtilities;
|
|
41724
41839
|
|
|
41725
41840
|
const { series: { prototype: seriesProto } } = Series_SeriesRegistry;
|
|
41726
41841
|
|
|
@@ -42064,7 +42179,7 @@ class AxisAdditions {
|
|
|
42064
42179
|
}
|
|
42065
42180
|
/** @internal */
|
|
42066
42181
|
renderStackTotals() {
|
|
42067
|
-
const stacking = this, axis = stacking.axis, chart = axis.chart, renderer = chart.renderer, stacks = stacking.stacks, stackLabelsAnim = axis.options.stackLabels?.animation, animationConfig =
|
|
42182
|
+
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 ||
|
|
42068
42183
|
renderer
|
|
42069
42184
|
.g('stack-labels')
|
|
42070
42185
|
.attr({
|
|
@@ -43817,6 +43932,8 @@ const ColumnSeriesDefaults = {
|
|
|
43817
43932
|
* 0.25
|
|
43818
43933
|
* @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/
|
|
43819
43934
|
* 0 for tightly packed columns
|
|
43935
|
+
* @sample {highcharts} highcharts/plotoptions/pie-pointpadding/
|
|
43936
|
+
* Pie point padding plugin
|
|
43820
43937
|
*
|
|
43821
43938
|
* @product highcharts highstock gantt
|
|
43822
43939
|
*/
|
|
@@ -44148,12 +44265,12 @@ const ColumnSeriesDefaults = {
|
|
|
44148
44265
|
*/
|
|
44149
44266
|
/**
|
|
44150
44267
|
* @excluding halo, lineWidth, lineWidthPlus, marker
|
|
44151
|
-
* @product highcharts highstock
|
|
44268
|
+
* @product highcharts highstock gantt
|
|
44152
44269
|
* @apioption series.column.states.hover
|
|
44153
44270
|
*/
|
|
44154
44271
|
/**
|
|
44155
44272
|
* @excluding halo, lineWidth, lineWidthPlus, marker
|
|
44156
|
-
* @product highcharts highstock
|
|
44273
|
+
* @product highcharts highstock gantt
|
|
44157
44274
|
* @apioption series.column.states.select
|
|
44158
44275
|
*/
|
|
44159
44276
|
/**
|
|
@@ -44183,7 +44300,6 @@ const ColumnSeriesDefaults = {
|
|
|
44183
44300
|
* */
|
|
44184
44301
|
|
|
44185
44302
|
|
|
44186
|
-
const { animObject: ColumnSeries_animObject } = AnimationUtilities;
|
|
44187
44303
|
|
|
44188
44304
|
const { parse: ColumnSeries_color } = Color_Color;
|
|
44189
44305
|
|
|
@@ -44254,7 +44370,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44254
44370
|
}
|
|
44255
44371
|
else { // Run the animation
|
|
44256
44372
|
translateStart = Number(series.group.attr(translateProp));
|
|
44257
|
-
series.group.animate({ scaleY: 1 }, extend(
|
|
44373
|
+
series.group.animate({ scaleY: 1 }, extend(animObject(series.options.animation), {
|
|
44258
44374
|
// Do the scale synchronously to ensure smooth
|
|
44259
44375
|
// updating (#5030, #7228)
|
|
44260
44376
|
step: function (val, fx) {
|
|
@@ -44590,11 +44706,11 @@ class ColumnSeries extends Series_Series {
|
|
|
44590
44706
|
*/
|
|
44591
44707
|
pointAttribs(point, state) {
|
|
44592
44708
|
const options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
|
|
44593
|
-
let stateOptions, zone, brightness, fill =
|
|
44709
|
+
let stateOptions, zone, brightness, fill = point?.color || this.color,
|
|
44594
44710
|
// Set to fill when borderColor null:
|
|
44595
|
-
stroke = (
|
|
44711
|
+
stroke = (point?.[strokeOption] ||
|
|
44596
44712
|
options[strokeOption] ||
|
|
44597
|
-
fill), dashstyle =
|
|
44713
|
+
fill), dashstyle = point?.options.dashStyle || options.dashStyle, strokeWidth = point?.[strokeWidthOption] ??
|
|
44598
44714
|
options[strokeWidthOption] ??
|
|
44599
44715
|
this[strokeWidthOption] ?? 1, opacity = (point?.isNull && options.nullInteraction) ?
|
|
44600
44716
|
0 :
|
|
@@ -44615,7 +44731,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44615
44731
|
}
|
|
44616
44732
|
// Select or hover states
|
|
44617
44733
|
if (state && point) {
|
|
44618
|
-
stateOptions = merge(options.states[state],
|
|
44734
|
+
stateOptions = merge(options.states?.[state],
|
|
44619
44735
|
// #6401
|
|
44620
44736
|
point.options.states?.[state] || {});
|
|
44621
44737
|
brightness = stateOptions.brightness;
|
|
@@ -44625,14 +44741,13 @@ class ColumnSeries extends Series_Series {
|
|
|
44625
44741
|
.brighten(stateOptions.brightness)
|
|
44626
44742
|
.get()) || fill;
|
|
44627
44743
|
stroke = stateOptions[strokeOption] || stroke;
|
|
44628
|
-
strokeWidth =
|
|
44629
|
-
stateOptions[strokeWidthOption] || strokeWidth;
|
|
44744
|
+
strokeWidth = stateOptions[strokeWidthOption] || strokeWidth;
|
|
44630
44745
|
dashstyle = stateOptions.dashStyle || dashstyle;
|
|
44631
|
-
opacity =
|
|
44746
|
+
opacity = stateOptions.opacity ?? opacity;
|
|
44632
44747
|
}
|
|
44633
44748
|
const ret = {
|
|
44634
|
-
fill
|
|
44635
|
-
stroke
|
|
44749
|
+
fill,
|
|
44750
|
+
stroke,
|
|
44636
44751
|
'stroke-width': strokeWidth,
|
|
44637
44752
|
opacity: point?.condemned ? 0 : opacity
|
|
44638
44753
|
};
|
|
@@ -44673,6 +44788,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44673
44788
|
initialAttr = merge(shapeArgs, point.getOrigin(point.origin, shapeArgs));
|
|
44674
44789
|
if (!styledMode) {
|
|
44675
44790
|
initialAttr.opacity = 0;
|
|
44791
|
+
initialAttr['stroke-width'] = 0;
|
|
44676
44792
|
}
|
|
44677
44793
|
shouldUpdate = true;
|
|
44678
44794
|
verb = 'animate';
|
|
@@ -44688,7 +44804,7 @@ class ColumnSeries extends Series_Series {
|
|
|
44688
44804
|
}
|
|
44689
44805
|
// Presentational
|
|
44690
44806
|
if (!styledMode) {
|
|
44691
|
-
graphic[verb](series.pointAttribs(point,
|
|
44807
|
+
graphic[verb](series.pointAttribs(point, point.selected ? 'select' : ''))
|
|
44692
44808
|
.shadow(point.allowShadow !== false && options.shadow);
|
|
44693
44809
|
}
|
|
44694
44810
|
graphic
|
|
@@ -44812,6 +44928,7 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
|
|
|
44812
44928
|
* Default Export
|
|
44813
44929
|
*
|
|
44814
44930
|
* */
|
|
44931
|
+
/** @internal */
|
|
44815
44932
|
/* harmony default export */ const Column_ColumnSeries = (ColumnSeries);
|
|
44816
44933
|
/* *
|
|
44817
44934
|
*
|
|
@@ -44848,7 +44965,6 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
|
|
|
44848
44965
|
* */
|
|
44849
44966
|
|
|
44850
44967
|
|
|
44851
|
-
const { getDeferredAnimation: DataLabel_getDeferredAnimation } = AnimationUtilities;
|
|
44852
44968
|
|
|
44853
44969
|
const { format: DataLabel_format } = Core_Templating;
|
|
44854
44970
|
|
|
@@ -45165,7 +45281,7 @@ var DataLabel;
|
|
|
45165
45281
|
'var(--highcharts-background-color)'), groupByIndex = [], seriesDlOptions = mergedDataLabelOptions(series);
|
|
45166
45282
|
// Resolve the animation
|
|
45167
45283
|
const { animation, defer } = seriesDlOptions[0], animationConfig = defer ?
|
|
45168
|
-
|
|
45284
|
+
getDeferredAnimation(chart, animation, series) :
|
|
45169
45285
|
{ defer: 0, duration: 0 };
|
|
45170
45286
|
fireEvent(this, 'drawDataLabels');
|
|
45171
45287
|
if (series.hasDataLabels?.()) {
|
|
@@ -45931,6 +46047,8 @@ const ScatterSeriesDefaults = {
|
|
|
45931
46047
|
* Arrays of datetime x and y
|
|
45932
46048
|
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
|
45933
46049
|
* Arrays of point.name and y
|
|
46050
|
+
* @sample {highcharts} highcharts/series-scatter/scatter-cluster/
|
|
46051
|
+
* Computed clusters
|
|
45934
46052
|
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
|
45935
46053
|
* Config objects
|
|
45936
46054
|
*
|
|
@@ -46079,7 +46197,7 @@ Series_SeriesRegistry.registerSeriesType('scatter', ScatterSeries);
|
|
|
46079
46197
|
const { deg2rad: CenteredUtilities_deg2rad } = Core_Globals;
|
|
46080
46198
|
|
|
46081
46199
|
/**
|
|
46082
|
-
* @
|
|
46200
|
+
* @internal
|
|
46083
46201
|
*/
|
|
46084
46202
|
var CenteredUtilities;
|
|
46085
46203
|
(function (CenteredUtilities) {
|
|
@@ -46097,7 +46215,7 @@ var CenteredUtilities;
|
|
|
46097
46215
|
* Get the center of the pie based on the size and center options relative
|
|
46098
46216
|
* to the plot area. Borrowed by the polar and gauge series types.
|
|
46099
46217
|
*
|
|
46100
|
-
* @
|
|
46218
|
+
* @internal
|
|
46101
46219
|
* @function Highcharts.CenteredSeriesMixin.getCenter
|
|
46102
46220
|
*/
|
|
46103
46221
|
function getCenter() {
|
|
@@ -46142,7 +46260,7 @@ var CenteredUtilities;
|
|
|
46142
46260
|
* GetStartAndEndRadians - Calculates start and end angles in radians.
|
|
46143
46261
|
* Used in series types such as pie and sunburst.
|
|
46144
46262
|
*
|
|
46145
|
-
* @
|
|
46263
|
+
* @internal
|
|
46146
46264
|
* @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
|
|
46147
46265
|
*
|
|
46148
46266
|
* @param {number} [start]
|
|
@@ -46174,6 +46292,7 @@ var CenteredUtilities;
|
|
|
46174
46292
|
* Default Export
|
|
46175
46293
|
*
|
|
46176
46294
|
* */
|
|
46295
|
+
/** @internal */
|
|
46177
46296
|
/* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
|
|
46178
46297
|
/* *
|
|
46179
46298
|
*
|
|
@@ -46181,7 +46300,7 @@ var CenteredUtilities;
|
|
|
46181
46300
|
*
|
|
46182
46301
|
* */
|
|
46183
46302
|
/**
|
|
46184
|
-
* @
|
|
46303
|
+
* @internal
|
|
46185
46304
|
* @interface Highcharts.RadianAngles
|
|
46186
46305
|
*/ /**
|
|
46187
46306
|
* @name Highcharts.RadianAngles#end
|
|
@@ -46206,7 +46325,6 @@ var CenteredUtilities;
|
|
|
46206
46325
|
* */
|
|
46207
46326
|
|
|
46208
46327
|
|
|
46209
|
-
const { setAnimation: PiePoint_setAnimation } = AnimationUtilities;
|
|
46210
46328
|
|
|
46211
46329
|
|
|
46212
46330
|
/* *
|
|
@@ -46314,7 +46432,7 @@ class PiePoint extends Series_Point {
|
|
|
46314
46432
|
*/
|
|
46315
46433
|
slice(sliced, redraw, animation) {
|
|
46316
46434
|
const series = this.series, chart = series.chart;
|
|
46317
|
-
|
|
46435
|
+
setAnimation(animation, chart);
|
|
46318
46436
|
// Redraw is true by default
|
|
46319
46437
|
redraw = pick(redraw, true);
|
|
46320
46438
|
this.sliced = this.options.sliced = sliced ?? !this.sliced;
|
|
@@ -48452,7 +48570,7 @@ function BorderRadius_arc(x, y, w, h, options = {}) {
|
|
|
48452
48570
|
if (options.open || !options.borderRadius) {
|
|
48453
48571
|
return path;
|
|
48454
48572
|
}
|
|
48455
|
-
const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius
|
|
48573
|
+
const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
|
|
48456
48574
|
// Cap to half the sector radius
|
|
48457
48575
|
(r - innerR) / 2,
|
|
48458
48576
|
// For smaller pie slices, cap to the largest small circle that
|
|
@@ -48478,7 +48596,7 @@ function seriesOnAfterColumnTranslate() {
|
|
|
48478
48596
|
if (this.options.borderRadius &&
|
|
48479
48597
|
!(this.chart.is3d && this.chart.is3d())) {
|
|
48480
48598
|
const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
|
|
48481
|
-
?.borderRadius, borderRadius =
|
|
48599
|
+
?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
|
|
48482
48600
|
for (const point of this.points) {
|
|
48483
48601
|
const { shapeArgs } = point;
|
|
48484
48602
|
if (point.shapeType === 'roundedRect' && shapeArgs) {
|
|
@@ -48550,8 +48668,12 @@ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
|
|
|
48550
48668
|
symbols.roundedRect = BorderRadius_roundedRect;
|
|
48551
48669
|
}
|
|
48552
48670
|
}
|
|
48553
|
-
/**
|
|
48554
|
-
function
|
|
48671
|
+
/**
|
|
48672
|
+
* Utility function to get the full border radius options object, from a simple
|
|
48673
|
+
* number or a partial options object.
|
|
48674
|
+
* @internal
|
|
48675
|
+
*/
|
|
48676
|
+
function borderRadiusObject(options, seriesBROptions) {
|
|
48555
48677
|
if (!isObject(options)) {
|
|
48556
48678
|
options = { radius: options || 0 };
|
|
48557
48679
|
}
|
|
@@ -48559,7 +48681,7 @@ function optionsToObject(options, seriesBROptions) {
|
|
|
48559
48681
|
}
|
|
48560
48682
|
/** @internal */
|
|
48561
48683
|
function pieSeriesOnAfterTranslate() {
|
|
48562
|
-
const borderRadius =
|
|
48684
|
+
const borderRadius = borderRadiusObject(this.options.borderRadius);
|
|
48563
48685
|
for (const point of this.points) {
|
|
48564
48686
|
const shapeArgs = point.shapeArgs;
|
|
48565
48687
|
if (shapeArgs) {
|
|
@@ -48678,7 +48800,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48678
48800
|
* Column and pie with rounded border
|
|
48679
48801
|
*
|
|
48680
48802
|
* @name Highcharts.BorderRadiusOptionsObject#radius
|
|
48681
|
-
* @type {string|number}
|
|
48803
|
+
* @type {string|number|undefined}
|
|
48682
48804
|
*/ /**
|
|
48683
48805
|
* The scope of the rounding for column charts or plot bands. In a stacked
|
|
48684
48806
|
* column chart, the value `point` means each single point will get rounded
|
|
@@ -48693,8 +48815,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48693
48815
|
* Rounded columns
|
|
48694
48816
|
*
|
|
48695
48817
|
* @name Highcharts.BorderRadiusOptionsObject#scope
|
|
48696
|
-
* @
|
|
48697
|
-
* @type {string}
|
|
48818
|
+
* @type {"individual"|"point"|"stack"|undefined}
|
|
48698
48819
|
*/ /**
|
|
48699
48820
|
* For column charts, where in the point or stack to apply rounding. The `end`
|
|
48700
48821
|
* value means only those corners at the point value will be rounded, leaving
|
|
@@ -48705,8 +48826,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
|
|
|
48705
48826
|
* Rounding on all corners
|
|
48706
48827
|
*
|
|
48707
48828
|
* @name Highcharts.BorderRadiusOptionsObject#where
|
|
48708
|
-
* @
|
|
48709
|
-
* @type {string}
|
|
48829
|
+
* @type {"all"|"end"|undefined}
|
|
48710
48830
|
* @default end
|
|
48711
48831
|
*/
|
|
48712
48832
|
(''); // Keeps doclets above in JS file
|
|
@@ -49054,8 +49174,8 @@ G.Time = Core_Time;
|
|
|
49054
49174
|
G.Tooltip = Core_Tooltip;
|
|
49055
49175
|
// Utilities
|
|
49056
49176
|
G.addEvent = addEvent;
|
|
49057
|
-
G.animObject =
|
|
49058
|
-
G.animate =
|
|
49177
|
+
G.animObject = animObject;
|
|
49178
|
+
G.animate = animate;
|
|
49059
49179
|
G.arrayMax = arrayMax;
|
|
49060
49180
|
G.arrayMin = arrayMin;
|
|
49061
49181
|
G.attr = attr;
|
|
@@ -49082,7 +49202,7 @@ G.fireEvent = fireEvent;
|
|
|
49082
49202
|
G.format = Core_Templating.format;
|
|
49083
49203
|
G.getAlignFactor = getAlignFactor;
|
|
49084
49204
|
G.getClosestDistance = getClosestDistance;
|
|
49085
|
-
G.getDeferredAnimation =
|
|
49205
|
+
G.getDeferredAnimation = getDeferredAnimation;
|
|
49086
49206
|
G.getMagnitude = getMagnitude;
|
|
49087
49207
|
G.getNestedProperty = getNestedProperty;
|
|
49088
49208
|
G.getOptions = Defaults.getOptions;
|
|
@@ -49109,11 +49229,11 @@ G.relativeLength = relativeLength;
|
|
|
49109
49229
|
G.removeEvent = removeEvent;
|
|
49110
49230
|
G.replaceNested = replaceNested;
|
|
49111
49231
|
G.seriesType = Series_SeriesRegistry.seriesType;
|
|
49112
|
-
G.setAnimation =
|
|
49232
|
+
G.setAnimation = setAnimation;
|
|
49113
49233
|
G.setOptions = Defaults.setOptions;
|
|
49114
49234
|
G.splat = splat;
|
|
49115
49235
|
G.stableSort = stableSort;
|
|
49116
|
-
G.stop =
|
|
49236
|
+
G.stop = stop;
|
|
49117
49237
|
G.syncTimeout = syncTimeout;
|
|
49118
49238
|
G.time = Defaults.defaultTime;
|
|
49119
49239
|
G.ucfirst = ucfirst;
|