highcharts 13.0.0 → 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 +1 -1
- package/css/highcharts.css +2 -1
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +38 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
- package/es-modules/Accessibility/Components/LegendComponent.js +3 -4
- package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
- package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
- package/es-modules/Accessibility/FocusBorder.js +2 -2
- package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
- package/es-modules/Accessibility/ProxyElement.js +1 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +34 -43
- package/es-modules/Core/Animation/Fx.js +16 -19
- package/es-modules/Core/Axis/Axis.js +49 -59
- package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
- package/es-modules/Core/Axis/AxisDefaults.js +12 -2
- package/es-modules/Core/Axis/BrokenAxis.js +6 -5
- package/es-modules/Core/Axis/Color/ColorAxis.js +24 -12
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
- package/es-modules/Core/Axis/GridAxis.js +12 -5
- 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 +21 -11
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
- package/es-modules/Core/Axis/RadialAxis.js +23 -22
- 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 +5 -6
- package/es-modules/Core/Axis/Tick.js +10 -11
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
- package/es-modules/Core/Chart/Chart.js +58 -53
- package/es-modules/Core/Chart/Chart3D.js +3 -3
- package/es-modules/Core/Chart/ChartDefaults.js +24 -1
- package/es-modules/Core/Chart/MapChart.js +7 -10
- package/es-modules/Core/Chart/StockChart.js +15 -11
- package/es-modules/Core/Color/Color.js +3 -1
- package/es-modules/Core/Defaults.js +44 -2
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +20 -17
- 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 +20 -10
- package/es-modules/Core/Renderer/HTML/AST.js +5 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +12 -11
- 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 +6 -6
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +13 -12
- 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 +9 -8
- package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
- package/es-modules/Core/Series/Point.js +31 -24
- package/es-modules/Core/Series/Series.js +125 -82
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesDefaults.js +33 -0
- package/es-modules/Core/Templating.js +18 -15
- package/es-modules/Core/Tooltip.js +12 -9
- 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/Data/DataTableCore.js +1 -1
- package/es-modules/Extensions/Annotations/Annotation.js +5 -6
- package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- 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/MockPoint.js +7 -9
- package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +31 -4
- package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +6 -8
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
- package/es-modules/Extensions/Annotations/Types/Measure.js +28 -10
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
- package/es-modules/Extensions/Boost/Boost.js +13 -0
- package/es-modules/Extensions/Boost/BoostChart.js +11 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +17 -11
- 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/BorderRadius.js +12 -10
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -5
- 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/DraggablePoints/DraggableChart.js +1 -2
- package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
- package/es-modules/Extensions/ExportData/ExportData.js +21 -16
- package/es-modules/Extensions/Exporting/Exporting.js +28 -28
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
- package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
- package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
- package/es-modules/Extensions/PatternFill.js +7 -5
- package/es-modules/Extensions/PriceIndication.js +5 -4
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +8 -9
- 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 +4 -4
- 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/GeoJSONComposition.js +14 -1
- package/es-modules/Maps/MapNavigation.js +4 -4
- package/es-modules/Maps/MapPointer.js +2 -2
- package/es-modules/Maps/MapView.js +3 -3
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
- package/es-modules/Series/Area/AreaSeries.js +4 -5
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
- package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +40 -32
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
- package/es-modules/Series/Bubble/BubbleSeries.js +25 -9
- package/es-modules/Series/Bullet/BulletSeries.js +17 -10
- package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
- package/es-modules/Series/CenteredUtilities.js +12 -9
- package/es-modules/Series/ColorMapComposition.js +7 -4
- package/es-modules/Series/Column/ColumnPoint.js +2 -0
- package/es-modules/Series/Column/ColumnSeries.js +14 -14
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
- package/es-modules/Series/Column3D/Column3DComposition.js +22 -19
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +7 -6
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
- package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +13 -144
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
- package/es-modules/Series/Contour/ContourPoint.js +2 -0
- package/es-modules/Series/Contour/ContourSeries.js +1 -0
- package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
- package/es-modules/Series/Contour/ContourShader.js +9 -1
- package/es-modules/Series/CrossSymbol.js +3 -2
- package/es-modules/Series/Cylinder/CylinderComposition.js +12 -12
- package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
- package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
- package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
- package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
- package/es-modules/Series/DataModifyComposition.js +9 -7
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
- package/es-modules/Series/DerivedComposition.js +9 -8
- package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
- package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
- package/es-modules/Series/DotPlot/DotPlotSeries.js +6 -4
- package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
- package/es-modules/Series/DragNodesComposition.js +11 -8
- package/es-modules/Series/DrawPointUtilities.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +19 -6
- package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +33 -15
- package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
- package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
- package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
- package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
- package/es-modules/Series/Flags/FlagsSeries.js +5 -14
- package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
- package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
- package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
- package/es-modules/Series/Funnel/FunnelSeries.js +25 -26
- package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
- package/es-modules/Series/Gantt/GanttSeries.js +2 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +9 -9
- package/es-modules/Series/GraphLayoutComposition.js +3 -3
- 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 +15 -3
- package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
- 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 +6 -10
- package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +14 -9
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
- package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
- package/es-modules/Series/NodesComposition.js +9 -10
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
- 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 +3 -4
- package/es-modules/Series/Pie/PieSeries.js +3 -2
- package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
- package/es-modules/Series/PolarComposition.js +13 -14
- package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
- package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
- package/es-modules/Series/RangeDataLabel.js +128 -0
- package/es-modules/Series/Sankey/SankeySeries.js +13 -7
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
- package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
- package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
- package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +4 -4
- package/es-modules/Series/Spline/SplineSeries.js +5 -5
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +20 -12
- package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
- 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 +13 -6
- package/es-modules/Series/TreeUtilities.js +16 -7
- package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
- package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
- package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
- package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
- package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
- package/es-modules/Series/Vector/VectorSeries.js +7 -9
- package/es-modules/Series/Venn/VennSeries.js +3 -4
- package/es-modules/Series/Waterfall/WaterfallSeries.js +3 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +8 -10
- package/es-modules/Series/XRange/XRangeSeries.js +8 -8
- package/es-modules/Shared/TimeBase.js +13 -8
- 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/Indicators/VBP/VBPIndicator.js +1 -2
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
- package/es-modules/Stock/Navigator/Navigator.js +26 -26
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
- package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +55 -14
- 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 +6 -6
- package/es-modules/Stock/StockTools/StockTools.js +2 -2
- package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
- package/es-modules/Stock/StockTools/StockToolsGui.js +6 -4
- 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 +13 -8
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
- package/es-modules/masters/i18n/fr-FR.src.js +1 -1
- package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
- package/es-modules/masters/i18n/nb-NO.src.js +1 -1
- package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
- package/es-modules/masters/i18n/zh-CN.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/contour.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data-sorting.src.js +1 -1
- package/es-modules/masters/modules/data-tools.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/flowmap.src.js +2 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/geoheatmap.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/pictorial.src.js +1 -1
- package/es-modules/masters/modules/pointandfigure.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/renko.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +3 -2
- package/es-modules/masters/modules/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/standalone-navigator.src.js +1 -1
- package/es-modules/masters/themes/adaptive.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/high-contrast.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/esm/highcharts-3d.js +2 -2
- package/esm/highcharts-3d.src.js +78 -55
- package/esm/highcharts-autoload.js +2 -2
- package/esm/highcharts-autoload.src.js +22 -8
- package/esm/highcharts-gantt.js +2 -2
- package/esm/highcharts-gantt.src.js +1 -24
- package/esm/highcharts-more.js +2 -2
- package/esm/highcharts-more.src.js +1198 -981
- package/esm/highcharts.js +5 -5
- package/esm/highcharts.src.js +702 -515
- package/esm/highmaps.js +2 -2
- package/esm/highmaps.src.js +1 -24
- package/esm/highstock.js +2 -2
- package/esm/highstock.src.js +1 -24
- package/esm/i18n/fr-FR.js +2 -2
- package/esm/i18n/fr-FR.src.js +22 -8
- package/esm/i18n/nb-NO.js +2 -2
- package/esm/i18n/nb-NO.src.js +22 -8
- package/esm/i18n/zh-CN.js +2 -2
- package/esm/i18n/zh-CN.src.js +22 -8
- package/esm/indicators/acceleration-bands.js +2 -2
- package/esm/indicators/acceleration-bands.src.js +22 -8
- package/esm/indicators/accumulation-distribution.js +2 -2
- package/esm/indicators/accumulation-distribution.src.js +22 -8
- package/esm/indicators/ao.js +2 -2
- package/esm/indicators/ao.src.js +22 -8
- package/esm/indicators/apo.js +2 -2
- package/esm/indicators/apo.src.js +22 -8
- package/esm/indicators/aroon-oscillator.js +2 -2
- package/esm/indicators/aroon-oscillator.src.js +22 -8
- package/esm/indicators/aroon.js +2 -2
- package/esm/indicators/aroon.src.js +24 -10
- package/esm/indicators/atr.js +2 -2
- package/esm/indicators/atr.src.js +22 -8
- package/esm/indicators/bollinger-bands.js +2 -2
- package/esm/indicators/bollinger-bands.src.js +22 -8
- package/esm/indicators/cci.js +2 -2
- package/esm/indicators/cci.src.js +22 -8
- package/esm/indicators/chaikin.js +2 -2
- package/esm/indicators/chaikin.src.js +22 -8
- package/esm/indicators/cmf.js +2 -2
- package/esm/indicators/cmf.src.js +22 -8
- package/esm/indicators/cmo.js +2 -2
- package/esm/indicators/cmo.src.js +22 -8
- package/esm/indicators/dema.js +2 -2
- package/esm/indicators/dema.src.js +22 -8
- package/esm/indicators/disparity-index.js +2 -2
- package/esm/indicators/disparity-index.src.js +22 -8
- package/esm/indicators/dmi.js +2 -2
- package/esm/indicators/dmi.src.js +22 -8
- package/esm/indicators/dpo.js +2 -2
- package/esm/indicators/dpo.src.js +25 -10
- package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
- package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +31 -17
- package/esm/indicators/indicators.js +2 -2
- package/esm/indicators/indicators.src.js +24 -10
- package/esm/indicators/keltner-channels.js +2 -2
- package/esm/indicators/keltner-channels.src.js +22 -8
- package/esm/indicators/klinger.js +2 -2
- package/esm/indicators/klinger.src.js +22 -8
- package/esm/indicators/macd.js +2 -2
- package/esm/indicators/macd.src.js +22 -8
- package/esm/indicators/mfi.js +2 -2
- package/esm/indicators/mfi.src.js +22 -8
- package/esm/indicators/momentum.js +2 -2
- package/esm/indicators/momentum.src.js +22 -8
- package/esm/indicators/natr.js +2 -2
- package/esm/indicators/natr.src.js +22 -8
- package/esm/indicators/obv.js +2 -2
- package/esm/indicators/obv.src.js +22 -8
- package/esm/indicators/pivot-points.js +2 -2
- package/esm/indicators/pivot-points.src.js +22 -8
- package/esm/indicators/ppo.js +2 -2
- package/esm/indicators/ppo.src.js +22 -8
- package/esm/indicators/price-channel.js +2 -2
- package/esm/indicators/price-channel.src.js +22 -8
- package/esm/indicators/price-envelopes.js +2 -2
- package/esm/indicators/price-envelopes.src.js +22 -8
- package/esm/indicators/psar.js +2 -2
- package/esm/indicators/psar.src.js +22 -8
- package/esm/indicators/regressions.js +2 -2
- package/esm/indicators/regressions.src.js +22 -8
- package/esm/indicators/roc.js +2 -2
- package/esm/indicators/roc.src.js +22 -8
- package/esm/indicators/rsi.js +2 -2
- package/esm/indicators/rsi.src.js +23 -9
- package/esm/indicators/slow-stochastic.js +2 -2
- package/esm/indicators/slow-stochastic.src.js +22 -8
- package/esm/indicators/stochastic.js +2 -2
- package/esm/indicators/stochastic.src.js +22 -8
- package/esm/indicators/supertrend.js +2 -2
- package/esm/indicators/supertrend.src.js +22 -8
- package/esm/indicators/tema.js +2 -2
- package/esm/indicators/tema.src.js +22 -8
- package/esm/indicators/trendline.js +2 -2
- package/esm/indicators/trendline.src.js +22 -8
- package/esm/indicators/trix.js +2 -2
- package/esm/indicators/trix.src.js +22 -8
- package/esm/indicators/volume-by-price.js +2 -2
- package/esm/indicators/volume-by-price.src.js +23 -10
- package/esm/indicators/vwap.js +2 -2
- package/esm/indicators/vwap.src.js +22 -8
- package/esm/indicators/williams-r.js +2 -2
- package/esm/indicators/williams-r.src.js +22 -8
- package/esm/indicators/wma.js +2 -2
- package/esm/indicators/wma.src.js +22 -8
- package/esm/indicators/zigzag.js +2 -2
- package/esm/indicators/zigzag.src.js +22 -8
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +564 -92
- package/esm/modules/annotations-advanced.js +11 -11
- package/esm/modules/annotations-advanced.src.js +224 -162
- package/esm/modules/annotations.js +11 -11
- package/esm/modules/annotations.src.js +184 -144
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +37 -22
- package/esm/modules/arrow-symbols.js +3 -3
- package/esm/modules/arrow-symbols.src.js +22 -8
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +60 -30
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +72 -29
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +27 -12
- package/esm/modules/bullet.js +2 -2
- package/esm/modules/bullet.src.js +38 -17
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +47 -21
- package/esm/modules/contour.js +3 -3
- package/esm/modules/contour.src.js +46 -13
- package/esm/modules/current-date-indicator.js +2 -2
- package/esm/modules/current-date-indicator.src.js +22 -8
- package/esm/modules/cylinder.js +2 -2
- package/esm/modules/cylinder.src.js +46 -28
- package/esm/modules/data-sorting.js +2 -2
- package/esm/modules/data-sorting.src.js +22 -8
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +44 -13
- package/esm/modules/data.js +4 -4
- package/esm/modules/data.src.js +23 -9
- package/esm/modules/datagrouping.js +2 -2
- package/esm/modules/datagrouping.src.js +28 -13
- package/esm/modules/debugger.js +2 -2
- package/esm/modules/debugger.src.js +22 -8
- package/esm/modules/dependency-wheel.js +2 -2
- package/esm/modules/dependency-wheel.src.js +428 -17
- package/esm/modules/dotplot.js +2 -2
- package/esm/modules/dotplot.src.js +27 -11
- package/esm/modules/drag-panes.js +2 -2
- package/esm/modules/drag-panes.src.js +22 -8
- package/esm/modules/draggable-points.js +2 -2
- package/esm/modules/draggable-points.src.js +24 -12
- package/esm/modules/drilldown.js +2 -2
- package/esm/modules/drilldown.src.js +38 -25
- package/esm/modules/dumbbell.js +2 -2
- package/esm/modules/dumbbell.src.js +72 -27
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +42 -23
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +83 -37
- package/esm/modules/flowmap.js +3 -2
- package/esm/modules/flowmap.src.js +43 -18
- package/esm/modules/full-screen.js +2 -2
- package/esm/modules/full-screen.src.js +22 -8
- package/esm/modules/funnel.js +2 -2
- package/esm/modules/funnel.src.js +73 -42
- package/esm/modules/funnel3d.js +2 -2
- package/esm/modules/funnel3d.src.js +35 -20
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +542 -100
- package/esm/modules/geoheatmap.js +2 -2
- package/esm/modules/geoheatmap.src.js +35 -21
- package/esm/modules/grid-axis.js +2 -2
- package/esm/modules/grid-axis.src.js +33 -12
- package/esm/modules/heatmap.js +2 -2
- package/esm/modules/heatmap.src.js +50 -33
- package/esm/modules/heikinashi.js +2 -2
- package/esm/modules/heikinashi.src.js +22 -8
- package/esm/modules/histogram-bellcurve.js +2 -2
- package/esm/modules/histogram-bellcurve.src.js +56 -25
- package/esm/modules/hollowcandlestick.js +2 -2
- package/esm/modules/hollowcandlestick.src.js +31 -17
- package/esm/modules/item-series.js +2 -2
- package/esm/modules/item-series.src.js +72 -13
- package/esm/modules/lollipop.js +2 -2
- package/esm/modules/lollipop.src.js +22 -8
- package/esm/modules/map.js +2 -2
- package/esm/modules/map.src.js +148 -91
- package/esm/modules/marker-clusters.js +2 -2
- package/esm/modules/marker-clusters.src.js +25 -13
- package/esm/modules/mouse-wheel-zoom.js +2 -2
- package/esm/modules/mouse-wheel-zoom.src.js +54 -13
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +534 -74
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +87 -46
- package/esm/modules/no-data-to-display.js +2 -2
- package/esm/modules/no-data-to-display.src.js +22 -8
- package/esm/modules/non-cartesian-zoom.js +2 -2
- package/esm/modules/non-cartesian-zoom.src.js +22 -8
- package/esm/modules/offline-exporting.js +2 -2
- package/esm/modules/offline-exporting.src.js +53 -12
- package/esm/modules/organization.js +4 -2
- package/esm/modules/organization.src.js +63 -19
- package/esm/modules/parallel-coordinates.js +2 -2
- package/esm/modules/parallel-coordinates.src.js +26 -9
- package/esm/modules/pareto.js +2 -2
- package/esm/modules/pareto.src.js +31 -16
- package/esm/modules/pathfinder.js +2 -2
- package/esm/modules/pathfinder.src.js +28 -13
- package/esm/modules/pattern-fill.js +2 -2
- package/esm/modules/pattern-fill.src.js +28 -12
- package/esm/modules/pictorial.js +2 -2
- package/esm/modules/pictorial.src.js +36 -19
- package/esm/modules/pointandfigure.js +2 -2
- package/esm/modules/pointandfigure.src.js +26 -11
- package/esm/modules/price-indicator.js +2 -2
- package/esm/modules/price-indicator.src.js +26 -11
- package/esm/modules/pyramid3d.js +2 -2
- package/esm/modules/pyramid3d.src.js +22 -8
- package/esm/modules/renko.js +2 -2
- package/esm/modules/renko.src.js +22 -8
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +59 -31
- package/esm/modules/series-label.js +2 -2
- package/esm/modules/series-label.src.js +31 -18
- package/esm/modules/series-on-point.js +2 -2
- package/esm/modules/series-on-point.src.js +23 -9
- package/esm/modules/solid-gauge.js +2 -2
- package/esm/modules/solid-gauge.src.js +40 -20
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +45 -30
- package/esm/modules/static-scale.js +2 -2
- package/esm/modules/static-scale.src.js +22 -8
- package/esm/modules/stock-tools.js +3 -3
- package/esm/modules/stock-tools.src.js +73 -27
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +554 -122
- package/esm/modules/streamgraph.js +2 -2
- package/esm/modules/streamgraph.src.js +22 -8
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +110 -45
- package/esm/modules/textpath.js +2 -2
- package/esm/modules/textpath.src.js +22 -8
- package/esm/modules/tiledwebmap.js +3 -3
- package/esm/modules/tiledwebmap.src.js +44 -19
- package/esm/modules/tilemap.js +2 -2
- package/esm/modules/tilemap.src.js +27 -12
- package/esm/modules/timeline.js +2 -2
- package/esm/modules/timeline.src.js +35 -14
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +59 -27
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +58 -27
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +89 -36
- package/esm/modules/variable-pie.js +2 -2
- package/esm/modules/variable-pie.src.js +30 -13
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +23 -9
- package/esm/modules/vector.js +2 -2
- package/esm/modules/vector.src.js +28 -16
- package/esm/modules/venn.js +2 -2
- package/esm/modules/venn.src.js +28 -13
- package/esm/modules/windbarb.js +2 -2
- package/esm/modules/windbarb.src.js +29 -17
- package/esm/modules/wordcloud.js +2 -2
- package/esm/modules/wordcloud.src.js +25 -9
- package/esm/modules/xrange.js +2 -2
- package/esm/modules/xrange.src.js +29 -15
- package/esm/standalone-navigator.js +5 -5
- package/esm/standalone-navigator.src.js +808 -570
- package/esm/themes/adaptive.js +3 -3
- package/esm/themes/adaptive.src.js +22 -8
- package/esm/themes/avocado.js +2 -2
- package/esm/themes/avocado.src.js +22 -8
- package/esm/themes/dark-unica.js +2 -2
- package/esm/themes/dark-unica.src.js +22 -8
- package/esm/themes/grid-light.js +2 -2
- package/esm/themes/grid-light.src.js +22 -8
- package/esm/themes/high-contrast.js +2 -2
- package/esm/themes/high-contrast.src.js +22 -8
- package/esm/themes/sand-signika.js +2 -2
- package/esm/themes/sand-signika.src.js +22 -8
- package/esm/themes/sunset.js +2 -2
- package/esm/themes/sunset.src.js +22 -8
- package/highcharts-3d.js +2 -2
- package/highcharts-3d.src.js +116 -92
- package/highcharts-autoload.d.ts +15 -5
- package/highcharts-autoload.js +4 -4
- package/highcharts-autoload.src.d.ts +15 -5
- package/highcharts-autoload.src.js +724 -499
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +851 -590
- package/highcharts-more.d.ts +7 -3
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.d.ts +7 -3
- package/highcharts-more.src.js +1313 -1095
- package/highcharts.d.ts +34795 -25647
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +34795 -25647
- package/highcharts.src.js +723 -498
- package/highmaps.js +4 -4
- package/highmaps.src.js +863 -583
- package/highstock.js +4 -4
- package/highstock.src.js +899 -619
- package/i18n/fr-FR.js +2 -2
- package/i18n/fr-FR.src.js +32 -16
- package/i18n/nb-NO.js +2 -2
- package/i18n/nb-NO.src.js +32 -16
- package/i18n/zh-CN.js +2 -2
- package/i18n/zh-CN.src.js +32 -16
- package/indicators/acceleration-bands.js +2 -2
- package/indicators/acceleration-bands.src.js +31 -16
- package/indicators/accumulation-distribution.js +2 -2
- package/indicators/accumulation-distribution.src.js +31 -16
- package/indicators/ao.js +2 -2
- package/indicators/ao.src.js +31 -16
- package/indicators/apo.js +2 -2
- package/indicators/apo.src.js +31 -16
- package/indicators/aroon-oscillator.js +2 -2
- package/indicators/aroon-oscillator.src.js +31 -16
- package/indicators/aroon.js +2 -2
- package/indicators/aroon.src.js +33 -18
- package/indicators/atr.js +2 -2
- package/indicators/atr.src.js +31 -16
- package/indicators/bollinger-bands.js +2 -2
- package/indicators/bollinger-bands.src.js +31 -16
- package/indicators/cci.js +2 -2
- package/indicators/cci.src.js +31 -16
- package/indicators/chaikin.js +2 -2
- package/indicators/chaikin.src.js +31 -16
- package/indicators/cmf.js +2 -2
- package/indicators/cmf.src.js +31 -16
- package/indicators/cmo.js +2 -2
- package/indicators/cmo.src.js +31 -16
- package/indicators/dema.js +2 -2
- package/indicators/dema.src.js +31 -16
- package/indicators/disparity-index.js +2 -2
- package/indicators/disparity-index.src.js +31 -16
- package/indicators/dmi.js +2 -2
- package/indicators/dmi.src.js +31 -16
- package/indicators/dpo.js +2 -2
- package/indicators/dpo.src.js +34 -18
- package/indicators/ichimoku-kinko-hyo.js +2 -2
- package/indicators/ichimoku-kinko-hyo.src.js +41 -26
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +52 -37
- package/indicators/indicators.js +2 -2
- package/indicators/indicators.src.js +39 -24
- package/indicators/keltner-channels.js +2 -2
- package/indicators/keltner-channels.src.js +31 -16
- package/indicators/klinger.js +2 -2
- package/indicators/klinger.src.js +31 -16
- package/indicators/macd.js +2 -2
- package/indicators/macd.src.js +31 -16
- package/indicators/mfi.js +2 -2
- package/indicators/mfi.src.js +31 -16
- package/indicators/momentum.js +2 -2
- package/indicators/momentum.src.js +31 -16
- package/indicators/natr.js +2 -2
- package/indicators/natr.src.js +31 -16
- package/indicators/obv.js +2 -2
- package/indicators/obv.src.js +31 -16
- package/indicators/pivot-points.js +2 -2
- package/indicators/pivot-points.src.js +31 -16
- package/indicators/ppo.js +2 -2
- package/indicators/ppo.src.js +31 -16
- package/indicators/price-channel.js +2 -2
- package/indicators/price-channel.src.js +31 -16
- package/indicators/price-envelopes.js +2 -2
- package/indicators/price-envelopes.src.js +31 -16
- package/indicators/psar.js +2 -2
- package/indicators/psar.src.js +31 -16
- package/indicators/regressions.js +2 -2
- package/indicators/regressions.src.js +31 -16
- package/indicators/roc.js +2 -2
- package/indicators/roc.src.js +31 -16
- package/indicators/rsi.js +2 -2
- package/indicators/rsi.src.js +32 -17
- package/indicators/slow-stochastic.js +2 -2
- package/indicators/slow-stochastic.src.js +31 -16
- package/indicators/stochastic.js +2 -2
- package/indicators/stochastic.src.js +31 -16
- package/indicators/supertrend.js +2 -2
- package/indicators/supertrend.src.js +31 -16
- package/indicators/tema.js +2 -2
- package/indicators/tema.src.js +31 -16
- package/indicators/trendline.js +2 -2
- package/indicators/trendline.src.js +31 -16
- package/indicators/trix.js +2 -2
- package/indicators/trix.src.js +31 -16
- package/indicators/volume-by-price.js +2 -2
- package/indicators/volume-by-price.src.js +32 -18
- package/indicators/vwap.js +2 -2
- package/indicators/vwap.src.js +31 -16
- package/indicators/williams-r.js +2 -2
- package/indicators/williams-r.src.js +31 -16
- package/indicators/wma.js +2 -2
- package/indicators/wma.src.js +31 -16
- package/indicators/zigzag.js +2 -2
- package/indicators/zigzag.src.js +31 -16
- package/modules/accessibility.d.ts +47 -0
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +47 -0
- package/modules/accessibility.src.js +603 -130
- package/modules/annotations-advanced.js +11 -11
- package/modules/annotations-advanced.src.js +246 -183
- package/modules/annotations.js +11 -11
- package/modules/annotations.src.js +206 -165
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +58 -42
- package/modules/arrow-symbols.js +2 -2
- package/modules/arrow-symbols.src.js +28 -13
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +69 -38
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +81 -37
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +36 -20
- package/modules/bullet.js +2 -2
- package/modules/bullet.src.js +50 -28
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +65 -38
- package/modules/contour.js +5 -5
- package/modules/contour.src.js +91 -44
- package/modules/current-date-indicator.js +2 -2
- package/modules/current-date-indicator.src.js +28 -13
- package/modules/cylinder.js +2 -2
- package/modules/cylinder.src.js +67 -48
- package/modules/data-sorting.js +2 -2
- package/modules/data-sorting.src.js +28 -13
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +50 -18
- package/modules/data.js +2 -2
- package/modules/data.src.js +50 -35
- package/modules/datagrouping.js +2 -2
- package/modules/datagrouping.src.js +42 -26
- package/modules/debugger.js +2 -2
- package/modules/debugger.src.js +28 -13
- package/modules/dependency-wheel.d.ts +7 -1
- package/modules/dependency-wheel.js +2 -2
- package/modules/dependency-wheel.src.d.ts +7 -1
- package/modules/dependency-wheel.src.js +440 -28
- package/modules/dotplot.js +2 -2
- package/modules/dotplot.src.js +36 -19
- package/modules/drag-panes.js +2 -2
- package/modules/drag-panes.src.js +28 -13
- package/modules/draggable-points.js +2 -2
- package/modules/draggable-points.src.js +30 -17
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +49 -35
- package/modules/dumbbell.js +2 -2
- package/modules/dumbbell.src.js +86 -40
- package/modules/export-data.d.ts +66 -1
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.d.ts +66 -1
- package/modules/export-data.src.js +56 -36
- package/modules/exporting.d.ts +0 -103
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.d.ts +0 -103
- package/modules/exporting.src.js +97 -50
- package/modules/flowmap.js +3 -2
- package/modules/flowmap.src.js +52 -26
- package/modules/full-screen.js +2 -2
- package/modules/full-screen.src.js +31 -16
- package/modules/funnel.d.ts +3 -3
- package/modules/funnel.js +2 -2
- package/modules/funnel.src.d.ts +3 -3
- package/modules/funnel.src.js +82 -50
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.src.js +56 -40
- package/modules/gantt.d.ts +47 -0
- package/modules/gantt.js +8 -8
- package/modules/gantt.src.d.ts +47 -0
- package/modules/gantt.src.js +602 -156
- package/modules/geoheatmap.d.ts +13 -12
- package/modules/geoheatmap.js +2 -2
- package/modules/geoheatmap.src.d.ts +13 -12
- package/modules/geoheatmap.src.js +44 -29
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +42 -20
- 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 +102 -71
- package/modules/heikinashi.js +2 -2
- package/modules/heikinashi.src.js +31 -16
- package/modules/histogram-bellcurve.js +2 -2
- package/modules/histogram-bellcurve.src.js +70 -38
- package/modules/hollowcandlestick.js +2 -2
- package/modules/hollowcandlestick.src.js +45 -30
- package/modules/item-series.js +2 -2
- package/modules/item-series.src.js +81 -21
- package/modules/lollipop.js +2 -2
- package/modules/lollipop.src.js +36 -21
- package/modules/map.d.ts +0 -20
- package/modules/map.js +4 -4
- package/modules/map.src.d.ts +0 -20
- package/modules/map.src.js +212 -140
- package/modules/marker-clusters.js +2 -2
- package/modules/marker-clusters.src.js +31 -18
- package/modules/mouse-wheel-zoom.js +2 -2
- package/modules/mouse-wheel-zoom.src.js +60 -18
- package/modules/navigator.d.ts +47 -0
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.d.ts +47 -0
- package/modules/navigator.src.js +556 -95
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +99 -57
- package/modules/no-data-to-display.js +2 -2
- package/modules/no-data-to-display.src.js +31 -16
- package/modules/non-cartesian-zoom.js +2 -2
- package/modules/non-cartesian-zoom.src.js +28 -13
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +67 -25
- package/modules/organization.js +4 -2
- package/modules/organization.src.js +75 -30
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.src.js +37 -19
- package/modules/pareto.js +2 -2
- package/modules/pareto.src.js +45 -29
- package/modules/pathfinder.js +2 -2
- package/modules/pathfinder.src.js +37 -21
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.src.js +34 -17
- package/modules/pictorial.js +2 -2
- package/modules/pictorial.src.js +62 -43
- package/modules/pointandfigure.js +2 -2
- package/modules/pointandfigure.src.js +35 -19
- package/modules/price-indicator.js +2 -2
- package/modules/price-indicator.src.js +32 -16
- package/modules/pyramid3d.js +2 -2
- package/modules/pyramid3d.src.js +31 -16
- package/modules/renko.js +2 -2
- package/modules/renko.src.js +34 -19
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +80 -51
- package/modules/series-label.js +2 -2
- package/modules/series-label.src.js +42 -28
- package/modules/series-on-point.js +2 -2
- package/modules/series-on-point.src.js +40 -25
- package/modules/solid-gauge.d.ts +3 -3
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.src.d.ts +3 -3
- package/modules/solid-gauge.src.js +54 -33
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +56 -40
- package/modules/static-scale.js +2 -2
- package/modules/static-scale.src.js +28 -13
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +90 -43
- package/modules/stock.d.ts +47 -0
- package/modules/stock.js +6 -6
- package/modules/stock.src.d.ts +47 -0
- package/modules/stock.src.js +650 -185
- package/modules/streamgraph.js +2 -2
- package/modules/streamgraph.src.js +31 -16
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +137 -71
- package/modules/textpath.js +2 -2
- package/modules/textpath.src.js +28 -13
- package/modules/tiledwebmap.js +3 -3
- package/modules/tiledwebmap.src.js +65 -32
- package/modules/tilemap.js +2 -2
- package/modules/tilemap.src.js +41 -25
- package/modules/timeline.js +2 -2
- package/modules/timeline.src.js +47 -25
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +83 -50
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +76 -44
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +116 -62
- package/modules/variable-pie.js +2 -2
- package/modules/variable-pie.src.js +39 -21
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +32 -17
- package/modules/vector.js +2 -2
- package/modules/vector.src.js +37 -24
- package/modules/venn.js +2 -2
- package/modules/venn.src.js +42 -26
- package/modules/windbarb.js +2 -2
- package/modules/windbarb.src.js +51 -38
- package/modules/wordcloud.js +2 -2
- package/modules/wordcloud.src.js +34 -17
- package/modules/xrange.js +2 -2
- package/modules/xrange.src.js +43 -28
- package/options/abands.d.ts +722 -83
- package/options/abands.src.d.ts +722 -83
- package/options/ad.d.ts +381 -26
- package/options/ad.src.d.ts +381 -26
- package/options/ao.d.ts +744 -70
- package/options/ao.src.d.ts +744 -70
- package/options/apo.d.ts +381 -26
- package/options/apo.src.d.ts +381 -26
- package/options/arcdiagram.d.ts +80 -534
- package/options/arcdiagram.src.d.ts +80 -534
- package/options/area.d.ts +432 -129
- package/options/area.src.d.ts +432 -129
- package/options/arearange.d.ts +46 -4
- package/options/arearange.src.d.ts +46 -4
- package/options/areaspline.d.ts +141 -866
- package/options/areaspline.src.d.ts +141 -866
- package/options/areasplinerange.d.ts +221 -871
- package/options/areasplinerange.src.d.ts +221 -871
- package/options/aroon.d.ts +432 -124
- package/options/aroon.src.d.ts +432 -124
- package/options/aroonoscillator.d.ts +127 -689
- package/options/aroonoscillator.src.d.ts +127 -689
- package/options/atr.d.ts +381 -71
- package/options/atr.src.d.ts +381 -71
- package/options/bar.d.ts +103 -12
- package/options/bar.src.d.ts +103 -12
- package/options/bb.d.ts +87 -762
- package/options/bb.src.d.ts +87 -762
- package/options/bellcurve.d.ts +87 -364
- package/options/bellcurve.src.d.ts +87 -364
- package/options/boxplot.d.ts +82 -13
- package/options/boxplot.src.d.ts +82 -13
- package/options/bubble.d.ts +83 -874
- package/options/bubble.src.d.ts +83 -874
- package/options/bullet.d.ts +354 -717
- package/options/bullet.src.d.ts +354 -717
- package/options/candlestick.d.ts +99 -1214
- package/options/candlestick.src.d.ts +99 -1214
- package/options/cci.d.ts +381 -26
- package/options/cci.src.d.ts +381 -26
- package/options/chaikin.d.ts +728 -83
- package/options/chaikin.src.d.ts +728 -83
- package/options/cmf.d.ts +381 -26
- package/options/cmf.src.d.ts +381 -26
- package/options/cmo.d.ts +730 -79
- package/options/cmo.src.d.ts +730 -79
- package/options/column.d.ts +1265 -99
- package/options/column.src.d.ts +1265 -99
- package/options/columnpyramid.d.ts +102 -1158
- package/options/columnpyramid.src.d.ts +102 -1158
- package/options/columnrange.d.ts +952 -95
- package/options/columnrange.src.d.ts +952 -95
- package/options/contour.d.ts +31 -443
- package/options/contour.src.d.ts +31 -443
- package/options/cylinder.d.ts +100 -12
- package/options/cylinder.src.d.ts +100 -12
- package/options/dema.d.ts +80 -736
- package/options/dema.src.d.ts +80 -736
- package/options/dependencywheel.d.ts +599 -218
- package/options/dependencywheel.src.d.ts +599 -218
- package/options/disparityindex.d.ts +84 -365
- package/options/disparityindex.src.d.ts +84 -365
- package/options/dmi.d.ts +86 -775
- package/options/dmi.src.d.ts +86 -775
- package/options/dpo.d.ts +83 -365
- package/options/dpo.src.d.ts +83 -365
- package/options/dumbbell.d.ts +27 -4
- package/options/dumbbell.src.d.ts +27 -4
- package/options/ema.d.ts +81 -703
- package/options/ema.src.d.ts +81 -703
- package/options/errorbar.d.ts +91 -1161
- package/options/errorbar.src.d.ts +91 -1161
- package/options/flags.d.ts +98 -1192
- package/options/flags.src.d.ts +98 -1192
- package/options/flowmap.d.ts +48 -373
- package/options/flowmap.src.d.ts +48 -373
- package/options/funnel.d.ts +40 -3
- package/options/funnel.src.d.ts +40 -3
- package/options/gantt.d.ts +37 -40
- package/options/gantt.src.d.ts +37 -40
- package/options/gauge.d.ts +398 -472
- package/options/gauge.src.d.ts +398 -472
- package/options/geoheatmap.d.ts +462 -63
- package/options/geoheatmap.src.d.ts +462 -63
- package/options/heatmap.d.ts +31 -380
- package/options/heatmap.src.d.ts +31 -380
- package/options/heikinashi.d.ts +20 -2
- package/options/heikinashi.src.d.ts +20 -2
- package/options/hlc.d.ts +20 -2
- package/options/hlc.src.d.ts +20 -2
- package/options/ikh.d.ts +750 -103
- package/options/ikh.src.d.ts +750 -103
- package/options/item.d.ts +34 -74
- package/options/item.src.d.ts +34 -74
- package/options/keltnerchannels.d.ts +87 -708
- package/options/keltnerchannels.src.d.ts +87 -708
- package/options/klinger.d.ts +34 -365
- package/options/klinger.src.d.ts +34 -365
- package/options/line.d.ts +151 -851
- package/options/line.src.d.ts +151 -851
- package/options/linearregression.d.ts +960 -85
- package/options/linearregression.src.d.ts +960 -85
- package/options/linearregressionangle.d.ts +96 -699
- package/options/linearregressionangle.src.d.ts +96 -699
- package/options/linearregressionintercept.d.ts +381 -26
- package/options/linearregressionintercept.src.d.ts +381 -26
- package/options/linearregressionslope.d.ts +381 -26
- package/options/linearregressionslope.src.d.ts +381 -26
- package/options/lollipop.d.ts +214 -851
- package/options/lollipop.src.d.ts +214 -851
- package/options/macd.d.ts +386 -83
- package/options/macd.src.d.ts +386 -83
- package/options/map.d.ts +470 -36
- package/options/map.src.d.ts +470 -36
- package/options/mapbubble.d.ts +43 -532
- package/options/mapbubble.src.d.ts +43 -532
- package/options/mapline.d.ts +135 -58
- package/options/mapline.src.d.ts +135 -58
- package/options/mappoint.d.ts +205 -283
- package/options/mappoint.src.d.ts +205 -283
- package/options/mfi.d.ts +772 -82
- package/options/mfi.src.d.ts +772 -82
- package/options/momentum.d.ts +381 -71
- package/options/momentum.src.d.ts +381 -71
- package/options/natr.d.ts +776 -75
- package/options/natr.src.d.ts +776 -75
- package/options/networkgraph.d.ts +184 -207
- package/options/networkgraph.src.d.ts +184 -207
- package/options/obv.d.ts +426 -26
- package/options/obv.src.d.ts +426 -26
- package/options/ohlc.d.ts +77 -14
- package/options/ohlc.src.d.ts +77 -14
- package/options/packedbubble.d.ts +76 -696
- package/options/packedbubble.src.d.ts +76 -696
- package/options/pareto.d.ts +28 -364
- package/options/pareto.src.d.ts +28 -364
- package/options/pc.d.ts +724 -85
- package/options/pc.src.d.ts +724 -85
- package/options/pictorial.d.ts +1093 -58
- package/options/pictorial.src.d.ts +1093 -58
- package/options/pie.d.ts +595 -129
- package/options/pie.src.d.ts +595 -129
- package/options/pivotpoints.d.ts +34 -365
- package/options/pivotpoints.src.d.ts +34 -365
- package/options/pointandfigure.d.ts +10 -50
- package/options/pointandfigure.src.d.ts +10 -50
- package/options/polygon.d.ts +803 -74
- package/options/polygon.src.d.ts +803 -74
- package/options/ppo.d.ts +34 -365
- package/options/ppo.src.d.ts +34 -365
- package/options/priceenvelopes.d.ts +93 -719
- package/options/priceenvelopes.src.d.ts +93 -719
- package/options/psar.d.ts +34 -365
- package/options/psar.src.d.ts +34 -365
- package/options/pyramid.d.ts +35 -3
- package/options/pyramid.src.d.ts +35 -3
- package/options/renko.d.ts +25 -2
- package/options/renko.src.d.ts +25 -2
- package/options/roc.d.ts +78 -712
- package/options/roc.src.d.ts +78 -712
- package/options/rsi.d.ts +34 -365
- package/options/rsi.src.d.ts +34 -365
- package/options/sankey.d.ts +27 -5
- package/options/sankey.src.d.ts +27 -5
- package/options/scatter.d.ts +896 -290
- package/options/scatter.src.d.ts +896 -290
- package/options/series.d.ts +938 -83
- package/options/series.src.d.ts +938 -83
- package/options/slowstochastic.d.ts +381 -26
- package/options/slowstochastic.src.d.ts +381 -26
- package/options/sma.d.ts +729 -79
- package/options/sma.src.d.ts +729 -79
- package/options/solidgauge.d.ts +882 -105
- package/options/solidgauge.src.d.ts +882 -105
- package/options/spline.d.ts +389 -90
- package/options/spline.src.d.ts +389 -90
- package/options/stochastic.d.ts +83 -716
- package/options/stochastic.src.d.ts +83 -716
- package/options/streamgraph.d.ts +97 -364
- package/options/streamgraph.src.d.ts +97 -364
- package/options/sunburst.d.ts +87 -19
- package/options/sunburst.src.d.ts +87 -19
- package/options/supertrend.d.ts +77 -749
- package/options/supertrend.src.d.ts +77 -749
- package/options/tema.d.ts +83 -365
- package/options/tema.src.d.ts +83 -365
- package/options/tiledwebmap.d.ts +13 -72
- package/options/tiledwebmap.src.d.ts +13 -72
- package/options/tilemap.d.ts +372 -533
- package/options/tilemap.src.d.ts +372 -533
- package/options/timeline.d.ts +49 -154
- package/options/timeline.src.d.ts +49 -154
- package/options/treegraph.d.ts +174 -696
- package/options/treegraph.src.d.ts +174 -696
- package/options/treemap.d.ts +468 -1079
- package/options/treemap.src.d.ts +468 -1079
- package/options/trendline.d.ts +381 -26
- package/options/trendline.src.d.ts +381 -26
- package/options/trix.d.ts +712 -82
- package/options/trix.src.d.ts +712 -82
- package/options/variablepie.d.ts +130 -587
- package/options/variablepie.src.d.ts +130 -587
- package/options/variwide.d.ts +1123 -94
- package/options/variwide.src.d.ts +1123 -94
- package/options/vbp.d.ts +57 -383
- package/options/vbp.src.d.ts +57 -383
- package/options/vector.d.ts +22 -58
- package/options/vector.src.d.ts +22 -58
- package/options/venn.d.ts +32 -78
- package/options/venn.src.d.ts +32 -78
- package/options/vwap.d.ts +122 -703
- package/options/vwap.src.d.ts +122 -703
- package/options/waterfall.d.ts +139 -1150
- package/options/waterfall.src.d.ts +139 -1150
- package/options/williamsr.d.ts +381 -76
- package/options/williamsr.src.d.ts +381 -76
- package/options/windbarb.d.ts +39 -2
- package/options/windbarb.src.d.ts +39 -2
- package/options/wma.d.ts +78 -704
- package/options/wma.src.d.ts +78 -704
- package/options/wordcloud.d.ts +98 -595
- package/options/wordcloud.src.d.ts +98 -595
- package/options/xrange.d.ts +166 -1056
- package/options/xrange.src.d.ts +166 -1056
- package/options/zigzag.d.ts +34 -410
- package/options/zigzag.src.d.ts +34 -410
- package/package.json +1 -1
- package/standalone-navigator.js +4 -4
- package/standalone-navigator.src.js +829 -553
- package/themes/adaptive.js +2 -2
- package/themes/adaptive.src.js +33 -18
- package/themes/avocado.js +2 -2
- package/themes/avocado.src.js +28 -13
- package/themes/dark-unica.js +2 -2
- package/themes/dark-unica.src.js +28 -13
- package/themes/grid-light.js +2 -2
- package/themes/grid-light.src.js +28 -13
- package/themes/high-contrast.js +2 -2
- package/themes/high-contrast.src.js +28 -13
- package/themes/sand-signika.js +2 -2
- package/themes/sand-signika.src.js +28 -13
- package/themes/sunset.js +2 -2
- package/themes/sunset.src.js +28 -13
- package/css/.stylelintrc.json +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
let t;/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/marker-clusters
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@ let t;/**
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/import*as e from"../highcharts.js";var i={};i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s=e.default;var r=i.n(s);let a={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"var(--highcharts-background-color)"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}},{setLength:o,splice:n}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,r=[]){if(Array.isArray(t))return Array.isArray(r)||(r=Array.from(r)),{removed:t.splice(e,i,...r),array:t};let a=Object.getPrototypeOf(t).constructor,o=t[s?"subarray":"slice"](e,e+i),n=new a(t.length-i+r.length);return n.set(t.subarray(0,e),0),n.set(r,e),n.set(t.subarray(e+i),e+r.length),{removed:o,array:n}}},l=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||(0,s.uniqueKey)(),this.rowCount=0,this.versionTag=(0,s.uniqueKey)();let e=0;(0,s.objectEach)(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,(0,s.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=o(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,s.objectEach)(this.columns,(s,r)=>{this.columns[r]=n(s,t,e).array,i=s.length}),this.rowCount=i}(0,s.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,s.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},s=this.columns;for(let r of(e??(e=Object.keys(this.columns)),e))i[r]=s[r]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let r=this.rowCount;(0,s.objectEach)(t,(t,e)=>{this.columns[e]=t.slice(),r=t.length}),this.applyRowCount(r),i?.silent||((0,s.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,s.uniqueKey)())}setRow(t,e=this.rowCount,i,r){var a;let{columns:o}=this,l=i?this.rowCount+1:e+1,u=Object.keys(t);if(r?.addColumns!==!1)for(let t=0,e=u.length;t<e;t++)o[a=u[t]]||(o[a]=Array(this.rowCount));(0,s.objectEach)(o,(s,r)=>{s&&(i?s=n(s,e,0,!0,[t[r]]).array:s[e]=r in t?t[r]:s[e],o[r]=s)}),this.applyRowCount(Math.max(l,this.rowCount)),r?.silent||((0,s.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,s.uniqueKey)())}getModified(){return this.modified||this}},{animObject:u}=r(),{cluster:h}=a,p={grid:function(t,e,i,s){let r,a,o,n,l,u={},h=this.getGridOffset(),p=this.getScaledGridSize(s);for(l=0;l<t.length;l++){let s=T(this,{x:t[l],y:e[l]});r=s.x-h.plotLeft,a=s.y-h.plotTop,o=Math.floor(r/p),u[n=Math.floor(a/p)+":"+o]??(u[n]=[]),u[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return u},kmeans:function(t,e,i,r){let a=[],o=[],n={},l=Number(r.processedDistance??(0,s.relativeLength)(r.distance||h.layoutAlgorithm.distance,this.chart.plotWidth)),u=r.iterations,p=0,d=!0,c=0,m=0,f,g=[];r.processedGridSize=l;let y=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,r):{};for(let t in y)y[t].length>1&&(f=x(y[t]),a.push({posX:f.x,posY:f.y,oldX:0,oldY:0,startPointsLen:y[t].length,points:[]}));for(;d;){for(let t of a)t.points.length=0;o.length=0;for(let s=0;s<t.length;s++)c=t[s],m=e[s],(g=this.getClusterDistancesFromPoint(a,c,m)).length&&g[0].distance<l?a[g[0].clusterIndex].points.push({x:c,y:m,dataIndex:i[s]}):o.push({x:c,y:m,dataIndex:i[s]});for(let t=0;t<a.length;t++)1===a[t].points.length&&(g=this.getClusterDistancesFromPoint(a,a[t].points[0].x,a[t].points[0].y))[1].distance<l&&(a[g[1].clusterIndex].points.push(a[t].points[0]),a[g[0].clusterIndex].points.length=0);d=!1;for(let t=0;t<a.length;t++)f=x(a[t].points),a[t].oldX=a[t].posX,a[t].oldY=a[t].posY,a[t].posX=f.x,a[t].posY=f.y,(a[t].posX>a[t].oldX+1||a[t].posX<a[t].oldX-1||a[t].posY>a[t].oldY+1||a[t].posY<a[t].oldY-1)&&(d=!0);u&&(d=p<u-1),p++}for(let t=0,e=a.length;t<e;++t)n["cluster"+t]=a[t].points;for(let t=0,e=o.length;t<e;++t)n["noise"+t]=[o[t]];return n},optimizedKmeans:function(t,e,i,r){let a=Number(r.processedDistance??(0,s.relativeLength)(r.distance||h.layoutAlgorithm.gridSize,this.chart.plotWidth)),o=this.getRealExtremes(),n=(this.options.cluster||{}).marker,l,u={};if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<o.maxX||this.initMinX&&this.initMinX>o.minX||this.initMaxY&&this.initMaxY<o.maxY||this.initMinY&&this.initMinY>o.minY)this.initMaxX=o.maxX,this.initMinX=o.minX,this.initMaxY=o.maxY,this.initMinY=o.minY,u=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,r):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=T(this,e),r=T(this,t);l=Math.sqrt(Math.pow(i.x-r.x,2)+Math.pow(i.y-r.y,2));let o=t.clusterZone?.marker?.radius??n?.radius??h.marker.radius??0,u=a-o>=0?a-o:o;l>o+u&&(0,s.defined)(t.pointsOutside)?t.pointsOutside.push(e):(0,s.defined)(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(u[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)u[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)u[t.id]=t.data}return u}},d,c=[],m=0;function f(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function g(t,e,i,s){for(let r of(y(t,s,i,!0,!0),e))r.point?.destroy?.()}function y(t,e,i,s,r){t.point&&(s&&t.point.graphic&&(t.point.graphic.show(),f(t.point.graphic,e,i)),r&&t.point.dataLabel&&(t.point.dataLabel.show(),f(t.point.dataLabel,e,i)))}function x(t){let e=t.length,i=0,s=0;for(let r=0;r<e;r++)i+=t[r].x,s+=t[r].y;return{x:i/e,y:s/e}}function C(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function b(){return Math.random().toString(36).substring(2,7)+"-"+m++}function k(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function I(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:s,yAxis:r,chart:a}=i,{inverted:o,mapView:n,pointer:l}=a;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),u=t[0],h=t[t.length-1],p=i[0],d=i[i.length-1],c=Math.abs((h-u)*.1),m=Math.abs((d-p)*.1),f=Math.min(u,h)-c,g=Math.max(u,h)+c,y=Math.min(p,d)-m,x=Math.max(p,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:y,y2:x});else if(s&&r){let t=s.toPixels(f),e=s.toPixels(g),i=r.toPixels(y),n=r.toPixels(x);o&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),a.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function M(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:s?s.toValue(e.x):0,y:r?r.toValue(e.y):0}}function S(t){let e=this.chart,i=e.mapView,r=u(this.options.cluster?.animation),a=r.duration||500,o=this.markerClusterInfo?.pointsState,n=o?.newState,l=o?.oldState,h=[],p,d,c,m=0,f=0,x=0,C=!1,b=!1;if(l&&n){let o=T(this,d=n[t.stateId]);f=o.x-(i?0:e.plotLeft),x=o.y-(i?0:e.plotTop),1===d.parentsId.length?(p=l[n?.[t.stateId].parentsId[0]],d.point?.graphic&&p.point?.plotX&&p.point.plotY&&(p.point.plotX!==d.point.plotX||p.point.plotY!==d.point.plotY)&&(c=d.point.graphic.getBBox(),m=d.point.graphic?.isImg?0:c.width/2,d.point.graphic.attr({x:p.point.plotX-m,y:p.point.plotY-m}),d.point.graphic.animate({x:f-(d.point.graphic.radius||0),y:x-(d.point.graphic.radius||0)},r,function(){b=!0,p.point?.destroy?.()}),d.point.dataLabel?.alignAttr&&p.point.dataLabel?.alignAttr&&(d.point.dataLabel.attr({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y}),d.point.dataLabel.animate({x:d.point.dataLabel.alignAttr.x,y:d.point.dataLabel.alignAttr.y},r)))):0===d.parentsId.length?(k(d,!0,!0),(0,s.syncTimeout)(function(){y(d,.1,r,!0,!0)},a/2)):(k(d,!0,!0),d.parentsId.forEach(function(t){l?.[t]&&(p=l[t],h.push(p),p.point?.graphic&&(C=!0,p.point.graphic.show(),p.point.graphic.animate({x:f-(p.point.graphic.radius||0),y:x-(p.point.graphic.radius||0),opacity:.4},r,function(){b=!0,g(d,h,r,.7)}),p.point.dataLabel&&-9999!==p.point.dataLabel.y&&d.point?.dataLabel?.alignAttr&&(p.point.dataLabel.show(),p.point.dataLabel.animate({x:d.point.dataLabel.alignAttr.x,y:d.point.dataLabel.alignAttr.y,opacity:.4},r))))}),(0,s.syncTimeout)(function(){b||g(d,h,r,.85)},a),C||(0,s.syncTimeout)(function(){g(d,h,r,.1)},a/2))}}function A(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function w(){let t,e,i,r,a,o,n,u,p,c,m,f,g,y,x,C=this,{chart:b}=C,k=b.mapView,S=C.getColumn("x"),A=C.getColumn("y"),w=C.options.cluster,L=C.getRealExtremes(),P=[],X=[],Y=[];if(k&&C.is("mappoint")&&S&&A&&C.options.data?.forEach((t,e)=>{let i=C.projectPoint(t);i&&(S[e]=i.x,A[e]=i.y)}),w?.enabled&&S?.length&&A?.length&&!b.polar){m=w.layoutAlgorithm.type,(y=w.layoutAlgorithm).processedGridSize=(0,s.relativeLength)(y.gridSize||h.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=(0,s.relativeLength)(y.distance||h.layoutAlgorithm.distance,b.plotWidth),r=y.kmeansThreshold||h.layoutAlgorithm.kmeansThreshold;let k=y.processedGridSize/2,O=M(C,{x:0,y:0}),z=M(C,{x:k,y:k});a=Math.abs(O.x-z.x),o=Math.abs(O.y-z.y);for(let t=0;t<S.length;t++)!C.dataMaxX&&((0,s.defined)(u)&&(0,s.defined)(n)&&(0,s.defined)(c)&&(0,s.defined)(p)?(0,s.isNumber)(A[t])&&(0,s.isNumber)(c)&&(0,s.isNumber)(p)&&(u=Math.max(S[t],u),n=Math.min(S[t],n),c=Math.max(A[t]||c,c),p=Math.min(A[t]||p,p)):(u=n=S[t],c=p=A[t])),S[t]>=L.minX-a&&S[t]<=L.maxX+a&&(A[t]||L.minY)>=L.minY-o&&(A[t]||L.maxY)<=L.maxY+o&&(P.push(S[t]),X.push(A[t]),Y.push(t));if((0,s.defined)(u)&&(0,s.defined)(n)&&(0,s.isNumber)(c)&&(0,s.isNumber)(p)&&(C.dataMaxX=u,C.dataMinX=n,C.dataMaxY=c,C.dataMinY=p),f=(g=((0,s.isFunction)(m)?m:C.markerClusterAlgorithms?m&&C.markerClusterAlgorithms[m]?C.markerClusterAlgorithms[m]:P.length<r?C.markerClusterAlgorithms.kmeans:C.markerClusterAlgorithms.grid:()=>!1).call(this,P,X,Y,y))?C.getClusteredData(g,w):g,w.animation&&C.markerClusterInfo?.pointsState?.oldState){var v=C.markerClusterInfo.pointsState.oldState;for(let t of Object.keys(v))v[t].point?.destroy?.();t=C.markerClusterInfo.pointsState.newState}else t={};e=S.length,i=C.markerClusterInfo,f&&(C.dataTable.modified=new l({columns:{x:f.groupedXData,y:f.groupedYData}}),C.hasGroupedData=!0,C.markerClusterInfo=f,C.groupMap=f.groupMap),d.apply(this),f&&C.markerClusterInfo&&(C.markerClusterInfo.clusters?.forEach(t=>{(x=C.points[t.index]).isCluster=!0,x.clusteredData=t.data,x.clusterPointsAmount=t.data.length,t.point=x,(0,s.addEvent)(x,"click",I)}),C.markerClusterInfo.noise?.forEach(t=>{t.point=C.points[t.index]}),w.animation&&C.markerClusterInfo&&(C.markerClusterInfo.pointsState={oldState:t,newState:C.getPointsState(f,i,e)}),w.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else d.apply(this)}function L(t,e,i){let s=[];for(let r=0;r<t.length;r++){let a=T(this,{x:e,y:i}),o=T(this,{x:t[r].posX,y:t[r].posY}),n=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2));s.push({clusterIndex:r,distance:n})}return s.sort((t,e)=>t.distance-e.distance)}function P(t,e){let i=this.options.data,r=[],a=[],o=[],n=[],l=[],u=Math.max(2,e.minimumClusterSize||2),p=0,d,c,m,f,g,y,C,k,I,M,S,A;if((0,s.isFunction)(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return(0,s.error)("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let w in t)if(t[w].length>=u){if(m=t[w],d=b(),g=m.length,e.zones)for(let t=0;t<e.zones.length;t++)g>=e.zones[t].from&&g<=e.zones[t].to&&((S=e.zones[t]).zoneIndex=t,M=e.zones[t].marker,A=e.zones[t].className);I=x(m),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?C={x:I.x,y:I.y}:(y=this.options.marker||{},C=this.preventClusterCollisions({x:I.x,y:I.y,key:w,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:y.radius||3+(y.lineWidth||0),clusterRadius:M?.radius??e.marker?.radius??h.marker.radius??0}));for(let t=0;t<g;t++)m[t].parentStateId=d;if(o.push({x:C.x,y:C.y,id:w,stateId:d,index:p,data:m,clusterZone:S,clusterZoneClassName:A}),r.push(C.x),a.push(C.y),l.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:(0,s.merge)(e.marker,{states:e.states},M||{})}}),i?.length)for(let t=0;t<g;t++)(0,s.isObject)(i[m[t].dataIndex])&&(m[t].options=i[m[t].dataIndex]);p++,M=null}else for(let e=0;e<t[w].length;e++)c=t[w][e],d=b(),k=null,f=i?.[c.dataIndex],r.push(c.x),a.push(c.y),c.parentStateId=d,n.push({x:c.x,y:c.y,id:w,stateId:d,index:p,data:t[w]}),k=f&&"object"==typeof f&&!(0,s.isArray)(f)?(0,s.merge)(f,{x:c.x,y:c.y}):{userOptions:f,x:c.x,y:c.y},l.push({options:k}),p++;return{clusters:o,noise:n,groupedXData:r,groupedYData:a,groupMap:l}}function X(){let{chart:t,xAxis:e,yAxis:i}=this,s=0;return{plotLeft:s=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function Y(t,e,i){let s,r,a=e?C(e,i):[],o=C(t,i),n={};c=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<o.length;t++)s=o[t],r=a[t],s?.parentStateId&&r?.parentStateId&&n[s.parentStateId]?.parentsId.indexOf(r.parentStateId)===-1&&(n[s.parentStateId].parentsId.push(r.parentStateId),-1===c.indexOf(r.parentStateId)&&c.push(r.parentStateId));return n}function v(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=M(this,{x:e,y:t.mapView?0:t.plotTop}),s=M(this,{x:e+t.plotWidth,y:e+t.plotHeight}),r=i.x,a=s.x,o=i.y,n=s.y;return{minX:Math.min(r,a),maxX:Math.max(r,a),minY:Math.min(o,n),maxY:Math.max(o,n)}}function O(t){let e=this.xAxis,i=this.chart.mapView,r=Number(t.processedGridSize??(0,s.relativeLength)(t.gridSize||h.layoutAlgorithm.gridSize,this.chart.plotWidth)),a=!0,o=1,n=1;this.gridValueSize||(i?this.gridValueSize=r/i.getScale():this.gridValueSize=Math.abs(e.toValue(r)-e.toValue(0)));let l=i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0),u=0!==l?Math.abs(+(r/l).toFixed(14)):1;for(;a&&1!==u;){let t=Math.pow(2,o);u>.75&&u<1.25?a=!1:u>=1/t&&u<1/t*2?(a=!1,n=t):u<=t&&u>t/2&&(a=!1,n=1/t),o++}return r/n/u}function z(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=c.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&-1!==i.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function D(t){let e=!1;return!!(0,s.isObject)(t)&&((0,s.objectEach)(t,t=>{if(e=!0,!(0,s.isArray)(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!(0,s.isObject)(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function E(t){let[e,i]=t.key.split(":").map(parseFloat),r=t.gridSize,a=t.groupedData,o=t.defaultRadius,n=t.clusterRadius,l=i*r,u=e*r,p=T(this,t),d=[],c=this.options.cluster?.marker,m=this.options.cluster?.zones,f=this.getGridOffset(),g=p.x,y=p.y,C=0,b=0,k,I,S,A,w,L,P,X,Y,v,O,z;g-=f.plotLeft,y-=f.plotTop;for(let s=1;s<5;s++)for(P=0,S=s%2?-1:1,A=s<3?-1:1,w=Math.floor((g+S*n)/r),z=[(L=Math.floor((y+A*n)/r))+":"+w,L+":"+i,e+":"+w];P<z.length;P++)-1===d.indexOf(z[P])&&z[P]!==t.key&&d.push(z[P]);for(let t of d)if(a[t]){a[t].posX||(v=x(a[t]),a[t].posX=v.x,a[t].posY=v.y);let p=T(this,{x:a[t].posX||0,y:a[t].posY||0});if(k=p.x-f.plotLeft,I=p.y-f.plotTop,[Y,X]=t.split(":").map(parseFloat),m){C=a[t].length;for(let t=0;t<m.length;t++)C>=m[t].from&&C<=m[t].to&&(b=(0,s.defined)(m[t].marker?.radius)?m[t].marker.radius||0:c?.radius?c.radius:h.marker.radius??0)}a[t].length>1&&0===b&&c?.radius?b=c.radius:1===a[t].length&&(b=o),O=n+b,b=0,X!==i&&Math.abs(g-k)<O&&(g=X-i<0?l+n:l+r-n),Y!==e&&Math.abs(y-I)<O&&(y=Y-e<0?u+n:u+r-n)}let D=M(this,{x:g+f.plotLeft,y:y+f.plotTop});return a[t.key].posX=D.x,a[t.key].posY=D.y,D}function T(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:s?s.toPixels(e.x):0,y:r?r.toPixels(e.y):0}}let j=function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(d=i.generatePoints,i.markerClusterAlgorithms=p,i.animateClusterPoint=S,i.destroyClusteredData=A,i.generatePoints=w,i.getClusterDistancesFromPoint=L,i.getClusteredData=P,i.getGridOffset=X,i.getPointsState=Y,i.getRealExtremes=v,i.getScaledGridSize=O,i.hideClusteredData=z,i.isValidGroupedDataObject=D,i.preventClusterCollisions=E,(0,s.addEvent)(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=(0,s.merge)(t.plotOptions.series,a)))},{animObject:R}=r(),{defaultOptions:V}=r(),{composed:G}=r();function N(){let t=this.chart,e=0;for(let i of t.series)i.markerClusterInfo&&(e=R((i.options.cluster||{}).animation).duration||0);(0,s.syncTimeout)(()=>{t.tooltip&&t.tooltip.destroy()},e)}function F(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function q(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;(0,s.isFunction)(e)&&e.call(this,t)}function W(){if(this.dataGroup)return(0,s.error)("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function K(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),(0,s.defined)(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function _(e,i,s,r){let a=s/2,o=r/2,n=t.arc(e+a,i+o,a-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=t.arc(e+a,i+o,a-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a-2,open:!1});return t.arc(e+a,i+o,a-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a,open:!1}).concat(l,n)}(V.plotOptions||{}).series=(0,s.merge)((V.plotOptions||{}).series,a);let Z=r();({compose:function(t,e,i,r){if((0,s.pushUnique)(G,"MarkerClusters")){let a=r.prototype.pointClass,{scatter:o}=r.types;(0,s.addEvent)(t,"setExtremes",N),(0,s.addEvent)(e,"render",F),(0,s.addEvent)(a,"drillToCluster",q),(0,s.addEvent)(a,"update",W),(0,s.addEvent)(r,"afterRender",K),o&&j(i,o)}}}).compose(Z.Axis,Z.Chart,Z.defaultOptions,Z.Series),({compose:function(e){(t=e.prototype.symbols).cluster=_}}).compose(Z.SVGRenderer);let B=r();export{B as default};
|
|
13
|
+
*/import*as e from"../highcharts.js";let i={};i.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{if(Array.isArray(e))for(var s=0;s<e.length;){var r=e[s++],a=e[s++];i.o(t,r)?0===a&&s++:0===a?Object.defineProperty(t,r,{enumerable:!0,value:e[s++]}):Object.defineProperty(t,r,{enumerable:!0,get:a})}else for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s=e.default;var r=i.n(s);let a={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"var(--highcharts-background-color)"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}},{setLength:o,splice:n}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,r=[]){if(Array.isArray(t))return Array.isArray(r)||(r=Array.from(r)),{removed:t.splice(e,i,...r),array:t};let a=Object.getPrototypeOf(t).constructor,o=t[s?"subarray":"slice"](e,e+i),n=new a(t.length-i+r.length);return n.set(t.subarray(0,e),0),n.set(r,e),n.set(t.subarray(e+i),e+r.length),{removed:o,array:n}}},l=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||(0,s.uniqueKey)(),this.rowCount=0,this.versionTag=(0,s.uniqueKey)();let e=0;(0,s.objectEach)(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,(0,s.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=o(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,s.objectEach)(this.columns,(s,r)=>{this.columns[r]=n(s,t,e).array,i=s.length}),this.rowCount=i}(0,s.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,s.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},s=this.columns;for(let r of(e??(e=Object.keys(this.columns)),e))i[r]=s[r]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let r=this.rowCount;(0,s.objectEach)(t,(t,e)=>{this.columns[e]=t.slice(),r=t.length}),this.applyRowCount(r),i?.silent||((0,s.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,s.uniqueKey)())}setRow(t,e=this.rowCount,i,r){var a;let{columns:o}=this,l=i?this.rowCount+1:e+1,u=Object.keys(t);if(r?.addColumns!==!1)for(let t=0,e=u.length;t<e;t++)o[a=u[t]]||(o[a]=Array(this.rowCount));(0,s.objectEach)(o,(s,r)=>{s&&(i?s=n(s,e,0,!0,[t[r]]).array:s[e]=r in t?t[r]:s[e],o[r]=s)}),this.applyRowCount(Math.max(l,this.rowCount)),r?.silent||((0,s.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,s.uniqueKey)())}getModified(){return this.modified||this}},{cluster:u}=a,h={grid:function(t,e,i,s){let r,a,o,n,l,u={},h=this.getGridOffset(),p=this.getScaledGridSize(s);for(l=0;l<t.length;l++){let s=E(this,{x:t[l],y:e[l]});r=s.x-h.plotLeft,a=s.y-h.plotTop,o=Math.floor(r/p),u[n=Math.floor(a/p)+":"+o]??(u[n]=[]),u[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return u},kmeans:function(t,e,i,r){let a=[],o=[],n={},l=Number(r.processedDistance??(0,s.relativeLength)(r.distance||u.layoutAlgorithm.distance,this.chart.plotWidth)),h=r.iterations,p=0,d=!0,c=0,m=0,f,g=[];r.processedGridSize=l;let x=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,r):{};for(let t in x)x[t].length>1&&(f=y(x[t]),a.push({posX:f.x,posY:f.y,oldX:0,oldY:0,startPointsLen:x[t].length,points:[]}));for(;d;){for(let t of a)t.points.length=0;o.length=0;for(let s=0;s<t.length;s++)c=t[s],m=e[s],(g=this.getClusterDistancesFromPoint(a,c,m)).length&&g[0].distance<l?a[g[0].clusterIndex].points.push({x:c,y:m,dataIndex:i[s]}):o.push({x:c,y:m,dataIndex:i[s]});for(let t=0;t<a.length;t++)1===a[t].points.length&&(g=this.getClusterDistancesFromPoint(a,a[t].points[0].x,a[t].points[0].y))[1].distance<l&&(a[g[1].clusterIndex].points.push(a[t].points[0]),a[g[0].clusterIndex].points.length=0);d=!1;for(let t=0;t<a.length;t++)f=y(a[t].points),a[t].oldX=a[t].posX,a[t].oldY=a[t].posY,a[t].posX=f.x,a[t].posY=f.y,(a[t].posX>a[t].oldX+1||a[t].posX<a[t].oldX-1||a[t].posY>a[t].oldY+1||a[t].posY<a[t].oldY-1)&&(d=!0);h&&(d=p<h-1),p++}for(let t=0,e=a.length;t<e;++t)n["cluster"+t]=a[t].points;for(let t=0,e=o.length;t<e;++t)n["noise"+t]=[o[t]];return n},optimizedKmeans:function(t,e,i,r){let a=Number(r.processedDistance??(0,s.relativeLength)(r.distance||u.layoutAlgorithm.gridSize,this.chart.plotWidth)),o=this.getRealExtremes(),n=(this.options.cluster||{}).marker,l,h={};if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<o.maxX||this.initMinX&&this.initMinX>o.minX||this.initMaxY&&this.initMaxY<o.maxY||this.initMinY&&this.initMinY>o.minY)this.initMaxX=o.maxX,this.initMinX=o.minX,this.initMaxY=o.maxY,this.initMinY=o.minY,h=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,r):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=E(this,e),r=E(this,t);l=Math.sqrt(Math.pow(i.x-r.x,2)+Math.pow(i.y-r.y,2));let o=t.clusterZone?.marker?.radius??n?.radius??u.marker.radius??0,h=a-o>=0?a-o:o;l>o+h&&(0,s.defined)(t.pointsOutside)?t.pointsOutside.push(e):(0,s.defined)(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(h[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)h[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)h[t.id]=t.data}return h}},p,d=[],c=0;function m(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function f(t,e,i,s){for(let r of(g(t,s,i,!0,!0),e))r.point?.destroy?.()}function g(t,e,i,s,r){t.point&&(s&&t.point.graphic&&(t.point.graphic.show(),m(t.point.graphic,e,i)),r&&t.point.dataLabel&&(t.point.dataLabel.show(),m(t.point.dataLabel,e,i)))}function y(t){let e=t.length,i=0,s=0;for(let r=0;r<e;r++)i+=t[r].x,s+=t[r].y;return{x:i/e,y:s/e}}function x(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function C(){return Math.random().toString(36).substring(2,7)+"-"+c++}function b(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function k(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:s,yAxis:r,chart:a}=i,{inverted:o,mapView:n,pointer:l}=a;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),u=t[0],h=t[t.length-1],p=i[0],d=i[i.length-1],c=Math.abs((h-u)*.1),m=Math.abs((d-p)*.1),f=Math.min(u,h)-c,g=Math.max(u,h)+c,y=Math.min(p,d)-m,x=Math.max(p,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:y,y2:x});else if(s&&r){let t=s.toPixels(f),e=s.toPixels(g),i=r.toPixels(y),n=r.toPixels(x);o&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),a.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function I(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:s?s.toValue(e.x):0,y:r?r.toValue(e.y):0}}function M(t){let e=this.chart,i=e.mapView,r=(0,s.animObject)(this.options.cluster?.animation),a=r.duration||500,o=this.markerClusterInfo?.pointsState,n=o?.newState,l=o?.oldState,u=[],h,p,d,c=0,m=0,y=0,x=!1,C=!1;if(l&&n){let o=E(this,p=n[t.stateId]);m=o.x-(i?0:e.plotLeft),y=o.y-(i?0:e.plotTop),1===p.parentsId.length?(h=l[n?.[t.stateId].parentsId[0]],p.point?.graphic&&h.point?.plotX&&h.point.plotY&&(h.point.plotX!==p.point.plotX||h.point.plotY!==p.point.plotY)&&(d=p.point.graphic.getBBox(),c=p.point.graphic?.isImg?0:d.width/2,p.point.graphic.attr({x:h.point.plotX-c,y:h.point.plotY-c}),p.point.graphic.animate({x:m-(p.point.graphic.radius||0),y:y-(p.point.graphic.radius||0)},r,function(){C=!0,h.point?.destroy?.()}),p.point.dataLabel?.alignAttr&&h.point.dataLabel?.alignAttr&&(p.point.dataLabel.attr({x:h.point.dataLabel.alignAttr.x,y:h.point.dataLabel.alignAttr.y}),p.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y},r)))):0===p.parentsId.length?(b(p,!0,!0),(0,s.syncTimeout)(function(){g(p,.1,r,!0,!0)},a/2)):(b(p,!0,!0),p.parentsId.forEach(function(t){l?.[t]&&(h=l[t],u.push(h),h.point?.graphic&&(x=!0,h.point.graphic.show(),h.point.graphic.animate({x:m-(h.point.graphic.radius||0),y:y-(h.point.graphic.radius||0),opacity:.4},r,function(){C=!0,f(p,u,r,.7)}),h.point.dataLabel&&-9999!==h.point.dataLabel.y&&p.point?.dataLabel?.alignAttr&&(h.point.dataLabel.show(),h.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y,opacity:.4},r))))}),(0,s.syncTimeout)(function(){C||f(p,u,r,.85)},a),x||(0,s.syncTimeout)(function(){f(p,u,r,.1)},a/2))}}function S(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function A(){let t,e,i,r,a,o,n,h,d,c,m,f,g,y,x,C=this,{chart:b}=C,M=b.mapView,S=C.getColumn("x"),A=C.getColumn("y"),w=C.options.cluster,L=C.getRealExtremes(),P=[],v=[],X=[];if(M&&C.is("mappoint")&&S&&A&&C.options.data?.forEach((t,e)=>{let i=C.projectPoint(t);i&&(S[e]=i.x,A[e]=i.y)}),w?.enabled&&S?.length&&A?.length&&!b.polar){m=w.layoutAlgorithm.type,(y=w.layoutAlgorithm).processedGridSize=(0,s.relativeLength)(y.gridSize||u.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=(0,s.relativeLength)(y.distance||u.layoutAlgorithm.distance,b.plotWidth),r=y.kmeansThreshold||u.layoutAlgorithm.kmeansThreshold;let M=y.processedGridSize/2,O=I(C,{x:0,y:0}),z=I(C,{x:M,y:M});a=Math.abs(O.x-z.x),o=Math.abs(O.y-z.y);for(let t=0;t<S.length;t++)!C.dataMaxX&&((0,s.defined)(h)&&(0,s.defined)(n)&&(0,s.defined)(c)&&(0,s.defined)(d)?(0,s.isNumber)(A[t])&&(0,s.isNumber)(c)&&(0,s.isNumber)(d)&&(h=Math.max(S[t],h),n=Math.min(S[t],n),c=Math.max(A[t]||c,c),d=Math.min(A[t]||d,d)):(h=n=S[t],c=d=A[t])),S[t]>=L.minX-a&&S[t]<=L.maxX+a&&(A[t]||L.minY)>=L.minY-o&&(A[t]||L.maxY)<=L.maxY+o&&(P.push(S[t]),v.push(A[t]),X.push(t));if((0,s.defined)(h)&&(0,s.defined)(n)&&(0,s.isNumber)(c)&&(0,s.isNumber)(d)&&(C.dataMaxX=h,C.dataMinX=n,C.dataMaxY=c,C.dataMinY=d),f=(g=((0,s.isFunction)(m)?m:C.markerClusterAlgorithms?m&&C.markerClusterAlgorithms[m]?C.markerClusterAlgorithms[m]:P.length<r?C.markerClusterAlgorithms.kmeans:C.markerClusterAlgorithms.grid:()=>!1).call(this,P,v,X,y))?C.getClusteredData(g,w):g,w.animation&&C.markerClusterInfo?.pointsState?.oldState){var Y=C.markerClusterInfo.pointsState.oldState;for(let t of Object.keys(Y))Y[t].point?.destroy?.();t=C.markerClusterInfo.pointsState.newState}else t={};e=S.length,i=C.markerClusterInfo,f&&(C.dataTable.modified=new l({columns:{x:f.groupedXData,y:f.groupedYData}}),C.hasGroupedData=!0,C.markerClusterInfo=f,C.groupMap=f.groupMap),p.apply(this),f&&C.markerClusterInfo&&(C.markerClusterInfo.clusters?.forEach(t=>{(x=C.points[t.index]).isCluster=!0,x.clusteredData=t.data,x.clusterPointsAmount=t.data.length,t.point=x,(0,s.addEvent)(x,"click",k)}),C.markerClusterInfo.noise?.forEach(t=>{t.point=C.points[t.index]}),w.animation&&C.markerClusterInfo&&(C.markerClusterInfo.pointsState={oldState:t,newState:C.getPointsState(f,i,e)}),w.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else p.apply(this)}function w(t,e,i){let s=[];for(let r=0;r<t.length;r++){let a=E(this,{x:e,y:i}),o=E(this,{x:t[r].posX,y:t[r].posY}),n=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2));s.push({clusterIndex:r,distance:n})}return s.sort((t,e)=>t.distance-e.distance)}function L(t,e){let i=this.options.data,r=[],a=[],o=[],n=[],l=[],h=Math.max(2,e.minimumClusterSize||2),p=0,d,c,m,f,g,x,b,k,I,M,S,A;if((0,s.isFunction)(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return(0,s.error)("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let w in t)if(t[w].length>=h){if(m=t[w],d=C(),g=m.length,e.zones)for(let t=0;t<e.zones.length;t++)g>=e.zones[t].from&&g<=e.zones[t].to&&((S=e.zones[t]).zoneIndex=t,M=e.zones[t].marker,A=e.zones[t].className);I=y(m),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?b={x:I.x,y:I.y}:(x=this.options.marker||{},b=this.preventClusterCollisions({x:I.x,y:I.y,key:w,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:x.radius||3+(x.lineWidth||0),clusterRadius:M?.radius??e.marker?.radius??u.marker.radius??0}));for(let t=0;t<g;t++)m[t].parentStateId=d;if(o.push({x:b.x,y:b.y,id:w,stateId:d,index:p,data:m,clusterZone:S,clusterZoneClassName:A}),r.push(b.x),a.push(b.y),l.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:(0,s.merge)(e.marker,{states:e.states},M||{})}}),i?.length)for(let t=0;t<g;t++)(0,s.isObject)(i[m[t].dataIndex])&&(m[t].options=i[m[t].dataIndex]);p++,M=null}else for(let e=0;e<t[w].length;e++)c=t[w][e],d=C(),k=null,f=i?.[c.dataIndex],r.push(c.x),a.push(c.y),c.parentStateId=d,n.push({x:c.x,y:c.y,id:w,stateId:d,index:p,data:t[w]}),k=f&&"object"==typeof f&&!(0,s.isArray)(f)?(0,s.merge)(f,{x:c.x,y:c.y}):{userOptions:f,x:c.x,y:c.y},l.push({options:k}),p++;return{clusters:o,noise:n,groupedXData:r,groupedYData:a,groupMap:l}}function P(){let{chart:t,xAxis:e,yAxis:i}=this,s=0;return{plotLeft:s=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function v(t,e,i){let s,r,a=e?x(e,i):[],o=x(t,i),n={};d=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<o.length;t++)s=o[t],r=a[t],s?.parentStateId&&r?.parentStateId&&n[s.parentStateId]?.parentsId.indexOf(r.parentStateId)===-1&&(n[s.parentStateId].parentsId.push(r.parentStateId),-1===d.indexOf(r.parentStateId)&&d.push(r.parentStateId));return n}function X(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=I(this,{x:e,y:t.mapView?0:t.plotTop}),s=I(this,{x:e+t.plotWidth,y:e+t.plotHeight}),r=i.x,a=s.x,o=i.y,n=s.y;return{minX:Math.min(r,a),maxX:Math.max(r,a),minY:Math.min(o,n),maxY:Math.max(o,n)}}function Y(t){let e=this.xAxis,i=this.chart.mapView,r=Number(t.processedGridSize??(0,s.relativeLength)(t.gridSize||u.layoutAlgorithm.gridSize,this.chart.plotWidth)),a=!0,o=1,n=1;this.gridValueSize||(i?this.gridValueSize=r/i.getScale():this.gridValueSize=Math.abs(e.toValue(r)-e.toValue(0)));let l=i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0),h=0!==l?Math.abs(+(r/l).toFixed(14)):1;for(;a&&1!==h;){let t=Math.pow(2,o);h>.75&&h<1.25?a=!1:h>=1/t&&h<1/t*2?(a=!1,n=t):h<=t&&h>t/2&&(a=!1,n=1/t),o++}return r/n/h}function O(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=d.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&-1!==i.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function z(t){let e=!1;return!!(0,s.isObject)(t)&&((0,s.objectEach)(t,t=>{if(e=!0,!(0,s.isArray)(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!(0,s.isObject)(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function D(t){let[e,i]=t.key.split(":").map(parseFloat),r=t.gridSize,a=t.groupedData,o=t.defaultRadius,n=t.clusterRadius,l=i*r,h=e*r,p=E(this,t),d=[],c=this.options.cluster?.marker,m=this.options.cluster?.zones,f=this.getGridOffset(),g=p.x,x=p.y,C=0,b=0,k,M,S,A,w,L,P,v,X,Y,O,z;g-=f.plotLeft,x-=f.plotTop;for(let s=1;s<5;s++)for(P=0,S=s%2?-1:1,A=s<3?-1:1,w=Math.floor((g+S*n)/r),z=[(L=Math.floor((x+A*n)/r))+":"+w,L+":"+i,e+":"+w];P<z.length;P++)-1===d.indexOf(z[P])&&z[P]!==t.key&&d.push(z[P]);for(let t of d)if(a[t]){a[t].posX||(Y=y(a[t]),a[t].posX=Y.x,a[t].posY=Y.y);let p=E(this,{x:a[t].posX||0,y:a[t].posY||0});if(k=p.x-f.plotLeft,M=p.y-f.plotTop,[X,v]=t.split(":").map(parseFloat),m){C=a[t].length;for(let t=0;t<m.length;t++)C>=m[t].from&&C<=m[t].to&&(b=(0,s.defined)(m[t].marker?.radius)?m[t].marker.radius||0:c?.radius?c.radius:u.marker.radius??0)}a[t].length>1&&0===b&&c?.radius?b=c.radius:1===a[t].length&&(b=o),O=n+b,b=0,v!==i&&Math.abs(g-k)<O&&(g=v-i<0?l+n:l+r-n),X!==e&&Math.abs(x-M)<O&&(x=X-e<0?h+n:h+r-n)}let D=I(this,{x:g+f.plotLeft,y:x+f.plotTop});return a[t.key].posX=D.x,a[t.key].posY=D.y,D}function E(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:s?s.toPixels(e.x):0,y:r?r.toPixels(e.y):0}}let T=function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(p=i.generatePoints,i.markerClusterAlgorithms=h,i.animateClusterPoint=M,i.destroyClusteredData=S,i.generatePoints=A,i.getClusterDistancesFromPoint=w,i.getClusteredData=L,i.getGridOffset=P,i.getPointsState=v,i.getRealExtremes=X,i.getScaledGridSize=Y,i.hideClusteredData=O,i.isValidGroupedDataObject=z,i.preventClusterCollisions=D,(0,s.addEvent)(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=(0,s.merge)(t.plotOptions.series,a)))},{defaultOptions:j}=r(),{composed:R}=r();function V(){let t=this.chart,e=0;for(let i of t.series)if(i.markerClusterInfo){let t=i.options.cluster;e=(0,s.animObject)((t||{}).animation).duration||0}(0,s.syncTimeout)(()=>{t.tooltip&&t.tooltip.destroy()},e)}function G(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function N(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;(0,s.isFunction)(e)&&e.call(this,t)}function F(){if(this.dataGroup)return(0,s.error)("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function q(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),(0,s.defined)(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function W(e,i,s,r){let a=s/2,o=r/2,n=t.arc(e+a,i+o,a-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=t.arc(e+a,i+o,a-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a-2,open:!1});return t.arc(e+a,i+o,a-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a,open:!1}).concat(l,n)}(j.plotOptions||{}).series=(0,s.merge)((j.plotOptions||{}).series,a);let K=r();({compose:function(t,e,i,r){if((0,s.pushUnique)(R,"MarkerClusters")){let a=r.prototype.pointClass,{scatter:o}=r.types;(0,s.addEvent)(t,"setExtremes",V),(0,s.addEvent)(e,"render",G),(0,s.addEvent)(a,"drillToCluster",N),(0,s.addEvent)(a,"update",F),(0,s.addEvent)(r,"afterRender",q),o&&T(i,o)}}}).compose(K.Axis,K.Chart,K.defaultOptions,K.Series),({compose:function(e){(t=e.prototype.symbols).cluster=W}}).compose(K.SVGRenderer);let _=r();export{_ as default};
|
|
@@ -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/marker-clusters
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../highcharts.src.js";
|
|
16
16
|
/******/ // The require scope
|
|
17
|
-
/******/
|
|
17
|
+
/******/ const __webpack_require__ = {};
|
|
18
18
|
/******/
|
|
19
19
|
/************************************************************************/
|
|
20
20
|
/******/ /* webpack/runtime/compat get default export */
|
|
21
21
|
/******/ (() => {
|
|
22
22
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
23
23
|
/******/ __webpack_require__.n = (module) => {
|
|
24
|
-
/******/
|
|
24
|
+
/******/ const getter = module && module.__esModule ?
|
|
25
25
|
/******/ () => (module['default']) :
|
|
26
26
|
/******/ () => (module);
|
|
27
27
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
@@ -31,11 +31,26 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../hig
|
|
|
31
31
|
/******/
|
|
32
32
|
/******/ /* webpack/runtime/define property getters */
|
|
33
33
|
/******/ (() => {
|
|
34
|
-
/******/ // define getter functions for harmony exports
|
|
34
|
+
/******/ // define getter/value functions for harmony exports
|
|
35
35
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
36
|
-
/******/
|
|
37
|
-
/******/
|
|
38
|
-
/******/
|
|
36
|
+
/******/ if(Array.isArray(definition)) {
|
|
37
|
+
/******/ var i = 0;
|
|
38
|
+
/******/ while(i < definition.length) {
|
|
39
|
+
/******/ var key = definition[i++];
|
|
40
|
+
/******/ var binding = definition[i++];
|
|
41
|
+
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
42
|
+
/******/ if(binding === 0) {
|
|
43
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
44
|
+
/******/ } else {
|
|
45
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
46
|
+
/******/ }
|
|
47
|
+
/******/ } else if(binding === 0) { i++; }
|
|
48
|
+
/******/ }
|
|
49
|
+
/******/ } else {
|
|
50
|
+
/******/ for(var key in definition) {
|
|
51
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
52
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
53
|
+
/******/ }
|
|
39
54
|
/******/ }
|
|
40
55
|
/******/ }
|
|
41
56
|
/******/ };
|
|
@@ -47,7 +62,6 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../hig
|
|
|
47
62
|
/******/ })();
|
|
48
63
|
/******/
|
|
49
64
|
/************************************************************************/
|
|
50
|
-
var __webpack_exports__ = {};
|
|
51
65
|
|
|
52
66
|
;// external ["../highcharts.src.js","default"]
|
|
53
67
|
const external_highcharts_src_js_default_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__["default"];
|
|
@@ -679,7 +693,7 @@ class DataTableCore {
|
|
|
679
693
|
* Fetches the given column by the canonical column ID. Simplified version
|
|
680
694
|
* of the full `DataTable.getRow` method, always returning by reference.
|
|
681
695
|
*
|
|
682
|
-
* @function Highcharts.DataTable#
|
|
696
|
+
* @function Highcharts.DataTable#getColumn
|
|
683
697
|
*
|
|
684
698
|
* @param {string} columnId
|
|
685
699
|
* ID of the column to get.
|
|
@@ -935,7 +949,6 @@ class DataTableCore {
|
|
|
935
949
|
* */
|
|
936
950
|
|
|
937
951
|
|
|
938
|
-
const { animObject } = (external_highcharts_src_js_default_default());
|
|
939
952
|
|
|
940
953
|
|
|
941
954
|
const { cluster: clusterDefaults } = MarkerClusters_MarkerClusterDefaults;
|
|
@@ -1333,7 +1346,7 @@ function pixelsToValues(series, pos) {
|
|
|
1333
1346
|
* @internal
|
|
1334
1347
|
*/
|
|
1335
1348
|
function seriesAnimateClusterPoint(clusterObj) {
|
|
1336
|
-
const series = this, chart = series.chart, mapView = chart.mapView, animation = animObject(series.options.cluster?.animation), animDuration = animation.duration || 500, pointsState = series.markerClusterInfo?.pointsState, newState = pointsState?.newState, oldState = pointsState?.oldState, oldPoints = [];
|
|
1349
|
+
const series = this, chart = series.chart, mapView = chart.mapView, animation = (0,external_highcharts_src_js_default_namespaceObject.animObject)(series.options.cluster?.animation), animDuration = animation.duration || 500, pointsState = series.markerClusterInfo?.pointsState, newState = pointsState?.newState, oldState = pointsState?.oldState, oldPoints = [];
|
|
1337
1350
|
let parentId, oldPointObj, newPointObj, newPointBBox, offset = 0, newX = 0, newY = 0, isOldPointGraphic = false, isCbHandled = false;
|
|
1338
1351
|
if (oldState && newState) {
|
|
1339
1352
|
newPointObj = newState[clusterObj.stateId];
|
|
@@ -2062,7 +2075,6 @@ const MarkerClusterScatter = {
|
|
|
2062
2075
|
* */
|
|
2063
2076
|
|
|
2064
2077
|
|
|
2065
|
-
const { animObject: MarkerClusters_animObject } = (external_highcharts_src_js_default_default());
|
|
2066
2078
|
|
|
2067
2079
|
const { defaultOptions } = (external_highcharts_src_js_default_default());
|
|
2068
2080
|
|
|
@@ -2110,7 +2122,7 @@ function onAxisSetExtremes() {
|
|
|
2110
2122
|
for (const series of chart.series) {
|
|
2111
2123
|
if (series.markerClusterInfo) {
|
|
2112
2124
|
const clusterOptions = series.options.cluster;
|
|
2113
|
-
animationDuration = (
|
|
2125
|
+
animationDuration = ((0,external_highcharts_src_js_default_namespaceObject.animObject)((clusterOptions || {}).animation).duration ||
|
|
2114
2126
|
0);
|
|
2115
2127
|
}
|
|
2116
2128
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
let e;/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/mouse-wheel-zoom
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@ let e;/**
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/import*as t from"../highcharts.js";
|
|
13
|
+
*/import*as t from"../highcharts.js";let o={};o.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var i=t[r++],n=t[r++];o.o(e,i)?0===n&&r++:0===n?Object.defineProperty(e,i,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,i,{enumerable:!0,get:n})}else for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let r=t.default;var i=o.n(r);let n={backgroundColor:"color",backgroundColors:"color",borderColor:"color",borderRadius:"string",color:"color",fill:"color",fontSize:"string",labels:"string",name:"string",stroke:"color",title:"string"},{getAssignedAxis:s}={annotationsFieldsTypes:n,getAssignedAxis:function(e){return e.filter(e=>{let t=e.axis.getExtremes(),o=t.min,i=t.max,n=e.axis.minPointOffset??0;return(0,r.isNumber)(o)&&(0,r.isNumber)(i)&&e.value>=o-n&&e.value<=i+n&&!e.axis.options.isInternal})[0]},getAxisFromOptions:function(e,t,o){return(0,r.isNumber)(o)?e[t][o]:(0,r.defined)(o)?(0,r.find)(e[t],e=>e.options.id===o):void 0},getFieldType:function(e,t){let o=n[e],i=typeof t;return(0,r.defined)(o)&&(i=o),({string:"text",number:"number",boolean:"checkbox",color:"color"})[i]}},l=[],a={enabled:!0,sensitivity:1.1,showResetButton:!1},u=function(t,o,i,n,s,l,a){let u=a.type??t.zooming.type??"",d=[];"x"===u?d=i:"y"===u?d=n:"xy"===u&&(d=t.axes);let h=t.transform({axes:d,to:{x:s-5,y:l-5,width:10,height:10},from:{x:s-5*o,y:l-5*o,width:10*o,height:10*o},trigger:"mousewheel",allowResetButton:a.showResetButton});return h&&((0,r.defined)(e)&&(0,r.internalClearTimeout)(e),e=setTimeout(()=>{t.pointer?.drop()},400)),h};function d(){var e;let t=(e=this.zooming.mouseWheel,(0,r.isObject)(e)||(e={enabled:e??!0}),(0,r.merge)(a,e));t.enabled&&(0,r.addEvent)(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:o}=this,r=o&&!o.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&r){let r=t.sensitivity||1.1,i=e.detail||(e.deltaY||0)/120,n=s(o.getCoordinates(e).xAxis),l=s(o.getCoordinates(e).yAxis);u(this,Math.pow(r,i),n?[n.axis]:this.xAxis,l?[l.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}let h=i();h.MouseWheelZoom=h.MouseWheelZoom||{compose:function(e){-1===l.indexOf(e)&&(l.push(e),(0,r.addEvent)(e,"afterGetContainer",d))}},h.MouseWheelZoom.compose(h.Chart);let c=i();export{c as default};
|
|
@@ -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/mouse-wheel-zoom
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../highcharts.src.js";
|
|
16
16
|
/******/ // The require scope
|
|
17
|
-
/******/
|
|
17
|
+
/******/ const __webpack_require__ = {};
|
|
18
18
|
/******/
|
|
19
19
|
/************************************************************************/
|
|
20
20
|
/******/ /* webpack/runtime/compat get default export */
|
|
21
21
|
/******/ (() => {
|
|
22
22
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
23
23
|
/******/ __webpack_require__.n = (module) => {
|
|
24
|
-
/******/
|
|
24
|
+
/******/ const getter = module && module.__esModule ?
|
|
25
25
|
/******/ () => (module['default']) :
|
|
26
26
|
/******/ () => (module);
|
|
27
27
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
@@ -31,11 +31,26 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../hig
|
|
|
31
31
|
/******/
|
|
32
32
|
/******/ /* webpack/runtime/define property getters */
|
|
33
33
|
/******/ (() => {
|
|
34
|
-
/******/ // define getter functions for harmony exports
|
|
34
|
+
/******/ // define getter/value functions for harmony exports
|
|
35
35
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
36
|
-
/******/
|
|
37
|
-
/******/
|
|
38
|
-
/******/
|
|
36
|
+
/******/ if(Array.isArray(definition)) {
|
|
37
|
+
/******/ var i = 0;
|
|
38
|
+
/******/ while(i < definition.length) {
|
|
39
|
+
/******/ var key = definition[i++];
|
|
40
|
+
/******/ var binding = definition[i++];
|
|
41
|
+
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
42
|
+
/******/ if(binding === 0) {
|
|
43
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
44
|
+
/******/ } else {
|
|
45
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
46
|
+
/******/ }
|
|
47
|
+
/******/ } else if(binding === 0) { i++; }
|
|
48
|
+
/******/ }
|
|
49
|
+
/******/ } else {
|
|
50
|
+
/******/ for(var key in definition) {
|
|
51
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
52
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
53
|
+
/******/ }
|
|
39
54
|
/******/ }
|
|
40
55
|
/******/ }
|
|
41
56
|
/******/ };
|
|
@@ -47,7 +62,6 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__ from "../hig
|
|
|
47
62
|
/******/ })();
|
|
48
63
|
/******/
|
|
49
64
|
/************************************************************************/
|
|
50
|
-
var __webpack_exports__ = {};
|
|
51
65
|
|
|
52
66
|
;// external ["../highcharts.src.js","default"]
|
|
53
67
|
const external_highcharts_src_js_default_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_8202131d__["default"];
|
|
@@ -111,7 +125,7 @@ function getAssignedAxis(coords) {
|
|
|
111
125
|
const extremes = coord.axis.getExtremes(), axisMin = extremes.min, axisMax = extremes.max,
|
|
112
126
|
// Correct axis edges when axis has series
|
|
113
127
|
// with pointRange (like column)
|
|
114
|
-
minPointOffset = (
|
|
128
|
+
minPointOffset = (coord.axis.minPointOffset ?? 0);
|
|
115
129
|
return (0,external_highcharts_src_js_default_namespaceObject.isNumber)(axisMin) && (0,external_highcharts_src_js_default_namespaceObject.isNumber)(axisMax) &&
|
|
116
130
|
coord.value >= (axisMin - minPointOffset) &&
|
|
117
131
|
coord.value <= (axisMax + minPointOffset) &&
|
|
@@ -119,6 +133,32 @@ function getAssignedAxis(coords) {
|
|
|
119
133
|
!coord.axis.options.isInternal;
|
|
120
134
|
})[0]; // If the axes overlap, return the first axis that was found.
|
|
121
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Resolve an axis from an annotation option that can reference it either by its
|
|
138
|
+
* index (number) or by its id (string).
|
|
139
|
+
*
|
|
140
|
+
* @internal
|
|
141
|
+
*
|
|
142
|
+
* @param {Highcharts.Chart} chart
|
|
143
|
+
* The chart instance.
|
|
144
|
+
*
|
|
145
|
+
* @param {'xAxis'|'yAxis'} coll
|
|
146
|
+
* The axis collection to look in.
|
|
147
|
+
*
|
|
148
|
+
* @param {number|string|undefined} idOrIndex
|
|
149
|
+
* The axis index or id.
|
|
150
|
+
*
|
|
151
|
+
* @return {Highcharts.Axis|undefined}
|
|
152
|
+
* The matching axis, or `undefined` if none was found.
|
|
153
|
+
*/
|
|
154
|
+
function getAxisFromOptions(chart, coll, idOrIndex) {
|
|
155
|
+
if ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(idOrIndex)) {
|
|
156
|
+
return chart[coll][idOrIndex];
|
|
157
|
+
}
|
|
158
|
+
return (0,external_highcharts_src_js_default_namespaceObject.defined)(idOrIndex) ?
|
|
159
|
+
(0,external_highcharts_src_js_default_namespaceObject.find)(chart[coll], (axis) => axis.options.id === idOrIndex) :
|
|
160
|
+
void 0;
|
|
161
|
+
}
|
|
122
162
|
/**
|
|
123
163
|
* Get field type according to value
|
|
124
164
|
*
|
|
@@ -146,13 +186,14 @@ function getFieldType(key, value) {
|
|
|
146
186
|
*
|
|
147
187
|
* */
|
|
148
188
|
/** @internal */
|
|
149
|
-
const
|
|
189
|
+
const NavigationBindingsUtilities = {
|
|
150
190
|
annotationsFieldsTypes,
|
|
151
191
|
getAssignedAxis,
|
|
192
|
+
getAxisFromOptions,
|
|
152
193
|
getFieldType
|
|
153
194
|
};
|
|
154
195
|
/** @internal */
|
|
155
|
-
/* harmony default export */ const
|
|
196
|
+
/* harmony default export */ const Annotations_NavigationBindingsUtilities = (NavigationBindingsUtilities);
|
|
156
197
|
|
|
157
198
|
;// ./code/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js
|
|
158
199
|
/* *
|
|
@@ -169,7 +210,7 @@ const NavigationBindingUtilities = {
|
|
|
169
210
|
|
|
170
211
|
|
|
171
212
|
|
|
172
|
-
const { getAssignedAxis: MouseWheelZoom_getAssignedAxis } =
|
|
213
|
+
const { getAssignedAxis: MouseWheelZoom_getAssignedAxis } = Annotations_NavigationBindingsUtilities;
|
|
173
214
|
/* *
|
|
174
215
|
*
|
|
175
216
|
* Constants
|
|
@@ -197,7 +238,7 @@ const optionsToObject = (options) => {
|
|
|
197
238
|
};
|
|
198
239
|
/** @internal */
|
|
199
240
|
const zoomBy = function (chart, howMuch, xAxis, yAxis, mouseX, mouseY, options) {
|
|
200
|
-
const type = (
|
|
241
|
+
const type = (options.type ?? chart.zooming.type ?? '');
|
|
201
242
|
let axes = [];
|
|
202
243
|
if (type === 'x') {
|
|
203
244
|
axes = xAxis;
|
package/esm/modules/navigator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
let t;/**
|
|
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 @@ let t;/**
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/import*as e from"../highcharts.js";var i,s={};s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let a=e.default;var r=s.n(a);let o=e.default.Chart;var n=s.n(o);let h=e.default.Axis;var d=s.n(h);let{isTouchDevice:l}=r(),c=[];function g(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function p(){let t,e,i,s=this.legend,r=this.navigator;if(r){t=s&&s.options,e=r.xAxis,i=r.yAxis;let{scrollbarHeight:o,scrollButtonSize:n}=r;this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+n):(r.left=(0,a.pick)(e.left,this.plotLeft+n),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(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,a.pick)(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize())}}function x(e){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new t(this),(0,a.pick)(e.redraw,!0)&&this.redraw(e.animation))}function u(){let e=this.options;(e.navigator.enabled||e.scrollbar.enabled)&&(this.scroller=this.navigator=new t(this))}function v(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!l&&"x"===this.zooming.type||l&&"x"===this.zooming.pinchType))return!1}function m(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function b(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,a.merge)(!0,this.options.navigator,e),(0,a.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let f=function(e,i){if((0,a.pushUnique)(c,e)){let s=e.prototype;t=i,s.callbacks.push(m),(0,a.addEvent)(e,"afterAddSeries",g),(0,a.addEvent)(e,"afterSetChartSize",p),(0,a.addEvent)(e,"afterUpdate",x),(0,a.addEvent)(e,"beforeRender",u),(0,a.addEvent)(e,"beforeShowResetZoom",v),(0,a.addEvent)(e,"update",b)}},{isTouchDevice:M}=r();function E(){this.navigatorAxis||(this.navigatorAxis=new k(this))}function A(t){let e,i=this.chart,s=i.options,r=s.navigator,o=this.navigatorAxis,n=i.zooming.pinchType,h=s.rangeSelector,d=i.zooming.type;if(this.isXAxis&&(r?.enabled||h?.enabled)){if("y"===d&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===d||M&&"xy"===n)&&this.options.range){let e=o.previousZoom;(0,a.defined)(t.min)?o.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],o.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class k{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),(0,a.addEvent)(t,"init",E),(0,a.addEvent)(t,"setExtremes",A))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,n=(0,a.pick)(i,r.translate(t,!0,!r.horiz)),h=(0,a.pick)(s,r.translate(e,!0,!r.horiz));return(0,a.defined)(i)||(n=(0,a.correctFloat)(n+o)),(0,a.defined)(s)||(h=(0,a.correctFloat)(h-o)),(0,a.isNumber)(n)&&(0,a.isNumber)(h)||(n=h=void 0),{min:n,max:h}}}let y=e.default.SeriesRegistry,{seriesTypes:w}=s.n(y)(),O={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(var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===w.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}},S={"navigator-handle":function(t,e,i,s,r={}){var o,n,h,d;let l=r.width?r.width/2:i,c=(0,a.relativeLength)(r.borderRadius||0,Math.min(2*l,s));return[["M",-1.5,(s=r.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=-l-1,n=2*l+1,h=s,d={r:c},d?.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,n,h,d):[["M",o,.5],["L",o+n,.5],["L",o+n,.5+h],["L",o,.5+h],["Z"]])]}},z=e.default.SVGRenderer;var T=s.n(z);let{defaultOptions:D}=r(),{composed:R}=r(),{setFixedRange:B}={setFixedRange:function(t){let e=this.xAxis[0];(0,a.defined)(e.dataMax)&&(0,a.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function P(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let C=function(t,e,i){k.compose(e),(0,a.pushUnique)(R,"Navigator")&&(t.prototype.setFixedRange=B,(0,a.extend)(T().prototype.symbols,S),(0,a.extend)(D,{navigator:O}),(0,a.addEvent)(i,"afterUpdate",P))},{composed:L}=r();!function(t){let e;function i(t){let e=(0,a.pick)(t.options?.min,t.min),i=(0,a.pick)(t.options?.max,t.max);return{axisMin:e,axisMax:i,scrollMin:(0,a.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,a.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 r(){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,a.addEvent)(t.scrollbar,"changed",function(e){let s,r,{axisMin:o,axisMax:n,scrollMin:h,scrollMax:d}=i(t),l=t.toPixels(h),c=t.toPixels(d)-l;if((0,a.defined)(o)&&(0,a.defined)(n))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(d,t.toValue(l+c*this.to)),r=Math.max(h,t.toValue(l+c*this.from))):(s=Math.min(d,t.toValue(l+c*(1-this.from))),r=Math.max(h,t.toValue(l+c*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,a.correctFloat)(r),(0,a.correctFloat)(s),!0,i,e)}else this.setRange(this.from,this.to)}))}function o(){let t,e,s,{scrollMin:r,scrollMax:o}=i(this),n=this.scrollbar,h=(this.axisTitleMargin||0)+(this.titleOffset||0),d=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(n&&d){if(this.horiz)this.opposite||(d[1]+=h),n.position(this.left,this.top+this.height+2+d[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(d[1]+=l),t=1;else{let e;this.opposite&&(d[0]+=h),e=n.options.opposite?this.left+this.width+2+d[0]-(this.opposite?0:l):this.opposite?0:l,n.position(e,this.top,this.width,this.height),this.opposite&&(d[0]+=l),t=0}if(d[t]+=n.size+(n.options.margin||0),isNaN(r)||isNaN(o)||!(0,a.defined)(this.min)||!(0,a.defined)(this.max)||(0,a.defined)(this.dataMin)&&this.dataMin===this.dataMax)n.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),n.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(r))/(this.toPixels(o)-this.toPixels(r)),s=(this.toPixels(this.max)-this.toPixels(r))/(this.toPixels(o)-this.toPixels(r)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){(0,a.pushUnique)(L,"Axis.Scrollbar")&&(e=i,(0,a.addEvent)(t,"afterGetOffset",s),(0,a.addEvent)(t,"afterInit",r),(0,a.addEvent)(t,"afterRender",o))}}(i||(i={}));let W=i,N={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:U}=r(),{composed:H}=r();class I{static compose(t){W.compose(t,I),(0,a.pushUnique)(H,"Scrollbar")&&(0,a.extend)(U,{scrollbar:N})}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,r=this.mouseDownHandler.bind(this),o=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),h=[[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",r],[i.ownerDocument,"mousemove",o],[i.ownerDocument,"mouseup",n],[i,"touchstart",r],[i.ownerDocument,"touchmove",o],[i.ownerDocument,"touchend",n]];h.forEach(function(t){a.addEvent.apply(null,t)}),this._events=h}buttonToMaxClick(t){let e=(this.to-this.from)*(0,a.pick)(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),(0,a.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,a.correctFloat)(this.to-this.from)*(0,a.pick)(this.options.step,.2);this.updatePosition((0,a.correctFloat)(this.from-e),(0,a.correctFloat)(this.to-e)),(0,a.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,a.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(I.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,a.merge)(N,U.scrollbar,e),this.options.margin=(0,a.pick)(this.options.margin,10),this.chart=i,this.size=(0,a.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",r=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(r[0]+e,r[1]+e),this.hasDragged&&(0,a.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,a.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){a.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,a.crisp)(0,o),y:-(0,a.crisp)(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(I.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,a.crisp)(0,this.scrollbarStrokeWidth),-(0,a.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,r=this.options,o=r.vertical,n=r.minWidth,h=this.barWidth,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,a.defined)(h))return;let l=h*Math.min(e,1);i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=(0,a.correctFloat)(l-i),s<n&&(i=(h-n+s)*t,s=n);let c=Math.floor(i+this.xOffset+this.yOffset),g=s/2-.5;this.from=t,this.to=e,o?(this.scrollbarGroup[d]({translateY:c}),this.scrollbar[d]({height:s}),this.scrollbarRifles[d]({translateY:g}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:c}),this.scrollbar[d]({width:s}),this.scrollbarRifles[d]({translateX:g}),this.scrollbarLeft=c,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===r.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(0,a.pick)(this.options.liveRedraw,r().svg&&!r().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!(0,a.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,r=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,a.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,a.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,a.correctFloat)(1-(0,a.correctFloat)(e-t)),e=1),t<0&&(e=(0,a.correctFloat)(e-t),t=0),this.from=t,this.to=e}}I.defaultOptions=N;let{defaultOptions:F}=r(),{isTouchDevice:X}=r();function Y(t,...e){let i=[].filter.call(e,a.isNumber);if(i.length)return Math[t].apply(0,i)}class G{static compose(t,e,i){f(t,G),C(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,a.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,a.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,a.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,a.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 r=this.chart,o=this.xAxis,n=o.pointRange||0,h=o.navigatorAxis.fake?r.xAxis[0]:o,d=this.navigatorEnabled,l=this.rendered,c=r.inverted,g=r.xAxis[0].minRange,p=r.xAxis[0].options.maxRange,x=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,a.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,a.correctFloat)(t-n/2),e=(0,a.correctFloat)(e+n/2),!(0,a.isNumber)(t)||!(0,a.isNumber)(e))if(!l)return;else i=0,s=(0,a.pick)(o.width,h.width);this.left=(0,a.pick)(o.left,r.plotLeft+x+(c?r.plotWidth:0));let E=this.size=f=(0,a.pick)(o.len,(c?r.plotHeight:r.plotWidth)-2*x);u=c?b:f+2*x,i=(0,a.pick)(i,o.toPixels(t,!0)),s=(0,a.pick)(s,o.toPixels(e,!0)),(0,a.isNumber)(i)&&Math.abs(i)!==1/0||(i=0,s=u);let A=o.toValue(i,!0),k=o.toValue(s,!0),y=Math.abs((0,a.correctFloat)(k-A));(0,a.defined)(g)&&y<g?this.grabbedLeft?i=o.toPixels(k-g-n,!0):this.grabbedRight&&(s=o.toPixels(A+g+n,!0)):(0,a.defined)(p)&&(0,a.correctFloat)(y-n)>p&&(this.grabbedLeft?i=o.toPixels(k-p-n,!0):this.grabbedRight&&(s=o.toPixels(A+p+n,!0))),this.zoomedMax=(0,a.clamp)(Math.max(i,s),0,E),this.zoomedMin=(0,a.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);d&&(this.navigatorGroup.attr({visibility:"inherit"}),M=l&&!this.hasDragged?"animate":"attr",this.drawMasks(w,E,c,M),this.drawOutline(w,E,c,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(w,0,c,M),this.drawHandle(E,1,c,M))),this.scrollbar&&(c?(m=this.top-x,v=this.left-b+(d||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),b=f+2*x):(m=this.top+(d?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,a.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,r=s.container,o=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},o.push((0,a.addEvent)(s.renderTo,"mousemove",t),(0,a.addEvent)(r.ownerDocument,"mouseup",e),(0,a.addEvent)(s.renderTo,"touchmove",t),(0,a.addEvent)(r.ownerDocument,"touchend",e)),i.eventsToUnbind=o,i.series&&i.series[0]&&o.push((0,a.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(r,o){i.push((0,a.addEvent)(r.element,t,function(t){e[`${s}Mousedown`](t,o)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,r=this.zoomedMin,o=this.size,n=this.range,h=this.left,d=t.chartX,l,c,g,p;i.inverted&&(d=t.chartY,h=this.top),1===e?(this.grabbedCenter=d,this.fixedWidth=n,this.dragOffset=d-r):(p=d-h-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=o&&(p=o-n,this.reversedExtremes?(p-=n,c=this.getUnionExtremes()?.dataMin):l=this.getUnionExtremes()?.dataMax),p!==r&&(this.fixedWidth=n,g=s.navigatorAxis.toFixedRange(p,p+n,c,l),(0,a.defined)(g.min)&&(0,a.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,r=e.range,o=e.dragOffset,n=i.inverted,h=e.left,d;(!t.touches||0!==t.touches[0].pageX)&&(d=(t=i.pointer?.normalize(t)||t).chartX,n&&(h=e.top,d=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,d-h,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,d-h)):e.grabbedCenter&&o&&(e.hasDragged=!0,d<o?d=o:d>s+o-r&&(d=s+o-r),e.render(0,0,d-o,d-o+r)),e.hasDragged&&(0,a.pick)(e.scrollbarOptions?.liveRedraw,!X&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,r,o,n,h=this.chart,d=this.xAxis,l=this.scrollbar,c=t.DOMEvent||t,g=h.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),n=d.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o),(0,a.defined)(n.min)&&(0,a.fireEvent)(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"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,a.isNumber)(this.zoomedMin)&&(0,a.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,a.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,a.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,r=e.scrollbar||{},o=r.enabled,n=s&&i.height||0,h=o&&r.height||0,l=r.buttonsEnabled&&h||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=h,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=r,this.setOpposite();let c=this,g=c.baseSeries,p=t.xAxis.length,x=t.yAxis.length,u=g&&g[0]&&g[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,c.navigatorEnabled){let e=this.getXAxisOffsets();c.xAxis=new(d())(t,(0,a.merge)({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:p,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),c.yAxis=new(d())(t,(0,a.merge)(i.yAxis,{alignTicks:!1,offset:0,index:x,isInternal:!0,reversed:(0,a.pick)(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),c.xAxis.clippable=!1,c.yAxis.clippable=!1,g||i.series?.data||i.series?.dataTable?c.updateNavigatorSeries(!1):0===t.series.length&&(c.unbindRedraw=(0,a.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!c.series&&(c.setBaseSeries(),c.unbindRedraw?.())})),c.reversedExtremes=t.inverted&&!c.xAxis.reversed||!t.inverted&&c.xAxis.reversed,c.renderElements(),c.addMouseEvents()}else c.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*l,o=Y("min",s.options.min,a.dataMin),n=Y("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)}},c.xAxis.navigatorAxis.axis=c.xAxis,c.xAxis.navigatorAxis.toFixedRange=k.prototype.toFixedRange.bind(c.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,a.merge)(t.options.scrollbar,{vertical:t.inverted});(0,a.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=c.scrollbar=new I(t.renderer,e,t),(0,a.addEvent)(c.scrollbar,"changed",function(t){let e=c.size,i=e*this.to,s=e*this.from;c.hasDragged=c.scrollbar?.hasDragged,c.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){c.onMouseUp(t)})})}c.addBaseSeriesEvents(),c.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=(0,a.pick)(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,r=this.xAxis,o=r.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:(0,a.pick)(s.parse(o?.min),Y("min",s.parse(n.min),i.dataMin,r.dataMin,r.min)),dataMax:(0,a.pick)(s.parse(o?.max),Y("max",s.parse(n.max),i.dataMax,r.dataMax,r.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,a.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,r=i.baseSeries,o={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}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>r.indexOf(e))||(e&&((0,a.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),h,d,l=i.navigatorOptions.series,c;if(r&&r.length&&r.forEach(t=>{let g=t.navigatorSeries,p=(0,a.extend)({color:t.color,visible:t.visible},(0,a.isArray)(l)?F.navigator.series:l);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;o.name="Navigator "+r.length,c=(h=t.options||{}).navigatorOptions||{},p.dataLabels=(0,a.splat)(p.dataLabels),(d=(0,a.merge)(h,o,p,c)).pointRange=(0,a.pick)(p.pointRange,c.pointRange,F.plotOptions[d.type||"line"]?.pointRange);let x=c.data||p.data,u=c.dataTable||p.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!x||!!u,d.data=x||h.data?.slice(0),d.dataTable=u||h.dataTable,g&&g.options?g.update(d,e):(t.navigatorSeries=s.initSeries(d),(0,a.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(l?.data||l?.dataTable)&&!(r&&r.length)||(0,a.isArray)(l)){let t=s.options.colors||[];i.hasNavigatorData=!1,(l=(0,a.splat)(l)).forEach((e,r)=>{o.name="Navigator "+(n.length+1),(d=(0,a.merge)(F.navigator?.series,{color:s.series[r]&&!s.series[r].options.isInternal&&s.series[r].color||t[r]||t[0]},o,e)).data=e.data,d.dataTable=e.dataTable,(d.data||d.dataTable)&&(i.hasNavigatorData=!0,n.push(s.initSeries(d)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,a.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,a.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,a.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,a.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,a.addEvent)(i,"remove",function(){e&&(0,a.erase)(e,i),this.navigatorSeries&&t.series&&((0,a.erase)(t.series,this.navigatorSeries),(0,a.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(),r=s.min,o=s.max,n=s.dataMin,h=s.dataMax,d=o-r,l=i?.stickToMin,c=i?.stickToMax,g=(0,a.pick)(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],x=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=n)+d),c&&(t=h+g,l||(e=Math.max(n,t-d,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),x&&(l||c)&&(0,a.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,a.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,r=s.max,o=s.min,n=s.options.range;return!!((0,a.isNumber)(r)&&(0,a.isNumber)(o))&&(n&&r-i>0?r-i<n:o<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,a.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,a.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,a.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,a.erase)(this.chart.xAxis,this.xAxis),(0,a.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,a.erase)(this.chart.yAxis,this.yAxis),(0,a.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,a.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let V={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 _{static navigator(t,e){let i=new _(t,e);return r().navigators?r().navigators.push(i):r().navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=(0,a.merge)(r().getOptions(),V,e.chart,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);let i=new(n())(t,this.chartOptions);i.options=(0,a.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 G(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof n()?t.xAxis[0]:t;if(!(s instanceof d()))return;let{min:r,max:o}=this.navigator.xAxis,h=[];if(e){let t=(0,a.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})});h.push(t)}let l=(0,a.addEvent)(this.navigator,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});h.push(l);let c=this.boundAxes.filter(function(t){return t.axis===s})[0];c||(c={axis:s,callbacks:[]},this.boundAxes.push(c)),c.callbacks=h,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),s.setExtremes(r,o),(0,a.addEvent)(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t){if(!t){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0;return}let e=t instanceof d()?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===e&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=(0,a.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,a.merge)(t,{showInNavigator:(0,a.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:r,max:o}=this.navigator.xAxis.getExtremes();return{min:(0,a.pick)(t,r),max:(0,a.pick)(e,o),dataMin:r,dataMax:o,userMin:i,userMax:s}}setRange(t,e,i,s,r){(0,a.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:(0,a.merge)(r,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}let j=r();j.StandaloneNavigator=j.StandaloneNavigator||_,j.navigator=j.StandaloneNavigator.navigator,C(j.Chart,j.Axis,j.Series);let Z=r();export{Z as default};
|
|
13
|
+
*/import*as e from"../highcharts.js";let i={};i.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{if(Array.isArray(e))for(var s=0;s<e.length;){var a=e[s++],r=e[s++];i.o(t,a)?0===r&&s++:0===r?Object.defineProperty(t,a,{enumerable:!0,value:e[s++]}):Object.defineProperty(t,a,{enumerable:!0,get:r})}else for(var a in e)i.o(e,a)&&!i.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s=e.default;var a,r=i.n(s);let o=e.default.Chart;var n=i.n(o);let h=e.default.Axis;var d=i.n(h);let{isTouchDevice:l}=r(),c=[];function g(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function x(){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 p(e){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new t(this),(e.redraw??!0)&&this.redraw(e.animation))}function u(){let e=this.options;(e.navigator.enabled||e.scrollbar.enabled)&&(this.scroller=this.navigator=new t(this))}function v(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!l&&"x"===this.zooming.type||l&&"x"===this.zooming.pinchType))return!1}function m(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function b(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,s.merge)(!0,this.options.navigator,e),(0,s.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let f=function(e,i){if((0,s.pushUnique)(c,e)){let a=e.prototype;t=i,a.callbacks.push(m),(0,s.addEvent)(e,"afterAddSeries",g),(0,s.addEvent)(e,"afterSetChartSize",x),(0,s.addEvent)(e,"afterUpdate",p),(0,s.addEvent)(e,"beforeRender",u),(0,s.addEvent)(e,"beforeShowResetZoom",v),(0,s.addEvent)(e,"update",b)}},{isTouchDevice:M}=r();function E(){this.navigatorAxis||(this.navigatorAxis=new y(this))}function A(t){let e,i=this.chart,a=i.options,r=a.navigator,o=this.navigatorAxis,n=i.zooming.pinchType,h=a.rangeSelector,d=i.zooming.type;if(this.isXAxis&&(r?.enabled||h?.enabled)){if("y"===d&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===d||M&&"xy"===n)&&this.options.range){let e=o.previousZoom;(0,s.defined)(t.min)?o.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],o.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class y{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),(0,s.addEvent)(t,"init",E),(0,s.addEvent)(t,"setExtremes",A))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,a){let r=this.axis,o=(r.pointRange||0)/2,n=i??r.translate(t,!0,!r.horiz),h=a??r.translate(e,!0,!r.horiz);return(0,s.defined)(i)||(n=(0,s.correctFloat)(n+o)),(0,s.defined)(a)||(h=(0,s.correctFloat)(h-o)),(0,s.isNumber)(n)&&(0,s.isNumber)(h)||(n=h=void 0),{min:n,max:h}}}let k=e.default.SeriesRegistry,{seriesTypes:O}=i.n(k)(),w={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===O.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:S}=r(),{noop:z}=r(),T={radius:0,scope:"stack",where:void 0},D={"navigator-handle":function(t,e,i,a,r={}){var o,n,h,d,l;let c=r.width?r.width/2:i,g=(0,s.relativeLength)((o=r.borderRadius,!(0,s.isObject)(o)&&(o={radius:o||0}),(0,s.merge)(T,void 0,o)).radius,Math.min(2*c,a));return[["M",-1.5,(a=r.height||a)/2-3.5],["L",-1.5,a/2+4.5],["M",.5,a/2-3.5],["L",.5,a/2+4.5],...(n=-c-1,h=2*c+1,d=a,l={r:g},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"]]}(n,.5,h,d,l):[["M",n,.5],["L",n+h,.5],["L",n+h,.5+d],["L",n,.5+d],["Z"]])]}},R=e.default.SVGRenderer;var B=i.n(R);let{defaultOptions:P}=r(),{composed:C}=r(),{setFixedRange:L}={setFixedRange:function(t){let e=this.xAxis[0];(0,s.defined)(e.dataMax)&&(0,s.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function W(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let N=function(t,e,i){y.compose(e),(0,s.pushUnique)(C,"Navigator")&&(t.prototype.setFixedRange=L,(0,s.extend)(B().prototype.symbols,D),(0,s.extend)(P,{navigator:w}),(0,s.addEvent)(i,"afterUpdate",W))},{composed:U}=r();!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,s.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,s.defined)(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function a(){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 r(){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,s.addEvent)(t.scrollbar,"changed",function(e){let a,r,{axisMin:o,axisMax:n,scrollMin:h,scrollMax:d}=i(t),l=t.toPixels(h),c=t.toPixels(d)-l;if((0,s.defined)(o)&&(0,s.defined)(n))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(a=Math.min(d,t.toValue(l+c*this.to)),r=Math.max(h,t.toValue(l+c*this.from))):(a=Math.min(d,t.toValue(l+c*(1-this.from))),r=Math.max(h,t.toValue(l+c*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,s.correctFloat)(r),(0,s.correctFloat)(a),!0,i,e)}else this.setRange(this.from,this.to)}))}function o(){let t,e,a,{scrollMin:r,scrollMax:o}=i(this),n=this.scrollbar,h=(this.axisTitleMargin||0)+(this.titleOffset||0),d=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(n&&d){if(this.horiz)this.opposite||(d[1]+=h),n.position(this.left,this.top+this.height+2+d[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(d[1]+=l),t=1;else{let e;this.opposite&&(d[0]+=h),e=n.options.opposite?this.left+this.width+2+d[0]-(this.opposite?0:l):this.opposite?0:l,n.position(e,this.top,this.width,this.height),this.opposite&&(d[0]+=l),t=0}if(d[t]+=n.size+(n.options.margin||0),isNaN(r)||isNaN(o)||!(0,s.defined)(this.min)||!(0,s.defined)(this.max)||(0,s.defined)(this.dataMin)&&this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,a=t*(this.max+1),n.setRange(e,a)}else e=(this.toPixels(this.min)-this.toPixels(r))/(this.toPixels(o)-this.toPixels(r)),a=(this.toPixels(this.max)-this.toPixels(r))/(this.toPixels(o)-this.toPixels(r)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,a):n.setRange(1-a,1-e)}}t.compose=function(t,i){(0,s.pushUnique)(U,"Axis.Scrollbar")&&(e=i,(0,s.addEvent)(t,"afterGetOffset",a),(0,s.addEvent)(t,"afterInit",r),(0,s.addEvent)(t,"afterRender",o))}}(a||(a={}));let H=a,I={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:F}=r(),{composed:X}=r();class Y{static compose(t){H.compose(t,Y),(0,s.pushUnique)(X,"Scrollbar")&&(0,s.extend)(F,{scrollbar:I})}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,a=this.track.element,r=this.mouseDownHandler.bind(this),o=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),h=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[a,"click",this.trackClick.bind(this)],[i,"mousedown",r],[i.ownerDocument,"mousemove",o],[i.ownerDocument,"mouseup",n],[i,"touchstart",r],[i.ownerDocument,"touchmove",o],[i.ownerDocument,"touchend",n]];h.forEach(function(t){s.addEvent.apply(null,t)}),this._events=h}buttonToMaxClick(t){let e=(this.to-this.from)*(this.options.step??.2);this.updatePosition(this.from+e,this.to+e),(0,s.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,s.correctFloat)(this.to-this.from)*(this.options.step??.2);this.updatePosition((0,s.correctFloat)(this.from-e),(0,s.correctFloat)(this.to-e)),(0,s.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,s.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(Y.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,s.merge)(I,F.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,a=this.options.vertical?"chartY":"chartX",r=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][a])&&(e=this.cursorToScrollbarPosition(i)[a]-this[a],this.hasDragged=!0,this.updatePosition(r[0]+e,r[1]+e),this.hasDragged&&(0,s.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,s.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){s.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,a=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),a||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,s.crisp)(0,o),y:-(0,s.crisp)(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(Y.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),a||(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,s.crisp)(0,this.scrollbarStrokeWidth),-(0,s.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,a,r=this.options,o=r.vertical,n=r.minWidth,h=this.barWidth,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,s.defined)(h))return;let l=h*Math.min(e,1);i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=a=(0,s.correctFloat)(l-i),a<n&&(i=(h-n+a)*t,a=n);let c=Math.floor(i+this.xOffset+this.yOffset),g=a/2-.5;this.from=t,this.to=e,o?(this.scrollbarGroup[d]({translateY:c}),this.scrollbar[d]({height:a}),this.scrollbarRifles[d]({translateY:g}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:c}),this.scrollbar[d]({width:a}),this.scrollbarRifles[d]({translateX:g}),this.scrollbarLeft=c,this.scrollbarTop=0),a<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===r.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(this.options.liveRedraw??(r().svg&&!r().isTouchDevice&&!this.chart.boosted))||"mouseup"===t||"touchend"===t||!(0,s.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,a=this.y+this.scrollbarTop,r=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>a||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,s.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,s.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,s.correctFloat)(1-(0,s.correctFloat)(e-t)),e=1),t<0&&(e=(0,s.correctFloat)(e-t),t=0),this.from=t,this.to=e}}Y.defaultOptions=I;let{defaultOptions:G}=r(),{isTouchDevice:V}=r();function j(t,...e){let i=[].filter.call(e,s.isNumber);if(i.length)return Math[t].apply(0,i)}class _{static compose(t,e,i){f(t,_),N(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,a=i.options.chart.inverted!==i.scrollbar?.options.vertical;if((0,s.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,s.defined)(t.enabled)||a)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,s.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,s.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,a){let r=this.chart,o=this.xAxis,n=o.pointRange||0,h=o.navigatorAxis.fake?r.xAxis[0]:o,d=this.navigatorEnabled,l=this.rendered,c=r.inverted,g=r.xAxis[0].minRange,x=r.xAxis[0].options.maxRange,p=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,s.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,s.correctFloat)(t-n/2),e=(0,s.correctFloat)(e+n/2),!(0,s.isNumber)(t)||!(0,s.isNumber)(e))if(!l)return;else i=0,a=o.width??h.width;this.left=o.left??r.plotLeft+p+(c?r.plotWidth:0);let E=this.size=f=o.len??(c?r.plotHeight:r.plotWidth)-2*p;u=c?b:f+2*p,i=i??o.toPixels(t,!0),a=a??o.toPixels(e,!0),(0,s.isNumber)(i)&&Math.abs(i)!==1/0||(i=0,a=u);let A=o.toValue(i,!0),y=o.toValue(a,!0),k=Math.abs((0,s.correctFloat)(y-A));(0,s.defined)(g)&&k<g?this.grabbedLeft?i=o.toPixels(y-g-n,!0):this.grabbedRight&&(a=o.toPixels(A+g+n,!0)):(0,s.defined)(x)&&(0,s.correctFloat)(k-n)>x&&(this.grabbedLeft?i=o.toPixels(y-x-n,!0):this.grabbedRight&&(a=o.toPixels(A+x+n,!0))),this.zoomedMax=(0,s.clamp)(Math.max(i,a),0,E),this.zoomedMin=(0,s.clamp)(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,a),0,E),this.range=this.zoomedMax-this.zoomedMin,E=Math.round(this.zoomedMax);let O=Math.round(this.zoomedMin);d&&(this.navigatorGroup.attr({visibility:"inherit"}),M=l&&!this.hasDragged?"animate":"attr",this.drawMasks(O,E,c,M),this.drawOutline(O,E,c,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(O,0,c,M),this.drawHandle(E,1,c,M))),this.scrollbar&&(c?(m=this.top-p,v=this.left-b+(d||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),b=f+2*p):(m=this.top+(d?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,s.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,a=i.chart,r=a.container,o=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},o.push((0,s.addEvent)(a.renderTo,"mousemove",t),(0,s.addEvent)(r.ownerDocument,"mouseup",e),(0,s.addEvent)(a.renderTo,"touchmove",t),(0,s.addEvent)(r.ownerDocument,"touchend",e)),i.eventsToUnbind=o,i.series&&i.series[0]&&o.push((0,s.addEvent)(i.series[0].xAxis,"foundExtremes",function(){a.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(a=>{e[a].forEach(function(r,o){i.push((0,s.addEvent)(r.element,t,function(t){e[`${a}Mousedown`](t,o)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,a=this.xAxis,r=this.zoomedMin,o=this.size,n=this.range,h=this.left,d=t.chartX,l,c,g,x;i.inverted&&(d=t.chartY,h=this.top),1===e?(this.grabbedCenter=d,this.fixedWidth=n,this.dragOffset=d-r):(x=d-h-n/2,0===e?x=Math.max(0,x):2===e&&x+n>=o&&(x=o-n,this.reversedExtremes?(x-=n,c=this.getUnionExtremes()?.dataMin):l=this.getUnionExtremes()?.dataMax),x!==r&&(this.fixedWidth=n,g=a.navigatorAxis.toFixedRange(x,x+n,c,l),(0,s.defined)(g.min)&&(0,s.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??(!V&&!this.chart.boosted))&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,a,r,o,n,h=this.chart,d=this.xAxis,l=this.scrollbar,c=t.DOMEvent||t,g=h.inverted,x=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(a=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?a.dataMin:a.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?a.dataMax:a.dataMin),n=d.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o),(0,s.defined)(n.min)&&(0,s.fireEvent)(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"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,s.isNumber)(this.zoomedMin)&&(0,s.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,s.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,s.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||{},a=i.enabled,r=e.scrollbar||{},o=r.enabled,n=a&&i.height||0,h=o&&r.height||0,l=r.buttonsEnabled&&h||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=h,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=!!a,this.navigatorOptions=i,this.scrollbarOptions=r,this.setOpposite();let c=this,g=c.baseSeries,x=t.xAxis.length,p=t.yAxis.length,u=g&&g[0]&&g[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,c.navigatorEnabled){let e=this.getXAxisOffsets();c.xAxis=new(d())(t,(0,s.merge)({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:x,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),c.yAxis=new(d())(t,(0,s.merge)(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:(i.yAxis&&i.yAxis.reversed)??(t.yAxis[0]&&t.yAxis[0].reversed)??!1,zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),c.xAxis.clippable=!1,c.yAxis.clippable=!1,g||i.series?.data||i.series?.dataTable?c.updateNavigatorSeries(!1):0===t.series.length&&(c.unbindRedraw=(0,s.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!c.series&&(c.setBaseSeries(),c.unbindRedraw?.())})),c.reversedExtremes=t.inverted&&!c.xAxis.reversed||!t.inverted&&c.xAxis.reversed,c.renderElements(),c.addMouseEvents()}else c.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*l,o=j("min",s.options.min,a.dataMin),n=j("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)}},c.xAxis.navigatorAxis.axis=c.xAxis,c.xAxis.navigatorAxis.toFixedRange=y.prototype.toFixedRange.bind(c.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,s.merge)(t.options.scrollbar,{vertical:t.inverted});(0,s.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=c.scrollbar=new Y(t.renderer,e,t),(0,s.addEvent)(c.scrollbar,"changed",function(t){let e=c.size,i=e*this.to,s=e*this.from;c.hasDragged=c.scrollbar?.hasDragged,c.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){c.onMouseUp(t)})})}c.addBaseSeriesEvents(),c.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)??j("min",s.parse(o.min),i.dataMin,a.dataMin,a.min),dataMax:s.parse(r?.max)??j("max",s.parse(o.max),i.dataMax,a.dataMax,a.max)}),e}setBaseSeries(t,e){let i=this.chart,a=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,s.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)&&a.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,a=i.chart,r=i.baseSeries,o={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}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>r.indexOf(e))||(e&&((0,s.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),h,d,l=i.navigatorOptions.series,c;if(r&&r.length&&r.forEach(t=>{let g=t.navigatorSeries,x=(0,s.extend)({color:t.color,visible:t.visible},(0,s.isArray)(l)?G.navigator.series:l);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;o.name="Navigator "+r.length,c=(h=t.options||{}).navigatorOptions||{},x.dataLabels=(0,s.splat)(x.dataLabels),(d=(0,s.merge)(h,o,x,c)).pointRange=x.pointRange??c.pointRange??G.plotOptions[d.type||"line"]?.pointRange;let p=c.data||x.data,u=c.dataTable||x.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!p||!!u,d.data=p||h.data?.slice(0),d.dataTable=u||h.dataTable,g&&g.options?g.update(d,e):(t.navigatorSeries=a.initSeries(d),(0,s.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(l?.data||l?.dataTable)&&!(r&&r.length)||(0,s.isArray)(l)){let t=a.options.colors||[];i.hasNavigatorData=!1,(l=(0,s.splat)(l)).forEach((e,r)=>{o.name="Navigator "+(n.length+1),(d=(0,s.merge)(G.navigator?.series,{color:a.series[r]&&!a.series[r].options.isInternal&&a.series[r].color||t[r]||t[0]},o,e)).data=e.data,d.dataTable=e.dataTable,(d.data||d.dataTable)&&(i.hasNavigatorData=!0,n.push(a.initSeries(d)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,s.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,s.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,s.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,s.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,s.addEvent)(i,"remove",function(){e&&(0,s.erase)(e,i),this.navigatorSeries&&t.series&&((0,s.erase)(t.series,this.navigatorSeries),(0,s.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,a=this.getExtremes(),r=a.min,o=a.max,n=a.dataMin,h=a.dataMax,d=o-r,l=i?.stickToMin,c=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)&&(l&&(t=(e=n)+d),c&&(t=h+g,l||(e=Math.max(n,t-d,i.getBaseSeriesMin(x&&x.xData?x.xData[0]:-Number.MAX_VALUE)))),p&&(l||c)&&(0,s.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]),a=t.xAxis,r=a.max,o=a.min,n=a.options.range;return!!((0,s.isNumber)(r)&&(0,s.isNumber)(o))&&(n&&r-i>0?r-i<n:o<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,s.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,s.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,s.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,s.erase)(this.chart.xAxis,this.xAxis),(0,s.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,s.erase)(this.chart.yAxis,this.yAxis),(0,s.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,s.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let Z={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 q{static navigator(t,e){let i=new q(t,e);return r().navigators?r().navigators.push(i):r().navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=(0,s.merge)(r().getOptions(),Z,e.chart,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);let i=new(n())(t,this.chartOptions);i.options=(0,s.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 _(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,a=t instanceof n()?t.xAxis[0]:t;if(!(a instanceof d()))return;let r=this.navigator,{min:o,max:h}=r.xAxis,l=[];if(e){let t=(0,s.addEvent)(a,"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:a})});l.push(t)}let c=(0,s.addEvent)(r,"setRange",t=>{a.setExtremes(t.min,t.max,t.redraw,t.animation)});l.push(c);let g=this.boundAxes.filter(function(t){return t.axis===a})[0];if(g||(g={axis:a,callbacks:[]},"yAxis"===a.coll&&(g.oldMin=a.options.min??a.min,g.oldMax=a.options.max??a.max),this.boundAxes.push(g)),g.callbacks=l,a.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),"yAxis"===a.coll){let{dataMin:t,dataMax:e}=r.xAxis.getExtremes();a.update({min:t,max:e},!1)}a.setExtremes(o,h),(0,s.addEvent)(a,"destroy",t=>{t.keepEvents||this.unbind(a)})}unbind(t,e){if(!t){this.boundAxes.forEach(t=>{this.releaseAxis(t,e)}),this.boundAxes.length=0;return}let i=t instanceof d()?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,s.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,s.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,a,r){(0,s.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:a,eventArguments:(0,s.merge)(r,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}let $=r();$.StandaloneNavigator=$.StandaloneNavigator||q,$.navigator=$.StandaloneNavigator.navigator,N($.Chart,$.Axis,$.Series);let J=r();export{J as default};
|