highcharts 13.0.1 → 13.0.2
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 +2 -3
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
- package/es-modules/Accessibility/Components/LegendComponent.js +2 -2
- package/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
- package/es-modules/Accessibility/FocusBorder.js +2 -2
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
- package/es-modules/Core/Animation/AnimationUtilities.js +3 -2
- package/es-modules/Core/Axis/Axis.js +48 -57
- package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
- package/es-modules/Core/Axis/BrokenAxis.js +6 -5
- package/es-modules/Core/Axis/Color/ColorAxis.js +17 -10
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +2 -2
- package/es-modules/Core/Axis/GridAxis.js +4 -4
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -3
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +9 -7
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
- package/es-modules/Core/Axis/RadialAxis.js +15 -9
- package/es-modules/Core/Axis/ScrollbarAxis.js +3 -3
- package/es-modules/Core/Axis/Stacking/StackItem.js +5 -5
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +4 -4
- package/es-modules/Core/Axis/Tick.js +10 -11
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
- package/es-modules/Core/Chart/Chart.js +14 -14
- package/es-modules/Core/Chart/Chart3D.js +3 -3
- package/es-modules/Core/Chart/ChartDefaults.js +23 -0
- package/es-modules/Core/Chart/MapChart.js +7 -5
- package/es-modules/Core/Chart/StockChart.js +15 -11
- package/es-modules/Core/Color/Color.js +3 -1
- package/es-modules/Core/Defaults.js +35 -0
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +16 -12
- package/es-modules/Core/Legend/LegendSymbol.js +2 -2
- package/es-modules/Core/MSPointer.js +2 -2
- package/es-modules/Core/Math3D.js +6 -7
- package/es-modules/Core/Pointer.js +9 -9
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -9
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +5 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +5 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +11 -9
- package/es-modules/Core/Renderer/SVG/Symbols.js +6 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +7 -5
- package/es-modules/Core/Series/DataLabel.js +8 -6
- package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
- package/es-modules/Core/Series/Point.js +3 -3
- package/es-modules/Core/Series/Series.js +37 -21
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Templating.js +2 -2
- package/es-modules/Core/Tooltip.js +11 -7
- package/es-modules/Core/Utilities.js +4 -3
- package/es-modules/Data/Connectors/DataConnector.js +2 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/DataTable.js +17 -0
- package/es-modules/Extensions/Annotations/Annotation.js +4 -4
- package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +2 -2
- package/es-modules/Extensions/Annotations/EventEmitter.js +4 -4
- package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -6
- package/es-modules/Extensions/Annotations/Types/Measure.js +3 -3
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
- package/es-modules/Extensions/Boost/BoostChart.js +11 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +8 -9
- package/es-modules/Extensions/Boost/WGLRenderer.js +9 -6
- package/es-modules/Extensions/Boost/WGLShader.js +3 -3
- package/es-modules/Extensions/BoostCanvas.js +2 -2
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +5 -4
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +2 -2
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +4 -3
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +2 -2
- package/es-modules/Extensions/DraggablePoints/DragDropProps.js +2 -3
- package/es-modules/Extensions/ExportData/ExportData.js +17 -16
- package/es-modules/Extensions/Exporting/Exporting.js +7 -7
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
- package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
- package/es-modules/Extensions/PatternFill.js +7 -5
- package/es-modules/Extensions/PriceIndication.js +5 -4
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +7 -7
- package/es-modules/Extensions/Sonification/MIDI.js +2 -3
- package/es-modules/Extensions/Sonification/Sonification.js +2 -2
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +3 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/Sonification/TimelineFromChart.js +11 -11
- package/es-modules/Gantt/Legacy.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +3 -3
- package/es-modules/Gantt/PathfinderAlgorithms.js +4 -3
- package/es-modules/Gantt/Tree.js +1 -1
- package/es-modules/Maps/MapNavigation.js +4 -4
- package/es-modules/Maps/MapPointer.js +2 -2
- package/es-modules/Maps/MapView.js +2 -2
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
- package/es-modules/Series/Area/AreaSeries.js +4 -5
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +13 -4
- package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
- package/es-modules/Series/Bubble/BubbleSeries.js +10 -9
- package/es-modules/Series/Bullet/BulletSeries.js +17 -10
- package/es-modules/Series/CenteredUtilities.js +7 -5
- package/es-modules/Series/Column/ColumnSeries.js +2 -2
- package/es-modules/Series/Column3D/Column3DComposition.js +6 -5
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -4
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +4 -2
- package/es-modules/Series/Cylinder/CylinderComposition.js +2 -2
- package/es-modules/Series/DataModifyComposition.js +9 -7
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -2
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +14 -3
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +24 -7
- package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
- package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
- package/es-modules/Series/Funnel/FunnelSeries.js +2 -2
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
- package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +4 -4
- package/es-modules/Series/Heatmap/HeatmapPoint.js +6 -6
- package/es-modules/Series/Heatmap/HeatmapPointOptions.js +12 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -13
- package/es-modules/Series/Heatmap/HeatmapSeriesOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramPoint.js +17 -0
- package/es-modules/Series/Histogram/HistogramPointOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramSeries.js +14 -2
- package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
- package/es-modules/Series/InterpolationUtilities.js +5 -5
- package/es-modules/Series/Item/ItemPointOptions.js +14 -0
- package/es-modules/Series/Item/ItemSeries.js +18 -6
- package/es-modules/Series/Item/ItemSeriesOptions.js +14 -0
- package/es-modules/Series/Map/MapPoint.js +5 -3
- package/es-modules/Series/Map/MapSeries.js +5 -8
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -2
- package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
- package/es-modules/Series/NodesComposition.js +9 -10
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +5 -5
- package/es-modules/Series/Pictorial/PictorialSeries.js +4 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +2 -2
- package/es-modules/Series/Pie/PieSeries.js +3 -2
- package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
- package/es-modules/Series/PolarComposition.js +8 -7
- package/es-modules/Series/Sankey/SankeySeries.js +11 -5
- package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
- package/es-modules/Series/Spline/SplineSeries.js +5 -5
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +8 -6
- package/es-modules/Series/Tilemap/TilemapShapes.js +2 -2
- package/es-modules/Series/Timeline/TimelinePoint.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +4 -3
- package/es-modules/Series/TreeUtilities.js +16 -7
- package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
- package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
- package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -2
- package/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
- package/es-modules/Shared/TimeBase.js +8 -2
- package/es-modules/Shared/Utilities.js +9 -7
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -3
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +4 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -2
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
- package/es-modules/Stock/Navigator/Navigator.js +26 -26
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +4 -4
- package/es-modules/Stock/RangeSelector/RangeSelector.js +15 -11
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +3 -3
- package/es-modules/Stock/Scrollbar/Scrollbar.js +8 -7
- package/es-modules/Stock/StockTools/StockToolbar.js +5 -5
- package/es-modules/Stock/StockTools/StockTools.js +2 -2
- package/es-modules/Stock/StockTools/StockToolsGui.js +4 -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 -2
- 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 +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/geoheatmap.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/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 +1 -1
- package/es-modules/masters/modules/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/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 -32
- package/esm/highcharts-autoload.js +1 -1
- package/esm/highcharts-autoload.src.js +1 -1
- package/esm/highcharts-gantt.js +1 -1
- package/esm/highcharts-gantt.src.js +1 -1
- package/esm/highcharts-more.js +2 -2
- package/esm/highcharts-more.src.js +90 -56
- package/esm/highcharts.js +4 -4
- package/esm/highcharts.src.js +312 -207
- package/esm/highmaps.js +1 -1
- package/esm/highmaps.src.js +1 -1
- package/esm/highstock.js +1 -1
- package/esm/highstock.src.js +1 -1
- package/esm/i18n/fr-FR.js +1 -1
- package/esm/i18n/fr-FR.src.js +1 -1
- package/esm/i18n/nb-NO.js +1 -1
- package/esm/i18n/nb-NO.src.js +1 -1
- package/esm/i18n/zh-CN.js +1 -1
- package/esm/i18n/zh-CN.src.js +1 -1
- package/esm/indicators/acceleration-bands.js +1 -1
- package/esm/indicators/acceleration-bands.src.js +1 -1
- package/esm/indicators/accumulation-distribution.js +1 -1
- package/esm/indicators/accumulation-distribution.src.js +1 -1
- package/esm/indicators/ao.js +1 -1
- package/esm/indicators/ao.src.js +1 -1
- package/esm/indicators/apo.js +1 -1
- package/esm/indicators/apo.src.js +1 -1
- package/esm/indicators/aroon-oscillator.js +1 -1
- package/esm/indicators/aroon-oscillator.src.js +1 -1
- package/esm/indicators/aroon.js +2 -2
- package/esm/indicators/aroon.src.js +3 -3
- package/esm/indicators/atr.js +1 -1
- package/esm/indicators/atr.src.js +1 -1
- package/esm/indicators/bollinger-bands.js +1 -1
- package/esm/indicators/bollinger-bands.src.js +1 -1
- package/esm/indicators/cci.js +1 -1
- package/esm/indicators/cci.src.js +1 -1
- package/esm/indicators/chaikin.js +1 -1
- package/esm/indicators/chaikin.src.js +1 -1
- package/esm/indicators/cmf.js +1 -1
- package/esm/indicators/cmf.src.js +1 -1
- package/esm/indicators/cmo.js +1 -1
- package/esm/indicators/cmo.src.js +1 -1
- package/esm/indicators/dema.js +1 -1
- package/esm/indicators/dema.src.js +1 -1
- package/esm/indicators/disparity-index.js +1 -1
- package/esm/indicators/disparity-index.src.js +1 -1
- package/esm/indicators/dmi.js +1 -1
- package/esm/indicators/dmi.src.js +1 -1
- package/esm/indicators/dpo.js +2 -2
- package/esm/indicators/dpo.src.js +4 -3
- package/esm/indicators/ichimoku-kinko-hyo.js +1 -1
- package/esm/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +8 -7
- package/esm/indicators/indicators.js +2 -2
- package/esm/indicators/indicators.src.js +2 -2
- package/esm/indicators/keltner-channels.js +1 -1
- package/esm/indicators/keltner-channels.src.js +1 -1
- package/esm/indicators/klinger.js +1 -1
- package/esm/indicators/klinger.src.js +1 -1
- package/esm/indicators/macd.js +1 -1
- package/esm/indicators/macd.src.js +1 -1
- package/esm/indicators/mfi.js +1 -1
- package/esm/indicators/mfi.src.js +1 -1
- package/esm/indicators/momentum.js +1 -1
- package/esm/indicators/momentum.src.js +1 -1
- package/esm/indicators/natr.js +1 -1
- package/esm/indicators/natr.src.js +1 -1
- package/esm/indicators/obv.js +1 -1
- package/esm/indicators/obv.src.js +1 -1
- package/esm/indicators/pivot-points.js +1 -1
- package/esm/indicators/pivot-points.src.js +1 -1
- package/esm/indicators/ppo.js +1 -1
- package/esm/indicators/ppo.src.js +1 -1
- package/esm/indicators/price-channel.js +1 -1
- package/esm/indicators/price-channel.src.js +1 -1
- package/esm/indicators/price-envelopes.js +1 -1
- package/esm/indicators/price-envelopes.src.js +1 -1
- package/esm/indicators/psar.js +1 -1
- package/esm/indicators/psar.src.js +1 -1
- package/esm/indicators/regressions.js +1 -1
- package/esm/indicators/regressions.src.js +1 -1
- package/esm/indicators/roc.js +1 -1
- package/esm/indicators/roc.src.js +1 -1
- package/esm/indicators/rsi.js +1 -1
- package/esm/indicators/rsi.src.js +2 -2
- package/esm/indicators/slow-stochastic.js +1 -1
- package/esm/indicators/slow-stochastic.src.js +1 -1
- package/esm/indicators/stochastic.js +1 -1
- package/esm/indicators/stochastic.src.js +1 -1
- package/esm/indicators/supertrend.js +1 -1
- package/esm/indicators/supertrend.src.js +1 -1
- package/esm/indicators/tema.js +1 -1
- package/esm/indicators/tema.src.js +1 -1
- package/esm/indicators/trendline.js +1 -1
- package/esm/indicators/trendline.src.js +1 -1
- package/esm/indicators/trix.js +1 -1
- package/esm/indicators/trix.src.js +1 -1
- package/esm/indicators/volume-by-price.js +1 -1
- package/esm/indicators/volume-by-price.src.js +1 -1
- package/esm/indicators/vwap.js +1 -1
- package/esm/indicators/vwap.src.js +1 -1
- package/esm/indicators/williams-r.js +1 -1
- package/esm/indicators/williams-r.src.js +1 -1
- package/esm/indicators/wma.js +1 -1
- package/esm/indicators/wma.src.js +1 -1
- package/esm/indicators/zigzag.js +1 -1
- package/esm/indicators/zigzag.src.js +1 -1
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +69 -63
- package/esm/modules/annotations-advanced.js +3 -3
- package/esm/modules/annotations-advanced.src.js +25 -23
- package/esm/modules/annotations.js +3 -3
- package/esm/modules/annotations.src.js +21 -19
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +16 -15
- package/esm/modules/arrow-symbols.js +1 -1
- package/esm/modules/arrow-symbols.src.js +1 -1
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +29 -20
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +28 -19
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +6 -5
- package/esm/modules/bullet.js +2 -2
- package/esm/modules/bullet.src.js +17 -10
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +18 -11
- package/esm/modules/contour.js +1 -1
- package/esm/modules/contour.src.js +1 -1
- package/esm/modules/current-date-indicator.js +1 -1
- package/esm/modules/current-date-indicator.src.js +1 -1
- package/esm/modules/cylinder.js +2 -2
- package/esm/modules/cylinder.src.js +9 -10
- package/esm/modules/data-sorting.js +1 -1
- package/esm/modules/data-sorting.src.js +1 -1
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +20 -3
- package/esm/modules/data.js +1 -1
- package/esm/modules/data.src.js +1 -1
- package/esm/modules/datagrouping.js +2 -2
- package/esm/modules/datagrouping.src.js +6 -5
- package/esm/modules/debugger.js +1 -1
- package/esm/modules/debugger.src.js +1 -1
- package/esm/modules/dependency-wheel.js +1 -1
- package/esm/modules/dependency-wheel.src.js +1 -1
- package/esm/modules/dotplot.js +2 -2
- package/esm/modules/dotplot.src.js +3 -2
- package/esm/modules/drag-panes.js +1 -1
- package/esm/modules/drag-panes.src.js +1 -1
- package/esm/modules/draggable-points.js +2 -2
- package/esm/modules/draggable-points.src.js +2 -3
- package/esm/modules/drilldown.js +2 -2
- package/esm/modules/drilldown.src.js +5 -4
- package/esm/modules/dumbbell.js +2 -2
- package/esm/modules/dumbbell.src.js +37 -9
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +17 -16
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +7 -7
- package/esm/modules/flowmap.js +2 -2
- package/esm/modules/flowmap.src.js +21 -11
- package/esm/modules/full-screen.js +1 -1
- package/esm/modules/full-screen.src.js +1 -1
- package/esm/modules/funnel.js +2 -2
- package/esm/modules/funnel.src.js +2 -2
- package/esm/modules/funnel3d.js +2 -2
- package/esm/modules/funnel3d.src.js +14 -13
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +93 -76
- package/esm/modules/geoheatmap.js +2 -2
- package/esm/modules/geoheatmap.src.js +8 -8
- package/esm/modules/grid-axis.js +2 -2
- package/esm/modules/grid-axis.src.js +4 -4
- package/esm/modules/heatmap.js +2 -2
- package/esm/modules/heatmap.src.js +22 -22
- package/esm/modules/heikinashi.js +1 -1
- package/esm/modules/heikinashi.src.js +1 -1
- package/esm/modules/histogram-bellcurve.js +1 -1
- package/esm/modules/histogram-bellcurve.src.js +15 -3
- package/esm/modules/hollowcandlestick.js +1 -1
- package/esm/modules/hollowcandlestick.src.js +1 -1
- package/esm/modules/item-series.js +2 -2
- package/esm/modules/item-series.src.js +18 -6
- package/esm/modules/lollipop.js +1 -1
- package/esm/modules/lollipop.src.js +1 -1
- package/esm/modules/map.js +2 -2
- package/esm/modules/map.src.js +65 -57
- package/esm/modules/marker-clusters.js +1 -1
- package/esm/modules/marker-clusters.src.js +1 -1
- package/esm/modules/mouse-wheel-zoom.js +2 -2
- package/esm/modules/mouse-wheel-zoom.src.js +3 -3
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +47 -45
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +31 -21
- package/esm/modules/no-data-to-display.js +1 -1
- package/esm/modules/no-data-to-display.src.js +1 -1
- package/esm/modules/non-cartesian-zoom.js +1 -1
- package/esm/modules/non-cartesian-zoom.src.js +1 -1
- package/esm/modules/offline-exporting.js +1 -1
- package/esm/modules/offline-exporting.src.js +1 -1
- package/esm/modules/organization.js +2 -2
- package/esm/modules/organization.src.js +3 -2
- package/esm/modules/parallel-coordinates.js +2 -2
- package/esm/modules/parallel-coordinates.src.js +2 -2
- package/esm/modules/pareto.js +1 -1
- package/esm/modules/pareto.src.js +1 -1
- package/esm/modules/pathfinder.js +2 -2
- package/esm/modules/pathfinder.src.js +7 -6
- package/esm/modules/pattern-fill.js +2 -2
- package/esm/modules/pattern-fill.src.js +7 -5
- package/esm/modules/pictorial.js +2 -2
- package/esm/modules/pictorial.src.js +10 -6
- package/esm/modules/pointandfigure.js +1 -1
- package/esm/modules/pointandfigure.src.js +1 -1
- package/esm/modules/price-indicator.js +2 -2
- package/esm/modules/price-indicator.src.js +5 -4
- package/esm/modules/pyramid3d.js +1 -1
- package/esm/modules/pyramid3d.src.js +1 -1
- package/esm/modules/renko.js +1 -1
- package/esm/modules/renko.src.js +1 -1
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +34 -20
- package/esm/modules/series-label.js +2 -2
- package/esm/modules/series-label.src.js +7 -7
- package/esm/modules/series-on-point.js +1 -1
- package/esm/modules/series-on-point.src.js +1 -1
- package/esm/modules/solid-gauge.js +2 -2
- package/esm/modules/solid-gauge.src.js +2 -2
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +19 -19
- package/esm/modules/static-scale.js +1 -1
- package/esm/modules/static-scale.src.js +1 -1
- package/esm/modules/stock-tools.js +3 -3
- package/esm/modules/stock-tools.src.js +15 -10
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +90 -76
- package/esm/modules/streamgraph.js +1 -1
- package/esm/modules/streamgraph.src.js +1 -1
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +41 -26
- package/esm/modules/textpath.js +1 -1
- package/esm/modules/textpath.src.js +1 -1
- package/esm/modules/tiledwebmap.js +2 -2
- package/esm/modules/tiledwebmap.src.js +8 -6
- package/esm/modules/tilemap.js +2 -2
- package/esm/modules/tilemap.src.js +3 -3
- package/esm/modules/timeline.js +2 -2
- package/esm/modules/timeline.src.js +5 -4
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +17 -8
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +28 -18
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +35 -22
- package/esm/modules/variable-pie.js +2 -2
- package/esm/modules/variable-pie.src.js +6 -4
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +2 -2
- package/esm/modules/vector.js +1 -1
- package/esm/modules/vector.src.js +1 -1
- package/esm/modules/venn.js +1 -1
- package/esm/modules/venn.src.js +1 -1
- package/esm/modules/windbarb.js +2 -2
- package/esm/modules/windbarb.src.js +2 -2
- package/esm/modules/wordcloud.js +1 -1
- package/esm/modules/wordcloud.src.js +1 -1
- package/esm/modules/xrange.js +1 -1
- package/esm/modules/xrange.src.js +1 -1
- package/esm/standalone-navigator.js +4 -4
- package/esm/standalone-navigator.src.js +355 -249
- package/esm/themes/adaptive.js +1 -1
- package/esm/themes/adaptive.src.js +1 -1
- package/esm/themes/avocado.js +1 -1
- package/esm/themes/avocado.src.js +1 -1
- package/esm/themes/dark-unica.js +1 -1
- package/esm/themes/dark-unica.src.js +1 -1
- package/esm/themes/grid-light.js +1 -1
- package/esm/themes/grid-light.src.js +1 -1
- package/esm/themes/high-contrast.js +1 -1
- package/esm/themes/high-contrast.src.js +1 -1
- package/esm/themes/sand-signika.js +1 -1
- package/esm/themes/sand-signika.src.js +1 -1
- package/esm/themes/sunset.js +1 -1
- package/esm/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +2 -2
- package/highcharts-3d.src.js +40 -32
- package/highcharts-autoload.d.ts +8 -2
- package/highcharts-autoload.js +4 -4
- package/highcharts-autoload.src.d.ts +8 -2
- package/highcharts-autoload.src.js +313 -208
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +404 -283
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.js +90 -56
- package/highcharts.d.ts +61 -4
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +61 -4
- package/highcharts.src.js +312 -207
- package/highmaps.js +4 -4
- package/highmaps.src.js +390 -272
- package/highstock.js +4 -4
- package/highstock.src.js +413 -293
- package/i18n/fr-FR.js +1 -1
- package/i18n/fr-FR.src.js +1 -1
- package/i18n/nb-NO.js +1 -1
- package/i18n/nb-NO.src.js +1 -1
- package/i18n/zh-CN.js +1 -1
- package/i18n/zh-CN.src.js +1 -1
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +2 -2
- package/indicators/aroon.src.js +3 -3
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +2 -2
- package/indicators/dpo.src.js +4 -3
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +8 -7
- package/indicators/indicators.js +2 -2
- package/indicators/indicators.src.js +2 -2
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +2 -2
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.js +69 -63
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.js +25 -23
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.js +21 -19
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +16 -15
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +29 -20
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +28 -19
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +6 -5
- package/modules/bullet.js +2 -2
- package/modules/bullet.src.js +17 -10
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +18 -11
- package/modules/contour.js +4 -4
- package/modules/contour.src.js +19 -12
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +2 -2
- package/modules/cylinder.src.js +9 -10
- package/modules/data-sorting.js +1 -1
- package/modules/data-sorting.src.js +1 -1
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +20 -3
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.js +2 -2
- package/modules/datagrouping.src.js +6 -5
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +2 -2
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +2 -2
- package/modules/draggable-points.src.js +2 -3
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +5 -4
- package/modules/dumbbell.js +2 -2
- package/modules/dumbbell.src.js +37 -9
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.js +17 -16
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.js +7 -7
- package/modules/flowmap.js +2 -2
- package/modules/flowmap.src.js +21 -11
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +2 -2
- package/modules/funnel.src.js +2 -2
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.src.js +14 -13
- package/modules/gantt.js +6 -6
- package/modules/gantt.src.js +96 -79
- package/modules/geoheatmap.d.ts +0 -12
- package/modules/geoheatmap.js +2 -2
- package/modules/geoheatmap.src.d.ts +0 -12
- package/modules/geoheatmap.src.js +8 -8
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +4 -4
- package/modules/heatmap.d.ts +0 -12
- package/modules/heatmap.js +4 -4
- package/modules/heatmap.src.d.ts +0 -12
- package/modules/heatmap.src.js +40 -33
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +15 -3
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +2 -2
- package/modules/item-series.src.js +18 -6
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +0 -12
- package/modules/map.js +4 -4
- package/modules/map.src.d.ts +0 -12
- package/modules/map.src.js +83 -68
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +2 -2
- package/modules/mouse-wheel-zoom.src.js +3 -3
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +47 -45
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +31 -21
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/non-cartesian-zoom.js +1 -1
- package/modules/non-cartesian-zoom.src.js +1 -1
- package/modules/offline-exporting.js +1 -1
- package/modules/offline-exporting.src.js +1 -1
- package/modules/organization.js +2 -2
- package/modules/organization.src.js +3 -2
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.src.js +2 -2
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +2 -2
- package/modules/pathfinder.src.js +7 -6
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.src.js +7 -5
- package/modules/pictorial.js +2 -2
- package/modules/pictorial.src.js +10 -6
- package/modules/pointandfigure.js +1 -1
- package/modules/pointandfigure.src.js +1 -1
- package/modules/price-indicator.js +2 -2
- package/modules/price-indicator.src.js +5 -4
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/renko.js +1 -1
- package/modules/renko.src.js +1 -1
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +34 -20
- package/modules/series-label.js +2 -2
- package/modules/series-label.src.js +7 -7
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.src.js +2 -2
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +19 -19
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +15 -10
- package/modules/stock.js +6 -6
- package/modules/stock.src.js +105 -89
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +41 -26
- package/modules/textpath.js +1 -1
- package/modules/textpath.src.js +1 -1
- package/modules/tiledwebmap.js +2 -2
- package/modules/tiledwebmap.src.js +8 -6
- package/modules/tilemap.js +2 -2
- package/modules/tilemap.src.js +3 -3
- package/modules/timeline.js +2 -2
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +17 -8
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +28 -18
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +35 -22
- package/modules/variable-pie.js +2 -2
- package/modules/variable-pie.src.js +6 -4
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +2 -2
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +2 -2
- package/modules/windbarb.src.js +2 -2
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +1 -1
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +2 -3
- package/standalone-navigator.js +4 -4
- package/standalone-navigator.src.js +355 -249
- package/themes/adaptive.js +1 -1
- package/themes/adaptive.src.js +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/high-contrast.js +1 -1
- package/themes/high-contrast.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
package/modules/navigator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/navigator
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):"function"==typeof define&&define.amd?define("highcharts/modules/navigator",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.Axis,t.SeriesRegistry,t.SVGRenderer)}):"object"==typeof exports?exports["highcharts/modules/navigator"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.Axis,t.Highcharts.SeriesRegistry,t.Highcharts.SVGRenderer)}("u"<typeof window?this:window,(t,e,i,s,a)=>(()=>{"use strict";let r;var o,n={532(t){t.exports=i},960(t){t.exports=e},540(t){t.exports=a},512(t){t.exports=s},944(e){e.exports=t}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],a=e[i++];d.o(t,s)?0===a&&i++:0===a?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:a})}else for(var s in e)d.o(e,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let l={};d.d(l,{default:()=>ta});var c=d(944),g=d.n(c),p=d(960),x=d.n(p),u=d(532),v=d.n(u);let{isTouchDevice:m}=g(),b=[];function f(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function M(){let t,e,i,s=this.legend,a=this.navigator;if(a){t=s&&s.options,e=a.xAxis,i=a.yAxis;let{scrollbarHeight:r,scrollButtonSize:o}=a;this.inverted?(a.left=a.opposite?this.chartWidth-r-a.height:this.spacing[3]+r,a.top=this.plotTop+o):(a.left=(0,c.pick)(e.left,this.plotLeft+o),a.top=a.navigatorOptions.top||this.chartHeight-a.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+(0,c.pick)(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=a.left:e.options.top=i.options.top=a.top,e.setAxisSize(),i.setAxisSize())}}function E(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this),(0,c.pick)(t.redraw,!0)&&this.redraw(t.animation))}function A(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function y(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!m&&"x"===this.zooming.type||m&&"x"===this.zooming.pinchType))return!1}function k(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function w(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,c.merge)(!0,this.options.navigator,e),(0,c.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let O=function(t,e){if((0,c.pushUnique)(b,t)){let i=t.prototype;r=e,i.callbacks.push(k),(0,c.addEvent)(t,"afterAddSeries",f),(0,c.addEvent)(t,"afterSetChartSize",M),(0,c.addEvent)(t,"afterUpdate",E),(0,c.addEvent)(t,"beforeRender",A),(0,c.addEvent)(t,"beforeShowResetZoom",y),(0,c.addEvent)(t,"update",w)}},{isTouchDevice:S}=g();function z(){this.navigatorAxis||(this.navigatorAxis=new D(this))}function T(t){let e,i=this.chart,s=i.options,a=s.navigator,r=this.navigatorAxis,o=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(a?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||S&&"xy"===o)&&this.options.range){let e=r.previousZoom;(0,c.defined)(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class D{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),(0,c.addEvent)(t,"init",z),(0,c.addEvent)(t,"setExtremes",T))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let a=this.axis,r=(a.pointRange||0)/2,o=(0,c.pick)(i,a.translate(t,!0,!a.horiz)),n=(0,c.pick)(s,a.translate(e,!0,!a.horiz));return(0,c.defined)(i)||(o=(0,c.correctFloat)(o+r)),(0,c.defined)(s)||(n=(0,c.correctFloat)(n-r)),(0,c.isNumber)(o)&&(0,c.isNumber)(n)||(o=n=void 0),{min:o,max:n}}}var R=d(512);let{seriesTypes:B}=d.n(R)(),P={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"var(--highcharts-neutral-color-5)",borderColor:"var(--highcharts-neutral-color-40)"},maskFill:"color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===B.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"var(--highcharts-neutral-color-10)",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{defaultOptions:C}=g(),{noop:H}=g(),L={radius:0,scope:"stack",where:void 0},W={"navigator-handle":function(t,e,i,s,a={}){var r,o,n,h,d,l;let g=a.width?a.width/2:i,p=(0,c.relativeLength)((r=a.borderRadius,!(0,c.isObject)(r)&&(r={radius:r||0}),(0,c.merge)(L,void 0,r)).radius,Math.min(2*g,s));return[["M",-1.5,(s=a.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...(o=-g-1,n=.5,h=2*g+1,d=s,l={r:p},l?.r?function(t,e,i,s,a){let r=a?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(o,.5,h,d,l):[["M",o,.5],["L",o+h,.5],["L",o+h,.5+d],["L",o,.5+d],["Z"]])]}};var N=d(540),U=d.n(N);let{defaultOptions:I}=g(),{composed:F}=g(),{setFixedRange:X}={setFixedRange:function(t){let e=this.xAxis[0];(0,c.defined)(e.dataMax)&&(0,c.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function G(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let Y=function(t,e,i){D.compose(e),(0,c.pushUnique)(F,"Navigator")&&(t.prototype.setFixedRange=X,(0,c.extend)(U().prototype.symbols,W),(0,c.extend)(I,{navigator:P}),(0,c.addEvent)(i,"afterUpdate",G))},{composed:_}=g();!function(t){let e;function i(t){let e=(0,c.pick)(t.options?.min,t.min),i=(0,c.pick)(t.options?.max,t.max);return{axisMin:e,axisMax:i,scrollMin:(0,c.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,c.defined)(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function a(){let t=this;t.options?.scrollbar?.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),(0,c.addEvent)(t.scrollbar,"changed",function(e){let s,a,{axisMin:r,axisMax:o,scrollMin:n,scrollMax:h}=i(t),d=t.toPixels(n),l=t.toPixels(h)-d;if((0,c.defined)(r)&&(0,c.defined)(o))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(h,t.toValue(d+l*this.to)),a=Math.max(n,t.toValue(d+l*this.from))):(s=Math.min(h,t.toValue(d+l*(1-this.from))),a=Math.max(n,t.toValue(d+l*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,c.correctFloat)(a),(0,c.correctFloat)(s),!0,i,e)}else this.setRange(this.from,this.to)}))}function r(){let t,e,s,{scrollMin:a,scrollMax:r}=i(this),o=this.scrollbar,n=(this.axisTitleMargin||0)+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(o&&h){if(this.horiz)this.opposite||(h[1]+=n),o.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=n),e=o.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,o.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=o.size+(o.options.margin||0),isNaN(a)||isNaN(r)||!(0,c.defined)(this.min)||!(0,c.defined)(this.max)||(0,c.defined)(this.dataMin)&&this.dataMin===this.dataMax)o.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),o.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),s=(this.toPixels(this.max)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,s):o.setRange(1-s,1-e)}}t.compose=function(t,i){(0,c.pushUnique)(_,"Axis.Scrollbar")&&(e=i,(0,c.addEvent)(t,"afterGetOffset",s),(0,c.addEvent)(t,"afterInit",a),(0,c.addEvent)(t,"afterRender",r))}}(o||(o={}));let V=o,j={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"var(--highcharts-neutral-color-20)",barBorderWidth:0,barBorderColor:"var(--highcharts-neutral-color-20)",buttonArrowColor:"var(--highcharts-neutral-color-80)",buttonBackgroundColor:"var(--highcharts-neutral-color-10)",buttonBorderColor:"var(--highcharts-neutral-color-20)",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"var(--highcharts-neutral-color-20)",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:Z}=g(),{composed:q}=g();class ${static compose(t){V.compose(t,$),(0,c.pushUnique)(q,"Scrollbar")&&(0,c.extend)(Z,{scrollbar:j})}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,a=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),o=this.mouseUpHandler.bind(this),n=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",a],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",o],[i,"touchstart",a],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",o]];n.forEach(function(t){c.addEvent.apply(null,t)}),this._events=n}buttonToMaxClick(t){let e=(this.to-this.from)*(0,c.pick)(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,c.correctFloat)(this.to-this.from)*(0,c.pick)(this.options.step,.2);this.updatePosition((0,c.correctFloat)(this.from-e),(0,c.correctFloat)(this.to-e)),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,(0,c.destroyObjectProperties)(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,a=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:a,height:a,r:s.buttonBorderRadius},o.strokeWidth()));let n=e.path($.swapXY([["M",a/2+(t?-1:1),a/2-3],["L",a/2+(t?-1:1),a/2+3],["L",a/2+(t?2:-2),a/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=(0,c.merge)(j,Z.scrollbar,e),this.options.margin=(0,c.pick)(this.options.margin,10),this.chart=i,this.size=(0,c.pick)(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",a=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(a[0]+e,a[1]+e),this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=s,d=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=d,o?(this.width=this.yOffset=i=d=this.size,this.xOffset=h=0,this.yOffset=d=a?this.size:0,this.barWidth=s-(a?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=a?this.size:0,this.barWidth=i-(a?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:o?0:i-h,translateY:o?s-d:0})}removeEvents(){this._events.forEach(function(t){c.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(a),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,c.crisp)(0,r),y:-(0,c.crisp)(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path($.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-(0,c.crisp)(0,this.scrollbarStrokeWidth),-(0,c.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,a=this.options,r=a.vertical,o=a.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,c.defined)(n))return;let d=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=(0,c.correctFloat)(d-i),s<o&&(i=(n-o+s)*t,s=o);let l=Math.floor(i+this.xOffset+this.yOffset),g=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[h]({translateY:l}),this.scrollbar[h]({height:s}),this.scrollbarRifles[h]({translateY:g}),this.scrollbarTop=l,this.scrollbarLeft=0):(this.scrollbarGroup[h]({translateX:l}),this.scrollbar[h]({width:s}),this.scrollbarRifles[h]({translateX:g}),this.scrollbarLeft=l,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===a.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(0,c.pick)(this.options.liveRedraw,g().svg&&!g().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!(0,c.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,a=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>a?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,c.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,c.correctFloat)(1-(0,c.correctFloat)(e-t)),e=1),t<0&&(e=(0,c.correctFloat)(e-t),t=0),this.from=t,this.to=e}}$.defaultOptions=j;let{defaultOptions:J}=g(),{isTouchDevice:K}=g();function Q(t,...e){let i=[].filter.call(e,c.isNumber);if(i.length)return Math[t].apply(0,i)}class tt{static compose(t,e,i){O(t,tt),Y(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let a=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})}drawOutline(t,e,i,s){let a=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),o=r/2,n=r%2/2,h=this.scrollButtonSize,d=this.size,l=this.top,c=this.height,g=l-o,p=l+c,x=this.left,u,v;i?(u=l+e+n,e=l+t+n,v=[["M",x+c,l-h-n],["L",x+c,u],["L",x,u],["M",x,e],["L",x+c,e],["L",x+c,l+d+h]],a&&v.push(["M",x+c,u-o],["L",x+c,e+o])):(x-=h,t+=x+h-n,e+=x+h-n,v=[["M",x,g],["L",t,g],["L",t,p],["M",e,p],["L",e,g],["L",x+d+2*h,g]],a&&v.push(["M",t-o,g],["L",e+o,g])),this.outline[s]({d:v})}drawMasks(t,e,i,s){let a,r,o,n,h=this.left,d=this.top,l=this.height;i?(o=[h,h,h],n=[d,d+t,d+e],r=[l,l,l],a=[t,e-t,this.size-e]):(o=[h,h+t,h+e],n=[d,d,d],r=[t,e-t,this.size-e],a=[l,l,l]),this.shades.forEach((t,e)=>{t[s]({x:o[e],y:n[e],width:r[e],height:a[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,a=s.inverted,r=s.renderer,o={cursor:a?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,a)=>{let h=t.shades[a]??(t.shades[a]=r.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===a&&h.css(o))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=!1,a=e.handles,{height:h,width:d}=a;[0,1].forEach(e=>{let l=a.symbols[e];(i=i||t.handles[e]?.symbolName!==l)&&(t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-d/2-1,0,d,h,a),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n)),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-d/2),rotationOriginY:(h+d)/2}),s.styledMode||t.handles[e].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth,width:a.width,height:a.height,x:-d/2-1,y:0}).css(o)}),i&&(t.partsEventsToUnbind?.forEach(t=>{t()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if((0,c.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,c.defined)(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,c.addEvent)(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,d=this.rendered,l=a.inverted,g=a.xAxis[0].minRange,p=a.xAxis[0].options.maxRange,x=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,c.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,c.correctFloat)(t-o/2),e=(0,c.correctFloat)(e+o/2),!(0,c.isNumber)(t)||!(0,c.isNumber)(e))if(!d)return;else i=0,s=(0,c.pick)(r.width,n.width);this.left=(0,c.pick)(r.left,a.plotLeft+x+(l?a.plotWidth:0));let E=this.size=f=(0,c.pick)(r.len,(l?a.plotHeight:a.plotWidth)-2*x);u=l?b:f+2*x,i=(0,c.pick)(i,r.toPixels(t,!0)),s=(0,c.pick)(s,r.toPixels(e,!0)),(0,c.isNumber)(i)&&Math.abs(i)!==1/0||(i=0,s=u);let A=r.toValue(i,!0),y=r.toValue(s,!0),k=Math.abs((0,c.correctFloat)(y-A));(0,c.defined)(g)&&k<g?this.grabbedLeft?i=r.toPixels(y-g-o,!0):this.grabbedRight&&(s=r.toPixels(A+g+o,!0)):(0,c.defined)(p)&&(0,c.correctFloat)(k-o)>p&&(this.grabbedLeft?i=r.toPixels(y-p-o,!0):this.grabbedRight&&(s=r.toPixels(A+p+o,!0))),this.zoomedMax=(0,c.clamp)(Math.max(i,s),0,E),this.zoomedMin=(0,c.clamp)(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,E),this.range=this.zoomedMax-this.zoomedMin,E=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),M=d&&!this.hasDragged?"animate":"attr",this.drawMasks(w,E,l,M),this.drawOutline(w,E,l,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(w,0,l,M),this.drawHandle(E,1,l,M))),this.scrollbar&&(l?(m=this.top-x,v=this.left-b+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),b=f+2*x):(m=this.top+(h?this.height:-b),v=this.left-x),this.scrollbar.position(v,m,u,b),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1))),this.rendered=!0,this.isDirty=!1,(0,c.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,a=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},r.push((0,c.addEvent)(s.renderTo,"mousemove",t),(0,c.addEvent)(a.ownerDocument,"mouseup",e),(0,c.addEvent)(s.renderTo,"touchmove",t),(0,c.addEvent)(a.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push((0,c.addEvent)(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(a,r){i.push((0,c.addEvent)(a.element,t,function(t){e[`${s}Mousedown`](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,d,l,g,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(p=h-n-o/2,0===e?p=Math.max(0,p):2===e&&p+o>=r&&(p=r-o,this.reversedExtremes?(p-=o,l=this.getUnionExtremes()?.dataMin):d=this.getUnionExtremes()?.dataMax),p!==a&&(this.fixedWidth=o,g=s.navigatorAxis.toFixedRange(p,p+o,l,d),(0,c.defined)(g.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(g.min,g.max),max:Math.max(g.min,g.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],a=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,a=e.range,r=e.dragOffset,o=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,o&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&r&&(e.hasDragged=!0,h<r?h=r:h>s+r-a&&(h=s+r-a),e.render(0,0,h-r,h-r+a)),e.hasDragged&&(0,c.pick)(e.scrollbarOptions?.liveRedraw,!K&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,a,r,o,n=this.chart,h=this.xAxis,d=this.scrollbar,l=t.DOMEvent||t,g=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?s.dataMax:s.dataMin),o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r),(0,c.defined)(o.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:l}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&(0,c.isNumber)(this.zoomedMin)&&(0,c.isNumber)(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,g,p),this.outline&&this.drawOutline(i,e,g,p),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,g,p),this.drawHandle(e,1,g,p)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,c.removeEvent)(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,a=e.scrollbar||{},r=a.enabled,o=s&&i.height||0,n=r&&a.height||0,h=a.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=o,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=a,this.setOpposite();let d=this,l=d.baseSeries,g=t.xAxis.length,p=t.yAxis.length,x=l&&l[0]&&l[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,d.navigatorEnabled){let e=this.getXAxisOffsets();d.xAxis=new(v())(t,(0,c.merge)({breaks:x.options.breaks,ordinal:x.options.ordinal,overscroll:x.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:x.options.ordinal?0:x.options.minPadding,maxPadding:x.options.ordinal?0:x.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:o}:{offsets:e,height:o}),"xAxis"),d.yAxis=new(v())(t,(0,c.merge)(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:(0,c.pick)(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:o}:{height:o}),"yAxis"),d.xAxis.clippable=!1,d.yAxis.clippable=!1,l||i.series?.data||i.series?.dataTable?d.updateNavigatorSeries(!1):0===t.series.length&&(d.unbindRedraw=(0,c.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!d.series&&(d.setBaseSeries(),d.unbindRedraw?.())})),d.reversedExtremes=t.inverted&&!d.xAxis.reversed||!t.inverted&&d.xAxis.reversed,d.renderElements(),d.addMouseEvents()}else d.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*h,o=Q("min",s.options.min,a.dataMin),n=Q("max",s.options.max,a.dataMax)-o;return i?e*n/r+o:r*(e-o)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},d.xAxis.navigatorAxis.axis=d.xAxis,d.xAxis.navigatorAxis.toFixedRange=D.prototype.toFixedRange.bind(d.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,c.merge)(t.options.scrollbar,{vertical:t.inverted});(0,c.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=d.scrollbar=new $(t.renderer,e,t),(0,c.addEvent)(d.scrollbar,"changed",function(t){let e=d.size,i=e*this.to,s=e*this.from;d.hasDragged=d.scrollbar?.hasDragged,d.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){d.onMouseUp(t)})})}d.addBaseSeriesEvents(),d.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=(0,c.pick)(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,a=this.xAxis,r=a.options,o=i.options;return t&&null===i.dataMin||(e={dataMin:(0,c.pick)(s.parse(r?.min),Q("min",s.parse(o.min),i.dataMin,a.dataMin,a.min)),dataMax:(0,c.pick)(s.parse(r?.max),Q("max",s.parse(o.max),i.dataMax,a.dataMax,a.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,c.find)(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,a=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},o=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>a.indexOf(e))||(e&&((0,c.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,d=i.navigatorOptions.series,l;if(a&&a.length&&a.forEach(t=>{let g=t.navigatorSeries,p=(0,c.extend)({color:t.color,visible:t.visible},(0,c.isArray)(d)?J.navigator.series:d);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+a.length,l=(n=t.options||{}).navigatorOptions||{},p.dataLabels=(0,c.splat)(p.dataLabels),(h=(0,c.merge)(n,r,p,l)).pointRange=(0,c.pick)(p.pointRange,l.pointRange,J.plotOptions[h.type||"line"]?.pointRange);let x=l.data||p.data,u=l.dataTable||p.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!x||!!u,h.data=x||n.data?.slice(0),h.dataTable=u||n.dataTable,g&&g.options?g.update(h,e):(t.navigatorSeries=s.initSeries(h),(0,c.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,o.push(t.navigatorSeries))}),(d?.data||d?.dataTable)&&!(a&&a.length)||(0,c.isArray)(d)){let t=s.options.colors||[];i.hasNavigatorData=!1,(d=(0,c.splat)(d)).forEach((e,a)=>{r.name="Navigator "+(o.length+1),(h=(0,c.merge)(J.navigator?.series,{color:s.series[a]&&!s.series[a].options.isInternal&&s.series[a].color||t[a]||t[0]},r,e)).data=e.data,h.dataTable=e.dataTable,(h.data||h.dataTable)&&(i.hasNavigatorData=!0,o.push(s.initSeries(h)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,c.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,c.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,c.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,c.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,c.addEvent)(i,"remove",function(){e&&(0,c.erase)(e,i),this.navigatorSeries&&t.series&&((0,c.erase)(t.series,this.navigatorSeries),(0,c.defined)(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),a=s.min,r=s.max,o=s.dataMin,n=s.dataMax,h=r-a,d=i?.stickToMin,l=i?.stickToMax,g=(0,c.pick)(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],x=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(d&&(t=(e=o)+h),l&&(t=n+g,d||(e=Math.max(o,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),x&&(d||l)&&(0,c.isNumber)(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=(0,c.pick)(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data||this.options.dataTable,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,a=s.max,r=s.min,o=s.options.range;return!!((0,c.isNumber)(a)&&(0,c.isNumber)(r))&&(o&&a-i>0?a-i<o:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,c.addEvent)(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),(0,c.addEvent)(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),(0,c.addEvent)(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&((0,c.erase)(this.chart.xAxis,this.xAxis),(0,c.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,c.erase)(this.chart.yAxis,this.yAxis),(0,c.erase)(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{(0,c.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let te={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}};class ti{static navigator(t,e){let i=new ti(t,e);return g().navigators?g().navigators.push(i):g().navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=(0,c.merge)(g().getOptions(),te,e.chart,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);const i=new(x())(t,this.chartOptions);i.options=(0,c.merge)(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new tt(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof x()?t.xAxis[0]:t;if(!(s instanceof v()))return;let a=this.navigator,{min:r,max:o}=a.xAxis,n=[];if(e){let t=(0,c.addEvent)(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mousewheel"===t.trigger||"rangeSelectorButton"===t.trigger||"rangeSelectorInput"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger&&"mousewheel"!==t.trigger,{trigger:s})});n.push(t)}let h=(0,c.addEvent)(a,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});n.push(h);let d=this.boundAxes.filter(function(t){return t.axis===s})[0];if(d||(d={axis:s,callbacks:[]},"yAxis"===s.coll&&(d.oldMin=s.options.min??s.min,d.oldMax=s.options.max??s.max),this.boundAxes.push(d)),d.callbacks=n,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),"yAxis"===s.coll){let{dataMin:t,dataMax:e}=a.xAxis.getExtremes();s.update({min:t,max:e},!1)}s.setExtremes(r,o),(0,c.addEvent)(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t,e){if(!t){this.boundAxes.forEach(t=>{this.releaseAxis(t,e)}),this.boundAxes.length=0;return}let i=t instanceof v()?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===i&&(this.releaseAxis(this.boundAxes[t],e),this.boundAxes.splice(t,1))}releaseAxis(t,e=!1){if(t.callbacks.forEach(t=>t()),"yAxis"===t.axis.coll&&e){let e=t.oldMin??void 0,i=t.oldMax??void 0;t.axis.update({min:e,max:i},!1),t.axis.setExtremes(e,i)}}destroy(t){this.boundAxes.forEach(e=>{this.releaseAxis(e,t)}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=(0,c.merge)(this.chartOptions,t.height&&{chart:{height:t.height}},t.chart,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries((0,c.merge)(t,{showInNavigator:(0,c.pick)(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:(0,c.pick)(t,a),max:(0,c.pick)(e,r),dataMin:a,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,a){(0,c.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:(0,c.merge)(a,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}let ts=g();ts.StandaloneNavigator=ts.StandaloneNavigator||ti,ts.navigator=ts.StandaloneNavigator.navigator,Y(ts.Chart,ts.Axis,ts.Series);let ta=g();return l.default})());
|
|
13
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):"function"==typeof define&&define.amd?define("highcharts/modules/navigator",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.Axis,t.SeriesRegistry,t.SVGRenderer)}):"object"==typeof exports?exports["highcharts/modules/navigator"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.Axis,t.Highcharts.SeriesRegistry,t.Highcharts.SVGRenderer)}("u"<typeof window?this:window,(t,e,i,s,a)=>(()=>{"use strict";let r;var o,n={532(t){t.exports=i},960(t){t.exports=e},540(t){t.exports=a},512(t){t.exports=s},944(e){e.exports=t}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],a=e[i++];d.o(t,s)?0===a&&i++:0===a?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:a})}else for(var s in e)d.o(e,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let l={};d.d(l,{default:()=>ta});var c=d(944),g=d.n(c),x=d(960),p=d.n(x),u=d(532),v=d.n(u);let{isTouchDevice:m}=g(),b=[];function f(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function M(){let t,e,i,s=this.legend,a=this.navigator;if(a){t=s&&s.options,e=a.xAxis,i=a.yAxis;let{scrollbarHeight:r,scrollButtonSize:o}=a;this.inverted?(a.left=a.opposite?this.chartWidth-r-a.height:this.spacing[3]+r,a.top=this.plotTop+o):(a.left=e.left??this.plotLeft+o,a.top=a.navigatorOptions.top||this.chartHeight-a.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+(t.margin??10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=a.left:e.options.top=i.options.top=a.top,e.setAxisSize(),i.setAxisSize())}}function E(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this),(t.redraw??!0)&&this.redraw(t.animation))}function A(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function y(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!m&&"x"===this.zooming.type||m&&"x"===this.zooming.pinchType))return!1}function w(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function k(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,c.merge)(!0,this.options.navigator,e),(0,c.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let O=function(t,e){if((0,c.pushUnique)(b,t)){let i=t.prototype;r=e,i.callbacks.push(w),(0,c.addEvent)(t,"afterAddSeries",f),(0,c.addEvent)(t,"afterSetChartSize",M),(0,c.addEvent)(t,"afterUpdate",E),(0,c.addEvent)(t,"beforeRender",A),(0,c.addEvent)(t,"beforeShowResetZoom",y),(0,c.addEvent)(t,"update",k)}},{isTouchDevice:S}=g();function z(){this.navigatorAxis||(this.navigatorAxis=new D(this))}function T(t){let e,i=this.chart,s=i.options,a=s.navigator,r=this.navigatorAxis,o=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(a?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||S&&"xy"===o)&&this.options.range){let e=r.previousZoom;(0,c.defined)(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class D{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),(0,c.addEvent)(t,"init",z),(0,c.addEvent)(t,"setExtremes",T))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let a=this.axis,r=(a.pointRange||0)/2,o=i??a.translate(t,!0,!a.horiz),n=s??a.translate(e,!0,!a.horiz);return(0,c.defined)(i)||(o=(0,c.correctFloat)(o+r)),(0,c.defined)(s)||(n=(0,c.correctFloat)(n-r)),(0,c.isNumber)(o)&&(0,c.isNumber)(n)||(o=n=void 0),{min:o,max:n}}}var R=d(512);let{seriesTypes:B}=d.n(R)(),P={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"var(--highcharts-neutral-color-5)",borderColor:"var(--highcharts-neutral-color-40)"},maskFill:"color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===B.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"var(--highcharts-neutral-color-10)",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{defaultOptions:C}=g(),{noop:H}=g(),L={radius:0,scope:"stack",where:void 0},W={"navigator-handle":function(t,e,i,s,a={}){var r,o,n,h,d,l;let g=a.width?a.width/2:i,x=(0,c.relativeLength)((r=a.borderRadius,!(0,c.isObject)(r)&&(r={radius:r||0}),(0,c.merge)(L,void 0,r)).radius,Math.min(2*g,s));return[["M",-1.5,(s=a.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...(o=-g-1,n=.5,h=2*g+1,d=s,l={r:x},l?.r?function(t,e,i,s,a){let r=a?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(o,.5,h,d,l):[["M",o,.5],["L",o+h,.5],["L",o+h,.5+d],["L",o,.5+d],["Z"]])]}};var N=d(540),U=d.n(N);let{defaultOptions:I}=g(),{composed:F}=g(),{setFixedRange:X}={setFixedRange:function(t){let e=this.xAxis[0];(0,c.defined)(e.dataMax)&&(0,c.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function G(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let Y=function(t,e,i){D.compose(e),(0,c.pushUnique)(F,"Navigator")&&(t.prototype.setFixedRange=X,(0,c.extend)(U().prototype.symbols,W),(0,c.extend)(I,{navigator:P}),(0,c.addEvent)(i,"afterUpdate",G))},{composed:_}=g();!function(t){let e;function i(t){let e=t.options?.min??t.min,i=t.options?.max??t.max;return{axisMin:e,axisMax:i,scrollMin:(0,c.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,c.defined)(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function a(){let t=this;t.options?.scrollbar?.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),(0,c.addEvent)(t.scrollbar,"changed",function(e){let s,a,{axisMin:r,axisMax:o,scrollMin:n,scrollMax:h}=i(t),d=t.toPixels(n),l=t.toPixels(h)-d;if((0,c.defined)(r)&&(0,c.defined)(o))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(h,t.toValue(d+l*this.to)),a=Math.max(n,t.toValue(d+l*this.from))):(s=Math.min(h,t.toValue(d+l*(1-this.from))),a=Math.max(n,t.toValue(d+l*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,c.correctFloat)(a),(0,c.correctFloat)(s),!0,i,e)}else this.setRange(this.from,this.to)}))}function r(){let t,e,s,{scrollMin:a,scrollMax:r}=i(this),o=this.scrollbar,n=(this.axisTitleMargin||0)+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(o&&h){if(this.horiz)this.opposite||(h[1]+=n),o.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=n),e=o.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,o.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=o.size+(o.options.margin||0),isNaN(a)||isNaN(r)||!(0,c.defined)(this.min)||!(0,c.defined)(this.max)||(0,c.defined)(this.dataMin)&&this.dataMin===this.dataMax)o.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),o.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),s=(this.toPixels(this.max)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,s):o.setRange(1-s,1-e)}}t.compose=function(t,i){(0,c.pushUnique)(_,"Axis.Scrollbar")&&(e=i,(0,c.addEvent)(t,"afterGetOffset",s),(0,c.addEvent)(t,"afterInit",a),(0,c.addEvent)(t,"afterRender",r))}}(o||(o={}));let V=o,j={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"var(--highcharts-neutral-color-20)",barBorderWidth:0,barBorderColor:"var(--highcharts-neutral-color-20)",buttonArrowColor:"var(--highcharts-neutral-color-80)",buttonBackgroundColor:"var(--highcharts-neutral-color-10)",buttonBorderColor:"var(--highcharts-neutral-color-20)",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"var(--highcharts-neutral-color-20)",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:Z}=g(),{composed:q}=g();class ${static compose(t){V.compose(t,$),(0,c.pushUnique)(q,"Scrollbar")&&(0,c.extend)(Z,{scrollbar:j})}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,a=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),o=this.mouseUpHandler.bind(this),n=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",a],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",o],[i,"touchstart",a],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",o]];n.forEach(function(t){c.addEvent.apply(null,t)}),this._events=n}buttonToMaxClick(t){let e=(this.to-this.from)*(this.options.step??.2);this.updatePosition(this.from+e,this.to+e),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,c.correctFloat)(this.to-this.from)*(this.options.step??.2);this.updatePosition((0,c.correctFloat)(this.from-e),(0,c.correctFloat)(this.to-e)),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,(0,c.destroyObjectProperties)(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,a=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:a,height:a,r:s.buttonBorderRadius},o.strokeWidth()));let n=e.path($.swapXY([["M",a/2+(t?-1:1),a/2-3],["L",a/2+(t?-1:1),a/2+3],["L",a/2+(t?2:-2),a/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=(0,c.merge)(j,Z.scrollbar,e),this.options.margin=this.options.margin??10,this.chart=i,this.size=this.options.size??this.options.height,e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",a=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(a[0]+e,a[1]+e),this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=s,d=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=d,o?(this.width=this.yOffset=i=d=this.size,this.xOffset=h=0,this.yOffset=d=a?this.size:0,this.barWidth=s-(a?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=a?this.size:0,this.barWidth=i-(a?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:o?0:i-h,translateY:o?s-d:0})}removeEvents(){this._events.forEach(function(t){c.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(a),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,c.crisp)(0,r),y:-(0,c.crisp)(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path($.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-(0,c.crisp)(0,this.scrollbarStrokeWidth),-(0,c.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,a=this.options,r=a.vertical,o=a.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,c.defined)(n))return;let d=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=(0,c.correctFloat)(d-i),s<o&&(i=(n-o+s)*t,s=o);let l=Math.floor(i+this.xOffset+this.yOffset),g=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[h]({translateY:l}),this.scrollbar[h]({height:s}),this.scrollbarRifles[h]({translateY:g}),this.scrollbarTop=l,this.scrollbarLeft=0):(this.scrollbarGroup[h]({translateX:l}),this.scrollbar[h]({width:s}),this.scrollbarRifles[h]({translateX:g}),this.scrollbarLeft=l,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===a.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(this.options.liveRedraw??(g().svg&&!g().isTouchDevice&&!this.chart.boosted))||"mouseup"===t||"touchend"===t||!(0,c.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,a=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>a?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,c.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,c.correctFloat)(1-(0,c.correctFloat)(e-t)),e=1),t<0&&(e=(0,c.correctFloat)(e-t),t=0),this.from=t,this.to=e}}$.defaultOptions=j;let{defaultOptions:J}=g(),{isTouchDevice:K}=g();function Q(t,...e){let i=[].filter.call(e,c.isNumber);if(i.length)return Math[t].apply(0,i)}class tt{static compose(t,e,i){O(t,tt),Y(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let a=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})}drawOutline(t,e,i,s){let a=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),o=r/2,n=r%2/2,h=this.scrollButtonSize,d=this.size,l=this.top,c=this.height,g=l-o,x=l+c,p=this.left,u,v;i?(u=l+e+n,e=l+t+n,v=[["M",p+c,l-h-n],["L",p+c,u],["L",p,u],["M",p,e],["L",p+c,e],["L",p+c,l+d+h]],a&&v.push(["M",p+c,u-o],["L",p+c,e+o])):(p-=h,t+=p+h-n,e+=p+h-n,v=[["M",p,g],["L",t,g],["L",t,x],["M",e,x],["L",e,g],["L",p+d+2*h,g]],a&&v.push(["M",t-o,g],["L",e+o,g])),this.outline[s]({d:v})}drawMasks(t,e,i,s){let a,r,o,n,h=this.left,d=this.top,l=this.height;i?(o=[h,h,h],n=[d,d+t,d+e],r=[l,l,l],a=[t,e-t,this.size-e]):(o=[h,h+t,h+e],n=[d,d,d],r=[t,e-t,this.size-e],a=[l,l,l]),this.shades.forEach((t,e)=>{t[s]({x:o[e],y:n[e],width:r[e],height:a[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,a=s.inverted,r=s.renderer,o={cursor:a?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,a)=>{let h=t.shades[a]??(t.shades[a]=r.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===a&&h.css(o))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=!1,a=e.handles,{height:h,width:d}=a;[0,1].forEach(e=>{let l=a.symbols[e];(i=i||t.handles[e]?.symbolName!==l)&&(t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-d/2-1,0,d,h,a),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n)),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-d/2),rotationOriginY:(h+d)/2}),s.styledMode||t.handles[e].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth,width:a.width,height:a.height,x:-d/2-1,y:0}).css(o)}),i&&(t.partsEventsToUnbind?.forEach(t=>{t()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if((0,c.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,c.defined)(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,c.addEvent)(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,d=this.rendered,l=a.inverted,g=a.xAxis[0].minRange,x=a.xAxis[0].options.maxRange,p=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,c.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,c.correctFloat)(t-o/2),e=(0,c.correctFloat)(e+o/2),!(0,c.isNumber)(t)||!(0,c.isNumber)(e))if(!d)return;else i=0,s=r.width??n.width;this.left=r.left??a.plotLeft+p+(l?a.plotWidth:0);let E=this.size=f=r.len??(l?a.plotHeight:a.plotWidth)-2*p;u=l?b:f+2*p,i=i??r.toPixels(t,!0),s=s??r.toPixels(e,!0),(0,c.isNumber)(i)&&Math.abs(i)!==1/0||(i=0,s=u);let A=r.toValue(i,!0),y=r.toValue(s,!0),w=Math.abs((0,c.correctFloat)(y-A));(0,c.defined)(g)&&w<g?this.grabbedLeft?i=r.toPixels(y-g-o,!0):this.grabbedRight&&(s=r.toPixels(A+g+o,!0)):(0,c.defined)(x)&&(0,c.correctFloat)(w-o)>x&&(this.grabbedLeft?i=r.toPixels(y-x-o,!0):this.grabbedRight&&(s=r.toPixels(A+x+o,!0))),this.zoomedMax=(0,c.clamp)(Math.max(i,s),0,E),this.zoomedMin=(0,c.clamp)(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,E),this.range=this.zoomedMax-this.zoomedMin,E=Math.round(this.zoomedMax);let k=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),M=d&&!this.hasDragged?"animate":"attr",this.drawMasks(k,E,l,M),this.drawOutline(k,E,l,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(k,0,l,M),this.drawHandle(E,1,l,M))),this.scrollbar&&(l?(m=this.top-p,v=this.left-b+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),b=f+2*p):(m=this.top+(h?this.height:-b),v=this.left-p),this.scrollbar.position(v,m,u,b),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1))),this.rendered=!0,this.isDirty=!1,(0,c.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,a=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},r.push((0,c.addEvent)(s.renderTo,"mousemove",t),(0,c.addEvent)(a.ownerDocument,"mouseup",e),(0,c.addEvent)(s.renderTo,"touchmove",t),(0,c.addEvent)(a.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push((0,c.addEvent)(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(a,r){i.push((0,c.addEvent)(a.element,t,function(t){e[`${s}Mousedown`](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,d,l,g,x;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(x=h-n-o/2,0===e?x=Math.max(0,x):2===e&&x+o>=r&&(x=r-o,this.reversedExtremes?(x-=o,l=this.getUnionExtremes()?.dataMin):d=this.getUnionExtremes()?.dataMax),x!==a&&(this.fixedWidth=o,g=s.navigatorAxis.toFixedRange(x,x+o,l,d),(0,c.defined)(g.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(g.min,g.max),max:Math.max(g.min,g.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],a=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,a=e.range,r=e.dragOffset,o=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,o&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&r&&(e.hasDragged=!0,h<r?h=r:h>s+r-a&&(h=s+r-a),e.render(0,0,h-r,h-r+a)),e.hasDragged&&(e.scrollbarOptions?.liveRedraw??(!K&&!this.chart.boosted))&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,a,r,o,n=this.chart,h=this.xAxis,d=this.scrollbar,l=t.DOMEvent||t,g=n.inverted,x=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?s.dataMax:s.dataMin),o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r),(0,c.defined)(o.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:l}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&(0,c.isNumber)(this.zoomedMin)&&(0,c.isNumber)(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,g,x),this.outline&&this.drawOutline(i,e,g,x),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,g,x),this.drawHandle(e,1,g,x)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,c.removeEvent)(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,a=e.scrollbar||{},r=a.enabled,o=s&&i.height||0,n=r&&a.height||0,h=a.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=o,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=a,this.setOpposite();let d=this,l=d.baseSeries,g=t.xAxis.length,x=t.yAxis.length,p=l&&l[0]&&l[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,d.navigatorEnabled){let e=this.getXAxisOffsets();d.xAxis=new(v())(t,(0,c.merge)({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:o}:{offsets:e,height:o}),"xAxis"),d.yAxis=new(v())(t,(0,c.merge)(i.yAxis,{alignTicks:!1,offset:0,index:x,isInternal:!0,reversed:(i.yAxis&&i.yAxis.reversed)??(t.yAxis[0]&&t.yAxis[0].reversed)??!1,zoomEnabled:!1},t.inverted?{width:o}:{height:o}),"yAxis"),d.xAxis.clippable=!1,d.yAxis.clippable=!1,l||i.series?.data||i.series?.dataTable?d.updateNavigatorSeries(!1):0===t.series.length&&(d.unbindRedraw=(0,c.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!d.series&&(d.setBaseSeries(),d.unbindRedraw?.())})),d.reversedExtremes=t.inverted&&!d.xAxis.reversed||!t.inverted&&d.xAxis.reversed,d.renderElements(),d.addMouseEvents()}else d.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*h,o=Q("min",s.options.min,a.dataMin),n=Q("max",s.options.max,a.dataMax)-o;return i?e*n/r+o:r*(e-o)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},d.xAxis.navigatorAxis.axis=d.xAxis,d.xAxis.navigatorAxis.toFixedRange=D.prototype.toFixedRange.bind(d.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,c.merge)(t.options.scrollbar,{vertical:t.inverted});(0,c.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=d.scrollbar=new $(t.renderer,e,t),(0,c.addEvent)(d.scrollbar,"changed",function(t){let e=d.size,i=e*this.to,s=e*this.from;d.hasDragged=d.scrollbar?.hasDragged,d.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){d.onMouseUp(t)})})}d.addBaseSeriesEvents(),d.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=t.opposite??!!(!e&&i.inverted)}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,a=this.xAxis,r=a.options,o=i.options;return t&&null===i.dataMin||(e={dataMin:s.parse(r?.min)??Q("min",s.parse(o.min),i.dataMin,a.dataMin,a.min),dataMax:s.parse(r?.max)??Q("max",s.parse(o.max),i.dataMax,a.dataMax,a.max)}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,c.find)(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,a=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},o=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>a.indexOf(e))||(e&&((0,c.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,d=i.navigatorOptions.series,l;if(a&&a.length&&a.forEach(t=>{let g=t.navigatorSeries,x=(0,c.extend)({color:t.color,visible:t.visible},(0,c.isArray)(d)?J.navigator.series:d);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+a.length,l=(n=t.options||{}).navigatorOptions||{},x.dataLabels=(0,c.splat)(x.dataLabels),(h=(0,c.merge)(n,r,x,l)).pointRange=x.pointRange??l.pointRange??J.plotOptions[h.type||"line"]?.pointRange;let p=l.data||x.data,u=l.dataTable||x.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!p||!!u,h.data=p||n.data?.slice(0),h.dataTable=u||n.dataTable,g&&g.options?g.update(h,e):(t.navigatorSeries=s.initSeries(h),(0,c.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,o.push(t.navigatorSeries))}),(d?.data||d?.dataTable)&&!(a&&a.length)||(0,c.isArray)(d)){let t=s.options.colors||[];i.hasNavigatorData=!1,(d=(0,c.splat)(d)).forEach((e,a)=>{r.name="Navigator "+(o.length+1),(h=(0,c.merge)(J.navigator?.series,{color:s.series[a]&&!s.series[a].options.isInternal&&s.series[a].color||t[a]||t[0]},r,e)).data=e.data,h.dataTable=e.dataTable,(h.data||h.dataTable)&&(i.hasNavigatorData=!0,o.push(s.initSeries(h)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,c.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,c.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,c.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,c.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,c.addEvent)(i,"remove",function(){e&&(0,c.erase)(e,i),this.navigatorSeries&&t.series&&((0,c.erase)(t.series,this.navigatorSeries),(0,c.defined)(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),a=s.min,r=s.max,o=s.dataMin,n=s.dataMax,h=r-a,d=i?.stickToMin,l=i?.stickToMax,g=this.ordinal?.convertOverscroll(this.options.overscroll)??0,x=i.series&&i.series[0],p=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(d&&(t=(e=o)+h),l&&(t=n+g,d||(e=Math.max(o,t-h,i.getBaseSeriesMin(x&&x.xData?x.xData[0]:-Number.MAX_VALUE)))),p&&(d||l)&&(0,c.isNumber)(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=(this.chart.options.navigator&&this.chart.options.navigator.stickToMax)??i,t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data||this.options.dataTable,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,a=s.max,r=s.min,o=s.options.range;return!!((0,c.isNumber)(a)&&(0,c.isNumber)(r))&&(o&&a-i>0?a-i<o:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,c.addEvent)(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),(0,c.addEvent)(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),(0,c.addEvent)(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&((0,c.erase)(this.chart.xAxis,this.xAxis),(0,c.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,c.erase)(this.chart.yAxis,this.yAxis),(0,c.erase)(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{(0,c.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let te={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}};class ti{static navigator(t,e){let i=new ti(t,e);return g().navigators?g().navigators.push(i):g().navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=(0,c.merge)(g().getOptions(),te,e.chart,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);const i=new(p())(t,this.chartOptions);i.options=(0,c.merge)(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new tt(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof p()?t.xAxis[0]:t;if(!(s instanceof v()))return;let a=this.navigator,{min:r,max:o}=a.xAxis,n=[];if(e){let t=(0,c.addEvent)(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mousewheel"===t.trigger||"rangeSelectorButton"===t.trigger||"rangeSelectorInput"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger&&"mousewheel"!==t.trigger,{trigger:s})});n.push(t)}let h=(0,c.addEvent)(a,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});n.push(h);let d=this.boundAxes.filter(function(t){return t.axis===s})[0];if(d||(d={axis:s,callbacks:[]},"yAxis"===s.coll&&(d.oldMin=s.options.min??s.min,d.oldMax=s.options.max??s.max),this.boundAxes.push(d)),d.callbacks=n,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),"yAxis"===s.coll){let{dataMin:t,dataMax:e}=a.xAxis.getExtremes();s.update({min:t,max:e},!1)}s.setExtremes(r,o),(0,c.addEvent)(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t,e){if(!t){this.boundAxes.forEach(t=>{this.releaseAxis(t,e)}),this.boundAxes.length=0;return}let i=t instanceof v()?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===i&&(this.releaseAxis(this.boundAxes[t],e),this.boundAxes.splice(t,1))}releaseAxis(t,e=!1){if(t.callbacks.forEach(t=>t()),"yAxis"===t.axis.coll&&e){let e=t.oldMin??void 0,i=t.oldMax??void 0;t.axis.update({min:e,max:i},!1),t.axis.setExtremes(e,i)}}destroy(t){this.boundAxes.forEach(e=>{this.releaseAxis(e,t)}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=(0,c.merge)(this.chartOptions,t.height&&{chart:{height:t.height}},t.chart,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries((0,c.merge)(t,{showInNavigator:t.showInNavigator??!0})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:t??a,max:e??r,dataMin:a,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,a){(0,c.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:(0,c.merge)(a,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}let ts=g();ts.StandaloneNavigator=ts.StandaloneNavigator||ti,ts.navigator=ts.StandaloneNavigator.navigator,Y(ts.Chart,ts.Axis,ts.Series);let ta=g();return l.default})());
|
package/modules/navigator.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.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/navigator
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -230,7 +230,7 @@ function onChartAfterSetChartSize() {
|
|
|
230
230
|
navigator.top = this.plotTop + scrollButtonSize;
|
|
231
231
|
}
|
|
232
232
|
else {
|
|
233
|
-
navigator.left = (
|
|
233
|
+
navigator.left = (xAxis.left ?? this.plotLeft + scrollButtonSize);
|
|
234
234
|
navigator.top = navigator.navigatorOptions.top ||
|
|
235
235
|
this.chartHeight -
|
|
236
236
|
navigator.height -
|
|
@@ -246,7 +246,7 @@ function onChartAfterSetChartSize() {
|
|
|
246
246
|
legendOptions.enabled &&
|
|
247
247
|
!legendOptions.floating) ?
|
|
248
248
|
legend.legendHeight +
|
|
249
|
-
(
|
|
249
|
+
(legendOptions.margin ?? 10) :
|
|
250
250
|
0) -
|
|
251
251
|
(this.titleOffset ? this.titleOffset[2] : 0);
|
|
252
252
|
}
|
|
@@ -271,7 +271,7 @@ function onChartAfterUpdate(event) {
|
|
|
271
271
|
(this.options.navigator.enabled ||
|
|
272
272
|
this.options.scrollbar.enabled)) {
|
|
273
273
|
this.scroller = this.navigator = new NavigatorConstructor(this);
|
|
274
|
-
if (
|
|
274
|
+
if (event.redraw ?? true) {
|
|
275
275
|
this.redraw(event.animation); // #7067
|
|
276
276
|
}
|
|
277
277
|
}
|
|
@@ -449,7 +449,7 @@ class NavigatorAxisAdditions {
|
|
|
449
449
|
*/
|
|
450
450
|
toFixedRange(pxMin, pxMax, fixedMin, fixedMax) {
|
|
451
451
|
const axis = this.axis, halfPointRange = (axis.pointRange || 0) / 2;
|
|
452
|
-
let newMin =
|
|
452
|
+
let newMin = fixedMin ?? axis.translate(pxMin, true, !axis.horiz), newMax = fixedMax ?? axis.translate(pxMax, true, !axis.horiz);
|
|
453
453
|
// Add/remove half point range to/from the extremes (#1172)
|
|
454
454
|
if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.defined)(fixedMin)) {
|
|
455
455
|
newMin = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(newMin + halfPointRange);
|
|
@@ -1446,7 +1446,7 @@ function Symbols_arc(cx, cy, w, h, options) {
|
|
|
1446
1446
|
const arc = [];
|
|
1447
1447
|
if (options) {
|
|
1448
1448
|
let start = options.start || 0, end = options.end || 0;
|
|
1449
|
-
const rx = (
|
|
1449
|
+
const rx = (options.r ?? w), ry = (options.r ?? (h || w)),
|
|
1450
1450
|
// Subtract a small number to prevent cos and sin of start and end
|
|
1451
1451
|
// from becoming equal on 360 arcs (#1561). See "Arc proximity"
|
|
1452
1452
|
// tests at samples/unit-tests/svgrenderer/symbol/demo.js
|
|
@@ -1456,16 +1456,17 @@ function Symbols_arc(cx, cy, w, h, options) {
|
|
|
1456
1456
|
start = Math.PI / 2;
|
|
1457
1457
|
end = Math.PI * 2.5 - proximity;
|
|
1458
1458
|
}
|
|
1459
|
-
const innerRadius = options.innerR, open = (
|
|
1459
|
+
const innerRadius = options.innerR, open = (options.open ?? fullCircle), cosStart = fullCircle ? 0 : Math.cos(start), sinStart = fullCircle ? 1 : Math.sin(start), cosEnd = fullCircle ? 0 : Math.cos(end), sinEnd = fullCircle ? 1 : Math.sin(end),
|
|
1460
1460
|
// Proximity takes care of rounding errors around PI (#6971)
|
|
1461
|
-
longArc =
|
|
1461
|
+
longArc = options.longArc ??
|
|
1462
|
+
(end - start - Math.PI < proximity ? 0 : 1);
|
|
1462
1463
|
let arcSegment = [
|
|
1463
1464
|
'A', // ArcTo
|
|
1464
1465
|
rx, // X radius
|
|
1465
1466
|
ry, // Y radius
|
|
1466
1467
|
0, // Slanting
|
|
1467
1468
|
longArc, // Long or short arc
|
|
1468
|
-
(
|
|
1469
|
+
(options.clockwise ?? 1), // Clockwise
|
|
1469
1470
|
// Use a static pixel offset for full circle (#21701)
|
|
1470
1471
|
cx + (fullCircle ? 0.001 : rx * cosEnd),
|
|
1471
1472
|
cy + ry * sinEnd
|
|
@@ -2162,8 +2163,8 @@ var ScrollbarAxis;
|
|
|
2162
2163
|
ScrollbarAxis.compose = compose;
|
|
2163
2164
|
/** @internal */
|
|
2164
2165
|
function getExtremes(axis) {
|
|
2165
|
-
const axisMin = (
|
|
2166
|
-
const axisMax = (
|
|
2166
|
+
const axisMin = (axis.options?.min ?? axis.min);
|
|
2167
|
+
const axisMax = (axis.options?.max ?? axis.max);
|
|
2167
2168
|
return {
|
|
2168
2169
|
axisMin,
|
|
2169
2170
|
axisMax,
|
|
@@ -2702,7 +2703,7 @@ class Scrollbar {
|
|
|
2702
2703
|
buttonToMaxClick(e) {
|
|
2703
2704
|
const scroller = this;
|
|
2704
2705
|
const range = ((scroller.to - scroller.from) *
|
|
2705
|
-
(
|
|
2706
|
+
(scroller.options.step ?? 0.2));
|
|
2706
2707
|
scroller.updatePosition(scroller.from + range, scroller.to + range);
|
|
2707
2708
|
(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(scroller, 'changed', {
|
|
2708
2709
|
from: scroller.from,
|
|
@@ -2714,7 +2715,7 @@ class Scrollbar {
|
|
|
2714
2715
|
buttonToMinClick(e) {
|
|
2715
2716
|
const scroller = this;
|
|
2716
2717
|
const range = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(scroller.to - scroller.from) *
|
|
2717
|
-
(
|
|
2718
|
+
(scroller.options.step ?? 0.2);
|
|
2718
2719
|
scroller.updatePosition((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(scroller.from - range), (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(scroller.to - range));
|
|
2719
2720
|
(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(scroller, 'changed', {
|
|
2720
2721
|
from: scroller.from,
|
|
@@ -2846,10 +2847,11 @@ class Scrollbar {
|
|
|
2846
2847
|
scroller.renderer = renderer;
|
|
2847
2848
|
scroller.userOptions = options;
|
|
2848
2849
|
scroller.options = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(Scrollbar_ScrollbarDefaults, Scrollbar_defaultOptions.scrollbar, options);
|
|
2849
|
-
scroller.options.margin = (
|
|
2850
|
+
scroller.options.margin = (scroller.options.margin ?? 10);
|
|
2850
2851
|
scroller.chart = chart;
|
|
2851
2852
|
// Backward compatibility
|
|
2852
|
-
scroller.size =
|
|
2853
|
+
scroller.size = scroller.options.size ??
|
|
2854
|
+
scroller.options.height;
|
|
2853
2855
|
// Init
|
|
2854
2856
|
if (options.enabled) {
|
|
2855
2857
|
scroller.render();
|
|
@@ -3139,9 +3141,9 @@ class Scrollbar {
|
|
|
3139
3141
|
* @function Highcharts.Scrollbar#shouldUpdateExtremes
|
|
3140
3142
|
*/
|
|
3141
3143
|
shouldUpdateExtremes(eventType) {
|
|
3142
|
-
return ((
|
|
3144
|
+
return ((this.options.liveRedraw ?? ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).svg &&
|
|
3143
3145
|
!(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isTouchDevice &&
|
|
3144
|
-
!this.chart.boosted) ||
|
|
3146
|
+
!this.chart.boosted)) ||
|
|
3145
3147
|
// Mouseup always should change extremes
|
|
3146
3148
|
eventType === 'mouseup' ||
|
|
3147
3149
|
eventType === 'touchend' ||
|
|
@@ -3661,18 +3663,18 @@ class Navigator {
|
|
|
3661
3663
|
// it. For example hidden series, but visible navigator (#6022).
|
|
3662
3664
|
if (rendered) {
|
|
3663
3665
|
pxMin = 0;
|
|
3664
|
-
pxMax = (
|
|
3666
|
+
pxMax = (xAxis.width ?? scrollbarXAxis.width);
|
|
3665
3667
|
}
|
|
3666
3668
|
else {
|
|
3667
3669
|
return;
|
|
3668
3670
|
}
|
|
3669
3671
|
}
|
|
3670
|
-
navigator.left = (
|
|
3671
|
-
// In case of scrollbar only, without navigator
|
|
3672
|
-
chart.plotLeft + scrollButtonSize +
|
|
3672
|
+
navigator.left = (xAxis.left ?? chart.plotLeft + scrollButtonSize +
|
|
3673
3673
|
(inverted ? chart.plotWidth : 0));
|
|
3674
|
-
let zoomedMax = navigator.size = navigatorSize =
|
|
3675
|
-
|
|
3674
|
+
let zoomedMax = navigator.size = navigatorSize =
|
|
3675
|
+
xAxis.len ??
|
|
3676
|
+
(inverted ? chart.plotHeight : chart.plotWidth) -
|
|
3677
|
+
2 * scrollButtonSize;
|
|
3676
3678
|
if (inverted) {
|
|
3677
3679
|
navigatorWidth = scrollbarHeight;
|
|
3678
3680
|
}
|
|
@@ -3680,8 +3682,8 @@ class Navigator {
|
|
|
3680
3682
|
navigatorWidth = navigatorSize + 2 * scrollButtonSize;
|
|
3681
3683
|
}
|
|
3682
3684
|
// Get the pixel position of the handles
|
|
3683
|
-
pxMin = (
|
|
3684
|
-
pxMax = (
|
|
3685
|
+
pxMin = (pxMin ?? xAxis.toPixels(min, true));
|
|
3686
|
+
pxMax = (pxMax ?? xAxis.toPixels(max, true));
|
|
3685
3687
|
// Verify (#1851, #2238)
|
|
3686
3688
|
if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(pxMin) || Math.abs(pxMin) === Infinity) {
|
|
3687
3689
|
pxMin = 0;
|
|
@@ -3960,11 +3962,10 @@ class Navigator {
|
|
|
3960
3962
|
navigator.render(0, 0, chartX - dragOffset, chartX - dragOffset + range);
|
|
3961
3963
|
}
|
|
3962
3964
|
if (navigator.hasDragged &&
|
|
3963
|
-
(
|
|
3965
|
+
(navigator.scrollbarOptions?.liveRedraw ?? (
|
|
3964
3966
|
// By default, don't run live redraw on touch
|
|
3965
3967
|
// devices or if the chart is in boost.
|
|
3966
|
-
!Navigator_isTouchDevice &&
|
|
3967
|
-
!this.chart.boosted)) {
|
|
3968
|
+
!Navigator_isTouchDevice && !this.chart.boosted))) {
|
|
3968
3969
|
e.DOMType = e.type;
|
|
3969
3970
|
setTimeout(function () {
|
|
3970
3971
|
navigator.onMouseUp(e);
|
|
@@ -4153,8 +4154,10 @@ class Navigator {
|
|
|
4153
4154
|
offset: 0,
|
|
4154
4155
|
index: yAxisIndex,
|
|
4155
4156
|
isInternal: true,
|
|
4156
|
-
reversed: (
|
|
4157
|
-
navigatorOptions.yAxis.reversed)
|
|
4157
|
+
reversed: ((navigatorOptions.yAxis &&
|
|
4158
|
+
navigatorOptions.yAxis.reversed) ??
|
|
4159
|
+
(chart.yAxis[0] && chart.yAxis[0].reversed) ??
|
|
4160
|
+
false), // #14060
|
|
4158
4161
|
zoomEnabled: false
|
|
4159
4162
|
}, chart.inverted ? {
|
|
4160
4163
|
width: height
|
|
@@ -4240,7 +4243,9 @@ class Navigator {
|
|
|
4240
4243
|
*/
|
|
4241
4244
|
setOpposite() {
|
|
4242
4245
|
const navigatorOptions = this.navigatorOptions, navigatorEnabled = this.navigatorEnabled, chart = this.chart;
|
|
4243
|
-
this.opposite =
|
|
4246
|
+
this.opposite =
|
|
4247
|
+
navigatorOptions.opposite ??
|
|
4248
|
+
Boolean(!navigatorEnabled && chart.inverted); // #6262
|
|
4244
4249
|
}
|
|
4245
4250
|
/**
|
|
4246
4251
|
* Get the union data extremes of the chart - the outer data extremes of the
|
|
@@ -4254,9 +4259,8 @@ class Navigator {
|
|
|
4254
4259
|
let ret;
|
|
4255
4260
|
if (!returnFalseOnNoBaseSeries || baseAxis.dataMin !== null) {
|
|
4256
4261
|
ret = {
|
|
4257
|
-
dataMin: (
|
|
4258
|
-
time.parse(navAxisOptions?.
|
|
4259
|
-
dataMax: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(time.parse(navAxisOptions?.max), numExt('max', time.parse(baseAxisOptions.max), baseAxis.dataMax, navAxis.dataMax, navAxis.max))
|
|
4262
|
+
dataMin: (time.parse(navAxisOptions?.min) ?? numExt('min', time.parse(baseAxisOptions.min), baseAxis.dataMin, navAxis.dataMin, navAxis.min)),
|
|
4263
|
+
dataMax: (time.parse(navAxisOptions?.max) ?? numExt('max', time.parse(baseAxisOptions.max), baseAxis.dataMax, navAxis.dataMax, navAxis.max))
|
|
4260
4264
|
};
|
|
4261
4265
|
}
|
|
4262
4266
|
return ret;
|
|
@@ -4371,11 +4375,9 @@ class Navigator {
|
|
|
4371
4375
|
userNavOptions.dataLabels = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.splat)(userNavOptions.dataLabels);
|
|
4372
4376
|
mergedNavSeriesOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(baseOptions, navSeriesMixin, userNavOptions, baseNavigatorOptions);
|
|
4373
4377
|
// Once nav series type is resolved, pick correct pointRange
|
|
4374
|
-
mergedNavSeriesOptions.pointRange = (
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
// Fallback to default values, e.g. `null` for column
|
|
4378
|
-
Navigator_defaultOptions.plotOptions[mergedNavSeriesOptions.type || 'line']?.pointRange);
|
|
4378
|
+
mergedNavSeriesOptions.pointRange = (userNavOptions.pointRange ??
|
|
4379
|
+
baseNavigatorOptions.pointRange ??
|
|
4380
|
+
Navigator_defaultOptions.plotOptions[mergedNavSeriesOptions.type || 'line']?.pointRange);
|
|
4379
4381
|
// Merge data separately. Do a slice to avoid mutating the
|
|
4380
4382
|
// navigator options from base series (#4923).
|
|
4381
4383
|
const navigatorSeriesData = baseNavigatorOptions.data || userNavOptions.data, navigatorSeriesDataTable = baseNavigatorOptions.dataTable ||
|
|
@@ -4535,7 +4537,7 @@ class Navigator {
|
|
|
4535
4537
|
* @function Highcharts.Navigator#modifyBaseAxisExtremes
|
|
4536
4538
|
*/
|
|
4537
4539
|
modifyBaseAxisExtremes() {
|
|
4538
|
-
const baseXAxis = this, navigator = baseXAxis.chart.navigator, baseExtremes = baseXAxis.getExtremes(), baseMin = baseExtremes.min, baseMax = baseExtremes.max, baseDataMin = baseExtremes.dataMin, baseDataMax = baseExtremes.dataMax, range = baseMax - baseMin, stickToMin = navigator?.stickToMin, stickToMax = navigator?.stickToMax, overscroll = (
|
|
4540
|
+
const baseXAxis = this, navigator = baseXAxis.chart.navigator, baseExtremes = baseXAxis.getExtremes(), baseMin = baseExtremes.min, baseMax = baseExtremes.max, baseDataMin = baseExtremes.dataMin, baseDataMax = baseExtremes.dataMax, range = baseMax - baseMin, stickToMin = navigator?.stickToMin, stickToMax = navigator?.stickToMax, overscroll = (baseXAxis.ordinal?.convertOverscroll(baseXAxis.options.overscroll) ?? 0), navigatorSeries = navigator.series && navigator.series[0], hasSetExtremes = !!baseXAxis.setExtremes,
|
|
4539
4541
|
// When the extremes have been set by range selector button, don't
|
|
4540
4542
|
// stick to min or max. The range selector buttons will handle the
|
|
4541
4543
|
// extremes. (#5489)
|
|
@@ -4587,8 +4589,8 @@ class Navigator {
|
|
|
4587
4589
|
Math.round(navigator.zoomedMax) >= Math.round(navigator.size);
|
|
4588
4590
|
// If the scrollbar is scrolled all the way to the right, keep right as
|
|
4589
4591
|
// new data comes in, unless user set navigator.stickToMax to false.
|
|
4590
|
-
navigator.stickToMax = (
|
|
4591
|
-
this.chart.options.navigator.stickToMax
|
|
4592
|
+
navigator.stickToMax = (this.chart.options.navigator &&
|
|
4593
|
+
this.chart.options.navigator.stickToMax) ?? shouldStickToMax;
|
|
4592
4594
|
navigator.stickToMin = navigator.shouldStickToMin(baseSeries, navigator);
|
|
4593
4595
|
// Set the navigator series data to the new data of the base series
|
|
4594
4596
|
if (navigatorSeries && !navigator.hasNavigatorData) {
|
|
@@ -5066,7 +5068,7 @@ class StandaloneNavigator {
|
|
|
5066
5068
|
* Options for the series to be added to the navigator.
|
|
5067
5069
|
*/
|
|
5068
5070
|
addSeries(seriesOptions) {
|
|
5069
|
-
this.navigator.chart.addSeries((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(seriesOptions, { showInNavigator: (
|
|
5071
|
+
this.navigator.chart.addSeries((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(seriesOptions, { showInNavigator: (seriesOptions.showInNavigator ?? true) }));
|
|
5070
5072
|
this.navigator.setBaseSeries();
|
|
5071
5073
|
}
|
|
5072
5074
|
/**
|
|
@@ -5105,8 +5107,8 @@ class StandaloneNavigator {
|
|
|
5105
5107
|
getRange() {
|
|
5106
5108
|
const { min, max } = this.navigator.chart.xAxis[0].getExtremes(), { userMin, userMax, min: dataMin, max: dataMax } = this.navigator.xAxis.getExtremes();
|
|
5107
5109
|
return {
|
|
5108
|
-
min: (
|
|
5109
|
-
max: (
|
|
5110
|
+
min: (min ?? dataMin),
|
|
5111
|
+
max: (max ?? dataMax),
|
|
5110
5112
|
dataMin,
|
|
5111
5113
|
dataMax,
|
|
5112
5114
|
userMin,
|