@ntlab/ntjs-assets 2.0.21 → 2.0.23
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/assets/js/DataTables/DataTables/js/dataTables.js +32 -15
- package/assets/js/DataTables/DataTables/js/dataTables.min.js +2 -2
- package/assets/js/DataTables/Extensions/ColReorder/js/dataTables.colReorder.js +13 -6
- package/assets/js/DataTables/Extensions/ColReorder/js/dataTables.colReorder.min.js +4 -4
- package/assets/js/DataTables/Extensions/KeyTable/js/dataTables.keyTable.js +4 -4
- package/assets/js/DataTables/Extensions/KeyTable/js/dataTables.keyTable.min.js +2 -2
- package/assets/js/DataTables/Extensions/Scroller/js/dataTables.scroller.js +7 -3
- package/assets/js/DataTables/Extensions/Scroller/js/dataTables.scroller.min.js +2 -2
- package/assets/js/DataTables/Extensions/Select/js/dataTables.select.js +22 -8
- package/assets/js/DataTables/Extensions/Select/js/dataTables.select.min.js +2 -2
- package/assets/js/cdn.json +7 -7
- package/assets/js/highcharts/css/highcharts.css +74 -0
- package/assets/js/highcharts/es-modules/Accessibility/Components/LegendComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +9 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +25 -15
- package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +10 -0
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxis.js +19 -113
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js +128 -0
- package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +9 -13
- package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +21 -17
- package/assets/js/highcharts/es-modules/Core/Chart/ChartDefaults.js +4 -2
- package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +5 -9
- package/assets/js/highcharts/es-modules/Core/Defaults.js +180 -91
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGElement.js +50 -28
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGLabel.js +6 -3
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +38 -80
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/Symbols.js +9 -5
- package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +17 -10
- package/assets/js/highcharts/es-modules/Core/Series/Point.js +4 -3
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +24 -15
- package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +15 -0
- package/assets/js/highcharts/es-modules/Core/Templating.js +4 -1
- package/assets/js/highcharts/es-modules/Core/Tooltip.js +17 -55
- package/assets/js/highcharts/es-modules/Core/Utilities.js +16 -0
- package/assets/js/highcharts/es-modules/Data/Converters/CSVConverter.js +1 -1
- package/assets/js/highcharts/es-modules/Data/DataCursor.js +34 -16
- package/assets/js/highcharts/es-modules/Data/DataPool.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/Controllable.js +3 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +0 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +0 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +2 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Fibonacci.js +4 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/InfinityLine.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Measure.js +4 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -5
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/TimeCycles.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Tunnel.js +4 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/VerticalLine.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostChart.js +11 -3
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +7 -4
- package/assets/js/highcharts/es-modules/Extensions/Boost/WGLRenderer.js +11 -2
- package/assets/js/highcharts/es-modules/Extensions/Data.js +3 -3
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +3 -0
- package/assets/js/highcharts/es-modules/Extensions/DragPanes/AxisResizer.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DragDropProps.js +17 -0
- package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DraggablePoints.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/Drilldown/Drilldown.js +14 -14
- package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +13 -18
- package/assets/js/highcharts/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -6
- package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +38 -30
- package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +11 -0
- package/assets/js/highcharts/es-modules/Extensions/RegexLimits.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/ScrollablePlotArea.js +19 -17
- package/assets/js/highcharts/es-modules/Extensions/Themes/BrandDark.js +13 -1
- package/assets/js/highcharts/es-modules/Maps/MapNavigation.js +5 -3
- package/assets/js/highcharts/es-modules/Maps/MapView.js +5 -5
- package/assets/js/highcharts/es-modules/Maps/Projection.js +39 -20
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +10 -231
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeriesDefaults.js +245 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeries.js +2 -222
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeriesDefaults.js +239 -0
- package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeries.js +0 -133
- package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +273 -0
- package/assets/js/highcharts/es-modules/Series/BoxPlot/BoxPlotSeries.js +36 -38
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleSeries.js +17 -6
- package/assets/js/highcharts/es-modules/Series/Candlestick/CandlestickSeries.js +9 -11
- package/assets/js/highcharts/es-modules/Series/ColorMapComposition.js +28 -4
- package/assets/js/highcharts/es-modules/Series/Column/ColumnDataLabel.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Column/ColumnSeries.js +25 -30
- package/assets/js/highcharts/es-modules/Series/DataModifyComposition.js +26 -2
- package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeries.js +37 -27
- package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeriesDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeries.js +1 -39
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +29 -0
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeries.js +2 -1
- package/assets/js/highcharts/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +3 -10
- package/assets/js/highcharts/es-modules/Series/HLC/HLCSeries.js +4 -5
- package/assets/js/highcharts/es-modules/Series/MapLine/MapLineSeriesDefaults.js +7 -6
- package/assets/js/highcharts/es-modules/Series/MapPoint/MapPointSeriesDefaults.js +17 -11
- package/assets/js/highcharts/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +1 -1
- package/assets/js/highcharts/es-modules/Series/OHLC/OHLCSeries.js +3 -5
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeries.js +17 -19
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -3
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +0 -1
- package/assets/js/highcharts/es-modules/Series/Pyramid/PyramidSeriesDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeries.js +5 -6
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/SeriesOnPointComposition.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphLink.js +12 -7
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +8 -9
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Variwide/VariwideSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Series/Venn/VennSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Waterfall/WaterfallSeries.js +11 -12
- package/assets/js/highcharts/es-modules/Series/XRange/XRangeSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +2 -5
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorDefaults.js +11 -0
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorSymbols.js +9 -10
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelector.js +162 -187
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +32 -74
- package/assets/js/highcharts/es-modules/Stock/Scrollbar/Scrollbar.js +6 -7
- package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +2 -0
- package/assets/js/highcharts/highcharts-3d.js +1 -1
- package/assets/js/highcharts/highcharts-3d.src.js +1 -1
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +2008 -906
- package/assets/js/highcharts/highcharts-more.js +2 -2
- package/assets/js/highcharts/highcharts-more.src.js +234 -313
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +743 -616
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +862 -673
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +1016 -935
- package/assets/js/highcharts/indicators/acceleration-bands.js +1 -1
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/indicators/ao.js +1 -1
- package/assets/js/highcharts/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/indicators/apo.js +1 -1
- package/assets/js/highcharts/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon.js +1 -1
- package/assets/js/highcharts/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/indicators/atr.js +1 -1
- package/assets/js/highcharts/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/cci.js +1 -1
- package/assets/js/highcharts/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/indicators/cmf.js +1 -1
- package/assets/js/highcharts/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/indicators/cmo.js +1 -1
- package/assets/js/highcharts/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/indicators/dema.js +1 -1
- package/assets/js/highcharts/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/indicators/dmi.js +1 -1
- package/assets/js/highcharts/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/indicators/dpo.js +1 -1
- package/assets/js/highcharts/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators.js +1 -1
- package/assets/js/highcharts/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/indicators/klinger.js +1 -1
- package/assets/js/highcharts/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/indicators/macd.js +1 -1
- package/assets/js/highcharts/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/indicators/mfi.js +1 -1
- package/assets/js/highcharts/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/indicators/momentum.js +1 -1
- package/assets/js/highcharts/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/indicators/natr.js +1 -1
- package/assets/js/highcharts/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/indicators/obv.js +1 -1
- package/assets/js/highcharts/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/indicators/ppo.js +1 -1
- package/assets/js/highcharts/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/indicators/psar.js +1 -1
- package/assets/js/highcharts/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/indicators/regressions.js +1 -1
- package/assets/js/highcharts/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/indicators/roc.js +1 -1
- package/assets/js/highcharts/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/indicators/rsi.js +1 -1
- package/assets/js/highcharts/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/indicators/tema.js +1 -1
- package/assets/js/highcharts/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/indicators/trendline.js +1 -1
- package/assets/js/highcharts/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/indicators/trix.js +1 -1
- package/assets/js/highcharts/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/indicators/vwap.js +1 -1
- package/assets/js/highcharts/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/indicators/wma.js +1 -1
- package/assets/js/highcharts/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/modules/accessibility.js +2 -2
- package/assets/js/highcharts/modules/accessibility.src.js +39 -28
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +46 -31
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +12 -15
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +258 -233
- package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
- package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
- package/assets/js/highcharts/modules/boost-canvas.js +2 -2
- package/assets/js/highcharts/modules/boost-canvas.src.js +30 -10
- package/assets/js/highcharts/modules/boost.js +2 -2
- package/assets/js/highcharts/modules/boost.src.js +30 -10
- package/assets/js/highcharts/modules/broken-axis.js +1 -1
- package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
- package/assets/js/highcharts/modules/bullet.js +1 -1
- package/assets/js/highcharts/modules/bullet.src.js +1 -1
- package/assets/js/highcharts/modules/coloraxis.js +2 -2
- package/assets/js/highcharts/modules/coloraxis.src.js +4 -4
- package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
- package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/cylinder.js +1 -1
- package/assets/js/highcharts/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/modules/data-tools.js +2 -2
- package/assets/js/highcharts/modules/data-tools.src.js +37 -19
- package/assets/js/highcharts/modules/data.js +1 -1
- package/assets/js/highcharts/modules/data.src.js +4 -4
- package/assets/js/highcharts/modules/datagrouping.js +2 -2
- package/assets/js/highcharts/modules/datagrouping.src.js +2 -1
- package/assets/js/highcharts/modules/debugger.js +1 -1
- package/assets/js/highcharts/modules/debugger.src.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/modules/dotplot.js +2 -2
- package/assets/js/highcharts/modules/dotplot.src.js +41 -30
- package/assets/js/highcharts/modules/drag-panes.js +2 -2
- package/assets/js/highcharts/modules/drag-panes.src.js +2 -3
- package/assets/js/highcharts/modules/draggable-points.js +2 -2
- package/assets/js/highcharts/modules/draggable-points.src.js +19 -1
- package/assets/js/highcharts/modules/drilldown.js +2 -2
- package/assets/js/highcharts/modules/drilldown.src.js +15 -15
- package/assets/js/highcharts/modules/dumbbell.js +2 -2
- package/assets/js/highcharts/modules/dumbbell.src.js +31 -40
- package/assets/js/highcharts/modules/export-data.js +2 -2
- package/assets/js/highcharts/modules/export-data.src.js +4 -1
- package/assets/js/highcharts/modules/exporting.js +2 -2
- package/assets/js/highcharts/modules/exporting.src.js +22 -25
- package/assets/js/highcharts/modules/flowmap.js +1 -1
- package/assets/js/highcharts/modules/flowmap.src.js +1 -1
- package/assets/js/highcharts/modules/full-screen.js +1 -1
- package/assets/js/highcharts/modules/full-screen.src.js +1 -1
- package/assets/js/highcharts/modules/funnel.js +2 -2
- package/assets/js/highcharts/modules/funnel.src.js +4 -4
- package/assets/js/highcharts/modules/funnel3d.js +1 -1
- package/assets/js/highcharts/modules/funnel3d.src.js +1 -1
- package/assets/js/highcharts/modules/gantt.js +2 -2
- package/assets/js/highcharts/modules/gantt.src.js +1266 -291
- package/assets/js/highcharts/modules/geoheatmap.js +1 -1
- package/assets/js/highcharts/modules/geoheatmap.src.js +4 -11
- package/assets/js/highcharts/modules/grid-axis.js +2 -2
- package/assets/js/highcharts/modules/grid-axis.src.js +2 -2
- package/assets/js/highcharts/modules/heatmap.js +2 -2
- package/assets/js/highcharts/modules/heatmap.src.js +32 -9
- package/assets/js/highcharts/modules/heikinashi.js +1 -1
- package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/modules/item-series.js +1 -1
- package/assets/js/highcharts/modules/item-series.src.js +1 -1
- package/assets/js/highcharts/modules/lollipop.js +1 -1
- package/assets/js/highcharts/modules/lollipop.src.js +1 -1
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +120 -58
- package/assets/js/highcharts/modules/marker-clusters.js +1 -1
- package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
- package/assets/js/highcharts/modules/navigator.js +2 -2
- package/assets/js/highcharts/modules/navigator.src.js +28 -24
- package/assets/js/highcharts/modules/networkgraph.js +2 -2
- package/assets/js/highcharts/modules/networkgraph.src.js +3 -3
- package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
- package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +43 -32
- package/assets/js/highcharts/modules/organization.js +2 -2
- package/assets/js/highcharts/modules/organization.src.js +19 -21
- package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
- package/assets/js/highcharts/modules/pareto.js +1 -1
- package/assets/js/highcharts/modules/pareto.src.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
- package/assets/js/highcharts/modules/pictorial.js +1 -1
- package/assets/js/highcharts/modules/pictorial.src.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.src.js +1 -1
- package/assets/js/highcharts/modules/sankey.js +2 -2
- package/assets/js/highcharts/modules/sankey.src.js +7 -8
- package/assets/js/highcharts/modules/series-label.js +1 -1
- package/assets/js/highcharts/modules/series-label.src.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.js +2 -2
- package/assets/js/highcharts/modules/series-on-point.src.js +3 -3
- package/assets/js/highcharts/modules/solid-gauge.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/modules/sonification.js +2 -2
- package/assets/js/highcharts/modules/sonification.src.js +4 -1
- package/assets/js/highcharts/modules/static-scale.js +1 -1
- package/assets/js/highcharts/modules/static-scale.src.js +1 -1
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +3 -3
- package/assets/js/highcharts/modules/stock.js +2 -2
- package/assets/js/highcharts/modules/stock.src.js +274 -320
- package/assets/js/highcharts/modules/streamgraph.js +1 -1
- package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
- package/assets/js/highcharts/modules/sunburst.js +2 -2
- package/assets/js/highcharts/modules/sunburst.src.js +39 -16
- package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
- package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
- package/assets/js/highcharts/modules/tilemap.js +1 -1
- package/assets/js/highcharts/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/modules/timeline.js +1 -1
- package/assets/js/highcharts/modules/timeline.src.js +1 -1
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +21 -17
- package/assets/js/highcharts/modules/treegrid.js +2 -2
- package/assets/js/highcharts/modules/treegrid.src.js +2 -2
- package/assets/js/highcharts/modules/treemap.js +2 -2
- package/assets/js/highcharts/modules/treemap.src.js +38 -15
- package/assets/js/highcharts/modules/variable-pie.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
- package/assets/js/highcharts/modules/variwide.js +2 -2
- package/assets/js/highcharts/modules/variwide.src.js +5 -5
- package/assets/js/highcharts/modules/vector.js +1 -1
- package/assets/js/highcharts/modules/vector.src.js +1 -1
- package/assets/js/highcharts/modules/venn.js +1 -1
- package/assets/js/highcharts/modules/venn.src.js +3 -3
- package/assets/js/highcharts/modules/windbarb.js +1 -1
- package/assets/js/highcharts/modules/windbarb.src.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
- package/assets/js/highcharts/modules/xrange.js +2 -2
- package/assets/js/highcharts/modules/xrange.src.js +5 -5
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +769 -638
- package/assets/js/highcharts/themes/avocado.js +1 -1
- package/assets/js/highcharts/themes/avocado.src.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.js +2 -2
- package/assets/js/highcharts/themes/brand-dark.src.js +14 -2
- package/assets/js/highcharts/themes/brand-light.js +1 -1
- package/assets/js/highcharts/themes/brand-light.src.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
- package/assets/js/highcharts/themes/dark-green.js +1 -1
- package/assets/js/highcharts/themes/dark-green.src.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
- package/assets/js/highcharts/themes/gray.js +1 -1
- package/assets/js/highcharts/themes/gray.src.js +1 -1
- package/assets/js/highcharts/themes/grid-light.js +1 -1
- package/assets/js/highcharts/themes/grid-light.src.js +1 -1
- package/assets/js/highcharts/themes/grid.js +1 -1
- package/assets/js/highcharts/themes/grid.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
- package/assets/js/highcharts/themes/skies.js +1 -1
- package/assets/js/highcharts/themes/skies.src.js +1 -1
- package/assets/js/highcharts/themes/sunset.js +1 -1
- package/assets/js/highcharts/themes/sunset.src.js +1 -1
- package/assets/js/pdfjs/build/pdf.mjs +18706 -19098
- package/assets/js/pdfjs/build/pdf.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.sandbox.mjs +3 -3
- package/assets/js/pdfjs/build/pdf.sandbox.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.worker.mjs +292 -234
- package/assets/js/pdfjs/build/pdf.worker.mjs.map +1 -1
- package/assets/js/pdfjs/web/locale/eo/viewer.ftl +4 -6
- package/assets/js/pdfjs/web/locale/hy-AM/viewer.ftl +22 -1
- package/assets/js/pdfjs/web/locale/ia/viewer.ftl +2 -10
- package/assets/js/pdfjs/web/locale/it/viewer.ftl +0 -2
- package/assets/js/pdfjs/web/locale/ja/viewer.ftl +0 -6
- package/assets/js/pdfjs/web/locale/pa-IN/viewer.ftl +13 -6
- package/assets/js/pdfjs/web/locale/rm/viewer.ftl +4 -6
- package/assets/js/pdfjs/web/locale/sl/viewer.ftl +2 -2
- package/assets/js/pdfjs/web/locale/sq/viewer.ftl +13 -6
- package/assets/js/pdfjs/web/locale/tg/viewer.ftl +13 -6
- package/assets/js/pdfjs/web/locale/tr/viewer.ftl +3 -9
- package/assets/js/pdfjs/web/locale/zh-CN/viewer.ftl +0 -6
- package/assets/js/pdfjs/web/viewer.css +281 -270
- package/assets/js/pdfjs/web/viewer.html +4 -4
- package/assets/js/pdfjs/web/viewer.mjs +11114 -12057
- package/assets/js/pdfjs/web/viewer.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
* Constants
|
|
57
57
|
*
|
|
58
58
|
* */
|
|
59
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '11.4.
|
|
59
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '11.4.3', Globals.win = (typeof window !== 'undefined' ?
|
|
60
60
|
window :
|
|
61
61
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
62
62
|
Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
@@ -333,6 +333,21 @@
|
|
|
333
333
|
function clamp(value, min, max) {
|
|
334
334
|
return value > min ? value < max ? value : max : min;
|
|
335
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Utility for crisping a line position to the nearest full pixel depening on
|
|
338
|
+
* the line width
|
|
339
|
+
* @param {number} value The raw pixel position
|
|
340
|
+
* @param {number} lineWidth The line width
|
|
341
|
+
* @param {boolean} [inverted] Whether the containing group is inverted.
|
|
342
|
+
* Crisping round numbers on the y-scale need to go
|
|
343
|
+
* to the other side because the coordinate system
|
|
344
|
+
* is flipped (scaleY is -1)
|
|
345
|
+
* @return {number} The pixel position to use for a crisp display
|
|
346
|
+
*/
|
|
347
|
+
const crisp = (value, lineWidth = 0, inverted) => {
|
|
348
|
+
const mod = lineWidth % 2 / 2, inverter = inverted ? -1 : 1;
|
|
349
|
+
return (Math.round(value * inverter - mod) + mod) * inverter;
|
|
350
|
+
};
|
|
336
351
|
// eslint-disable-next-line valid-jsdoc
|
|
337
352
|
/**
|
|
338
353
|
* Return the deep difference between two objects. It can either return the new
|
|
@@ -1898,6 +1913,7 @@
|
|
|
1898
1913
|
clearTimeout: internalClearTimeout,
|
|
1899
1914
|
correctFloat,
|
|
1900
1915
|
createElement,
|
|
1916
|
+
crisp,
|
|
1901
1917
|
css,
|
|
1902
1918
|
defined,
|
|
1903
1919
|
destroyObjectProperties,
|
|
@@ -2686,7 +2702,7 @@
|
|
|
2686
2702
|
*
|
|
2687
2703
|
* @type {number}
|
|
2688
2704
|
* @default 2
|
|
2689
|
-
* @since
|
|
2705
|
+
* @since 11.3.0
|
|
2690
2706
|
* @apioption chart.axisLayoutRuns
|
|
2691
2707
|
*/
|
|
2692
2708
|
/**
|
|
@@ -3428,13 +3444,15 @@
|
|
|
3428
3444
|
* element's height is 0.
|
|
3429
3445
|
*
|
|
3430
3446
|
* @sample {highcharts} highcharts/chart/height/
|
|
3431
|
-
*
|
|
3447
|
+
* Forced 200px height
|
|
3432
3448
|
* @sample {highstock} stock/chart/height/
|
|
3433
3449
|
* 300px height
|
|
3434
3450
|
* @sample {highmaps} maps/chart/size/
|
|
3435
3451
|
* Chart with explicit size
|
|
3436
3452
|
* @sample highcharts/chart/height-percent/
|
|
3437
3453
|
* Highcharts with percentage height
|
|
3454
|
+
* @sample highcharts/chart/height-inherited/
|
|
3455
|
+
* Chart with inherited height
|
|
3438
3456
|
*
|
|
3439
3457
|
* @type {null|number|string}
|
|
3440
3458
|
*/
|
|
@@ -4333,8 +4351,8 @@
|
|
|
4333
4351
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
4334
4352
|
*
|
|
4335
4353
|
* */
|
|
4336
|
-
const { isTouchDevice
|
|
4337
|
-
const { merge } = U;
|
|
4354
|
+
const { isTouchDevice } = H;
|
|
4355
|
+
const { fireEvent, merge } = U;
|
|
4338
4356
|
/* *
|
|
4339
4357
|
*
|
|
4340
4358
|
* API Options
|
|
@@ -4565,84 +4583,163 @@
|
|
|
4565
4583
|
* ```js
|
|
4566
4584
|
* Highcharts.setOptions({
|
|
4567
4585
|
* global: {
|
|
4568
|
-
*
|
|
4586
|
+
* buttonTheme: {
|
|
4587
|
+
* fill: '#d0d0d0'
|
|
4588
|
+
* }
|
|
4569
4589
|
* }
|
|
4570
4590
|
* });
|
|
4571
4591
|
* ```
|
|
4572
4592
|
*/
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4593
|
+
global: {
|
|
4594
|
+
/**
|
|
4595
|
+
* _Canvg rendering for Android 2.x is removed as of Highcharts 5.0\.
|
|
4596
|
+
* Use the [libURL](#exporting.libURL) option to configure exporting._
|
|
4597
|
+
*
|
|
4598
|
+
* The URL to the additional file to lazy load for Android 2.x devices.
|
|
4599
|
+
* These devices don't support SVG, so we download a helper file that
|
|
4600
|
+
* contains [canvg](https://github.com/canvg/canvg), its dependency
|
|
4601
|
+
* rbcolor, and our own CanVG Renderer class. To avoid hotlinking to
|
|
4602
|
+
* our site, you can install canvas-tools.js on your own server and
|
|
4603
|
+
* change this option accordingly.
|
|
4604
|
+
*
|
|
4605
|
+
* @deprecated
|
|
4606
|
+
*
|
|
4607
|
+
* @type {string}
|
|
4608
|
+
* @default https://code.highcharts.com/{version}/modules/canvas-tools.js
|
|
4609
|
+
* @product highcharts highmaps
|
|
4610
|
+
* @apioption global.canvasToolsURL
|
|
4611
|
+
*/
|
|
4612
|
+
/**
|
|
4613
|
+
* This option is deprecated since v6.0.5. Instead, use
|
|
4614
|
+
* [time.useUTC](#time.useUTC) that supports individual time settings
|
|
4615
|
+
* per chart.
|
|
4616
|
+
*
|
|
4617
|
+
* @deprecated
|
|
4618
|
+
*
|
|
4619
|
+
* @type {boolean}
|
|
4620
|
+
* @apioption global.useUTC
|
|
4621
|
+
*/
|
|
4622
|
+
/**
|
|
4623
|
+
* This option is deprecated since v6.0.5. Instead, use
|
|
4624
|
+
* [time.Date](#time.Date) that supports individual time settings
|
|
4625
|
+
* per chart.
|
|
4626
|
+
*
|
|
4627
|
+
* @deprecated
|
|
4628
|
+
*
|
|
4629
|
+
* @type {Function}
|
|
4630
|
+
* @product highcharts highstock
|
|
4631
|
+
* @apioption global.Date
|
|
4632
|
+
*/
|
|
4633
|
+
/**
|
|
4634
|
+
* This option is deprecated since v6.0.5. Instead, use
|
|
4635
|
+
* [time.getTimezoneOffset](#time.getTimezoneOffset) that supports
|
|
4636
|
+
* individual time settings per chart.
|
|
4637
|
+
*
|
|
4638
|
+
* @deprecated
|
|
4639
|
+
*
|
|
4640
|
+
* @type {Function}
|
|
4641
|
+
* @product highcharts highstock
|
|
4642
|
+
* @apioption global.getTimezoneOffset
|
|
4643
|
+
*/
|
|
4644
|
+
/**
|
|
4645
|
+
* This option is deprecated since v6.0.5. Instead, use
|
|
4646
|
+
* [time.timezone](#time.timezone) that supports individual time
|
|
4647
|
+
* settings per chart.
|
|
4648
|
+
*
|
|
4649
|
+
* @deprecated
|
|
4650
|
+
*
|
|
4651
|
+
* @type {string}
|
|
4652
|
+
* @product highcharts highstock
|
|
4653
|
+
* @apioption global.timezone
|
|
4654
|
+
*/
|
|
4655
|
+
/**
|
|
4656
|
+
* This option is deprecated since v6.0.5. Instead, use
|
|
4657
|
+
* [time.timezoneOffset](#time.timezoneOffset) that supports individual
|
|
4658
|
+
* time settings per chart.
|
|
4659
|
+
*
|
|
4660
|
+
* @deprecated
|
|
4661
|
+
*
|
|
4662
|
+
* @type {number}
|
|
4663
|
+
* @product highcharts highstock
|
|
4664
|
+
* @apioption global.timezoneOffset
|
|
4665
|
+
*/
|
|
4666
|
+
/**
|
|
4667
|
+
* General theme for buttons. This applies to the zoom button, exporting
|
|
4668
|
+
* context menu, map navigation, range selector buttons and custom
|
|
4669
|
+
* buttons generated using the `SVGRenderer.button` function. However,
|
|
4670
|
+
* each of these may be overridden with more specific options.
|
|
4671
|
+
*
|
|
4672
|
+
* @sample highcharts/global/buttontheme
|
|
4673
|
+
* General button theme
|
|
4674
|
+
* @since 11.4.2
|
|
4675
|
+
*/
|
|
4676
|
+
buttonTheme: {
|
|
4677
|
+
/**
|
|
4678
|
+
* The fill color for buttons
|
|
4679
|
+
*/
|
|
4680
|
+
fill: "#f7f7f7" /* Palette.neutralColor3 */,
|
|
4681
|
+
/**
|
|
4682
|
+
* The padding of buttons
|
|
4683
|
+
*/
|
|
4684
|
+
padding: 8,
|
|
4685
|
+
/**
|
|
4686
|
+
* The border radius for buttons
|
|
4687
|
+
*/
|
|
4688
|
+
r: 2,
|
|
4689
|
+
/**
|
|
4690
|
+
* The stroke color for buttons
|
|
4691
|
+
*/
|
|
4692
|
+
stroke: "#cccccc" /* Palette.neutralColor20 */,
|
|
4693
|
+
/**
|
|
4694
|
+
* The stroke width for buttons
|
|
4695
|
+
*/
|
|
4696
|
+
'stroke-width': 1,
|
|
4697
|
+
/**
|
|
4698
|
+
* CSS styling for the buttons' text
|
|
4699
|
+
*/
|
|
4700
|
+
style: {
|
|
4701
|
+
color: "#333333" /* Palette.neutralColor80 */,
|
|
4702
|
+
cursor: 'pointer',
|
|
4703
|
+
fontSize: '0.8em',
|
|
4704
|
+
fontWeight: 'normal'
|
|
4705
|
+
},
|
|
4706
|
+
/**
|
|
4707
|
+
* State overrides for the buttons
|
|
4708
|
+
*/
|
|
4709
|
+
states: {
|
|
4710
|
+
/**
|
|
4711
|
+
* Hover state overrides for the buttons are applied in addition
|
|
4712
|
+
* to the normal state options
|
|
4713
|
+
*/
|
|
4714
|
+
hover: {
|
|
4715
|
+
fill: "#e6e6e6" /* Palette.neutralColor10 */
|
|
4716
|
+
},
|
|
4717
|
+
/**
|
|
4718
|
+
* Select state overrides for the buttons are applied in
|
|
4719
|
+
* addition to the normal state options
|
|
4720
|
+
*/
|
|
4721
|
+
select: {
|
|
4722
|
+
fill: "#e6e9ff" /* Palette.highlightColor10 */,
|
|
4723
|
+
style: {
|
|
4724
|
+
color: "#000000" /* Palette.neutralColor100 */,
|
|
4725
|
+
fontWeight: 'bold'
|
|
4726
|
+
}
|
|
4727
|
+
},
|
|
4728
|
+
/**
|
|
4729
|
+
* Disabled state overrides for the buttons are applied in
|
|
4730
|
+
* addition to the normal state options
|
|
4731
|
+
*/
|
|
4732
|
+
disabled: {
|
|
4733
|
+
/**
|
|
4734
|
+
* Disabled state CSS style overrides for the buttons' text
|
|
4735
|
+
*/
|
|
4736
|
+
style: {
|
|
4737
|
+
color: "#cccccc" /* Palette.neutralColor20 */
|
|
4738
|
+
}
|
|
4739
|
+
}
|
|
4740
|
+
}
|
|
4741
|
+
}
|
|
4742
|
+
},
|
|
4646
4743
|
/**
|
|
4647
4744
|
* Time options that can apply globally or to individual charts. These
|
|
4648
4745
|
* settings affect how `datetime` axes are laid out, how tooltips are
|
|
@@ -4712,13 +4809,16 @@
|
|
|
4712
4809
|
* for drawing time based charts in specific time zones using their
|
|
4713
4810
|
* local DST crossover dates, with the help of external libraries.
|
|
4714
4811
|
*
|
|
4715
|
-
*
|
|
4812
|
+
* This option is deprecated as of v11.4.1 and will be removed in a
|
|
4813
|
+
* future release. Use the [time.timezone](#time.timezone) option
|
|
4814
|
+
* instead.
|
|
4716
4815
|
*
|
|
4717
4816
|
* @sample {highcharts|highstock} highcharts/time/gettimezoneoffset/
|
|
4718
4817
|
* Use moment.js to draw Oslo time regardless of browser locale
|
|
4719
4818
|
*
|
|
4720
4819
|
* @type {Highcharts.TimezoneOffsetCallbackFunction}
|
|
4721
4820
|
* @since 4.1.0
|
|
4821
|
+
* @deprecated 11.4.2
|
|
4722
4822
|
* @product highcharts highstock gantt
|
|
4723
4823
|
*/
|
|
4724
4824
|
getTimezoneOffset: void 0,
|
|
@@ -4728,12 +4828,10 @@
|
|
|
4728
4828
|
* docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#timezone).
|
|
4729
4829
|
* If the given time zone is not recognized by the browser, Highcharts
|
|
4730
4830
|
* provides a warning and falls back to returning a 0 offset,
|
|
4731
|
-
* corresponding to the
|
|
4831
|
+
* corresponding to the UTC time zone.
|
|
4732
4832
|
*
|
|
4733
4833
|
* Until v11.2.0, this option depended on moment.js.
|
|
4734
4834
|
*
|
|
4735
|
-
* @see [getTimezoneOffset](#time.getTimezoneOffset)
|
|
4736
|
-
*
|
|
4737
4835
|
* @sample {highcharts|highstock} highcharts/time/timezone/ Europe/Oslo
|
|
4738
4836
|
*
|
|
4739
4837
|
* @type {string}
|
|
@@ -4747,12 +4845,17 @@
|
|
|
4747
4845
|
* [getTimezoneOffset](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset)
|
|
4748
4846
|
* method. Use this to display UTC based data in a predefined time zone.
|
|
4749
4847
|
*
|
|
4848
|
+
* This option is deprecated as of v11.4.1 and will be removed in a
|
|
4849
|
+
* future release. Use the [time.timezone](#time.timezone) option
|
|
4850
|
+
* instead.
|
|
4851
|
+
*
|
|
4750
4852
|
* @see [time.getTimezoneOffset](#time.getTimezoneOffset)
|
|
4751
4853
|
*
|
|
4752
4854
|
* @sample {highcharts|highstock} highcharts/time/timezoneoffset/
|
|
4753
4855
|
* Timezone offset
|
|
4754
4856
|
*
|
|
4755
4857
|
* @since 3.0.8
|
|
4858
|
+
* @deprecated 11.4.2
|
|
4756
4859
|
* @product highcharts highstock gantt
|
|
4757
4860
|
*/
|
|
4758
4861
|
timezoneOffset: 0,
|
|
@@ -5638,7 +5741,7 @@
|
|
|
5638
5741
|
* Item text styles
|
|
5639
5742
|
*
|
|
5640
5743
|
* @type {Highcharts.CSSObject}
|
|
5641
|
-
* @default {"color": "#333333", "cursor": "pointer", "fontSize": "0.
|
|
5744
|
+
* @default {"color": "#333333", "cursor": "pointer", "fontSize": "0.8em", "fontWeight": "bold", "textOverflow": "ellipsis"}
|
|
5642
5745
|
*/
|
|
5643
5746
|
itemStyle: {
|
|
5644
5747
|
/**
|
|
@@ -5950,7 +6053,7 @@
|
|
|
5950
6053
|
* `.highcharts-legend-title` class.
|
|
5951
6054
|
*
|
|
5952
6055
|
* @type {Highcharts.CSSObject}
|
|
5953
|
-
* @default {"fontSize": "0.
|
|
6056
|
+
* @default {"fontSize": "0.8em", "fontWeight": "bold"}
|
|
5954
6057
|
* @since 3.0
|
|
5955
6058
|
*/
|
|
5956
6059
|
style: {
|
|
@@ -6157,20 +6260,20 @@
|
|
|
6157
6260
|
*/
|
|
6158
6261
|
/**
|
|
6159
6262
|
* A [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
|
|
6160
|
-
* for the whole tooltip. When format strings are a requirement,
|
|
6161
|
-
* usually more convenient to use `headerFormat`, `pointFormat`
|
|
6162
|
-
* `footerFormat`, but the `format` option allows combining them
|
|
6163
|
-
* one setting.
|
|
6263
|
+
* for the whole shared tooltip. When format strings are a requirement,
|
|
6264
|
+
* it is usually more convenient to use `headerFormat`, `pointFormat`
|
|
6265
|
+
* and `footerFormat`, but the `format` option allows combining them
|
|
6266
|
+
* into one setting.
|
|
6164
6267
|
*
|
|
6165
6268
|
* The context of the format string is the same as that of the
|
|
6166
|
-
* `formatter` callback.
|
|
6269
|
+
* `tooltip.formatter` callback.
|
|
6167
6270
|
*
|
|
6168
6271
|
* @sample {highcharts} highcharts/tooltip/format-shared/
|
|
6169
6272
|
* Format for shared tooltip
|
|
6170
6273
|
*
|
|
6171
6274
|
* @type {string}
|
|
6172
6275
|
* @default undefined
|
|
6173
|
-
* @since
|
|
6276
|
+
* @since 11.1.0
|
|
6174
6277
|
* @apioption tooltip.format
|
|
6175
6278
|
*/
|
|
6176
6279
|
/**
|
|
@@ -6443,11 +6546,14 @@
|
|
|
6443
6546
|
/**
|
|
6444
6547
|
* Enable or disable animation of the tooltip.
|
|
6445
6548
|
*
|
|
6446
|
-
* @type {boolean}
|
|
6447
|
-
* @default true
|
|
6549
|
+
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
6448
6550
|
* @since 2.3.0
|
|
6449
6551
|
*/
|
|
6450
|
-
animation:
|
|
6552
|
+
animation: {
|
|
6553
|
+
duration: 300,
|
|
6554
|
+
// EaseOutCirc
|
|
6555
|
+
easing: (x) => Math.sqrt(1 - Math.pow(x - 1, 2))
|
|
6556
|
+
},
|
|
6451
6557
|
/**
|
|
6452
6558
|
* The radius of the rounded border corners.
|
|
6453
6559
|
*
|
|
@@ -6902,6 +7008,7 @@
|
|
|
6902
7008
|
* Updated options.
|
|
6903
7009
|
*/
|
|
6904
7010
|
function setOptions(options) {
|
|
7011
|
+
fireEvent(H, 'setOptions', { options });
|
|
6905
7012
|
// Copy in the default options
|
|
6906
7013
|
merge(true, defaultOptions, options);
|
|
6907
7014
|
// Update the time object
|
|
@@ -8851,7 +8958,7 @@
|
|
|
8851
8958
|
// Block helpers may return true or false. They may also return a
|
|
8852
8959
|
// string, like the `each` helper.
|
|
8853
8960
|
if (match.isBlock && typeof replacement === 'boolean') {
|
|
8854
|
-
replacement = format(replacement ? body : elseBody, ctx);
|
|
8961
|
+
replacement = format(replacement ? body : elseBody, ctx, chart);
|
|
8855
8962
|
}
|
|
8856
8963
|
// Simple variable replacement
|
|
8857
8964
|
}
|
|
@@ -8968,6 +9075,9 @@
|
|
|
8968
9075
|
// Get the decimal component
|
|
8969
9076
|
ret += decimalPoint + roundedNumber.slice(-decimals);
|
|
8970
9077
|
}
|
|
9078
|
+
else if (+ret === 0) { // Remove signed minus #20564
|
|
9079
|
+
ret = '0';
|
|
9080
|
+
}
|
|
8971
9081
|
if (exponent[1] && +ret !== 0) {
|
|
8972
9082
|
ret += 'e' + exponent[1];
|
|
8973
9083
|
}
|
|
@@ -9249,7 +9359,7 @@
|
|
|
9249
9359
|
* */
|
|
9250
9360
|
const { animate, animObject, stop } = A;
|
|
9251
9361
|
const { deg2rad, doc, svg, SVG_NS, win } = H;
|
|
9252
|
-
const { addEvent, attr, createElement, css, defined, erase, extend, fireEvent, isArray, isFunction, isObject, isString, merge, objectEach, pick, pInt, replaceNested, syncTimeout, uniqueKey } = U;
|
|
9362
|
+
const { addEvent, attr, createElement, crisp, css, defined, erase, extend, fireEvent, isArray, isFunction, isObject, isString, merge, objectEach, pick, pInt, pushUnique, replaceNested, syncTimeout, uniqueKey } = U;
|
|
9253
9363
|
/* *
|
|
9254
9364
|
*
|
|
9255
9365
|
* Class
|
|
@@ -9435,7 +9545,7 @@
|
|
|
9435
9545
|
* @param {boolean} [alignByTranslate]
|
|
9436
9546
|
* Align element by translation.
|
|
9437
9547
|
*
|
|
9438
|
-
* @param {string|Highcharts.BBoxObject} [
|
|
9548
|
+
* @param {string|Highcharts.BBoxObject} [alignTo]
|
|
9439
9549
|
* The box to align to, needs a width and height. When the box is a
|
|
9440
9550
|
* string, it refers to an object in the Renderer. For example, when
|
|
9441
9551
|
* box is `spacingBox`, it refers to `Renderer.spacingBox` which
|
|
@@ -9447,34 +9557,39 @@
|
|
|
9447
9557
|
*
|
|
9448
9558
|
* @return {Highcharts.SVGElement} Returns the SVGElement for chaining.
|
|
9449
9559
|
*/
|
|
9450
|
-
align(alignOptions, alignByTranslate,
|
|
9451
|
-
const attribs = {}, renderer = this.renderer, alignedObjects = renderer.alignedObjects;
|
|
9452
|
-
let x, y,
|
|
9560
|
+
align(alignOptions, alignByTranslate, alignTo, redraw = true) {
|
|
9561
|
+
const attribs = {}, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions);
|
|
9562
|
+
let x, y, alignFactor, vAlignFactor;
|
|
9453
9563
|
// First call on instanciate
|
|
9454
9564
|
if (alignOptions) {
|
|
9455
9565
|
this.alignOptions = alignOptions;
|
|
9456
9566
|
this.alignByTranslate = alignByTranslate;
|
|
9457
|
-
|
|
9458
|
-
this.alignTo = alignTo = box || 'renderer';
|
|
9459
|
-
// Prevent duplicates, like legendGroup after resize
|
|
9460
|
-
erase(alignedObjects, this);
|
|
9461
|
-
alignedObjects.push(this);
|
|
9462
|
-
box = void 0; // Reassign it below
|
|
9463
|
-
}
|
|
9567
|
+
this.alignTo = alignTo;
|
|
9464
9568
|
// When called on resize, no arguments are supplied
|
|
9465
9569
|
}
|
|
9466
9570
|
else {
|
|
9467
|
-
alignOptions = this.alignOptions;
|
|
9571
|
+
alignOptions = this.alignOptions || {};
|
|
9468
9572
|
alignByTranslate = this.alignByTranslate;
|
|
9469
9573
|
alignTo = this.alignTo;
|
|
9470
9574
|
}
|
|
9471
|
-
|
|
9575
|
+
const alignToKey = !alignTo || isString(alignTo) ?
|
|
9576
|
+
alignTo || 'renderer' :
|
|
9577
|
+
void 0;
|
|
9578
|
+
// When aligned to a key, automatically re-align on redraws
|
|
9579
|
+
if (alignToKey) {
|
|
9580
|
+
// Prevent duplicates, like legendGroup after resize
|
|
9581
|
+
if (initialAlignment) {
|
|
9582
|
+
pushUnique(alignedObjects, this);
|
|
9583
|
+
}
|
|
9584
|
+
alignTo = void 0; // Do not use the box
|
|
9585
|
+
}
|
|
9586
|
+
const alignToBox = pick(alignTo, renderer[alignToKey], renderer);
|
|
9472
9587
|
// Assign variables
|
|
9473
9588
|
const align = alignOptions.align, vAlign = alignOptions.verticalAlign;
|
|
9474
9589
|
// Default: left align
|
|
9475
|
-
x = (
|
|
9590
|
+
x = (alignToBox.x || 0) + (alignOptions.x || 0);
|
|
9476
9591
|
// Default: top align
|
|
9477
|
-
y = (
|
|
9592
|
+
y = (alignToBox.y || 0) + (alignOptions.y || 0);
|
|
9478
9593
|
// Align
|
|
9479
9594
|
if (align === 'right') {
|
|
9480
9595
|
alignFactor = 1;
|
|
@@ -9483,7 +9598,7 @@
|
|
|
9483
9598
|
alignFactor = 2;
|
|
9484
9599
|
}
|
|
9485
9600
|
if (alignFactor) {
|
|
9486
|
-
x += (
|
|
9601
|
+
x += ((alignToBox.width || 0) - (alignOptions.width || 0)) /
|
|
9487
9602
|
alignFactor;
|
|
9488
9603
|
}
|
|
9489
9604
|
attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x);
|
|
@@ -9495,7 +9610,7 @@
|
|
|
9495
9610
|
vAlignFactor = 2;
|
|
9496
9611
|
}
|
|
9497
9612
|
if (vAlignFactor) {
|
|
9498
|
-
y += (
|
|
9613
|
+
y += ((alignToBox.height || 0) - (alignOptions.height || 0)) /
|
|
9499
9614
|
vAlignFactor;
|
|
9500
9615
|
}
|
|
9501
9616
|
attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y);
|
|
@@ -9715,7 +9830,7 @@
|
|
|
9715
9830
|
* used as a getter, the current value of the attribute is returned.
|
|
9716
9831
|
*/
|
|
9717
9832
|
attr(hash, val, complete, continueAnimation) {
|
|
9718
|
-
const element = this
|
|
9833
|
+
const { element } = this, symbolCustomAttribs = SVGElement.symbolCustomAttribs;
|
|
9719
9834
|
let key, hasSetSymbolSize, ret = this, skipAttr, setter;
|
|
9720
9835
|
// Single key-value pair
|
|
9721
9836
|
if (typeof hash === 'string' && typeof val !== 'undefined') {
|
|
@@ -9805,15 +9920,17 @@
|
|
|
9805
9920
|
* The modified rectangle arguments.
|
|
9806
9921
|
*/
|
|
9807
9922
|
crisp(rect, strokeWidth) {
|
|
9808
|
-
const wrapper = this;
|
|
9809
|
-
strokeWidth = strokeWidth || rect.strokeWidth || 0;
|
|
9810
9923
|
// Math.round because strokeWidth can sometimes have roundoff errors
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9924
|
+
strokeWidth = Math.round(strokeWidth || rect.strokeWidth || 0);
|
|
9925
|
+
const x1 = rect.x || this.x || 0, y1 = rect.y || this.y || 0, x2 = (rect.width || this.width || 0) + x1, y2 = (rect.height || this.height || 0) + y1,
|
|
9926
|
+
// Find all the rounded coordinates for corners
|
|
9927
|
+
x = crisp(x1, strokeWidth), y = crisp(y1, strokeWidth), x2Crisp = crisp(x2, strokeWidth), y2Crisp = crisp(y2, strokeWidth);
|
|
9928
|
+
extend(rect, {
|
|
9929
|
+
x,
|
|
9930
|
+
y,
|
|
9931
|
+
width: x2Crisp - x,
|
|
9932
|
+
height: y2Crisp - y
|
|
9933
|
+
});
|
|
9817
9934
|
if (defined(rect.strokeWidth)) {
|
|
9818
9935
|
rect.strokeWidth = strokeWidth;
|
|
9819
9936
|
}
|
|
@@ -10088,7 +10205,7 @@
|
|
|
10088
10205
|
parentToClean = grandParent;
|
|
10089
10206
|
}
|
|
10090
10207
|
// Remove from alignObjects
|
|
10091
|
-
if (wrapper.
|
|
10208
|
+
if (wrapper.alignOptions) {
|
|
10092
10209
|
erase(renderer.alignedObjects, wrapper);
|
|
10093
10210
|
}
|
|
10094
10211
|
objectEach(wrapper, function (val, key) {
|
|
@@ -10463,6 +10580,20 @@
|
|
|
10463
10580
|
this.opacity = opacity;
|
|
10464
10581
|
element.setAttribute(key, opacity);
|
|
10465
10582
|
}
|
|
10583
|
+
/**
|
|
10584
|
+
* Re-align an aligned text or label after setting the text.
|
|
10585
|
+
*
|
|
10586
|
+
* @private
|
|
10587
|
+
* @function Highcharts.SVGElement#reAlign
|
|
10588
|
+
*
|
|
10589
|
+
*/
|
|
10590
|
+
reAlign() {
|
|
10591
|
+
if (this.alignOptions?.width && this.alignOptions.align !== 'left') {
|
|
10592
|
+
this.alignOptions.width = this.getBBox().width;
|
|
10593
|
+
this.placed = false; // Block animation
|
|
10594
|
+
this.align();
|
|
10595
|
+
}
|
|
10596
|
+
}
|
|
10466
10597
|
/**
|
|
10467
10598
|
* Remove a class name from the element.
|
|
10468
10599
|
*
|
|
@@ -10762,6 +10893,7 @@
|
|
|
10762
10893
|
if (this.added) {
|
|
10763
10894
|
this.renderer.buildText(this);
|
|
10764
10895
|
}
|
|
10896
|
+
this.reAlign();
|
|
10765
10897
|
}
|
|
10766
10898
|
}
|
|
10767
10899
|
/**
|
|
@@ -11354,9 +11486,11 @@
|
|
|
11354
11486
|
return bBox;
|
|
11355
11487
|
}
|
|
11356
11488
|
getCrispAdjust() {
|
|
11357
|
-
return this.renderer.styledMode && this.box ?
|
|
11358
|
-
this.box.strokeWidth()
|
|
11359
|
-
(this['stroke-width'] ?
|
|
11489
|
+
return (this.renderer.styledMode && this.box ?
|
|
11490
|
+
this.box.strokeWidth() :
|
|
11491
|
+
(this['stroke-width'] ?
|
|
11492
|
+
parseInt(this['stroke-width'], 10) :
|
|
11493
|
+
0)) % 2 / 2;
|
|
11360
11494
|
}
|
|
11361
11495
|
heightSetter(value) {
|
|
11362
11496
|
this.heightSetting = value;
|
|
@@ -11414,6 +11548,7 @@
|
|
|
11414
11548
|
this.text.attr({ text });
|
|
11415
11549
|
}
|
|
11416
11550
|
this.updateTextPadding();
|
|
11551
|
+
this.reAlign();
|
|
11417
11552
|
}
|
|
11418
11553
|
/*
|
|
11419
11554
|
* This function runs after the label is added to the DOM (when the bounding
|
|
@@ -11585,11 +11720,15 @@
|
|
|
11585
11720
|
function arc(cx, cy, w, h, options) {
|
|
11586
11721
|
const arc = [];
|
|
11587
11722
|
if (options) {
|
|
11588
|
-
const start = options.start || 0, rx = pick(options.r, w), ry = pick(options.r, h || w),
|
|
11589
|
-
|
|
11590
|
-
//
|
|
11591
|
-
//
|
|
11592
|
-
|
|
11723
|
+
const start = options.start || 0, rx = pick(options.r, w), ry = pick(options.r, h || w),
|
|
11724
|
+
// Subtract a small number to prevent cos and sin of start and end
|
|
11725
|
+
// from becoming equal on 360 arcs (#1561). The size of the circle
|
|
11726
|
+
// affects the constant, therefore the division by `rx`. If the
|
|
11727
|
+
// proximity is too small, the arc disappears. If it is too great, a
|
|
11728
|
+
// gap appears. This can be seen in the animation of the official
|
|
11729
|
+
// bubble demo (#20586).
|
|
11730
|
+
proximity = 0.0002 / Math.max(rx, 1), fullCircle = (Math.abs((options.end || 0) - start - 2 * Math.PI) <
|
|
11731
|
+
proximity), end = (options.end || 0) - proximity, innerRadius = options.innerR, open = pick(options.open, fullCircle), cosStart = Math.cos(start), sinStart = Math.sin(start), cosEnd = Math.cos(end), sinEnd = Math.sin(end),
|
|
11593
11732
|
// Proximity takes care of rounding errors around PI (#6971)
|
|
11594
11733
|
longArc = pick(options.longArc, end - start - Math.PI < proximity ? 0 : 1);
|
|
11595
11734
|
let arcSegment = [
|
|
@@ -12237,7 +12376,7 @@
|
|
|
12237
12376
|
|
|
12238
12377
|
return TextBuilder;
|
|
12239
12378
|
});
|
|
12240
|
-
_registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer.js', [_modules['Core/Renderer/HTML/AST.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGLabel.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Renderer/SVG/TextBuilder.js'], _modules['Core/Utilities.js']], function (AST, Color, H, RendererRegistry, SVGElement, SVGLabel, Symbols, TextBuilder, U) {
|
|
12379
|
+
_registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer.js', [_modules['Core/Renderer/HTML/AST.js'], _modules['Core/Defaults.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGLabel.js'], _modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Renderer/SVG/TextBuilder.js'], _modules['Core/Utilities.js']], function (AST, D, Color, H, RendererRegistry, SVGElement, SVGLabel, Symbols, TextBuilder, U) {
|
|
12241
12380
|
/* *
|
|
12242
12381
|
*
|
|
12243
12382
|
* (c) 2010-2024 Torstein Honsi
|
|
@@ -12247,8 +12386,9 @@
|
|
|
12247
12386
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
12248
12387
|
*
|
|
12249
12388
|
* */
|
|
12389
|
+
const { defaultOptions } = D;
|
|
12250
12390
|
const { charts, deg2rad, doc, isFirefox, isMS, isWebKit, noop, SVG_NS, symbolSizes, win } = H;
|
|
12251
|
-
const { addEvent, attr, createElement, css, defined, destroyObjectProperties, extend, isArray, isNumber, isObject, isString, merge, pick, pInt, replaceNested, uniqueKey } = U;
|
|
12391
|
+
const { addEvent, attr, createElement, crisp, css, defined, destroyObjectProperties, extend, isArray, isNumber, isObject, isString, merge, pick, pInt, replaceNested, uniqueKey } = U;
|
|
12252
12392
|
/* *
|
|
12253
12393
|
*
|
|
12254
12394
|
* Variables
|
|
@@ -12397,7 +12537,7 @@
|
|
|
12397
12537
|
this.url = this.getReferenceURL();
|
|
12398
12538
|
// Add description
|
|
12399
12539
|
const desc = this.createElement('desc').add();
|
|
12400
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts 11.4.
|
|
12540
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 11.4.3'));
|
|
12401
12541
|
this.defs = this.createElement('defs').add();
|
|
12402
12542
|
this.allowHTML = allowHTML;
|
|
12403
12543
|
this.forExport = forExport;
|
|
@@ -12730,7 +12870,9 @@
|
|
|
12730
12870
|
return 1.05 / (l + 0.05) > (l + 0.05) / 0.05 ? '#FFFFFF' : '#000000';
|
|
12731
12871
|
}
|
|
12732
12872
|
/**
|
|
12733
|
-
* Create a button with preset states.
|
|
12873
|
+
* Create a button with preset states. Styles for the button can either be
|
|
12874
|
+
* set as arguments, or a general theme for all buttons can be set by the
|
|
12875
|
+
* `global.buttonTheme` option.
|
|
12734
12876
|
*
|
|
12735
12877
|
* @function Highcharts.SVGRenderer#button
|
|
12736
12878
|
*
|
|
@@ -12768,56 +12910,31 @@
|
|
|
12768
12910
|
* The button element.
|
|
12769
12911
|
*/
|
|
12770
12912
|
button(text, x, y, callback, theme = {}, hoverState, selectState, disabledState, shape, useHTML) {
|
|
12771
|
-
const label = this.label(text, x, y, shape, void 0, void 0, useHTML, void 0, 'button'), styledMode = this.styledMode,
|
|
12913
|
+
const label = this.label(text, x, y, shape, void 0, void 0, useHTML, void 0, 'button'), styledMode = this.styledMode, args = arguments;
|
|
12772
12914
|
let curState = 0;
|
|
12773
|
-
theme = merge(theme);
|
|
12915
|
+
theme = merge(defaultOptions.global.buttonTheme, theme);
|
|
12916
|
+
// @todo Consider moving this to a lower level, like .attr
|
|
12917
|
+
if (styledMode) {
|
|
12918
|
+
delete theme.fill;
|
|
12919
|
+
delete theme.stroke;
|
|
12920
|
+
delete theme['stroke-width'];
|
|
12921
|
+
}
|
|
12922
|
+
const states = theme.states || {}, normalStyle = theme.style || {};
|
|
12774
12923
|
delete theme.states;
|
|
12775
|
-
const normalStyle = merge({
|
|
12776
|
-
color: "#333333" /* Palette.neutralColor80 */,
|
|
12777
|
-
cursor: 'pointer',
|
|
12778
|
-
fontSize: '0.8em',
|
|
12779
|
-
fontWeight: 'normal'
|
|
12780
|
-
}, theme.style);
|
|
12781
12924
|
delete theme.style;
|
|
12782
|
-
//
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
|
|
12786
|
-
|
|
12787
|
-
//
|
|
12788
|
-
|
|
12789
|
-
let hoverStyle, selectStyle, disabledStyle;
|
|
12925
|
+
// Presentational
|
|
12926
|
+
const stateAttribs = [
|
|
12927
|
+
AST.filterUserAttributes(theme)
|
|
12928
|
+
],
|
|
12929
|
+
// The string type is a mistake, it is just for compliance with
|
|
12930
|
+
// SVGAttribute and is not used in button theme.
|
|
12931
|
+
stateStyles = [normalStyle];
|
|
12790
12932
|
if (!styledMode) {
|
|
12791
|
-
|
|
12792
|
-
|
|
12793
|
-
|
|
12794
|
-
|
|
12795
|
-
|
|
12796
|
-
}, normalState);
|
|
12797
|
-
// Hover state
|
|
12798
|
-
hoverState = merge(normalState, {
|
|
12799
|
-
fill: "#e6e6e6" /* Palette.neutralColor10 */
|
|
12800
|
-
}, AST.filterUserAttributes(hoverState || states.hover || {}));
|
|
12801
|
-
hoverStyle = hoverState.style;
|
|
12802
|
-
delete hoverState.style;
|
|
12803
|
-
// Pressed state
|
|
12804
|
-
selectState = merge(normalState, {
|
|
12805
|
-
fill: "#e6e9ff" /* Palette.highlightColor10 */,
|
|
12806
|
-
style: {
|
|
12807
|
-
color: "#000000" /* Palette.neutralColor100 */,
|
|
12808
|
-
fontWeight: 'bold'
|
|
12809
|
-
}
|
|
12810
|
-
}, AST.filterUserAttributes(selectState || states.select || {}));
|
|
12811
|
-
selectStyle = selectState.style;
|
|
12812
|
-
delete selectState.style;
|
|
12813
|
-
// Disabled state
|
|
12814
|
-
disabledState = merge(normalState, {
|
|
12815
|
-
style: {
|
|
12816
|
-
color: "#cccccc" /* Palette.neutralColor20 */
|
|
12817
|
-
}
|
|
12818
|
-
}, AST.filterUserAttributes(disabledState || states.disabled || {}));
|
|
12819
|
-
disabledStyle = disabledState.style;
|
|
12820
|
-
delete disabledState.style;
|
|
12933
|
+
['hover', 'select', 'disabled'].forEach((stateName, i) => {
|
|
12934
|
+
stateAttribs.push(merge(stateAttribs[0], AST.filterUserAttributes(args[i + 5] || states[stateName] || {})));
|
|
12935
|
+
stateStyles.push(stateAttribs[i + 1].style);
|
|
12936
|
+
delete stateAttribs[i + 1].style;
|
|
12937
|
+
});
|
|
12821
12938
|
}
|
|
12822
12939
|
// Add the events. IE9 and IE10 need mouseover and mouseout to function
|
|
12823
12940
|
// (#667).
|
|
@@ -12831,7 +12948,7 @@
|
|
|
12831
12948
|
label.setState(curState);
|
|
12832
12949
|
}
|
|
12833
12950
|
});
|
|
12834
|
-
label.setState =
|
|
12951
|
+
label.setState = (state = 0) => {
|
|
12835
12952
|
// Hover state is temporary, don't record it
|
|
12836
12953
|
if (state !== 1) {
|
|
12837
12954
|
label.state = curState = state;
|
|
@@ -12840,31 +12957,19 @@
|
|
|
12840
12957
|
label
|
|
12841
12958
|
.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/)
|
|
12842
12959
|
.addClass('highcharts-button-' +
|
|
12843
|
-
['normal', 'hover', 'pressed', 'disabled'][state
|
|
12960
|
+
['normal', 'hover', 'pressed', 'disabled'][state]);
|
|
12844
12961
|
if (!styledMode) {
|
|
12845
|
-
label
|
|
12846
|
-
|
|
12847
|
-
normalState,
|
|
12848
|
-
hoverState,
|
|
12849
|
-
selectState,
|
|
12850
|
-
disabledState
|
|
12851
|
-
][state || 0]);
|
|
12852
|
-
const css = [
|
|
12853
|
-
normalStyle,
|
|
12854
|
-
hoverStyle,
|
|
12855
|
-
selectStyle,
|
|
12856
|
-
disabledStyle
|
|
12857
|
-
][state || 0];
|
|
12962
|
+
label.attr(stateAttribs[state]);
|
|
12963
|
+
const css = stateStyles[state];
|
|
12858
12964
|
if (isObject(css)) {
|
|
12859
12965
|
label.css(css);
|
|
12860
12966
|
}
|
|
12861
12967
|
}
|
|
12862
12968
|
};
|
|
12969
|
+
label.attr(stateAttribs[0]);
|
|
12863
12970
|
// Presentational attributes
|
|
12864
12971
|
if (!styledMode) {
|
|
12865
|
-
label
|
|
12866
|
-
.attr(normalState)
|
|
12867
|
-
.css(extend({ cursor: 'default' }, normalStyle));
|
|
12972
|
+
label.css(extend({ cursor: 'default' }, normalStyle));
|
|
12868
12973
|
// HTML labels don't need to handle pointer events because click and
|
|
12869
12974
|
// mouseenter/mouseleave is bound to the underlying <g> element.
|
|
12870
12975
|
// Should this be reconsidered, we need more complex logic to share
|
|
@@ -12894,26 +12999,17 @@
|
|
|
12894
12999
|
* @param {number} width
|
|
12895
13000
|
* The width of the line.
|
|
12896
13001
|
*
|
|
12897
|
-
* @param {string} [roundingFunction=round]
|
|
12898
|
-
* The rounding function name on the `Math` object, can be one of
|
|
12899
|
-
* `round`, `floor` or `ceil`.
|
|
12900
|
-
*
|
|
12901
13002
|
* @return {Highcharts.SVGPathArray}
|
|
12902
13003
|
* The original points array, but modified to render crisply.
|
|
12903
13004
|
*/
|
|
12904
|
-
crispLine(points, width
|
|
12905
|
-
const start = points
|
|
12906
|
-
const end = points[1];
|
|
13005
|
+
crispLine(points, width) {
|
|
13006
|
+
const [start, end] = points;
|
|
12907
13007
|
// Normalize to a crisp line
|
|
12908
13008
|
if (defined(start[1]) && start[1] === end[1]) {
|
|
12909
|
-
|
|
12910
|
-
// the same.
|
|
12911
|
-
start[1] = end[1] =
|
|
12912
|
-
Math[roundingFunction](start[1]) - (width % 2 / 2);
|
|
13009
|
+
start[1] = end[1] = crisp(start[1], width);
|
|
12913
13010
|
}
|
|
12914
13011
|
if (defined(start[2]) && start[2] === end[2]) {
|
|
12915
|
-
start[2] = end[2] =
|
|
12916
|
-
Math[roundingFunction](start[2]) + (width % 2 / 2);
|
|
13012
|
+
start[2] = end[2] = crisp(start[2], width);
|
|
12917
13013
|
}
|
|
12918
13014
|
return points;
|
|
12919
13015
|
}
|
|
@@ -13312,7 +13408,7 @@
|
|
|
13312
13408
|
if (symbolFn) {
|
|
13313
13409
|
// Check if there's a path defined for this symbol
|
|
13314
13410
|
if (typeof x === 'number') {
|
|
13315
|
-
path = symbolFn.call(this.symbols,
|
|
13411
|
+
path = symbolFn.call(this.symbols, x || 0, y || 0, width || 0, height || 0, options);
|
|
13316
13412
|
}
|
|
13317
13413
|
obj = this.path(path);
|
|
13318
13414
|
if (!ren.styledMode) {
|
|
@@ -15471,11 +15567,12 @@
|
|
|
15471
15567
|
overflow: 'justify',
|
|
15472
15568
|
/**
|
|
15473
15569
|
* The pixel padding for axis labels, to ensure white space between
|
|
15474
|
-
* them.
|
|
15570
|
+
* them. Defaults to 4 for horizontal axes, 1 for vertical.
|
|
15475
15571
|
*
|
|
15572
|
+
* @default undefined
|
|
15476
15573
|
* @product highcharts gantt
|
|
15574
|
+
* @apioption xAxis.labels.padding
|
|
15477
15575
|
*/
|
|
15478
|
-
padding: 5,
|
|
15479
15576
|
/**
|
|
15480
15577
|
* Whether to reserve space for the labels. By default, space is
|
|
15481
15578
|
* reserved for the labels in these cases:
|
|
@@ -17786,7 +17883,7 @@
|
|
|
17786
17883
|
});
|
|
17787
17884
|
if (label.getBBox().width <
|
|
17788
17885
|
axis.getSlotWidth(tick) - 2 *
|
|
17789
|
-
labelOptions.padding) {
|
|
17886
|
+
(labelOptions.padding || 0)) {
|
|
17790
17887
|
return;
|
|
17791
17888
|
}
|
|
17792
17889
|
}
|
|
@@ -17975,7 +18072,7 @@
|
|
|
17975
18072
|
* Extendible method to return the path of the marker
|
|
17976
18073
|
* @private
|
|
17977
18074
|
*/
|
|
17978
|
-
getMarkPath(x, y, tickLength, tickWidth, horiz, renderer) {
|
|
18075
|
+
getMarkPath(x, y, tickLength, tickWidth, horiz = false, renderer) {
|
|
17979
18076
|
return renderer.crispLine([[
|
|
17980
18077
|
'M',
|
|
17981
18078
|
x,
|
|
@@ -18103,9 +18200,7 @@
|
|
|
18103
18200
|
* @param {number} [opacity]
|
|
18104
18201
|
*/
|
|
18105
18202
|
render(index, old, opacity) {
|
|
18106
|
-
const tick = this, axis = tick.axis, horiz = axis.horiz, pos = tick.pos, tickmarkOffset = pick(tick.tickmarkOffset, axis.tickmarkOffset), xy = tick.getPosition(horiz, pos, tickmarkOffset, old), x = xy.x, y = xy.y, axisStart = axis.pos, axisEnd = axisStart + axis.len,
|
|
18107
|
-
(!horiz && y === axisStart)) ? -1 : 1, // #1480, #1687
|
|
18108
|
-
pxPos = horiz ? x : y;
|
|
18203
|
+
const tick = this, axis = tick.axis, horiz = axis.horiz, pos = tick.pos, tickmarkOffset = pick(tick.tickmarkOffset, axis.tickmarkOffset), xy = tick.getPosition(horiz, pos, tickmarkOffset, old), x = xy.x, y = xy.y, axisStart = axis.pos, axisEnd = axisStart + axis.len, pxPos = horiz ? x : y;
|
|
18109
18204
|
// Anything that is not between `axis.pos` and `axis.pos + axis.length`
|
|
18110
18205
|
// should not be visible (#20166). The `correctFloat` is for reversed
|
|
18111
18206
|
// axes in Safari.
|
|
@@ -18119,9 +18214,9 @@
|
|
|
18119
18214
|
opacity = pick(opacity, 1);
|
|
18120
18215
|
this.isActive = true;
|
|
18121
18216
|
// Create the grid line
|
|
18122
|
-
this.renderGridLine(old, opacity
|
|
18217
|
+
this.renderGridLine(old, opacity);
|
|
18123
18218
|
// Create the tick mark
|
|
18124
|
-
this.renderMark(xy, opacity
|
|
18219
|
+
this.renderMark(xy, opacity);
|
|
18125
18220
|
// The label is created on init - now move it into place
|
|
18126
18221
|
this.renderLabel(xy, old, labelOpacity, index);
|
|
18127
18222
|
tick.isNew = false;
|
|
@@ -18134,9 +18229,8 @@
|
|
|
18134
18229
|
* @function Highcharts.Tick#renderGridLine
|
|
18135
18230
|
* @param {boolean} old Whether or not the tick is old
|
|
18136
18231
|
* @param {number} opacity The opacity of the grid line
|
|
18137
|
-
* @param {number} reverseCrisp Modifier for avoiding overlapping 1 or -1
|
|
18138
18232
|
*/
|
|
18139
|
-
renderGridLine(old, opacity
|
|
18233
|
+
renderGridLine(old, opacity) {
|
|
18140
18234
|
const tick = this, axis = tick.axis, options = axis.options, attribs = {}, pos = tick.pos, type = tick.type, tickmarkOffset = pick(tick.tickmarkOffset, axis.tickmarkOffset), renderer = axis.chart.renderer;
|
|
18141
18235
|
let gridLine = tick.gridLine, gridLinePath, gridLineWidth = options.gridLineWidth, gridLineColor = options.gridLineColor, dashStyle = options.gridLineDashStyle;
|
|
18142
18236
|
if (tick.type === 'minor') {
|
|
@@ -18169,7 +18263,7 @@
|
|
|
18169
18263
|
if (gridLine) {
|
|
18170
18264
|
gridLinePath = axis.getPlotLinePath({
|
|
18171
18265
|
value: pos + tickmarkOffset,
|
|
18172
|
-
lineWidth: gridLine.strokeWidth()
|
|
18266
|
+
lineWidth: gridLine.strokeWidth(),
|
|
18173
18267
|
force: 'pass',
|
|
18174
18268
|
old: old,
|
|
18175
18269
|
acrossPanes: false // #18025
|
|
@@ -18191,9 +18285,8 @@
|
|
|
18191
18285
|
* @function Highcharts.Tick#renderMark
|
|
18192
18286
|
* @param {Highcharts.PositionObject} xy The position vector of the mark
|
|
18193
18287
|
* @param {number} opacity The opacity of the mark
|
|
18194
|
-
* @param {number} reverseCrisp Modifier for avoiding overlapping 1 or -1
|
|
18195
18288
|
*/
|
|
18196
|
-
renderMark(xy, opacity
|
|
18289
|
+
renderMark(xy, opacity) {
|
|
18197
18290
|
const tick = this, axis = tick.axis, options = axis.options, renderer = axis.chart.renderer, type = tick.type, tickSize = axis.tickSize(type ? type + 'Tick' : 'tick'), x = xy.x, y = xy.y, tickWidth = pick(options[type !== 'minor' ? 'tickWidth' : 'minorTickWidth'], !type && axis.isXAxis ? 1 : 0), // X axis defaults to 1
|
|
18198
18291
|
tickColor = options[type !== 'minor' ? 'tickColor' : 'minorTickColor'];
|
|
18199
18292
|
let mark = tick.mark;
|
|
@@ -18221,7 +18314,7 @@
|
|
|
18221
18314
|
}
|
|
18222
18315
|
}
|
|
18223
18316
|
mark[isNewMark ? 'attr' : 'animate']({
|
|
18224
|
-
d: tick.getMarkPath(x, y, tickSize[0], mark.strokeWidth()
|
|
18317
|
+
d: tick.getMarkPath(x, y, tickSize[0], mark.strokeWidth(), axis.horiz, renderer),
|
|
18225
18318
|
opacity: opacity
|
|
18226
18319
|
});
|
|
18227
18320
|
}
|
|
@@ -18561,7 +18654,7 @@
|
|
|
18561
18654
|
* @name Highcharts.Axis#len
|
|
18562
18655
|
* @type {number}
|
|
18563
18656
|
*/
|
|
18564
|
-
axis.len = 0;
|
|
18657
|
+
axis.len ?? (axis.len = 0);
|
|
18565
18658
|
axis.minRange = axis.userMinRange = options.minRange || options.maxZoom;
|
|
18566
18659
|
axis.range = options.range;
|
|
18567
18660
|
axis.offset = options.offset || 0;
|
|
@@ -18639,13 +18732,17 @@
|
|
|
18639
18732
|
// Top and bottom axis defaults
|
|
18640
18733
|
{
|
|
18641
18734
|
labels: {
|
|
18642
|
-
autoRotation: [-45]
|
|
18735
|
+
autoRotation: [-45],
|
|
18736
|
+
padding: 4
|
|
18643
18737
|
},
|
|
18644
18738
|
margin: 15
|
|
18645
18739
|
} :
|
|
18646
18740
|
// Left and right axis, title rotated 90 or 270 degrees
|
|
18647
18741
|
// respectively
|
|
18648
18742
|
{
|
|
18743
|
+
labels: {
|
|
18744
|
+
padding: 1
|
|
18745
|
+
},
|
|
18649
18746
|
title: {
|
|
18650
18747
|
rotation: 90 * this.side
|
|
18651
18748
|
}
|
|
@@ -18855,10 +18952,13 @@
|
|
|
18855
18952
|
val = axis.val2lin(val);
|
|
18856
18953
|
}
|
|
18857
18954
|
const value = sign * (val - localMin) * localA;
|
|
18858
|
-
returnValue =
|
|
18955
|
+
returnValue = value +
|
|
18859
18956
|
cvsOffset +
|
|
18860
18957
|
(sign * minPixelPadding) +
|
|
18861
18958
|
(isNumber(pointPlacement) ? localA * pointPlacement : 0);
|
|
18959
|
+
if (!axis.isRadial) {
|
|
18960
|
+
returnValue = correctFloat(returnValue);
|
|
18961
|
+
}
|
|
18862
18962
|
}
|
|
18863
18963
|
return returnValue;
|
|
18864
18964
|
}
|
|
@@ -18946,8 +19046,8 @@
|
|
|
18946
19046
|
// Keep the translated value within sane bounds, and avoid Infinity
|
|
18947
19047
|
// to fail the isNumber test (#7709).
|
|
18948
19048
|
translatedValue = clamp(translatedValue, -1e5, 1e5);
|
|
18949
|
-
x1 = x2 =
|
|
18950
|
-
y1 = y2 =
|
|
19049
|
+
x1 = x2 = translatedValue + transB;
|
|
19050
|
+
y1 = y2 = cHeight - translatedValue - transB;
|
|
18951
19051
|
if (!isNumber(translatedValue)) { // No min or max
|
|
18952
19052
|
skip = true;
|
|
18953
19053
|
force = false; // #7175, don't force it when path is invalid
|
|
@@ -20278,17 +20378,17 @@
|
|
|
20278
20378
|
* @function Highcharts.Axis#unsquish
|
|
20279
20379
|
*/
|
|
20280
20380
|
unsquish() {
|
|
20281
|
-
const labelOptions = this.options.labels, horiz = this.horiz, tickInterval = this.tickInterval, slotSize = this.len / (((this.categories ? 1 : 0) +
|
|
20381
|
+
const labelOptions = this.options.labels, padding = labelOptions.padding || 0, horiz = this.horiz, tickInterval = this.tickInterval, slotSize = this.len / (((this.categories ? 1 : 0) +
|
|
20282
20382
|
this.max -
|
|
20283
20383
|
this.min) /
|
|
20284
20384
|
tickInterval), rotationOption = labelOptions.rotation,
|
|
20285
20385
|
// We don't know the actual rendered line height at this point, but
|
|
20286
|
-
// it defaults to 0.
|
|
20287
|
-
lineHeight = this.labelMetrics().h, range = Math.max(this.max - this.min, 0),
|
|
20386
|
+
// it defaults to 0.8em
|
|
20387
|
+
lineHeight = correctFloat(this.labelMetrics().h * 0.8), range = Math.max(this.max - this.min, 0),
|
|
20288
20388
|
// Return the multiple of tickInterval that is needed to avoid
|
|
20289
20389
|
// collision
|
|
20290
20390
|
getStep = function (spaceNeeded) {
|
|
20291
|
-
let step = spaceNeeded / (slotSize || 1);
|
|
20391
|
+
let step = (spaceNeeded + 2 * padding) / (slotSize || 1);
|
|
20292
20392
|
step = step > 1 ? Math.ceil(step) : 1;
|
|
20293
20393
|
// Guard for very small or negative angles (#9835)
|
|
20294
20394
|
if (step * tickInterval > range &&
|
|
@@ -20384,7 +20484,10 @@
|
|
|
20384
20484
|
* @function Highcharts.Axis#renderUnsquish
|
|
20385
20485
|
*/
|
|
20386
20486
|
renderUnsquish() {
|
|
20387
|
-
const chart = this.chart, renderer = chart.renderer, tickPositions = this.tickPositions, ticks = this.ticks, labelOptions = this.options.labels, labelStyleOptions = labelOptions.style, horiz = this.horiz, slotWidth = this.getSlotWidth(), innerWidth = Math.max(1, Math.round(slotWidth -
|
|
20487
|
+
const chart = this.chart, renderer = chart.renderer, tickPositions = this.tickPositions, ticks = this.ticks, labelOptions = this.options.labels, labelStyleOptions = labelOptions.style, horiz = this.horiz, slotWidth = this.getSlotWidth(), innerWidth = Math.max(1, Math.round(slotWidth - (horiz ?
|
|
20488
|
+
2 * (labelOptions.padding || 0) :
|
|
20489
|
+
labelOptions.distance || 0 // #21172
|
|
20490
|
+
))), attr = {}, labelMetrics = this.labelMetrics(), textOverflowOption = labelStyleOptions.textOverflow;
|
|
20388
20491
|
let commonWidth, commonTextOverflow, maxLabelLength = 0, label, i, pos;
|
|
20389
20492
|
// Set rotation option unless it is "auto", like in gauges
|
|
20390
20493
|
if (!isString(labelOptions.rotation)) {
|
|
@@ -20701,7 +20804,7 @@
|
|
|
20701
20804
|
}
|
|
20702
20805
|
// Due to GridAxis.tickSize, tickSize should be calculated after ticks
|
|
20703
20806
|
// has rendered.
|
|
20704
|
-
if (coll !== 'colorAxis') {
|
|
20807
|
+
if (coll !== 'colorAxis' && clipOffset) {
|
|
20705
20808
|
const tickSize = this.tickSize('tick');
|
|
20706
20809
|
axisOffset[side] = Math.max(axisOffset[side], (axis.axisTitleMargin || 0) + titleOffset +
|
|
20707
20810
|
directionFactor * axis.offset, labelOffsetPadded, // #3027
|
|
@@ -20713,10 +20816,9 @@
|
|
|
20713
20816
|
// the plot area and axis lines
|
|
20714
20817
|
const clip = !axis.axisLine || options.offset ?
|
|
20715
20818
|
0 :
|
|
20716
|
-
// #4308, #4371
|
|
20717
|
-
|
|
20718
|
-
clipOffset[invertedSide] =
|
|
20719
|
-
Math.max(clipOffset[invertedSide], clip);
|
|
20819
|
+
// #4308, #4371
|
|
20820
|
+
axis.axisLine.strokeWidth() / 2;
|
|
20821
|
+
clipOffset[invertedSide] = Math.max(clipOffset[invertedSide], clip);
|
|
20720
20822
|
}
|
|
20721
20823
|
fireEvent(this, 'afterGetOffset');
|
|
20722
20824
|
}
|
|
@@ -21351,6 +21453,7 @@
|
|
|
21351
21453
|
'coll',
|
|
21352
21454
|
'extKey',
|
|
21353
21455
|
'hcEvents',
|
|
21456
|
+
'len',
|
|
21354
21457
|
'names',
|
|
21355
21458
|
'series',
|
|
21356
21459
|
'userMax',
|
|
@@ -22571,6 +22674,16 @@
|
|
|
22571
22674
|
* @type {Highcharts.ColorString}
|
|
22572
22675
|
* @apioption xAxis.plotBands.borderColor
|
|
22573
22676
|
*/
|
|
22677
|
+
/**
|
|
22678
|
+
* Border radius for the plot band. Applies only to gauges. Can be a pixel
|
|
22679
|
+
* value or a percentage, for example `50%`.
|
|
22680
|
+
*
|
|
22681
|
+
* @type {number|string}
|
|
22682
|
+
* @since 11.4.2
|
|
22683
|
+
* @sample {highcharts} highcharts/xaxis/plotbands-gauge-borderradius
|
|
22684
|
+
* Angular gauge with rounded plot bands
|
|
22685
|
+
* @apioption xAxis.plotBands.borderRadius
|
|
22686
|
+
*/
|
|
22574
22687
|
/**
|
|
22575
22688
|
* Border width for the plot band. Also requires `borderColor` to be set.
|
|
22576
22689
|
*
|
|
@@ -23128,7 +23241,7 @@
|
|
|
23128
23241
|
|
|
23129
23242
|
return PlotLineOrBand;
|
|
23130
23243
|
});
|
|
23131
|
-
_registerModule(_modules, 'Core/Tooltip.js', [_modules['Core/Templating.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Utilities.js']], function (F, H, R, RendererRegistry, U) {
|
|
23244
|
+
_registerModule(_modules, 'Core/Tooltip.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Templating.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/RendererUtilities.js'], _modules['Core/Renderer/RendererRegistry.js'], _modules['Core/Utilities.js']], function (A, F, H, R, RendererRegistry, U) {
|
|
23132
23245
|
/* *
|
|
23133
23246
|
*
|
|
23134
23247
|
* (c) 2010-2024 Torstein Honsi
|
|
@@ -23138,6 +23251,7 @@
|
|
|
23138
23251
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
23139
23252
|
*
|
|
23140
23253
|
* */
|
|
23254
|
+
const { animObject } = A;
|
|
23141
23255
|
const { format } = F;
|
|
23142
23256
|
const { composed, doc, isSafari } = H;
|
|
23143
23257
|
const { distribute } = R;
|
|
@@ -23177,7 +23291,6 @@
|
|
|
23177
23291
|
this.distance = 0;
|
|
23178
23292
|
this.isHidden = true;
|
|
23179
23293
|
this.isSticky = false;
|
|
23180
|
-
this.now = {};
|
|
23181
23294
|
this.options = {};
|
|
23182
23295
|
this.outside = false;
|
|
23183
23296
|
this.chart = chart;
|
|
@@ -23271,7 +23384,6 @@
|
|
|
23271
23384
|
discardElement(this.container);
|
|
23272
23385
|
}
|
|
23273
23386
|
U.clearTimeout(this.hideTimer);
|
|
23274
|
-
U.clearTimeout(this.tooltipTimeout);
|
|
23275
23387
|
}
|
|
23276
23388
|
/**
|
|
23277
23389
|
* Extendable method to get the anchor position of the tooltip
|
|
@@ -23432,19 +23544,15 @@
|
|
|
23432
23544
|
// container.
|
|
23433
23545
|
if (tooltip.outside) {
|
|
23434
23546
|
const label = this.label;
|
|
23435
|
-
|
|
23436
|
-
|
|
23437
|
-
|
|
23438
|
-
|
|
23439
|
-
container
|
|
23440
|
-
|
|
23441
|
-
|
|
23442
|
-
|
|
23443
|
-
|
|
23444
|
-
if (container) {
|
|
23445
|
-
container.style.top = value + 'px';
|
|
23446
|
-
}
|
|
23447
|
-
};
|
|
23547
|
+
[label.xSetter, label.ySetter].forEach((setter, i) => {
|
|
23548
|
+
label[i ? 'ySetter' : 'xSetter'] = (value) => {
|
|
23549
|
+
setter.call(label, tooltip.distance);
|
|
23550
|
+
label[i ? 'y' : 'x'] = value;
|
|
23551
|
+
if (container) {
|
|
23552
|
+
container.style[i ? 'top' : 'left'] = `${value}px`;
|
|
23553
|
+
}
|
|
23554
|
+
};
|
|
23555
|
+
});
|
|
23448
23556
|
}
|
|
23449
23557
|
this.label
|
|
23450
23558
|
.attr({ zIndex: 8 })
|
|
@@ -23695,15 +23803,6 @@
|
|
|
23695
23803
|
* @type {Array<null>}
|
|
23696
23804
|
*/
|
|
23697
23805
|
this.crosshairs = [];
|
|
23698
|
-
/**
|
|
23699
|
-
* Current values of x and y when animating.
|
|
23700
|
-
*
|
|
23701
|
-
* @private
|
|
23702
|
-
* @readonly
|
|
23703
|
-
* @name Highcharts.Tooltip#now
|
|
23704
|
-
* @type {Highcharts.PositionObject}
|
|
23705
|
-
*/
|
|
23706
|
-
this.now = { x: 0, y: 0 };
|
|
23707
23806
|
/**
|
|
23708
23807
|
* Tooltips are initially hidden.
|
|
23709
23808
|
*
|
|
@@ -23767,38 +23866,13 @@
|
|
|
23767
23866
|
* @param {number} anchorY
|
|
23768
23867
|
*/
|
|
23769
23868
|
move(x, y, anchorX, anchorY) {
|
|
23770
|
-
const tooltip = this,
|
|
23771
|
-
|
|
23772
|
-
|
|
23773
|
-
|
|
23774
|
-
(Math.abs(x - now.x) > 1 || Math.abs(y - now.y) > 1), skipAnchor = tooltip.followPointer || tooltip.len > 1;
|
|
23775
|
-
// Get intermediate values for animation
|
|
23776
|
-
extend(now, {
|
|
23777
|
-
x: animate ? (2 * now.x + x) / 3 : x,
|
|
23778
|
-
y: animate ? (now.y + y) / 2 : y,
|
|
23779
|
-
anchorX: skipAnchor ?
|
|
23780
|
-
void 0 :
|
|
23781
|
-
animate ? (2 * now.anchorX + anchorX) / 3 : anchorX,
|
|
23782
|
-
anchorY: skipAnchor ?
|
|
23783
|
-
void 0 :
|
|
23784
|
-
animate ? (now.anchorY + anchorY) / 2 : anchorY
|
|
23785
|
-
});
|
|
23786
|
-
// Move to the intermediate value
|
|
23787
|
-
tooltip.getLabel().attr(now);
|
|
23788
|
-
tooltip.drawTracker();
|
|
23789
|
-
// Run on next tick of the mouse tracker
|
|
23790
|
-
if (animate) {
|
|
23791
|
-
// Never allow two timeouts
|
|
23792
|
-
U.clearTimeout(this.tooltipTimeout);
|
|
23793
|
-
// Set the fixed interval ticking for the smooth tooltip
|
|
23794
|
-
this.tooltipTimeout = setTimeout(function () {
|
|
23795
|
-
// The interval function may still be running during destroy,
|
|
23796
|
-
// so check that the chart is really there before calling.
|
|
23797
|
-
if (tooltip) {
|
|
23798
|
-
tooltip.move(x, y, anchorX, anchorY);
|
|
23799
|
-
}
|
|
23800
|
-
}, 32);
|
|
23869
|
+
const tooltip = this, animation = animObject(!tooltip.isHidden && tooltip.options.animation), skipAnchor = tooltip.followPointer || (tooltip.len || 0) > 1, attr = { x, y };
|
|
23870
|
+
if (!skipAnchor) {
|
|
23871
|
+
attr.anchorX = anchorX;
|
|
23872
|
+
attr.anchorY = anchorY;
|
|
23801
23873
|
}
|
|
23874
|
+
animation.step = () => tooltip.drawTracker();
|
|
23875
|
+
tooltip.getLabel().animate(attr, animation);
|
|
23802
23876
|
}
|
|
23803
23877
|
/**
|
|
23804
23878
|
* Refresh the tooltip's text and position.
|
|
@@ -24521,7 +24595,7 @@
|
|
|
24521
24595
|
const { animObject } = A;
|
|
24522
24596
|
const { defaultOptions } = D;
|
|
24523
24597
|
const { format } = F;
|
|
24524
|
-
const { addEvent, erase, extend, fireEvent, getNestedProperty, isArray, isFunction, isNumber, isObject, merge, pick, syncTimeout, removeEvent, uniqueKey } = U;
|
|
24598
|
+
const { addEvent, crisp, erase, extend, fireEvent, getNestedProperty, isArray, isFunction, isNumber, isObject, merge, pick, syncTimeout, removeEvent, uniqueKey } = U;
|
|
24525
24599
|
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
24526
24600
|
/* *
|
|
24527
24601
|
*
|
|
@@ -25629,7 +25703,8 @@
|
|
|
25629
25703
|
}, AST.filterUserAttributes(haloOptions.attributes || {})));
|
|
25630
25704
|
}
|
|
25631
25705
|
}
|
|
25632
|
-
else if (halo
|
|
25706
|
+
else if (halo?.point?.haloPath &&
|
|
25707
|
+
!halo.point.destroyed) {
|
|
25633
25708
|
// Animate back to 0 on the current halo point (#6055)
|
|
25634
25709
|
halo.animate({ d: halo.point.haloPath(0) }, null,
|
|
25635
25710
|
// Hide after unhovering. The `complete` callback runs in the
|
|
@@ -25652,7 +25727,7 @@
|
|
|
25652
25727
|
*/
|
|
25653
25728
|
haloPath(size) {
|
|
25654
25729
|
const pos = this.pos();
|
|
25655
|
-
return pos ? this.series.chart.renderer.symbols.circle(
|
|
25730
|
+
return pos ? this.series.chart.renderer.symbols.circle(crisp(pos[0], 1) - size, pos[1] - size, size * 2, size * 2) : [];
|
|
25656
25731
|
}
|
|
25657
25732
|
}
|
|
25658
25733
|
/* *
|
|
@@ -30351,6 +30426,21 @@
|
|
|
30351
30426
|
* @type {Highcharts.AlignValue|null}
|
|
30352
30427
|
*/
|
|
30353
30428
|
align: 'center',
|
|
30429
|
+
/**
|
|
30430
|
+
* Alignment method for data labels. If set to `plotEdges`, the labels
|
|
30431
|
+
* are aligned within the plot area in the direction of the y-axis. So
|
|
30432
|
+
* in a regular column chart, the labels are aligned vertically
|
|
30433
|
+
* according to the `verticalAlign` setting. In a bar chart, which is
|
|
30434
|
+
* inverted, the labels are aligned horizontally according to the
|
|
30435
|
+
* `align` setting. Applies to cartesian series only.
|
|
30436
|
+
*
|
|
30437
|
+
* @sample {highcharts} highcharts/series-bar/datalabels-alignto/
|
|
30438
|
+
* Align to plot edges
|
|
30439
|
+
*
|
|
30440
|
+
* @type {string}
|
|
30441
|
+
* @since 11.4.2
|
|
30442
|
+
* @apioption plotOptions.series.dataLabels.alignTo
|
|
30443
|
+
*/
|
|
30354
30444
|
/**
|
|
30355
30445
|
* Whether to allow data labels to overlap. To make the labels less
|
|
30356
30446
|
* sensitive for overlapping, the
|
|
@@ -31408,7 +31498,7 @@
|
|
|
31408
31498
|
const { registerEventOptions } = F;
|
|
31409
31499
|
const { svg, win } = H;
|
|
31410
31500
|
const { seriesTypes } = SeriesRegistry;
|
|
31411
|
-
const { arrayMax, arrayMin, clamp, correctFloat, defined, destroyObjectProperties, diffObjects, erase, error, extend, find, fireEvent, getClosestDistance, getNestedProperty, insertItem, isArray, isNumber, isString, merge, objectEach, pick, removeEvent, splat, syncTimeout } = U;
|
|
31501
|
+
const { arrayMax, arrayMin, clamp, correctFloat, crisp, defined, destroyObjectProperties, diffObjects, erase, error, extend, find, fireEvent, getClosestDistance, getNestedProperty, insertItem, isArray, isNumber, isString, merge, objectEach, pick, removeEvent, splat, syncTimeout } = U;
|
|
31412
31502
|
/* *
|
|
31413
31503
|
*
|
|
31414
31504
|
* Class
|
|
@@ -32372,10 +32462,7 @@
|
|
|
32372
32462
|
* Force getting extremes of a total series data range.
|
|
32373
32463
|
*/
|
|
32374
32464
|
getProcessedData(forceExtremesFromAll) {
|
|
32375
|
-
const series = this, xAxis = series.xAxis, options = series.options, cropThreshold = options.cropThreshold,
|
|
32376
|
-
series.getExtremesFromAll ||
|
|
32377
|
-
options.getExtremesFromAll, // #4599
|
|
32378
|
-
logarithmic = xAxis?.logarithmic, isCartesian = series.isCartesian;
|
|
32465
|
+
const series = this, xAxis = series.xAxis, options = series.options, cropThreshold = options.cropThreshold, logarithmic = xAxis?.logarithmic, isCartesian = series.isCartesian;
|
|
32379
32466
|
let croppedData, cropped, cropStart = 0, xExtremes, min, max,
|
|
32380
32467
|
// Copied during slice operation:
|
|
32381
32468
|
processedXData = series.xData, processedYData = series.yData, updatingNames = false;
|
|
@@ -32390,7 +32477,7 @@
|
|
|
32390
32477
|
// Optionally filter out points outside the plot area
|
|
32391
32478
|
if (isCartesian &&
|
|
32392
32479
|
series.sorted &&
|
|
32393
|
-
!
|
|
32480
|
+
!forceExtremesFromAll &&
|
|
32394
32481
|
(!cropThreshold ||
|
|
32395
32482
|
dataLength > cropThreshold ||
|
|
32396
32483
|
series.forceCrop)) {
|
|
@@ -32631,16 +32718,24 @@
|
|
|
32631
32718
|
* Force getting extremes of a total series data range.
|
|
32632
32719
|
*/
|
|
32633
32720
|
getExtremes(yData, forceExtremesFromAll) {
|
|
32634
|
-
const xAxis = this.xAxis, yAxis = this.yAxis,
|
|
32721
|
+
const xAxis = this.xAxis, yAxis = this.yAxis, activeYData = [],
|
|
32635
32722
|
// Handle X outside the viewed area. This does not work with
|
|
32636
32723
|
// non-sorted data like scatter (#7639).
|
|
32637
32724
|
shoulder = this.requireSorting && !this.is('column') ?
|
|
32638
32725
|
1 : 0,
|
|
32639
32726
|
// #2117, need to compensate for log X axis
|
|
32640
|
-
positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false
|
|
32641
|
-
|
|
32642
|
-
|
|
32643
|
-
|
|
32727
|
+
positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false, getExtremesFromAll = forceExtremesFromAll ||
|
|
32728
|
+
this.getExtremesFromAll ||
|
|
32729
|
+
this.options.getExtremesFromAll; // #4599
|
|
32730
|
+
let { processedXData, processedYData } = this, xExtremes, validValue, withinRange, x, y, i, j, xMin = 0, xMax = 0, activeCounter = 0;
|
|
32731
|
+
// Get the processed data from the full range (#21003)
|
|
32732
|
+
if (this.cropped && getExtremesFromAll) {
|
|
32733
|
+
const processedData = this.getProcessedData(true);
|
|
32734
|
+
processedXData = processedData.xData;
|
|
32735
|
+
processedYData = processedData.yData;
|
|
32736
|
+
}
|
|
32737
|
+
yData = yData || this.stackedYData || processedYData || [];
|
|
32738
|
+
const yDataLength = yData.length, xData = processedXData || this.xData;
|
|
32644
32739
|
if (xAxis) {
|
|
32645
32740
|
xExtremes = xAxis.getExtremes();
|
|
32646
32741
|
xMin = xExtremes.min;
|
|
@@ -33210,12 +33305,16 @@
|
|
|
33210
33305
|
}
|
|
33211
33306
|
const pos = point.pos();
|
|
33212
33307
|
if (isNumber(radius) && pos) {
|
|
33213
|
-
attribs.x = pos[0] - radius;
|
|
33214
|
-
attribs.y = pos[1] - radius;
|
|
33215
33308
|
if (seriesOptions.crisp) {
|
|
33216
|
-
|
|
33217
|
-
|
|
33309
|
+
pos[0] = crisp(pos[0], point.hasImage ?
|
|
33310
|
+
0 :
|
|
33311
|
+
symbol === 'rect' ?
|
|
33312
|
+
// Rectangle symbols need crisp edges, others don't
|
|
33313
|
+
seriesMarkerOptions?.lineWidth || 0 :
|
|
33314
|
+
1);
|
|
33218
33315
|
}
|
|
33316
|
+
attribs.x = pos[0] - radius;
|
|
33317
|
+
attribs.y = pos[1] - radius;
|
|
33219
33318
|
}
|
|
33220
33319
|
if (radius) {
|
|
33221
33320
|
attribs.width = attribs.height = 2 * radius;
|
|
@@ -36387,7 +36486,7 @@
|
|
|
36387
36486
|
* @emits Highcharts.Chart#event:afterSetChartSize
|
|
36388
36487
|
*/
|
|
36389
36488
|
setChartSize(skipAxes) {
|
|
36390
|
-
const chart = this,
|
|
36489
|
+
const chart = this, { chartHeight, chartWidth, inverted, spacing, renderer } = chart, clipOffset = chart.clipOffset, clipRoundFunc = Math[inverted ? 'floor' : 'round'];
|
|
36391
36490
|
let plotLeft, plotTop, plotWidth, plotHeight;
|
|
36392
36491
|
/**
|
|
36393
36492
|
* The current left position of the plot area in pixels.
|
|
@@ -36419,7 +36518,6 @@
|
|
|
36419
36518
|
chart.plotHeight = plotHeight = Math.max(0, Math.round(chartHeight - plotTop - chart.marginBottom));
|
|
36420
36519
|
chart.plotSizeX = inverted ? plotHeight : plotWidth;
|
|
36421
36520
|
chart.plotSizeY = inverted ? plotWidth : plotHeight;
|
|
36422
|
-
chart.plotBorderWidth = optionsChart.plotBorderWidth || 0;
|
|
36423
36521
|
// Set boxes used for alignment
|
|
36424
36522
|
chart.spacingBox = renderer.spacingBox = {
|
|
36425
36523
|
x: spacing[3],
|
|
@@ -36433,17 +36531,15 @@
|
|
|
36433
36531
|
width: plotWidth,
|
|
36434
36532
|
height: plotHeight
|
|
36435
36533
|
};
|
|
36436
|
-
|
|
36437
|
-
|
|
36438
|
-
|
|
36439
|
-
|
|
36440
|
-
|
|
36441
|
-
|
|
36442
|
-
|
|
36443
|
-
|
|
36444
|
-
|
|
36445
|
-
clipY))
|
|
36446
|
-
};
|
|
36534
|
+
// Compute the clipping box
|
|
36535
|
+
if (clipOffset) {
|
|
36536
|
+
chart.clipBox = {
|
|
36537
|
+
x: clipRoundFunc(clipOffset[3]),
|
|
36538
|
+
y: clipRoundFunc(clipOffset[0]),
|
|
36539
|
+
width: clipRoundFunc(chart.plotSizeX - clipOffset[1] - clipOffset[3]),
|
|
36540
|
+
height: clipRoundFunc(chart.plotSizeY - clipOffset[0] - clipOffset[2])
|
|
36541
|
+
};
|
|
36542
|
+
}
|
|
36447
36543
|
if (!skipAxes) {
|
|
36448
36544
|
chart.axes.forEach(function (axis) {
|
|
36449
36545
|
axis.setAxisSize();
|
|
@@ -36461,7 +36557,7 @@
|
|
|
36461
36557
|
*/
|
|
36462
36558
|
resetMargins() {
|
|
36463
36559
|
fireEvent(this, 'resetMargins');
|
|
36464
|
-
const chart = this, chartOptions = chart.options.chart;
|
|
36560
|
+
const chart = this, chartOptions = chart.options.chart, plotBorderWidth = chartOptions.plotBorderWidth || 0, halfWidth = plotBorderWidth / 2;
|
|
36465
36561
|
// Create margin and spacing array
|
|
36466
36562
|
['margin', 'spacing'].forEach(function splashArrays(target) {
|
|
36467
36563
|
const value = chartOptions[target], values = isObject(value) ? value : [value, value, value, value];
|
|
@@ -36480,7 +36576,13 @@
|
|
|
36480
36576
|
chart[m] = pick(chart.margin[side], chart.spacing[side]);
|
|
36481
36577
|
});
|
|
36482
36578
|
chart.axisOffset = [0, 0, 0, 0]; // Top, right, bottom, left
|
|
36483
|
-
chart.clipOffset = [
|
|
36579
|
+
chart.clipOffset = [
|
|
36580
|
+
halfWidth,
|
|
36581
|
+
halfWidth,
|
|
36582
|
+
halfWidth,
|
|
36583
|
+
halfWidth
|
|
36584
|
+
];
|
|
36585
|
+
chart.plotBorderWidth = plotBorderWidth;
|
|
36484
36586
|
}
|
|
36485
36587
|
/**
|
|
36486
36588
|
* Internal function to draw or redraw the borders and backgrounds for chart
|
|
@@ -36723,7 +36825,8 @@
|
|
|
36723
36825
|
chart.setChartSize();
|
|
36724
36826
|
for (const axis of axes) {
|
|
36725
36827
|
const { options } = axis, { labels } = options;
|
|
36726
|
-
if (
|
|
36828
|
+
if (chart.hasCartesianSeries && // #20948
|
|
36829
|
+
axis.horiz &&
|
|
36727
36830
|
axis.visible &&
|
|
36728
36831
|
labels.enabled &&
|
|
36729
36832
|
axis.series.length &&
|
|
@@ -37645,7 +37748,7 @@
|
|
|
37645
37748
|
// Remove active points for shared tooltip
|
|
37646
37749
|
this.hoverPoints?.forEach((point) => point.setState());
|
|
37647
37750
|
for (const axis of axes) {
|
|
37648
|
-
const { horiz, len, minPointOffset = 0, options, reversed } = axis, wh = horiz ? 'width' : 'height', xy = horiz ? 'x' : 'y', toLength = to[wh]
|
|
37751
|
+
const { horiz, len, minPointOffset = 0, options, reversed } = axis, wh = horiz ? 'width' : 'height', xy = horiz ? 'x' : 'y', toLength = pick(to[wh], axis.len), fromLength = pick(from[wh], axis.len),
|
|
37649
37752
|
// If fingers pinched very close on this axis, treat as pan
|
|
37650
37753
|
scale = Math.abs(toLength) < 10 ?
|
|
37651
37754
|
1 :
|
|
@@ -38211,23 +38314,7 @@
|
|
|
38211
38314
|
* @private
|
|
38212
38315
|
*/
|
|
38213
38316
|
moveFixedElements() {
|
|
38214
|
-
const { container, inverted, scrollablePixelsX, scrollablePixelsY } = this.chart, fixedRenderer = this.fixedRenderer, fixedSelectors =
|
|
38215
|
-
'.highcharts-breadcrumbs-group',
|
|
38216
|
-
'.highcharts-contextbutton',
|
|
38217
|
-
'.highcharts-caption',
|
|
38218
|
-
'.highcharts-credits',
|
|
38219
|
-
'.highcharts-legend',
|
|
38220
|
-
'.highcharts-legend-checkbox',
|
|
38221
|
-
'.highcharts-navigator-series',
|
|
38222
|
-
'.highcharts-navigator-xaxis',
|
|
38223
|
-
'.highcharts-navigator-yaxis',
|
|
38224
|
-
'.highcharts-navigator',
|
|
38225
|
-
'.highcharts-reset-zoom',
|
|
38226
|
-
'.highcharts-drillup-button',
|
|
38227
|
-
'.highcharts-scrollbar',
|
|
38228
|
-
'.highcharts-subtitle',
|
|
38229
|
-
'.highcharts-title'
|
|
38230
|
-
];
|
|
38317
|
+
const { container, inverted, scrollablePixelsX, scrollablePixelsY } = this.chart, fixedRenderer = this.fixedRenderer, fixedSelectors = ScrollablePlotArea.fixedSelectors;
|
|
38231
38318
|
let axisClass;
|
|
38232
38319
|
if (scrollablePixelsX && !inverted) {
|
|
38233
38320
|
axisClass = '.highcharts-yaxis';
|
|
@@ -38254,6 +38341,24 @@
|
|
|
38254
38341
|
}
|
|
38255
38342
|
}
|
|
38256
38343
|
}
|
|
38344
|
+
ScrollablePlotArea.fixedSelectors = [
|
|
38345
|
+
'.highcharts-breadcrumbs-group',
|
|
38346
|
+
'.highcharts-contextbutton',
|
|
38347
|
+
'.highcharts-caption',
|
|
38348
|
+
'.highcharts-credits',
|
|
38349
|
+
'.highcharts-drillup-button',
|
|
38350
|
+
'.highcharts-legend',
|
|
38351
|
+
'.highcharts-legend-checkbox',
|
|
38352
|
+
'.highcharts-navigator-series',
|
|
38353
|
+
'.highcharts-navigator-xaxis',
|
|
38354
|
+
'.highcharts-navigator-yaxis',
|
|
38355
|
+
'.highcharts-navigator',
|
|
38356
|
+
'.highcharts-range-selector-group',
|
|
38357
|
+
'.highcharts-reset-zoom',
|
|
38358
|
+
'.highcharts-scrollbar',
|
|
38359
|
+
'.highcharts-subtitle',
|
|
38360
|
+
'.highcharts-title'
|
|
38361
|
+
];
|
|
38257
38362
|
/* *
|
|
38258
38363
|
*
|
|
38259
38364
|
* Default Export
|
|
@@ -39547,7 +39652,248 @@
|
|
|
39547
39652
|
|
|
39548
39653
|
return LineSeries;
|
|
39549
39654
|
});
|
|
39550
|
-
_registerModule(_modules, 'Series/Area/
|
|
39655
|
+
_registerModule(_modules, 'Series/Area/AreaSeriesDefaults.js', [], function () {
|
|
39656
|
+
/* *
|
|
39657
|
+
*
|
|
39658
|
+
* (c) 2010-2024 Torstein Honsi
|
|
39659
|
+
*
|
|
39660
|
+
* License: www.highcharts.com/license
|
|
39661
|
+
*
|
|
39662
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
39663
|
+
*
|
|
39664
|
+
* */
|
|
39665
|
+
/* *
|
|
39666
|
+
*
|
|
39667
|
+
* API Options
|
|
39668
|
+
*
|
|
39669
|
+
* */
|
|
39670
|
+
/**
|
|
39671
|
+
* The area series type.
|
|
39672
|
+
*
|
|
39673
|
+
* @sample {highcharts} highcharts/demo/area-basic/
|
|
39674
|
+
* Area chart
|
|
39675
|
+
* @sample {highstock} stock/demo/area/
|
|
39676
|
+
* Area chart
|
|
39677
|
+
*
|
|
39678
|
+
* @extends plotOptions.line
|
|
39679
|
+
* @excluding useOhlcData
|
|
39680
|
+
* @product highcharts highstock
|
|
39681
|
+
* @optionparent plotOptions.area
|
|
39682
|
+
*/
|
|
39683
|
+
const AreaSeriesDefaults = {
|
|
39684
|
+
/**
|
|
39685
|
+
* @see [fillColor](#plotOptions.area.fillColor)
|
|
39686
|
+
* @see [fillOpacity](#plotOptions.area.fillOpacity)
|
|
39687
|
+
*
|
|
39688
|
+
* @apioption plotOptions.area.color
|
|
39689
|
+
*/
|
|
39690
|
+
/**
|
|
39691
|
+
* Fill color or gradient for the area. When `undefined`, the series'
|
|
39692
|
+
* `color` is used with the series' `fillOpacity`.
|
|
39693
|
+
*
|
|
39694
|
+
* In styled mode, the fill color can be set with the `.highcharts-area`
|
|
39695
|
+
* class name.
|
|
39696
|
+
*
|
|
39697
|
+
* @see [color](#plotOptions.area.color)
|
|
39698
|
+
* @see [fillOpacity](#plotOptions.area.fillOpacity)
|
|
39699
|
+
*
|
|
39700
|
+
* @sample {highcharts} highcharts/plotoptions/area-fillcolor-default/
|
|
39701
|
+
* Undefined by default
|
|
39702
|
+
* @sample {highcharts} highcharts/plotoptions/area-fillcolor-gradient/
|
|
39703
|
+
* Gradient
|
|
39704
|
+
*
|
|
39705
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39706
|
+
* @product highcharts highstock
|
|
39707
|
+
* @apioption plotOptions.area.fillColor
|
|
39708
|
+
*/
|
|
39709
|
+
/**
|
|
39710
|
+
* Fill opacity for the area. When you set an explicit `fillColor`,
|
|
39711
|
+
* the `fillOpacity` is not applied. Instead, you should define the
|
|
39712
|
+
* opacity in the `fillColor` with an rgba color definition. The
|
|
39713
|
+
* `fillOpacity` setting, also the default setting, overrides the alpha
|
|
39714
|
+
* component of the `color` setting.
|
|
39715
|
+
*
|
|
39716
|
+
* In styled mode, the fill opacity can be set with the
|
|
39717
|
+
* `.highcharts-area` class name.
|
|
39718
|
+
*
|
|
39719
|
+
* @see [color](#plotOptions.area.color)
|
|
39720
|
+
* @see [fillColor](#plotOptions.area.fillColor)
|
|
39721
|
+
*
|
|
39722
|
+
* @sample {highcharts} highcharts/plotoptions/area-fillopacity/
|
|
39723
|
+
* Automatic fill color and fill opacity of 0.1
|
|
39724
|
+
*
|
|
39725
|
+
* @type {number}
|
|
39726
|
+
* @default {highcharts} 0.75
|
|
39727
|
+
* @default {highstock} 0.75
|
|
39728
|
+
* @product highcharts highstock
|
|
39729
|
+
* @apioption plotOptions.area.fillOpacity
|
|
39730
|
+
*/
|
|
39731
|
+
/**
|
|
39732
|
+
* A separate color for the graph line. By default the line takes the
|
|
39733
|
+
* `color` of the series, but the lineColor setting allows setting a
|
|
39734
|
+
* separate color for the line without altering the `fillColor`.
|
|
39735
|
+
*
|
|
39736
|
+
* In styled mode, the line stroke can be set with the
|
|
39737
|
+
* `.highcharts-graph` class name.
|
|
39738
|
+
*
|
|
39739
|
+
* @sample {highcharts} highcharts/plotoptions/area-linecolor/
|
|
39740
|
+
* Dark gray line
|
|
39741
|
+
*
|
|
39742
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39743
|
+
* @product highcharts highstock
|
|
39744
|
+
* @apioption plotOptions.area.lineColor
|
|
39745
|
+
*/
|
|
39746
|
+
/**
|
|
39747
|
+
* A separate color for the negative part of the area. Note that `zones`
|
|
39748
|
+
* takes precedence over the negative fill color.
|
|
39749
|
+
*
|
|
39750
|
+
* In styled mode, a negative color is set with the
|
|
39751
|
+
* `.highcharts-negative` class name.
|
|
39752
|
+
*
|
|
39753
|
+
* @see [negativeColor](#plotOptions.area.negativeColor)
|
|
39754
|
+
*
|
|
39755
|
+
* @sample {highcharts} highcharts/css/series-negative-color/
|
|
39756
|
+
* Negative color in styled mode
|
|
39757
|
+
*
|
|
39758
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39759
|
+
* @since 3.0
|
|
39760
|
+
* @product highcharts
|
|
39761
|
+
* @apioption plotOptions.area.negativeFillColor
|
|
39762
|
+
*/
|
|
39763
|
+
/**
|
|
39764
|
+
* Whether the whole area or just the line should respond to mouseover
|
|
39765
|
+
* tooltips and other mouse or touch events.
|
|
39766
|
+
*
|
|
39767
|
+
* @sample {highcharts|highstock} highcharts/plotoptions/area-trackbyarea/
|
|
39768
|
+
* Display the tooltip when the area is hovered
|
|
39769
|
+
*
|
|
39770
|
+
* @type {boolean}
|
|
39771
|
+
* @default false
|
|
39772
|
+
* @since 1.1.6
|
|
39773
|
+
* @product highcharts highstock
|
|
39774
|
+
* @apioption plotOptions.area.trackByArea
|
|
39775
|
+
*/
|
|
39776
|
+
/**
|
|
39777
|
+
* The Y axis value to serve as the base for the area, for
|
|
39778
|
+
* distinguishing between values above and below a threshold. The area
|
|
39779
|
+
* between the graph and the threshold is filled.
|
|
39780
|
+
*
|
|
39781
|
+
* * If a number is given, the Y axis will scale to the threshold.
|
|
39782
|
+
* * If `null`, the scaling behaves like a line series with fill between
|
|
39783
|
+
* the graph and the Y axis minimum.
|
|
39784
|
+
* * If `Infinity` or `-Infinity`, the area between the graph and the
|
|
39785
|
+
* corresponding Y axis extreme is filled (since v6.1.0).
|
|
39786
|
+
*
|
|
39787
|
+
* @sample {highcharts} highcharts/plotoptions/area-threshold/
|
|
39788
|
+
* A threshold of 100
|
|
39789
|
+
* @sample {highcharts} highcharts/plotoptions/area-threshold-infinity/
|
|
39790
|
+
* A threshold of Infinity
|
|
39791
|
+
*
|
|
39792
|
+
* @type {number|null}
|
|
39793
|
+
* @since 2.0
|
|
39794
|
+
* @product highcharts highstock
|
|
39795
|
+
*/
|
|
39796
|
+
threshold: 0,
|
|
39797
|
+
legendSymbol: 'areaMarker'
|
|
39798
|
+
};
|
|
39799
|
+
/**
|
|
39800
|
+
* A `area` series. If the [type](#series.area.type) option is not
|
|
39801
|
+
* specified, it is inherited from [chart.type](#chart.type).
|
|
39802
|
+
*
|
|
39803
|
+
* @extends series,plotOptions.area
|
|
39804
|
+
* @excluding dataParser, dataURL, useOhlcData
|
|
39805
|
+
* @product highcharts highstock
|
|
39806
|
+
* @apioption series.area
|
|
39807
|
+
*/
|
|
39808
|
+
/**
|
|
39809
|
+
* @see [fillColor](#series.area.fillColor)
|
|
39810
|
+
* @see [fillOpacity](#series.area.fillOpacity)
|
|
39811
|
+
*
|
|
39812
|
+
* @apioption series.area.color
|
|
39813
|
+
*/
|
|
39814
|
+
/**
|
|
39815
|
+
* An array of data points for the series. For the `area` series type,
|
|
39816
|
+
* points can be given in the following ways:
|
|
39817
|
+
*
|
|
39818
|
+
* 1. An array of numerical values. In this case, the numerical values will be
|
|
39819
|
+
* interpreted as `y` options. The `x` values will be automatically
|
|
39820
|
+
* calculated, either starting at 0 and incremented by 1, or from
|
|
39821
|
+
* `pointStart` * and `pointInterval` given in the series options. If the
|
|
39822
|
+
* axis has categories, these will be used. Example:
|
|
39823
|
+
* ```js
|
|
39824
|
+
* data: [0, 5, 3, 5]
|
|
39825
|
+
* ```
|
|
39826
|
+
*
|
|
39827
|
+
* 2. An array of arrays with 2 values. In this case, the values correspond to
|
|
39828
|
+
* `x,y`. If the first value is a string, it is applied as the name of the
|
|
39829
|
+
* point, and the `x` value is inferred.
|
|
39830
|
+
* ```js
|
|
39831
|
+
* data: [
|
|
39832
|
+
* [0, 9],
|
|
39833
|
+
* [1, 7],
|
|
39834
|
+
* [2, 6]
|
|
39835
|
+
* ]
|
|
39836
|
+
* ```
|
|
39837
|
+
*
|
|
39838
|
+
* 3. An array of objects with named values. The following snippet shows only a
|
|
39839
|
+
* few settings, see the complete options set below. If the total number of
|
|
39840
|
+
* data points exceeds the series'
|
|
39841
|
+
* [turboThreshold](#series.area.turboThreshold), this option is not
|
|
39842
|
+
* available.
|
|
39843
|
+
* ```js
|
|
39844
|
+
* data: [{
|
|
39845
|
+
* x: 1,
|
|
39846
|
+
* y: 9,
|
|
39847
|
+
* name: "Point2",
|
|
39848
|
+
* color: "#00FF00"
|
|
39849
|
+
* }, {
|
|
39850
|
+
* x: 1,
|
|
39851
|
+
* y: 6,
|
|
39852
|
+
* name: "Point1",
|
|
39853
|
+
* color: "#FF00FF"
|
|
39854
|
+
* }]
|
|
39855
|
+
* ```
|
|
39856
|
+
*
|
|
39857
|
+
* @sample {highcharts} highcharts/chart/reflow-true/
|
|
39858
|
+
* Numerical values
|
|
39859
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays/
|
|
39860
|
+
* Arrays of numeric x and y
|
|
39861
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
|
|
39862
|
+
* Arrays of datetime x and y
|
|
39863
|
+
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
|
39864
|
+
* Arrays of point.name and y
|
|
39865
|
+
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
|
39866
|
+
* Config objects
|
|
39867
|
+
*
|
|
39868
|
+
* @type {Array<number|Array<(number|string),(number|null)>|null|*>}
|
|
39869
|
+
* @extends series.line.data
|
|
39870
|
+
* @product highcharts highstock
|
|
39871
|
+
* @apioption series.area.data
|
|
39872
|
+
*/
|
|
39873
|
+
/**
|
|
39874
|
+
* @see [color](#series.area.color)
|
|
39875
|
+
* @see [fillOpacity](#series.area.fillOpacity)
|
|
39876
|
+
*
|
|
39877
|
+
* @apioption series.area.fillColor
|
|
39878
|
+
*/
|
|
39879
|
+
/**
|
|
39880
|
+
* @see [color](#series.area.color)
|
|
39881
|
+
* @see [fillColor](#series.area.fillColor)
|
|
39882
|
+
*
|
|
39883
|
+
* @default {highcharts} 0.75
|
|
39884
|
+
* @default {highstock} 0.75
|
|
39885
|
+
* @apioption series.area.fillOpacity
|
|
39886
|
+
*/
|
|
39887
|
+
''; // Adds doclets above to transpiled
|
|
39888
|
+
/* *
|
|
39889
|
+
*
|
|
39890
|
+
* Default Export
|
|
39891
|
+
*
|
|
39892
|
+
* */
|
|
39893
|
+
|
|
39894
|
+
return AreaSeriesDefaults;
|
|
39895
|
+
});
|
|
39896
|
+
_registerModule(_modules, 'Series/Area/AreaSeries.js', [_modules['Series/Area/AreaSeriesDefaults.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (AreaSeriesDefaults, SeriesRegistry, U) {
|
|
39551
39897
|
/* *
|
|
39552
39898
|
*
|
|
39553
39899
|
* (c) 2010-2024 Torstein Honsi
|
|
@@ -39860,134 +40206,7 @@
|
|
|
39860
40206
|
* Static Properties
|
|
39861
40207
|
*
|
|
39862
40208
|
* */
|
|
39863
|
-
|
|
39864
|
-
* The area series type.
|
|
39865
|
-
*
|
|
39866
|
-
* @sample {highcharts} highcharts/demo/area-basic/
|
|
39867
|
-
* Area chart
|
|
39868
|
-
* @sample {highstock} stock/demo/area/
|
|
39869
|
-
* Area chart
|
|
39870
|
-
*
|
|
39871
|
-
* @extends plotOptions.line
|
|
39872
|
-
* @excluding useOhlcData
|
|
39873
|
-
* @product highcharts highstock
|
|
39874
|
-
* @optionparent plotOptions.area
|
|
39875
|
-
*/
|
|
39876
|
-
AreaSeries.defaultOptions = merge(LineSeries.defaultOptions, {
|
|
39877
|
-
/**
|
|
39878
|
-
* @see [fillColor](#plotOptions.area.fillColor)
|
|
39879
|
-
* @see [fillOpacity](#plotOptions.area.fillOpacity)
|
|
39880
|
-
*
|
|
39881
|
-
* @apioption plotOptions.area.color
|
|
39882
|
-
*/
|
|
39883
|
-
/**
|
|
39884
|
-
* Fill color or gradient for the area. When `undefined`, the series'
|
|
39885
|
-
* `color` is used with the series' `fillOpacity`.
|
|
39886
|
-
*
|
|
39887
|
-
* In styled mode, the fill color can be set with the `.highcharts-area`
|
|
39888
|
-
* class name.
|
|
39889
|
-
*
|
|
39890
|
-
* @see [color](#plotOptions.area.color)
|
|
39891
|
-
* @see [fillOpacity](#plotOptions.area.fillOpacity)
|
|
39892
|
-
*
|
|
39893
|
-
* @sample {highcharts} highcharts/plotoptions/area-fillcolor-default/
|
|
39894
|
-
* Undefined by default
|
|
39895
|
-
* @sample {highcharts} highcharts/plotoptions/area-fillcolor-gradient/
|
|
39896
|
-
* Gradient
|
|
39897
|
-
*
|
|
39898
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39899
|
-
* @product highcharts highstock
|
|
39900
|
-
* @apioption plotOptions.area.fillColor
|
|
39901
|
-
*/
|
|
39902
|
-
/**
|
|
39903
|
-
* Fill opacity for the area. When you set an explicit `fillColor`,
|
|
39904
|
-
* the `fillOpacity` is not applied. Instead, you should define the
|
|
39905
|
-
* opacity in the `fillColor` with an rgba color definition. The
|
|
39906
|
-
* `fillOpacity` setting, also the default setting, overrides the alpha
|
|
39907
|
-
* component of the `color` setting.
|
|
39908
|
-
*
|
|
39909
|
-
* In styled mode, the fill opacity can be set with the
|
|
39910
|
-
* `.highcharts-area` class name.
|
|
39911
|
-
*
|
|
39912
|
-
* @see [color](#plotOptions.area.color)
|
|
39913
|
-
* @see [fillColor](#plotOptions.area.fillColor)
|
|
39914
|
-
*
|
|
39915
|
-
* @sample {highcharts} highcharts/plotoptions/area-fillopacity/
|
|
39916
|
-
* Automatic fill color and fill opacity of 0.1
|
|
39917
|
-
*
|
|
39918
|
-
* @type {number}
|
|
39919
|
-
* @default {highcharts} 0.75
|
|
39920
|
-
* @default {highstock} 0.75
|
|
39921
|
-
* @product highcharts highstock
|
|
39922
|
-
* @apioption plotOptions.area.fillOpacity
|
|
39923
|
-
*/
|
|
39924
|
-
/**
|
|
39925
|
-
* A separate color for the graph line. By default the line takes the
|
|
39926
|
-
* `color` of the series, but the lineColor setting allows setting a
|
|
39927
|
-
* separate color for the line without altering the `fillColor`.
|
|
39928
|
-
*
|
|
39929
|
-
* In styled mode, the line stroke can be set with the
|
|
39930
|
-
* `.highcharts-graph` class name.
|
|
39931
|
-
*
|
|
39932
|
-
* @sample {highcharts} highcharts/plotoptions/area-linecolor/
|
|
39933
|
-
* Dark gray line
|
|
39934
|
-
*
|
|
39935
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39936
|
-
* @product highcharts highstock
|
|
39937
|
-
* @apioption plotOptions.area.lineColor
|
|
39938
|
-
*/
|
|
39939
|
-
/**
|
|
39940
|
-
* A separate color for the negative part of the area.
|
|
39941
|
-
*
|
|
39942
|
-
* In styled mode, a negative color is set with the
|
|
39943
|
-
* `.highcharts-negative` class name.
|
|
39944
|
-
*
|
|
39945
|
-
* @see [negativeColor](#plotOptions.area.negativeColor)
|
|
39946
|
-
*
|
|
39947
|
-
* @sample {highcharts} highcharts/css/series-negative-color/
|
|
39948
|
-
* Negative color in styled mode
|
|
39949
|
-
*
|
|
39950
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
39951
|
-
* @since 3.0
|
|
39952
|
-
* @product highcharts
|
|
39953
|
-
* @apioption plotOptions.area.negativeFillColor
|
|
39954
|
-
*/
|
|
39955
|
-
/**
|
|
39956
|
-
* Whether the whole area or just the line should respond to mouseover
|
|
39957
|
-
* tooltips and other mouse or touch events.
|
|
39958
|
-
*
|
|
39959
|
-
* @sample {highcharts|highstock} highcharts/plotoptions/area-trackbyarea/
|
|
39960
|
-
* Display the tooltip when the area is hovered
|
|
39961
|
-
*
|
|
39962
|
-
* @type {boolean}
|
|
39963
|
-
* @default false
|
|
39964
|
-
* @since 1.1.6
|
|
39965
|
-
* @product highcharts highstock
|
|
39966
|
-
* @apioption plotOptions.area.trackByArea
|
|
39967
|
-
*/
|
|
39968
|
-
/**
|
|
39969
|
-
* The Y axis value to serve as the base for the area, for
|
|
39970
|
-
* distinguishing between values above and below a threshold. The area
|
|
39971
|
-
* between the graph and the threshold is filled.
|
|
39972
|
-
*
|
|
39973
|
-
* * If a number is given, the Y axis will scale to the threshold.
|
|
39974
|
-
* * If `null`, the scaling behaves like a line series with fill between
|
|
39975
|
-
* the graph and the Y axis minimum.
|
|
39976
|
-
* * If `Infinity` or `-Infinity`, the area between the graph and the
|
|
39977
|
-
* corresponding Y axis extreme is filled (since v6.1.0).
|
|
39978
|
-
*
|
|
39979
|
-
* @sample {highcharts} highcharts/plotoptions/area-threshold/
|
|
39980
|
-
* A threshold of 100
|
|
39981
|
-
* @sample {highcharts} highcharts/plotoptions/area-threshold-infinity/
|
|
39982
|
-
* A threshold of Infinity
|
|
39983
|
-
*
|
|
39984
|
-
* @type {number|null}
|
|
39985
|
-
* @since 2.0
|
|
39986
|
-
* @product highcharts highstock
|
|
39987
|
-
*/
|
|
39988
|
-
threshold: 0,
|
|
39989
|
-
legendSymbol: 'areaMarker'
|
|
39990
|
-
});
|
|
40209
|
+
AreaSeries.defaultOptions = merge(LineSeries.defaultOptions, AreaSeriesDefaults);
|
|
39991
40210
|
extend(AreaSeries.prototype, {
|
|
39992
40211
|
singleStacks: false
|
|
39993
40212
|
});
|
|
@@ -39997,100 +40216,6 @@
|
|
|
39997
40216
|
* Default Export
|
|
39998
40217
|
*
|
|
39999
40218
|
* */
|
|
40000
|
-
/* *
|
|
40001
|
-
*
|
|
40002
|
-
* API Options
|
|
40003
|
-
*
|
|
40004
|
-
* */
|
|
40005
|
-
/**
|
|
40006
|
-
* A `area` series. If the [type](#series.area.type) option is not
|
|
40007
|
-
* specified, it is inherited from [chart.type](#chart.type).
|
|
40008
|
-
*
|
|
40009
|
-
* @extends series,plotOptions.area
|
|
40010
|
-
* @excluding dataParser, dataURL, useOhlcData
|
|
40011
|
-
* @product highcharts highstock
|
|
40012
|
-
* @apioption series.area
|
|
40013
|
-
*/
|
|
40014
|
-
/**
|
|
40015
|
-
* @see [fillColor](#series.area.fillColor)
|
|
40016
|
-
* @see [fillOpacity](#series.area.fillOpacity)
|
|
40017
|
-
*
|
|
40018
|
-
* @apioption series.area.color
|
|
40019
|
-
*/
|
|
40020
|
-
/**
|
|
40021
|
-
* An array of data points for the series. For the `area` series type,
|
|
40022
|
-
* points can be given in the following ways:
|
|
40023
|
-
*
|
|
40024
|
-
* 1. An array of numerical values. In this case, the numerical values will be
|
|
40025
|
-
* interpreted as `y` options. The `x` values will be automatically
|
|
40026
|
-
* calculated, either starting at 0 and incremented by 1, or from
|
|
40027
|
-
* `pointStart` * and `pointInterval` given in the series options. If the
|
|
40028
|
-
* axis has categories, these will be used. Example:
|
|
40029
|
-
* ```js
|
|
40030
|
-
* data: [0, 5, 3, 5]
|
|
40031
|
-
* ```
|
|
40032
|
-
*
|
|
40033
|
-
* 2. An array of arrays with 2 values. In this case, the values correspond to
|
|
40034
|
-
* `x,y`. If the first value is a string, it is applied as the name of the
|
|
40035
|
-
* point, and the `x` value is inferred.
|
|
40036
|
-
* ```js
|
|
40037
|
-
* data: [
|
|
40038
|
-
* [0, 9],
|
|
40039
|
-
* [1, 7],
|
|
40040
|
-
* [2, 6]
|
|
40041
|
-
* ]
|
|
40042
|
-
* ```
|
|
40043
|
-
*
|
|
40044
|
-
* 3. An array of objects with named values. The following snippet shows only a
|
|
40045
|
-
* few settings, see the complete options set below. If the total number of
|
|
40046
|
-
* data points exceeds the series'
|
|
40047
|
-
* [turboThreshold](#series.area.turboThreshold), this option is not
|
|
40048
|
-
* available.
|
|
40049
|
-
* ```js
|
|
40050
|
-
* data: [{
|
|
40051
|
-
* x: 1,
|
|
40052
|
-
* y: 9,
|
|
40053
|
-
* name: "Point2",
|
|
40054
|
-
* color: "#00FF00"
|
|
40055
|
-
* }, {
|
|
40056
|
-
* x: 1,
|
|
40057
|
-
* y: 6,
|
|
40058
|
-
* name: "Point1",
|
|
40059
|
-
* color: "#FF00FF"
|
|
40060
|
-
* }]
|
|
40061
|
-
* ```
|
|
40062
|
-
*
|
|
40063
|
-
* @sample {highcharts} highcharts/chart/reflow-true/
|
|
40064
|
-
* Numerical values
|
|
40065
|
-
* @sample {highcharts} highcharts/series/data-array-of-arrays/
|
|
40066
|
-
* Arrays of numeric x and y
|
|
40067
|
-
* @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
|
|
40068
|
-
* Arrays of datetime x and y
|
|
40069
|
-
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
|
40070
|
-
* Arrays of point.name and y
|
|
40071
|
-
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
|
40072
|
-
* Config objects
|
|
40073
|
-
*
|
|
40074
|
-
* @type {Array<number|Array<(number|string),(number|null)>|null|*>}
|
|
40075
|
-
* @extends series.line.data
|
|
40076
|
-
* @product highcharts highstock
|
|
40077
|
-
* @apioption series.area.data
|
|
40078
|
-
*/
|
|
40079
|
-
/**
|
|
40080
|
-
* @see [color](#series.area.color)
|
|
40081
|
-
* @see [fillOpacity](#series.area.fillOpacity)
|
|
40082
|
-
*
|
|
40083
|
-
* @apioption series.area.fillColor
|
|
40084
|
-
*/
|
|
40085
|
-
/**
|
|
40086
|
-
* @see [color](#series.area.color)
|
|
40087
|
-
* @see [fillColor](#series.area.fillColor)
|
|
40088
|
-
*
|
|
40089
|
-
* @default {highcharts} 0.75
|
|
40090
|
-
* @default {highstock} 0.75
|
|
40091
|
-
* @apioption series.area.fillOpacity
|
|
40092
|
-
*/
|
|
40093
|
-
''; // Adds doclets above to transpiled
|
|
40094
40219
|
|
|
40095
40220
|
return AreaSeries;
|
|
40096
40221
|
});
|
|
@@ -41049,7 +41174,7 @@
|
|
|
41049
41174
|
const { animObject } = A;
|
|
41050
41175
|
const { parse: color } = Color;
|
|
41051
41176
|
const { noop } = H;
|
|
41052
|
-
const { clamp, defined, extend, fireEvent, isArray, isNumber, merge, pick, objectEach } = U;
|
|
41177
|
+
const { clamp, crisp, defined, extend, fireEvent, isArray, isNumber, merge, pick, objectEach } = U;
|
|
41053
41178
|
/* *
|
|
41054
41179
|
*
|
|
41055
41180
|
* Class
|
|
@@ -41081,17 +41206,27 @@
|
|
|
41081
41206
|
* Whether to initialize the animation or run it
|
|
41082
41207
|
*/
|
|
41083
41208
|
animate(init) {
|
|
41084
|
-
const series = this, yAxis = this.yAxis, yAxisPos = yAxis.pos, options = series.options, inverted = this.chart
|
|
41209
|
+
const series = this, yAxis = this.yAxis, yAxisPos = yAxis.pos, reversed = yAxis.reversed, options = series.options, { clipOffset, inverted } = this.chart, attr = {}, translateProp = inverted ?
|
|
41085
41210
|
'translateX' :
|
|
41086
41211
|
'translateY';
|
|
41087
41212
|
let translateStart, translatedThreshold;
|
|
41088
|
-
if (init) {
|
|
41213
|
+
if (init && clipOffset) {
|
|
41089
41214
|
attr.scaleY = 0.001;
|
|
41090
41215
|
translatedThreshold = clamp(yAxis.toPixels(options.threshold), yAxisPos, yAxisPos + yAxis.len);
|
|
41091
41216
|
if (inverted) {
|
|
41217
|
+
// Make sure the columns don't cover the axis line during
|
|
41218
|
+
// entrance animation
|
|
41219
|
+
translatedThreshold += reversed ?
|
|
41220
|
+
-Math.floor(clipOffset[0]) :
|
|
41221
|
+
Math.ceil(clipOffset[2]);
|
|
41092
41222
|
attr.translateX = translatedThreshold - yAxis.len;
|
|
41093
41223
|
}
|
|
41094
41224
|
else {
|
|
41225
|
+
// Make sure the columns don't cover the axis line during
|
|
41226
|
+
// entrance animation
|
|
41227
|
+
translatedThreshold += reversed ?
|
|
41228
|
+
Math.ceil(clipOffset[0]) :
|
|
41229
|
+
-Math.floor(clipOffset[2]);
|
|
41095
41230
|
attr.translateY = translatedThreshold;
|
|
41096
41231
|
}
|
|
41097
41232
|
// Apply final clipping (used in Highcharts Stock) (#7083)
|
|
@@ -41211,31 +41346,19 @@
|
|
|
41211
41346
|
* @private
|
|
41212
41347
|
* @function Highcharts.seriesTypes.column#crispCol
|
|
41213
41348
|
*/
|
|
41214
|
-
crispCol(x, y,
|
|
41215
|
-
const borderWidth = this.borderWidth,
|
|
41216
|
-
|
|
41349
|
+
crispCol(x, y, width, height) {
|
|
41350
|
+
const borderWidth = this.borderWidth, inverted = this.chart.inverted, bottom = crisp(y + height, borderWidth, inverted);
|
|
41351
|
+
// Vertical
|
|
41352
|
+
y = crisp(y, borderWidth, inverted);
|
|
41353
|
+
height = bottom - y;
|
|
41217
41354
|
// Horizontal. We need to first compute the exact right edge, then
|
|
41218
41355
|
// round it and compute the width from there.
|
|
41219
41356
|
if (this.options.crisp) {
|
|
41220
|
-
right =
|
|
41221
|
-
x =
|
|
41222
|
-
|
|
41223
|
-
}
|
|
41224
|
-
// Vertical
|
|
41225
|
-
const bottom = Math.round(y + h) + yCrisp, fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
|
|
41226
|
-
y = Math.round(y) + yCrisp;
|
|
41227
|
-
h = bottom - y;
|
|
41228
|
-
// Top edges are exceptions
|
|
41229
|
-
if (fromTop && h) { // #5146
|
|
41230
|
-
y -= 1;
|
|
41231
|
-
h += 1;
|
|
41357
|
+
const right = crisp(x + width, borderWidth);
|
|
41358
|
+
x = crisp(x, borderWidth);
|
|
41359
|
+
width = right - x;
|
|
41232
41360
|
}
|
|
41233
|
-
return {
|
|
41234
|
-
x: x,
|
|
41235
|
-
y: y,
|
|
41236
|
-
width: w,
|
|
41237
|
-
height: h
|
|
41238
|
-
};
|
|
41361
|
+
return { x, y, width, height };
|
|
41239
41362
|
}
|
|
41240
41363
|
/**
|
|
41241
41364
|
* Adjust for missing columns, according to the `centerInCategory`
|
|
@@ -41317,14 +41440,11 @@
|
|
|
41317
41440
|
translate() {
|
|
41318
41441
|
const series = this, chart = series.chart, options = series.options, dense = series.dense =
|
|
41319
41442
|
series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth = pick(options.borderWidth, dense ? 0 : 1 // #3635
|
|
41320
|
-
), xAxis = series.xAxis, yAxis = series.yAxis, threshold = options.threshold, minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width, seriesXOffset = series.pointXOffset = metrics.offset, dataMin = series.dataMin, dataMax = series.dataMax
|
|
41443
|
+
), xAxis = series.xAxis, yAxis = series.yAxis, threshold = options.threshold, minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width, seriesXOffset = series.pointXOffset = metrics.offset, dataMin = series.dataMin, dataMax = series.dataMax, translatedThreshold = series.translatedThreshold =
|
|
41444
|
+
yAxis.getThreshold(threshold);
|
|
41321
41445
|
// Postprocessed for border width
|
|
41322
41446
|
let seriesBarW = series.barW =
|
|
41323
|
-
Math.max(seriesPointWidth, 1 + 2 * borderWidth)
|
|
41324
|
-
yAxis.getThreshold(threshold);
|
|
41325
|
-
if (chart.inverted) {
|
|
41326
|
-
translatedThreshold -= 0.5; // #3355
|
|
41327
|
-
}
|
|
41447
|
+
Math.max(seriesPointWidth, 1 + 2 * borderWidth);
|
|
41328
41448
|
// When the pointPadding is 0, we want the columns to be packed
|
|
41329
41449
|
// tightly, so we allow individual columns to have individual sizes.
|
|
41330
41450
|
// When pointPadding is greater, we strive for equal-width columns
|
|
@@ -41704,7 +41824,7 @@
|
|
|
41704
41824
|
* @private
|
|
41705
41825
|
*/
|
|
41706
41826
|
function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
|
|
41707
|
-
const series = this, chart = this
|
|
41827
|
+
const series = this, { chart, enabledDataSorting } = this, inverted = this.isCartesian && chart.inverted, plotX = point.plotX, plotY = point.plotY, rotation = options.rotation || 0, isInsidePlot = defined(plotX) &&
|
|
41708
41828
|
defined(plotY) &&
|
|
41709
41829
|
chart.isInsidePlot(plotX, Math.round(plotY), {
|
|
41710
41830
|
inverted,
|
|
@@ -41724,10 +41844,10 @@
|
|
|
41724
41844
|
(enabledDataSorting && !justify) ||
|
|
41725
41845
|
isInsidePlot ||
|
|
41726
41846
|
(
|
|
41727
|
-
// If the data label is inside the align box, it is
|
|
41728
|
-
//
|
|
41729
|
-
//
|
|
41730
|
-
//
|
|
41847
|
+
// If the data label is inside the align box, it is enough
|
|
41848
|
+
// that parts of the align box is inside the plot area
|
|
41849
|
+
// (#12370). When stacking, it is always inside regardless
|
|
41850
|
+
// of the option (#15148).
|
|
41731
41851
|
pick(options.inside, !!this.options.stacking) &&
|
|
41732
41852
|
alignTo &&
|
|
41733
41853
|
chart.isInsidePlot(plotX, inverted ?
|
|
@@ -41753,6 +41873,11 @@
|
|
|
41753
41873
|
width: 0,
|
|
41754
41874
|
height: 0
|
|
41755
41875
|
}, alignTo || {});
|
|
41876
|
+
// Align to plot edges
|
|
41877
|
+
if (options.alignTo === 'plotEdges' && series.isCartesian) {
|
|
41878
|
+
alignTo[inverted ? 'x' : 'y'] = 0;
|
|
41879
|
+
alignTo[inverted ? 'width' : 'height'] = this.yAxis?.len || 0;
|
|
41880
|
+
}
|
|
41756
41881
|
// Add the text size for alignment calculation
|
|
41757
41882
|
extend(options, {
|
|
41758
41883
|
width: bBox.width,
|
|
@@ -42090,10 +42215,12 @@
|
|
|
42090
42215
|
* @private
|
|
42091
42216
|
*/
|
|
42092
42217
|
function justifyDataLabel(dataLabel, options, alignAttr, bBox, alignTo, isNew) {
|
|
42093
|
-
const chart = this.chart, align = options.align, verticalAlign = options.verticalAlign, padding = dataLabel.box ? 0 : (dataLabel.padding || 0)
|
|
42218
|
+
const chart = this.chart, align = options.align, verticalAlign = options.verticalAlign, padding = dataLabel.box ? 0 : (dataLabel.padding || 0), horizontalAxis = chart.inverted ? this.yAxis : this.xAxis, horizontalAxisShift = horizontalAxis ?
|
|
42219
|
+
horizontalAxis.left - chart.plotLeft : 0, verticalAxis = chart.inverted ? this.xAxis : this.yAxis, verticalAxisShift = verticalAxis ?
|
|
42220
|
+
verticalAxis.top - chart.plotTop : 0;
|
|
42094
42221
|
let { x = 0, y = 0 } = options, off, justified;
|
|
42095
42222
|
// Off left
|
|
42096
|
-
off = (alignAttr.x || 0) + padding;
|
|
42223
|
+
off = (alignAttr.x || 0) + padding + horizontalAxisShift;
|
|
42097
42224
|
if (off < 0) {
|
|
42098
42225
|
if (align === 'right' && x >= 0) {
|
|
42099
42226
|
options.align = 'left';
|
|
@@ -42105,7 +42232,7 @@
|
|
|
42105
42232
|
justified = true;
|
|
42106
42233
|
}
|
|
42107
42234
|
// Off right
|
|
42108
|
-
off = (alignAttr.x || 0) + bBox.width - padding;
|
|
42235
|
+
off = (alignAttr.x || 0) + bBox.width - padding + horizontalAxisShift;
|
|
42109
42236
|
if (off > chart.plotWidth) {
|
|
42110
42237
|
if (align === 'left' && x <= 0) {
|
|
42111
42238
|
options.align = 'right';
|
|
@@ -42117,7 +42244,7 @@
|
|
|
42117
42244
|
justified = true;
|
|
42118
42245
|
}
|
|
42119
42246
|
// Off top
|
|
42120
|
-
off = alignAttr.y + padding;
|
|
42247
|
+
off = alignAttr.y + padding + verticalAxisShift;
|
|
42121
42248
|
if (off < 0) {
|
|
42122
42249
|
if (verticalAlign === 'bottom' && y >= 0) {
|
|
42123
42250
|
options.verticalAlign = 'top';
|
|
@@ -42129,7 +42256,7 @@
|
|
|
42129
42256
|
justified = true;
|
|
42130
42257
|
}
|
|
42131
42258
|
// Off bottom
|
|
42132
|
-
off = (alignAttr.y || 0) + bBox.height - padding;
|
|
42259
|
+
off = (alignAttr.y || 0) + bBox.height - padding + verticalAxisShift;
|
|
42133
42260
|
if (off > chart.plotHeight) {
|
|
42134
42261
|
if (verticalAlign === 'top' && y <= 0) {
|
|
42135
42262
|
options.verticalAlign = 'bottom';
|
|
@@ -42309,7 +42436,7 @@
|
|
|
42309
42436
|
// If parts of the box overshoots outside the plot area, modify
|
|
42310
42437
|
// the box to center the label inside
|
|
42311
42438
|
const overshoot = alignTo.y + alignTo.height - yLen;
|
|
42312
|
-
if (overshoot > 0 && overshoot < alignTo.height) {
|
|
42439
|
+
if (overshoot > 0 && overshoot < alignTo.height - 1) {
|
|
42313
42440
|
alignTo.height -= overshoot;
|
|
42314
42441
|
}
|
|
42315
42442
|
}
|
|
@@ -46020,6 +46147,15 @@
|
|
|
46020
46147
|
* @since 6.0.0
|
|
46021
46148
|
*/
|
|
46022
46149
|
width: 7,
|
|
46150
|
+
/**
|
|
46151
|
+
* Border radius of the handles.
|
|
46152
|
+
*
|
|
46153
|
+
* @sample {highstock} stock/navigator/handles-border-radius/
|
|
46154
|
+
* Border radius on the navigator handles.
|
|
46155
|
+
*
|
|
46156
|
+
* @since 11.4.2
|
|
46157
|
+
*/
|
|
46158
|
+
borderRadius: 0,
|
|
46023
46159
|
/**
|
|
46024
46160
|
* Height for handles.
|
|
46025
46161
|
*
|
|
@@ -46331,6 +46467,7 @@
|
|
|
46331
46467
|
tickLength: 0,
|
|
46332
46468
|
lineWidth: 0,
|
|
46333
46469
|
gridLineColor: "#e6e6e6" /* Palette.neutralColor10 */,
|
|
46470
|
+
id: 'navigator-x-axis',
|
|
46334
46471
|
gridLineWidth: 1,
|
|
46335
46472
|
tickPixelInterval: 200,
|
|
46336
46473
|
labels: {
|
|
@@ -46384,6 +46521,7 @@
|
|
|
46384
46521
|
startOnTick: false,
|
|
46385
46522
|
endOnTick: false,
|
|
46386
46523
|
minPadding: 0.1,
|
|
46524
|
+
id: 'navigator-y-axis',
|
|
46387
46525
|
maxPadding: 0.1,
|
|
46388
46526
|
labels: {
|
|
46389
46527
|
enabled: false
|
|
@@ -46422,7 +46560,7 @@
|
|
|
46422
46560
|
|
|
46423
46561
|
return NavigatorDefaults;
|
|
46424
46562
|
});
|
|
46425
|
-
_registerModule(_modules, 'Stock/Navigator/NavigatorSymbols.js', [], function () {
|
|
46563
|
+
_registerModule(_modules, 'Stock/Navigator/NavigatorSymbols.js', [_modules['Core/Renderer/SVG/Symbols.js'], _modules['Core/Utilities.js']], function (rect, U) {
|
|
46426
46564
|
/* *
|
|
46427
46565
|
*
|
|
46428
46566
|
* (c) 2010-2024 Torstein Honsi
|
|
@@ -46432,6 +46570,7 @@
|
|
|
46432
46570
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
46433
46571
|
*
|
|
46434
46572
|
* */
|
|
46573
|
+
const { relativeLength } = U;
|
|
46435
46574
|
/* *
|
|
46436
46575
|
*
|
|
46437
46576
|
* Constants
|
|
@@ -46442,18 +46581,14 @@
|
|
|
46442
46581
|
* @private
|
|
46443
46582
|
*/
|
|
46444
46583
|
function navigatorHandle(_x, _y, width, height, options = {}) {
|
|
46445
|
-
const halfWidth = options.width ? options.width / 2 : width, markerPosition = Math.
|
|
46584
|
+
const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(options.borderRadius || 0, Math.min(halfWidth * 2, height));
|
|
46446
46585
|
height = options.height || height;
|
|
46447
46586
|
return [
|
|
46448
|
-
['M', -
|
|
46449
|
-
['L',
|
|
46450
|
-
['
|
|
46451
|
-
['L',
|
|
46452
|
-
|
|
46453
|
-
['M', -markerPosition, 4],
|
|
46454
|
-
['L', -markerPosition, height - 3],
|
|
46455
|
-
['M', markerPosition - 1, 4],
|
|
46456
|
-
['L', markerPosition - 1, height - 3]
|
|
46587
|
+
['M', -markerPosition, height / 2 - 3.5],
|
|
46588
|
+
['L', -markerPosition, height / 2 + 4.5],
|
|
46589
|
+
['M', markerPosition - 1, height / 2 - 3.5],
|
|
46590
|
+
['L', markerPosition - 1, height / 2 + 4.5],
|
|
46591
|
+
...rect.rect(-halfWidth - 1, 0.5, halfWidth * 2 + 1, height, { r })
|
|
46457
46592
|
];
|
|
46458
46593
|
}
|
|
46459
46594
|
/* *
|
|
@@ -47006,7 +47141,7 @@
|
|
|
47006
47141
|
*
|
|
47007
47142
|
* */
|
|
47008
47143
|
const { defaultOptions } = D;
|
|
47009
|
-
const { addEvent, correctFloat, defined, destroyObjectProperties, fireEvent, merge, pick, removeEvent } = U;
|
|
47144
|
+
const { addEvent, correctFloat, crisp, defined, destroyObjectProperties, fireEvent, merge, pick, removeEvent } = U;
|
|
47010
47145
|
/* *
|
|
47011
47146
|
*
|
|
47012
47147
|
* Constants
|
|
@@ -47238,9 +47373,8 @@
|
|
|
47238
47373
|
rect.attr(rect.crisp({
|
|
47239
47374
|
x: -0.5,
|
|
47240
47375
|
y: -0.5,
|
|
47241
|
-
|
|
47242
|
-
|
|
47243
|
-
height: size + 1,
|
|
47376
|
+
width: size,
|
|
47377
|
+
height: size,
|
|
47244
47378
|
r: options.buttonBorderRadius
|
|
47245
47379
|
}, rect.strokeWidth()));
|
|
47246
47380
|
// Button arrow
|
|
@@ -47450,8 +47584,8 @@
|
|
|
47450
47584
|
const trackBorderWidth = scroller.trackBorderWidth =
|
|
47451
47585
|
scroller.track.strokeWidth();
|
|
47452
47586
|
scroller.track.attr({
|
|
47453
|
-
x: -trackBorderWidth
|
|
47454
|
-
y: -trackBorderWidth
|
|
47587
|
+
x: -crisp(0, trackBorderWidth),
|
|
47588
|
+
y: -crisp(0, trackBorderWidth)
|
|
47455
47589
|
});
|
|
47456
47590
|
// Draw the scrollbar itself
|
|
47457
47591
|
scroller.scrollbarGroup = renderer.g().add(group);
|
|
@@ -47485,7 +47619,7 @@
|
|
|
47485
47619
|
});
|
|
47486
47620
|
}
|
|
47487
47621
|
scroller.scrollbarStrokeWidth = scroller.scrollbar.strokeWidth();
|
|
47488
|
-
scroller.scrollbarGroup.translate(-scroller.scrollbarStrokeWidth
|
|
47622
|
+
scroller.scrollbarGroup.translate(-crisp(0, scroller.scrollbarStrokeWidth), -crisp(0, scroller.scrollbarStrokeWidth));
|
|
47489
47623
|
// Draw the buttons:
|
|
47490
47624
|
scroller.drawScrollbarButton(0);
|
|
47491
47625
|
scroller.drawScrollbarButton(1);
|
|
@@ -48487,8 +48621,6 @@
|
|
|
48487
48621
|
ordinal: baseXaxis.options.ordinal,
|
|
48488
48622
|
overscroll: baseXaxis.options.overscroll
|
|
48489
48623
|
}, navigatorOptions.xAxis, {
|
|
48490
|
-
id: 'navigator-x-axis',
|
|
48491
|
-
yAxis: 'navigator-y-axis',
|
|
48492
48624
|
type: 'datetime',
|
|
48493
48625
|
index: xAxisIndex,
|
|
48494
48626
|
isInternal: true,
|
|
@@ -48507,7 +48639,6 @@
|
|
|
48507
48639
|
height: height
|
|
48508
48640
|
}), 'xAxis');
|
|
48509
48641
|
navigator.yAxis = new Axis(chart, merge(navigatorOptions.yAxis, {
|
|
48510
|
-
id: 'navigator-y-axis',
|
|
48511
48642
|
alignTicks: false,
|
|
48512
48643
|
offset: 0,
|
|
48513
48644
|
index: yAxisIndex,
|
|
@@ -48659,8 +48790,8 @@
|
|
|
48659
48790
|
linkedTo: null,
|
|
48660
48791
|
group: 'nav',
|
|
48661
48792
|
padXAxis: false,
|
|
48662
|
-
xAxis:
|
|
48663
|
-
yAxis:
|
|
48793
|
+
xAxis: this.navigatorOptions.xAxis?.id,
|
|
48794
|
+
yAxis: this.navigatorOptions.yAxis?.id,
|
|
48664
48795
|
showInLegend: false,
|
|
48665
48796
|
stacking: void 0,
|
|
48666
48797
|
isInternal: true,
|